From f153b35b5e9f5af4ed54bdd82ead7b7f62bea809 Mon Sep 17 00:00:00 2001 From: Kees Verruijt Date: Mon, 3 Aug 2026 10:37:23 +0900 Subject: [PATCH 1/5] chore: sync canboat.json to 8.0.0-beta1 and regenerate Import canboat.json from canboat master (8.0.0-beta1, 607 PGNs, up from 6.2.2 / 579) and regenerate enums.ts and pgns.ts. Notable for downstream: PGN 129540 GNSS Sats in View gained a GnssSystem enum (GPS/GLONASS/Galileo/BeiDou/QZSS) on the 4 bits after Status, which were previously modelled as reserved11 (canboat #792). canboatjs fixtures referencing reserved11 need the matching rename. npm run ci-test passes: build, docs, 45 tests, eslint and prettier. Co-Authored-By: Claude Opus 5 (1M context) --- canboat.json | 48621 +++++++++++++++++++++++++++++-------------------- src/enums.ts | 11316 +++++++----- src/pgns.ts | 4449 ++++- 3 files changed, 38768 insertions(+), 25618 deletions(-) diff --git a/canboat.json b/canboat.json index 28d58791..a462a86c 100644 --- a/canboat.json +++ b/canboat.json @@ -1,11 +1,11 @@ { - "SchemaVersion":"2.4.0", - "Comment":"See https://github.com/canboat/canboat for the full source code", + "SchemaVersion":"2.5.0", + "Comment":"GENERATED FILE - DO NOT EDIT. Generated by keel from the YAML database in database/; edit database/pgns/*.yaml and run 'make generated'. See https://github.com/canboat/canboat for the full source code", "CreatorCode":"Canboat NMEA2000 Analyzer", "License":"Apache License Version 2.0", - "Version":"6.2.2", - "Copyright":"CANboat version v6.2.2\n\n(C) 2009-2025, Kees Verruijt, Harlingen, The Netherlands.\nFor more information see https://github.com/canboat/canboat\n\nThis file is part of CANboat.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n", + "Version":"8.0.0-beta1", + "Copyright":"CANboat version v8.0.0-beta1\n\n(C) 2009-2026, Kees Verruijt, Harlingen, The Netherlands.\nFor more information see https://github.com/canboat/canboat\n\nThis file is part of CANboat.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n", "PhysicalQuantities":[ { "Name":"ELECTRICAL_CURRENT", @@ -241,68 +241,79 @@ "Name":"NUMBER", "Description":"Number", "EncodingDescription":"Binary numbers are little endian. Number fields that are at least two bits in length use the highest positive value to represent unknown. Number fields with at least 7 as maximum (3 bits unsigned, 4 bits signed) use the highest value minus one as an error indicator. This is likely also true for numbers where 3 is the maximum value, but there are few fields that have this length -- certainly as a number, there are a lot of lookup fields of two bits length. For signed numbers the maximum values are the maximum positive value and that minus 1, not the all-ones bit encoding which is the maximum negative value.", - "URL":"https://en.wikipedia.org/wiki/Binary_number" + "URL":"https://en.wikipedia.org/wiki/Binary_number", + "Sentinels":"TopOfRange" }, { "Name":"FLOAT", "Description":"32 bit IEEE-754 floating point number", "URL":"https://en.wikipedia.org/wiki/IEEE_754", "Bits":32, - "Signed":true + "Signed":true, + "Sentinels":"NaN" }, { "Name":"DECIMAL", "Description":"An unsigned numeric value where each byte holds the binary value of two decimal digits (0..99)", "EncodingDescription":"Each byte contains the binary value of two decimal digits, so 1234 is represented by 2 bytes containing 0x0c (=12) and 0x22 (=34). This is NOT BCD. A value with an odd number of digits is padded with a trailing zero, e.g. the 9-digit MMSI 512000953 is encoded as 5120009530 (5 bytes).", - "Signed":false + "Signed":false, + "Sentinels":"None" }, { "Name":"LOOKUP", "Description":"Number value where each value encodes for a distinct meaning", "EncodingDescription":"Each lookup has a LookupEnumeration defining what the possible values mean", "Comment":"For almost all lookups the list of values is known with some precision, but it is quite possible that a value occurs that has no corresponding textual explanation. Generally the same special values for Error (max value - 1) and Unknown (max value) that are used for plain numbers are also valid for lookups, but some lookups define a lookup key/value pair for the maximum possible value in that field. In fact, recent additions to PGNs such as alerts have two bit lookup fields that specify four actual valid values. This makes it impossible to send an unknown value for these fields. ", - "Signed":false + "Signed":false, + "Sentinels":"TopOfRange" }, { "Name":"INDIRECT_LOOKUP", "Description":"Number value where each value encodes for a distinct meaning but the meaning also depends on the value in another field", "EncodingDescription":"Each lookup has a LookupIndirectEnumeration defining what the possible values mean", "Comment":"For almost all lookups the list of values is known with some precision, but it is quite possible that a value occurs that has no corresponding textual explanation.", - "Signed":false + "Signed":false, + "Sentinels":"TopOfRange" }, { "Name":"BITLOOKUP", "Description":"Number value where each bit value encodes for a distinct meaning", "EncodingDescription":"Each LookupBit has a LookupBitEnumeration defining what the possible values mean. A bitfield can have any combination of bits set.", - "Comment":"For almost all lookups the list of values is known with some precision, but it is quite possible that a value occurs that has no corresponding textual explanation." + "Comment":"For almost all lookups the list of values is known with some precision, but it is quite possible that a value occurs that has no corresponding textual explanation.", + "Sentinels":"None" }, { "Name":"DYNAMIC_FIELD_KEY", "Description":"Number value where each value encodes for a distinct meaning including a fieldtype of the next variable field; generally followed by an optional DYNAMIC_FIELD_LENGTH and a DYNAMIC_FIELD_VALUE field; when there is no DYNAMIC_FIELD_LENGTH field the length is contained in the lookup table", "EncodingDescription":"Each lookup has a LookupFieldTypeEnumeration defining what the possible values mean", "Comment":"These values have been determined by reverse engineering, given the known values it is anticipated that there are unkown enumeration values and some known values have incorrect datatypes", - "Signed":false + "Signed":false, + "Sentinels":"TopOfRange" }, { "Name":"DYNAMIC_FIELD_LENGTH", "Description":"Number value that indicates the length of the following DYNAMIC_FIELD_VALUE field", - "Signed":false + "Signed":false, + "Sentinels":"TopOfRange" }, { "Name":"DYNAMIC_FIELD_VALUE", "Description":"Variable field whose type and length is dynamic", - "EncodingDescription":"The type definition of the field is defined by an earlier LookupFieldTypeEnumeration field. The length is defined by the preceding length field or the length determined by the lookup value." + "EncodingDescription":"The type definition of the field is defined by an earlier LookupFieldTypeEnumeration field. The length is defined by the preceding length field or the length determined by the lookup value.", + "Sentinels":"Variable" }, { "Name":"TIME", "Description":"Time", "URL":"https://en.wikipedia.org/wiki/Time", - "Unit":"s" + "Unit":"s", + "Sentinels":"TopOfRange" }, { "Name":"DURATION", "Description":"Duration", - "Unit":"s" + "Unit":"s", + "Sentinels":"TopOfRange" }, { "Name":"DATE", @@ -311,54 +322,64 @@ "URL":"https://en.wikipedia.org/wiki/Calendar_date", "Bits":16, "Unit":"d", - "Signed":false + "Signed":false, + "Sentinels":"TopOfRange" }, { "Name":"PGN", "Description":"Parameter Group Number", - "EncodingDescription":"A 24 bit number referring to a PGN" + "EncodingDescription":"A 24 bit number referring to a PGN", + "Sentinels":"None" }, { "Name":"ISO_NAME", "Description":"ISO NAME field", "EncodingDescription":"A 64 bit field containing the ISO name, e.g. all fields produced by PGN 60928. Use the definition of PGN 60928 to explain the subfields.", - "Bits":64 + "Bits":64, + "Signed":false, + "Sentinels":"None" }, { "Name":"STRING_FIX", "Description":"A fixed length string containing single byte codepoints.", - "EncodingDescription":"The length of the string is determined by the PGN field definition. Trailing bytes have been observed as '@', ' ', 0x0 or 0xff.", - "Comment":"It is unclear what character sets are allowed/supported. Possibly UTF-8 but it could also be that only ASCII values are supported." + "EncodingDescription":"This always takes up as many bytes as defined in the field definition. Three end-of-string characters are seen: 0xff (255), the standard NMEA 2000 \"Unknown\" value. '@', the standard AIS \"Unknown\" value for strings. 0x00, the standard C end-of-string marker. It is encouraged to stop the string at the first such character (and not make it part of the string). An empty string can be considered to make the entire field \"Unknown\".", + "Comment":"It is unclear what character sets are allowed/supported. Possibly UTF-8 but it could also be that only ASCII values are supported.", + "Sentinels":"EmptyString" }, { "Name":"STRING_LZ", "Description":"A varying length string containing single byte codepoints encoded with a length byte and terminating zero.", "EncodingDescription":"The length of the string is determined by a starting length byte. It also contains a terminating zero byte. The length byte includes neither the zero byte or itself. The character encoding is UTF-8.", "Comment":"This type of string is found only in SonicHub and Fusion brand specific PGNs. SonicHub is no longer produced. The use of the Fusion specific PGNs is no longer very prevalent now that there are generic PGNs for audio/media devices.", - "VariableSize":true + "VariableSize":true, + "Sentinels":"EmptyString" }, { "Name":"STRING_LAU", - "Description":"A varying length string containing double or single byte codepoints encoded with a length byte and terminating zero.", + "Description":"A varying length string containing double or single byte codepoints encoded with a length byte.", "EncodingDescription":"The length of the string is determined by a starting length byte. This count includes the length and type bytes, so any empty string contains count 2. The 2nd byte contains 0 for UNICODE or 1 for ASCII.", - "VariableSize":true + "VariableSize":true, + "Sentinels":"EmptyString" }, { "Name":"BINARY", "Description":"Binary field", - "EncodingDescription":"Unspecified content consisting of any number of bits." + "EncodingDescription":"Unspecified content consisting of any number of bits.", + "Sentinels":"None" }, { "Name":"RESERVED", "Description":"Reserved field", "EncodingDescription":"All reserved bits shall be 1", - "Comment":"NMEA reserved for future expansion and/or to align next data on byte boundary" + "Comment":"NMEA reserved for future expansion and/or to align next data on byte boundary", + "Sentinels":"None" }, { "Name":"SPARE", "Description":"Spare field", "EncodingDescription":"All spare bits shall be 0", - "Comment":"This is like a reserved field but originates from other sources where unused fields shall be 0, like the AIS ITU-1371 standard." + "Comment":"This is like a reserved field but originates from other sources where unused fields shall be 0, like the AIS ITU-1371 standard.", + "Sentinels":"None" }, { "Name":"MMSI", @@ -366,20 +387,23 @@ "EncodingDescription":"The MMSI is encoded as a 32 bit number, but is always printed as a 9 digit number and should be considered as a string. The first three or four digits are special, see the USCG link for a detailed explanation.", "URL":"https://navcen.uscg.gov/maritime-mobile-service-identity", "Bits":32, - "Signed":false + "Signed":false, + "Sentinels":"None" }, { "Name":"VARIABLE", "Description":"Variable", "EncodingDescription":"The definition of the field is that of the reference PGN and reference field, this is totally variable.", - "VariableSize":true + "VariableSize":true, + "Sentinels":"None" }, { "Name":"FIELD_INDEX", "Description":"Field Index", "EncodingDescription":"Index of the specified field in the PGN referenced.", "Bits":8, - "Signed":false + "Signed":false, + "Sentinels":"TopOfRange" } ], "MissingEnumerations":[ @@ -414,559 +438,287 @@ ], "LookupEnumerations":[ { - "Name":"LIGHTING_COMMAND", - "MaxValue":7, + "Name":"ACCEPTABILITY", + "MaxValue":3, "EnumValues":[ - {"Name":"Idle", "Value":0}, - {"Name":"Detect Devices", "Value":1}, - {"Name":"Reboot", "Value":2}, - {"Name":"Factory Reset", "Value":3}, - {"Name":"Powering Up", "Value":4} + {"Name":"Bad level", "Value":0}, + {"Name":"Bad frequency", "Value":1}, + {"Name":"Being qualified", "Value":2}, + {"Name":"Good", "Value":3} ] }, { - "Name":"INDUSTRY_CODE", + "Name":"ACCESS_LEVEL", "MaxValue":7, "EnumValues":[ - {"Name":"Global", "Value":0}, - {"Name":"Highway", "Value":1}, - {"Name":"Agriculture", "Value":2}, - {"Name":"Construction", "Value":3}, - {"Name":"Marine Industry", "Value":4}, - {"Name":"Industrial", "Value":5} + {"Name":"Locked", "Value":0}, + {"Name":"unlocked level 1", "Value":1}, + {"Name":"unlocked level 2", "Value":2} ] }, { - "Name":"MANUFACTURER_CODE", - "MaxValue":2047, + "Name":"AC_LINE", + "MaxValue":3, "EnumValues":[ - {"Name":"ARKS Enterprises, Inc.", "Value":69}, - {"Name":"FW Murphy/Enovation Controls", "Value":78}, - {"Name":"Twin Disc", "Value":80}, - {"Name":"Kohler Power Systems", "Value":85}, - {"Name":"Hemisphere GPS Inc", "Value":88}, - {"Name":"BEP Marine", "Value":116}, - {"Name":"Airmar", "Value":135}, - {"Name":"Maretron", "Value":137}, - {"Name":"Lowrance", "Value":140}, - {"Name":"Mercury Marine", "Value":144}, - {"Name":"Nautibus Electronic GmbH", "Value":147}, - {"Name":"Blue Water Data", "Value":148}, - {"Name":"Westerbeke", "Value":154}, - {"Name":"ISSPRO Inc", "Value":157}, - {"Name":"Offshore Systems (UK) Ltd.", "Value":161}, - {"Name":"Evinrude/BRP", "Value":163}, - {"Name":"CPAC Systems AB", "Value":165}, - {"Name":"Xantrex Technology Inc.", "Value":168}, - {"Name":"Marlin Technologies, Inc.", "Value":169}, - {"Name":"Yanmar Marine", "Value":172}, - {"Name":"Volvo Penta", "Value":174}, - {"Name":"Honda Marine", "Value":175}, - {"Name":"Carling Technologies Inc. (Moritz Aerospace)", "Value":176}, - {"Name":"Beede Instruments", "Value":185}, - {"Name":"Floscan Instrument Co. Inc.", "Value":192}, - {"Name":"Nobletec", "Value":193}, - {"Name":"Mystic Valley Communications", "Value":198}, - {"Name":"Actia", "Value":199}, - {"Name":"Honda Marine 2", "Value":200}, - {"Name":"Disenos Y Technologia", "Value":201}, - {"Name":"Digital Switching Systems", "Value":211}, - {"Name":"Xintex/Atena", "Value":215}, - {"Name":"EMMI NETWORK S.L.", "Value":224}, - {"Name":"Honda Marine 3", "Value":225}, - {"Name":"ZF", "Value":228}, - {"Name":"Garmin", "Value":229}, - {"Name":"Yacht Monitoring Solutions", "Value":233}, - {"Name":"Sailormade Marine Telemetry/Tetra Technology LTD", "Value":235}, - {"Name":"Eride", "Value":243}, - {"Name":"Honda Marine 4", "Value":250}, - {"Name":"Honda Motor Company LTD", "Value":257}, - {"Name":"Groco", "Value":272}, - {"Name":"Actisense", "Value":273}, - {"Name":"Amphenol LTW Technology", "Value":274}, - {"Name":"Navico", "Value":275}, - {"Name":"Hamilton Jet", "Value":283}, - {"Name":"Sea Recovery", "Value":285}, - {"Name":"Coelmo SRL Italy", "Value":286}, - {"Name":"BEP Marine 2", "Value":295}, - {"Name":"Empir Bus", "Value":304}, - {"Name":"NovAtel", "Value":305}, - {"Name":"Sleipner Motor AS", "Value":306}, - {"Name":"MBW Technologies", "Value":307}, - {"Name":"Fischer Panda", "Value":311}, - {"Name":"ICOM", "Value":315}, - {"Name":"Qwerty", "Value":328}, - {"Name":"Dief", "Value":329}, - {"Name":"Boening Automationstechnologie GmbH & Co. KG", "Value":341}, - {"Name":"Korean Maritime University", "Value":345}, - {"Name":"Thrane and Thrane", "Value":351}, - {"Name":"Mastervolt", "Value":355}, - {"Name":"Fischer Panda Generators", "Value":356}, - {"Name":"Victron Energy", "Value":358}, - {"Name":"Rolls Royce Marine", "Value":370}, - {"Name":"Electronic Design", "Value":373}, - {"Name":"Northern Lights", "Value":374}, - {"Name":"Glendinning", "Value":378}, - {"Name":"B & G", "Value":381}, - {"Name":"Rose Point Navigation Systems", "Value":384}, - {"Name":"Johnson Outdoors Marine Electronics Inc Geonav", "Value":385}, - {"Name":"Capi 2", "Value":394}, - {"Name":"Beyond Measure", "Value":396}, - {"Name":"Livorsi Marine", "Value":400}, - {"Name":"ComNav", "Value":404}, - {"Name":"Chetco", "Value":409}, - {"Name":"Fusion Electronics", "Value":419}, - {"Name":"Standard Horizon", "Value":421}, - {"Name":"True Heading AB", "Value":422}, - {"Name":"Egersund Marine Electronics AS", "Value":426}, - {"Name":"em-trak Marine Electronics", "Value":427}, - {"Name":"Tohatsu Co, JP", "Value":431}, - {"Name":"Digital Yacht", "Value":437}, - {"Name":"Comar Systems Limited", "Value":438}, - {"Name":"Cummins", "Value":440}, - {"Name":"VDO (aka Continental-Corporation)", "Value":443}, - {"Name":"Parker Hannifin aka Village Marine Tech", "Value":451}, - {"Name":"Alltek Marine Electronics Corp", "Value":459}, - {"Name":"SAN GIORGIO S.E.I.N", "Value":460}, - {"Name":"Veethree Electronics & Marine", "Value":466}, - {"Name":"Humminbird Marine Electronics", "Value":467}, - {"Name":"SI-TEX Marine Electronics", "Value":470}, - {"Name":"Sea Cross Marine AB", "Value":471}, - {"Name":"GME aka Standard Communications Pty LTD", "Value":475}, - {"Name":"Humminbird Marine Electronics 2", "Value":476}, - {"Name":"Ocean Sat BV", "Value":478}, - {"Name":"Chetco Digitial Instruments", "Value":481}, - {"Name":"Watcheye", "Value":493}, - {"Name":"Lcj Capteurs", "Value":499}, - {"Name":"Attwood Marine", "Value":502}, - {"Name":"Naviop S.R.L.", "Value":503}, - {"Name":"Vesper Marine Ltd", "Value":504}, - {"Name":"Marinesoft Co. LTD", "Value":510}, - {"Name":"Simarine", "Value":513}, - {"Name":"NoLand Engineering", "Value":517}, - {"Name":"Transas USA", "Value":518}, - {"Name":"National Instruments Korea", "Value":529}, - {"Name":"National Marine Electronics Association", "Value":530}, - {"Name":"Onwa Marine", "Value":532}, - {"Name":"Webasto", "Value":540}, - {"Name":"Marinecraft (South Korea)", "Value":571}, - {"Name":"McMurdo Group aka Orolia LTD", "Value":573}, - {"Name":"Advansea", "Value":578}, - {"Name":"KVH", "Value":579}, - {"Name":"San Jose Technology", "Value":580}, - {"Name":"Yacht Control", "Value":583}, - {"Name":"Suzuki Motor Corporation", "Value":586}, - {"Name":"US Coast Guard", "Value":591}, - {"Name":"Ship Module aka Customware", "Value":595}, - {"Name":"Aquatic AV", "Value":600}, - {"Name":"Aventics GmbH", "Value":605}, - {"Name":"Intellian", "Value":606}, - {"Name":"SamwonIT", "Value":612}, - {"Name":"Arlt Tecnologies", "Value":614}, - {"Name":"Bavaria Yacts", "Value":637}, - {"Name":"Diverse Yacht Services", "Value":641}, - {"Name":"Wema U.S.A dba KUS", "Value":644}, - {"Name":"Garmin 2", "Value":645}, - {"Name":"Shenzhen Jiuzhou Himunication", "Value":658}, - {"Name":"Rockford Corp", "Value":688}, - {"Name":"Harman International", "Value":699}, - {"Name":"JL Audio", "Value":704}, - {"Name":"Lars Thrane", "Value":708}, - {"Name":"Autonnic", "Value":715}, - {"Name":"Yacht Devices", "Value":717}, - {"Name":"REAP Systems", "Value":734}, - {"Name":"Au Electronics Group", "Value":735}, - {"Name":"LxNav", "Value":739}, - {"Name":"Littelfuse, Inc (formerly Carling Technologies)", "Value":741}, - {"Name":"DaeMyung", "Value":743}, - {"Name":"Woosung", "Value":744}, - {"Name":"ISOTTA IFRA srl", "Value":748}, - {"Name":"Clarion US", "Value":773}, - {"Name":"HMI Systems", "Value":776}, - {"Name":"Ocean Signal", "Value":777}, - {"Name":"Seekeeper", "Value":778}, - {"Name":"Poly Planar", "Value":781}, - {"Name":"Fischer Panda DE", "Value":785}, - {"Name":"Broyda Industries", "Value":795}, - {"Name":"Canadian Automotive", "Value":796}, - {"Name":"Tides Marine", "Value":797}, - {"Name":"Lumishore", "Value":798}, - {"Name":"Still Water Designs and Audio", "Value":799}, - {"Name":"BJ Technologies (Beneteau)", "Value":802}, - {"Name":"Gill Sensors", "Value":803}, - {"Name":"Blue Water Desalination", "Value":811}, - {"Name":"FLIR", "Value":815}, - {"Name":"Undheim Systems", "Value":824}, - {"Name":"Lewmar Inc", "Value":826}, - {"Name":"TeamSurv", "Value":838}, - {"Name":"Fell Marine", "Value":844}, - {"Name":"Oceanvolt", "Value":847}, - {"Name":"Prospec", "Value":862}, - {"Name":"Data Panel Corp", "Value":868}, - {"Name":"L3 Technologies", "Value":890}, - {"Name":"Rhodan Marine Systems", "Value":894}, - {"Name":"Nexfour Solutions", "Value":896}, - {"Name":"ASA Electronics", "Value":905}, - {"Name":"Marines Co (South Korea)", "Value":909}, - {"Name":"Nautic-on", "Value":911}, - {"Name":"Sentinel", "Value":917}, - {"Name":"JL Marine ystems", "Value":929}, - {"Name":"Ecotronix", "Value":930}, - {"Name":"Zontisa Marine", "Value":944}, - {"Name":"EXOR International", "Value":951}, - {"Name":"Timbolier Industries", "Value":962}, - {"Name":"TJC Micro", "Value":963}, - {"Name":"Cox Powertrain", "Value":968}, - {"Name":"Blue Seas", "Value":969}, - {"Name":"Kobelt Manufacturing Co. Ltd", "Value":981}, - {"Name":"Blue Ocean IOT", "Value":992}, - {"Name":"Xenta Systems", "Value":997}, - {"Name":"Signal K", "Value":999}, - {"Name":"Ultraflex SpA", "Value":1004}, - {"Name":"Lintest SmartBoat", "Value":1008}, - {"Name":"Soundmax", "Value":1011}, - {"Name":"Team Italia Marine (Onyx Marine Automation s.r.l)", "Value":1020}, - {"Name":"Entratech", "Value":1021}, - {"Name":"ITC Inc.", "Value":1022}, - {"Name":"The Marine Guardian LLC", "Value":1029}, - {"Name":"Sonic Corporation", "Value":1047}, - {"Name":"ProNav", "Value":1051}, - {"Name":"Vetus Maxwell INC.", "Value":1053}, - {"Name":"Lithium Pros", "Value":1056}, - {"Name":"Boatrax", "Value":1059}, - {"Name":"Marol Co ltd", "Value":1062}, - {"Name":"CALYPSO Instruments", "Value":1065}, - {"Name":"Spot Zero Water", "Value":1066}, - {"Name":"Lithionics Battery LLC", "Value":1069}, - {"Name":"Quick-teck Electronics Ltd", "Value":1070}, - {"Name":"Uniden America", "Value":1075}, - {"Name":"Nauticoncept", "Value":1083}, - {"Name":"Shadow-Caster LED lighting LLC", "Value":1084}, - {"Name":"Wet Sounds, LLC", "Value":1085}, - {"Name":"E-T-A Circuit Breakers", "Value":1088}, - {"Name":"Scheiber", "Value":1092}, - {"Name":"Smart Yachts International Limited", "Value":1100}, - {"Name":"Dockmate", "Value":1109}, - {"Name":"Bobs Machine", "Value":1114}, - {"Name":"L3Harris ASV", "Value":1118}, - {"Name":"Balmar LLC", "Value":1119}, - {"Name":"Elettromedia spa", "Value":1120}, - {"Name":"Electromaax", "Value":1127}, - {"Name":"Across Oceans Systems Ltd.", "Value":1140}, - {"Name":"Kiwi Yachting", "Value":1145}, - {"Name":"BSB Artificial Intelligence GmbH", "Value":1150}, - {"Name":"Orca Technologoes AS", "Value":1151}, - {"Name":"TBS Electronics BV", "Value":1154}, - {"Name":"Technoton Electroics", "Value":1158}, - {"Name":"MG Energy Systems B.V.", "Value":1160}, - {"Name":"Sea Macine Robotics Inc.", "Value":1169}, - {"Name":"Vista Manufacturing", "Value":1171}, - {"Name":"Zipwake", "Value":1183}, - {"Name":"Sailmon BV", "Value":1186}, - {"Name":"Airmoniq Pro Kft", "Value":1192}, - {"Name":"Sierra Marine", "Value":1194}, - {"Name":"Xinuo Information Technology (Xiamen)", "Value":1200}, - {"Name":"Septentrio", "Value":1218}, - {"Name":"NKE Marine Elecronics", "Value":1233}, - {"Name":"SuperTrack Aps", "Value":1238}, - {"Name":"Honda Electronics Co., LTD", "Value":1239}, - {"Name":"Raritan Engineering Company, Inc", "Value":1245}, - {"Name":"Integrated Power Solutions AG", "Value":1249}, - {"Name":"Interactive Technologies, Inc.", "Value":1260}, - {"Name":"LTG-Tech", "Value":1283}, - {"Name":"Energy Solutions (UK) LTD.", "Value":1299}, - {"Name":"WATT Fuel Cell Corp", "Value":1300}, - {"Name":"Pro Mainer", "Value":1302}, - {"Name":"Dragonfly Energy", "Value":1305}, - {"Name":"Koden Electronics Co., Ltd", "Value":1306}, - {"Name":"Humphree AB", "Value":1311}, - {"Name":"Hinkley Yachts", "Value":1316}, - {"Name":"Global Marine Management GmbH (GMM)", "Value":1317}, - {"Name":"Triskel Marine Ltd", "Value":1320}, - {"Name":"Warwick Control Technologies", "Value":1330}, - {"Name":"Dolphin Charger", "Value":1331}, - {"Name":"Barnacle Systems Inc", "Value":1337}, - {"Name":"Radian IoT, Inc.", "Value":1348}, - {"Name":"Ocean LED Marine Ltd", "Value":1353}, - {"Name":"BluNav", "Value":1359}, - {"Name":"OVA (Nantong Saiyang Electronics Co., Ltd)", "Value":1361}, - {"Name":"RAD Propulsion", "Value":1368}, - {"Name":"Electric Yacht", "Value":1369}, - {"Name":"Elco Motor Yachts", "Value":1372}, - {"Name":"Tecnoseal Foundry S.r.l", "Value":1384}, - {"Name":"Pro Charging Systems, LLC", "Value":1385}, - {"Name":"EVEX Co., LTD", "Value":1389}, - {"Name":"Gobius Sensor Technology AB", "Value":1398}, - {"Name":"Arco Marine", "Value":1403}, - {"Name":"Lenco Marine Inc.", "Value":1408}, - {"Name":"Naocontrol S.L.", "Value":1413}, - {"Name":"Revatek", "Value":1417}, - {"Name":"Aeolionics", "Value":1438}, - {"Name":"PredictWind Ltd", "Value":1439}, - {"Name":"Egis Mobile Electric", "Value":1440}, - {"Name":"Starboard Yacht Group", "Value":1445}, - {"Name":"Roswell Marine", "Value":1446}, - {"Name":"ePropulsion (Guangdong ePropulsion Technology Ltd.)", "Value":1451}, - {"Name":"Micro-Air LLC", "Value":1452}, - {"Name":"Vital Battery", "Value":1453}, - {"Name":"Ride Controller LLC", "Value":1458}, - {"Name":"Tocaro Blue", "Value":1460}, - {"Name":"Vanquish Yachts", "Value":1461}, - {"Name":"FT Technologies", "Value":1471}, - {"Name":"Alps Alpine Co., Ltd.", "Value":1478}, - {"Name":"E-Force Marine", "Value":1481}, - {"Name":"CMC Marine", "Value":1482}, - {"Name":"Nanjing Sandemarine Information Technology Co., Ltd.", "Value":1483}, - {"Name":"Teleflex Marine (SeaStar Solutions)", "Value":1850}, - {"Name":"Raymarine", "Value":1851}, - {"Name":"Navionics", "Value":1852}, - {"Name":"Japan Radio Co", "Value":1853}, - {"Name":"Northstar Technologies", "Value":1854}, - {"Name":"Furuno", "Value":1855}, - {"Name":"Trimble", "Value":1856}, - {"Name":"Simrad", "Value":1857}, - {"Name":"Litton", "Value":1858}, - {"Name":"Kvasar AB", "Value":1859}, - {"Name":"MMP", "Value":1860}, - {"Name":"Vector Cantech", "Value":1861}, - {"Name":"Yamaha Marine", "Value":1862}, - {"Name":"Faria Instruments", "Value":1863} + {"Name":"Line 1", "Value":0}, + {"Name":"Line 2", "Value":1}, + {"Name":"Line 3", "Value":2} ] }, { - "Name":"CZONE_ALARM_TYPE", - "MaxValue":65535, + "Name":"AGS_GENERATING_STATE", + "MaxValue":15, "EnumValues":[ - {"Name":"AC Voltage Error", "Value":1}, - {"Name":"AC Frequency Error", "Value":2}, - {"Name":"AC High Power", "Value":3}, - {"Name":"DC Low Voltage", "Value":4}, - {"Name":"DC Very Low Voltage", "Value":5}, - {"Name":"DC High Voltage", "Value":6}, - {"Name":"DC Low Battery Capacity", "Value":7}, - {"Name":"Out of Range", "Value":10}, - {"Name":"Low Run Current", "Value":11}, - {"Name":"Over Current", "Value":12}, - {"Name":"Short Circuit", "Value":13}, - {"Name":"Missing Commander", "Value":14}, - {"Name":"Reverse Current", "Value":15}, - {"Name":"Calibration Error", "Value":16}, - {"Name":"Missing Output", "Value":17}, - {"Name":"Systems On", "Value":18}, - {"Name":"AC Very High Power", "Value":19}, - {"Name":"AC Low Power", "Value":20}, - {"Name":"DC Very Low Battery Capacity", "Value":21}, - {"Name":"Battery Full", "Value":22}, - {"Name":"DC Load Shed Low", "Value":23}, - {"Name":"DC Load Shed Very Low", "Value":24}, - {"Name":"AC Load Shed Low", "Value":25}, - {"Name":"AC Load Shed Very Low", "Value":26}, - {"Name":"Reverse Polarity", "Value":27}, - {"Name":"Manual Override", "Value":28}, - {"Name":"Mastervolt", "Value":29}, - {"Name":"Hardware Fault", "Value":30}, - {"Name":"No AC Supply", "Value":31}, - {"Name":"PGN Switching On", "Value":34}, - {"Name":"Low Canbus Voltage", "Value":35}, - {"Name":"Blown Fuse", "Value":36}, - {"Name":"Manual Bypass", "Value":37}, - {"Name":"Generic Alarm", "Value":38}, - {"Name":"Battery Temperature Alarm", "Value":39}, - {"Name":"Temperature Sensor Error", "Value":40}, - {"Name":"AC IN Out Of Range", "Value":41}, - {"Name":"Device In Overload", "Value":42}, - {"Name":"High Temperature", "Value":43}, - {"Name":"Inverter/Charger Installation Error", "Value":44}, - {"Name":"Inverter Installation Error", "Value":45}, - {"Name":"Charger Installation Error", "Value":46}, - {"Name":"Cable Voltage Drop Too High", "Value":47}, - {"Name":"Shunt mistmatch", "Value":48}, - {"Name":"Cooling Fan Error", "Value":49}, - {"Name":"Mastershunt Fuse Blown", "Value":50}, - {"Name":"High Temperature", "Value":51}, - {"Name":"Over Pressure", "Value":52}, - {"Name":"Low Pressure", "Value":53}, - {"Name":"Rapid Deflation", "Value":54}, - {"Name":"Inverter/Charger Over Temperature", "Value":55}, - {"Name":"Confirm On", "Value":56}, - {"Name":"Battery Safety", "Value":57}, - {"Name":"Stop Charging", "Value":58}, - {"Name":"Check Battery Relay", "Value":59}, - {"Name":"Battery Hardware Failure", "Value":60}, - {"Name":"Battery Over Current", "Value":61}, - {"Name":"Battery Temperature Low", "Value":62}, - {"Name":"Battery Temperature High", "Value":63}, - {"Name":"Battery Last 100", "Value":64} + {"Name":"Preheating", "Value":0}, + {"Name":"Start delay", "Value":1}, + {"Name":"Cranking", "Value":2}, + {"Name":"Starter cooling", "Value":3}, + {"Name":"Warming up", "Value":4}, + {"Name":"Cooling down", "Value":5}, + {"Name":"Spinning up", "Value":6}, + {"Name":"Shutdown bypass", "Value":7}, + {"Name":"Stopping", "Value":8}, + {"Name":"Running", "Value":9}, + {"Name":"Stopped", "Value":10}, + {"Name":"Crank delaty", "Value":11} ] }, { - "Name":"AIS_MESSAGE_ID", - "MaxValue":63, + "Name":"AGS_MODE", + "MaxValue":15, "EnumValues":[ - {"Name":"Scheduled Class A position report", "Value":1}, - {"Name":"Assigned scheduled Class A position report", "Value":2}, - {"Name":"Interrogated Class A position report", "Value":3}, - {"Name":"Base station report", "Value":4}, - {"Name":"Static and voyage related data", "Value":5}, - {"Name":"Binary addressed message", "Value":6}, - {"Name":"Binary acknowledgement", "Value":7}, - {"Name":"Binary broadcast message", "Value":8}, - {"Name":"Standard SAR aircraft position report", "Value":9}, - {"Name":"UTC/date inquiry", "Value":10}, - {"Name":"UTC/date response", "Value":11}, - {"Name":"Safety related addressed message", "Value":12}, - {"Name":"Safety related acknowledgement", "Value":13}, - {"Name":"Satety related broadcast message", "Value":14}, - {"Name":"Interrogation", "Value":15}, - {"Name":"Assignment mode command", "Value":16}, - {"Name":"DGNSS broadcast binary message", "Value":17}, - {"Name":"Standard Class B position report", "Value":18}, - {"Name":"Extended Class B position report", "Value":19}, - {"Name":"Data link management message", "Value":20}, - {"Name":"ATON report", "Value":21}, - {"Name":"Channel management", "Value":22}, - {"Name":"Group assignment command", "Value":23}, - {"Name":"Static data report", "Value":24}, - {"Name":"Single slot binary message", "Value":25}, - {"Name":"Multiple slot binary message", "Value":26}, - {"Name":"Position report for long range applications", "Value":27} + {"Name":"Off", "Value":0}, + {"Name":"On", "Value":1}, + {"Name":"Automatic", "Value":2} ] }, { - "Name":"SHIP_TYPE", + "Name":"AGS_OFF_REASON", "MaxValue":255, "EnumValues":[ - {"Name":"Unavailable", "Value":0}, - {"Name":"Wing In Ground", "Value":20}, - {"Name":"Wing In Ground (hazard cat X)", "Value":21}, - {"Name":"Wing In Ground (hazard cat Y)", "Value":22}, - {"Name":"Wing In Ground (hazard cat Z)", "Value":23}, - {"Name":"Wing In Ground (hazard cat OS)", "Value":24}, - {"Name":"Wing In Ground (no additional information)", "Value":29}, - {"Name":"Fishing", "Value":30}, - {"Name":"Towing", "Value":31}, - {"Name":"Towing exceeds 200m or wider than 25m", "Value":32}, - {"Name":"Engaged in dredging or underwater operations", "Value":33}, - {"Name":"Engaged in diving operations", "Value":34}, - {"Name":"Engaged in military operations", "Value":35}, - {"Name":"Sailing", "Value":36}, - {"Name":"Pleasure", "Value":37}, - {"Name":"High speed craft", "Value":40}, - {"Name":"High speed craft (hazard cat X)", "Value":41}, - {"Name":"High speed craft (hazard cat Y)", "Value":42}, - {"Name":"High speed craft (hazard cat Z)", "Value":43}, - {"Name":"High speed craft (hazard cat OS)", "Value":44}, - {"Name":"High speed craft (no additional information)", "Value":49}, - {"Name":"Pilot vessel", "Value":50}, - {"Name":"SAR", "Value":51}, - {"Name":"Tug", "Value":52}, - {"Name":"Port tender", "Value":53}, - {"Name":"Anti-pollution", "Value":54}, - {"Name":"Law enforcement", "Value":55}, - {"Name":"Spare", "Value":56}, - {"Name":"Spare #2", "Value":57}, - {"Name":"Medical", "Value":58}, - {"Name":"Ships and aircraft of States not parties to an armed conflict", "Value":59}, - {"Name":"Passenger ship", "Value":60}, - {"Name":"Passenger ship (hazard cat X)", "Value":61}, - {"Name":"Passenger ship (hazard cat Y)", "Value":62}, - {"Name":"Passenger ship (hazard cat Z)", "Value":63}, - {"Name":"Passenger ship (hazard cat OS)", "Value":64}, - {"Name":"Passenger ship (no additional information)", "Value":69}, - {"Name":"Cargo ship", "Value":70}, - {"Name":"Cargo ship (hazard cat X)", "Value":71}, - {"Name":"Cargo ship (hazard cat Y)", "Value":72}, - {"Name":"Cargo ship (hazard cat Z)", "Value":73}, - {"Name":"Cargo ship (hazard cat OS)", "Value":74}, - {"Name":"Cargo ship (no additional information)", "Value":79}, - {"Name":"Tanker", "Value":80}, - {"Name":"Tanker (hazard cat X)", "Value":81}, - {"Name":"Tanker (hazard cat Y)", "Value":82}, - {"Name":"Tanker (hazard cat Z)", "Value":83}, - {"Name":"Tanker (hazard cat OS)", "Value":84}, - {"Name":"Tanker (no additional information)", "Value":89}, - {"Name":"Other", "Value":90}, - {"Name":"Other (hazard cat X)", "Value":91}, - {"Name":"Other (hazard cat Y)", "Value":92}, - {"Name":"Other (hazard cat Z)", "Value":93}, - {"Name":"Other (hazard cat OS)", "Value":94}, - {"Name":"Other (no additional information)", "Value":99} + {"Name":"Not off", "Value":0}, + {"Name":"DC voltage high", "Value":1}, + {"Name":"Battery state of charge high", "Value":2}, + {"Name":"AC current low", "Value":3}, + {"Name":"Contact opened", "Value":4}, + {"Name":"Reached absorption", "Value":5}, + {"Name":"Reached float", "Value":6}, + {"Name":"Manual off", "Value":7}, + {"Name":"Max run time", "Value":8}, + {"Name":"Max auto cycle", "Value":9}, + {"Name":"Exercise done", "Value":10}, + {"Name":"Quiet time", "Value":11}, + {"Name":"External off via AGS", "Value":12}, + {"Name":"Safe mode", "Value":13}, + {"Name":"External off via generator", "Value":14}, + {"Name":"External shutdown", "Value":15}, + {"Name":"Auto off", "Value":16}, + {"Name":"Fault", "Value":17}, + {"Name":"Unable to start", "Value":18} ] }, { - "Name":"DEVICE_CLASS", - "MaxValue":127, + "Name":"AGS_ON_REASON", + "MaxValue":255, "EnumValues":[ - {"Name":"Reserved for 2000 Use", "Value":0}, - {"Name":"System tools", "Value":10}, - {"Name":"Safety systems", "Value":20}, - {"Name":"Internetwork device", "Value":25}, - {"Name":"Electrical Distribution", "Value":30}, - {"Name":"Electrical Generation", "Value":35}, - {"Name":"Steering and Control surfaces", "Value":40}, - {"Name":"Propulsion", "Value":50}, - {"Name":"Navigation", "Value":60}, - {"Name":"Communication", "Value":70}, - {"Name":"Sensor Communication Interface", "Value":75}, - {"Name":"Instrumentation/general systems", "Value":80}, - {"Name":"External Environment", "Value":85}, - {"Name":"Internal Environment", "Value":90}, - {"Name":"Deck + cargo + fishing equipment systems", "Value":100}, - {"Name":"Human Interface", "Value":110}, - {"Name":"Display", "Value":120}, - {"Name":"Entertainment", "Value":125} + {"Name":"Not on", "Value":0}, + {"Name":"DC voltage low", "Value":1}, + {"Name":"Battery state of charge low", "Value":2}, + {"Name":"AC current high", "Value":3}, + {"Name":"Contact closed", "Value":4}, + {"Name":"Manual on", "Value":5}, + {"Name":"Exercise", "Value":6}, + {"Name":"Non Quiet time", "Value":7}, + {"Name":"External on via AGS", "Value":8}, + {"Name":"External on via generator", "Value":9}, + {"Name":"Unable to stop", "Value":10} ] }, { - "Name":"REPEAT_INDICATOR", - "MaxValue":3, + "Name":"AGS_OPERATING_STATE", + "MaxValue":15, "EnumValues":[ - {"Name":"Initial", "Value":0}, - {"Name":"First retransmission", "Value":1}, - {"Name":"Second retransmission", "Value":2}, - {"Name":"Final retransmission", "Value":3} + {"Name":"Quiet time", "Value":0}, + {"Name":"Auto on", "Value":1}, + {"Name":"Auto off", "Value":2}, + {"Name":"Manual On", "Value":3}, + {"Name":"Manual Off", "Value":4}, + {"Name":"Generator shutdown", "Value":5}, + {"Name":"External shutdown", "Value":6}, + {"Name":"Fault", "Value":7}, + {"Name":"Suspend", "Value":8}, + {"Name":"Not operating", "Value":9} ] }, { - "Name":"TX_RX_MODE", - "MaxValue":15, + "Name":"AIRMAR_CALIBRATE_FUNCTION", + "MaxValue":255, "EnumValues":[ - {"Name":"Tx A/Tx B, Rx A/Rx B", "Value":0}, - {"Name":"Tx A, Rx A/Rx B", "Value":1}, - {"Name":"Tx B, Rx A/Rx B", "Value":2} + {"Name":"Normal/cancel calibration", "Value":0}, + {"Name":"Enter calibration mode", "Value":1}, + {"Name":"Reset calibration to 0", "Value":2}, + {"Name":"Verify", "Value":3}, + {"Name":"Reset compass to defaults", "Value":4}, + {"Name":"Reset damping to defaults", "Value":5} ] }, { - "Name":"STATION_TYPE", - "MaxValue":15, + "Name":"AIRMAR_CALIBRATE_STATUS", + "MaxValue":255, "EnumValues":[ - {"Name":"All types of mobile station", "Value":0}, - {"Name":"All types of Class B mobile station", "Value":2}, - {"Name":"SAR airborne mobile station", "Value":3}, - {"Name":"AtoN station", "Value":4}, - {"Name":"Class B CS shipborne mobile station", "Value":5}, - {"Name":"Inland waterways", "Value":6}, - {"Name":"Regional use 7", "Value":7}, - {"Name":"Regional use 8", "Value":8}, - {"Name":"Regional use 9", "Value":9} + {"Name":"Queried", "Value":0}, + {"Name":"Passed", "Value":1}, + {"Name":"Failed - timeout", "Value":2}, + {"Name":"Failed - tilt error", "Value":3}, + {"Name":"Failed - other", "Value":4}, + {"Name":"In progress", "Value":5} ] }, { - "Name":"REPORTING_INTERVAL", + "Name":"AIRMAR_COMMAND", + "MaxValue":255, + "EnumValues":[ + {"Name":"Attitude Offsets", "Value":32}, + {"Name":"Calibrate Compass", "Value":33}, + {"Name":"True Wind Options", "Value":34}, + {"Name":"Simulate Mode", "Value":35}, + {"Name":"Calibrate Depth", "Value":40}, + {"Name":"Calibrate Speed", "Value":41}, + {"Name":"Calibrate Temperature", "Value":42}, + {"Name":"Speed Filter", "Value":43}, + {"Name":"Temperature Filter", "Value":44}, + {"Name":"NMEA 2000 options", "Value":46} + ] + }, + { + "Name":"AIRMAR_DEPTH_QUALITY_FACTOR", "MaxValue":15, "EnumValues":[ - {"Name":"As given by the autonomous mode", "Value":0}, - {"Name":"10 min", "Value":1}, - {"Name":"6 min", "Value":2}, - {"Name":"3 min", "Value":3}, - {"Name":"1 min", "Value":4}, - {"Name":"30 sec", "Value":5}, - {"Name":"15 sec", "Value":6}, - {"Name":"10 sec", "Value":7}, - {"Name":"5 sec", "Value":8}, - {"Name":"2 sec (not applicable to Class B CS)", "Value":9}, - {"Name":"Next shorter reporting interval", "Value":10}, - {"Name":"Next longer reporting interval", "Value":11} + {"Name":"Depth unlocked", "Value":0}, + {"Name":"Quality 10%", "Value":1}, + {"Name":"Quality 20%", "Value":2}, + {"Name":"Quality 30%", "Value":3}, + {"Name":"Quality 40%", "Value":4}, + {"Name":"Quality 50%", "Value":5}, + {"Name":"Quality 60%", "Value":6}, + {"Name":"Quality 70%", "Value":7}, + {"Name":"Quality 80%", "Value":8}, + {"Name":"Quality 90%", "Value":9}, + {"Name":"Quality 100%", "Value":10} + ] + }, + { + "Name":"AIRMAR_POST_CONTROL", + "MaxValue":1, + "EnumValues":[ + {"Name":"Report previous values", "Value":0}, + {"Name":"Generate new values", "Value":1} + ] + }, + { + "Name":"AIRMAR_POST_ID", + "MaxValue":255, + "EnumValues":[ + {"Name":"Format Code", "Value":1}, + {"Name":"Factory EEPROM", "Value":2}, + {"Name":"User EEPROM", "Value":3}, + {"Name":"Water Temperature Sensor", "Value":4}, + {"Name":"Sonar Transceiver", "Value":5}, + {"Name":"Speed sensor", "Value":6}, + {"Name":"Internal temperature sensor", "Value":7}, + {"Name":"Battery voltage sensor", "Value":8} + ] + }, + { + "Name":"AIRMAR_TEMPERATURE_INSTANCE", + "MaxValue":3, + "EnumValues":[ + {"Name":"Device Sensor", "Value":0}, + {"Name":"Onboard Water Sensor", "Value":1}, + {"Name":"Optional Water Sensor", "Value":2} + ] + }, + { + "Name":"AIRMAR_TRANSMISSION_INTERVAL", + "MaxValue":3, + "EnumValues":[ + {"Name":"Measure interval", "Value":0}, + {"Name":"Requested by user", "Value":1} + ] + }, + { + "Name":"AIS_ASSIGNED_MODE", + "MaxValue":1, + "EnumValues":[ + {"Name":"Autonomous and continuous", "Value":0}, + {"Name":"Assigned mode", "Value":1} + ] + }, + { + "Name":"AIS_BAND", + "MaxValue":1, + "EnumValues":[ + {"Name":"Top 525 kHz of marine band", "Value":0}, + {"Name":"Entire marine band", "Value":1} + ] + }, + { + "Name":"AIS_COMMUNICATION_STATE", + "MaxValue":1, + "EnumValues":[ + {"Name":"SOTDMA", "Value":0}, + {"Name":"ITDMA", "Value":1} + ] + }, + { + "Name":"AIS_MESSAGE_ID", + "MaxValue":63, + "EnumValues":[ + {"Name":"Scheduled Class A position report", "Value":1}, + {"Name":"Assigned scheduled Class A position report", "Value":2}, + {"Name":"Interrogated Class A position report", "Value":3}, + {"Name":"Base station report", "Value":4}, + {"Name":"Static and voyage related data", "Value":5}, + {"Name":"Binary addressed message", "Value":6}, + {"Name":"Binary acknowledgement", "Value":7}, + {"Name":"Binary broadcast message", "Value":8}, + {"Name":"Standard SAR aircraft position report", "Value":9}, + {"Name":"UTC/date inquiry", "Value":10}, + {"Name":"UTC/date response", "Value":11}, + {"Name":"Safety related addressed message", "Value":12}, + {"Name":"Safety related acknowledgement", "Value":13}, + {"Name":"Satety related broadcast message", "Value":14}, + {"Name":"Interrogation", "Value":15}, + {"Name":"Assignment mode command", "Value":16}, + {"Name":"DGNSS broadcast binary message", "Value":17}, + {"Name":"Standard Class B position report", "Value":18}, + {"Name":"Extended Class B position report", "Value":19}, + {"Name":"Data link management message", "Value":20}, + {"Name":"ATON report", "Value":21}, + {"Name":"Channel management", "Value":22}, + {"Name":"Group assignment command", "Value":23}, + {"Name":"Static data report", "Value":24}, + {"Name":"Single slot binary message", "Value":25}, + {"Name":"Multiple slot binary message", "Value":26}, + {"Name":"Position report for long range applications", "Value":27} + ] + }, + { + "Name":"AIS_MODE", + "MaxValue":1, + "EnumValues":[ + {"Name":"Autonomous", "Value":0}, + {"Name":"Assigned", "Value":1} + ] + }, + { + "Name":"AIS_SPECIAL_MANEUVER", + "MaxValue":3, + "EnumValues":[ + {"Name":"Not available", "Value":0}, + {"Name":"Not engaged in special maneuver", "Value":1}, + {"Name":"Engaged in special maneuver", "Value":2}, + {"Name":"Reserved", "Value":3} ] }, { @@ -982,11 +734,109 @@ ] }, { - "Name":"AIS_ASSIGNED_MODE", + "Name":"AIS_TYPE", "MaxValue":1, "EnumValues":[ - {"Name":"Autonomous and continuous", "Value":0}, - {"Name":"Assigned mode", "Value":1} + {"Name":"SOTDMA", "Value":0}, + {"Name":"CS", "Value":1} + ] + }, + { + "Name":"AIS_VERSION", + "MaxValue":3, + "EnumValues":[ + {"Name":"ITU-R M.1371-1", "Value":0}, + {"Name":"ITU-R M.1371-3", "Value":1}, + {"Name":"ITU-R M.1371-5", "Value":2}, + {"Name":"ITU-R M.1371 future edition", "Value":3} + ] + }, + { + "Name":"ALERT_CATEGORY", + "MaxValue":15, + "EnumValues":[ + {"Name":"Navigational", "Value":0}, + {"Name":"Technical", "Value":1} + ] + }, + { + "Name":"ALERT_LANGUAGE_ID", + "MaxValue":255, + "EnumValues":[ + {"Name":"English (US)", "Value":0}, + {"Name":"English (UK)", "Value":1}, + {"Name":"Arabic", "Value":2}, + {"Name":"Chinese (simplified)", "Value":3}, + {"Name":"Croatian", "Value":4}, + {"Name":"Danish", "Value":5}, + {"Name":"Dutch", "Value":6}, + {"Name":"Finnish", "Value":7}, + {"Name":"French", "Value":8}, + {"Name":"German", "Value":9}, + {"Name":"Greek", "Value":10}, + {"Name":"Italian", "Value":11}, + {"Name":"Japanese", "Value":12}, + {"Name":"Korean", "Value":13}, + {"Name":"Norwegian", "Value":14}, + {"Name":"Polish", "Value":15}, + {"Name":"Portuguese", "Value":16}, + {"Name":"Russian", "Value":17}, + {"Name":"Spanish", "Value":18}, + {"Name":"Swedish", "Value":19} + ] + }, + { + "Name":"ALERT_RESPONSE_COMMAND", + "MaxValue":3, + "EnumValues":[ + {"Name":"Acknowledge", "Value":0}, + {"Name":"Temporary Silence", "Value":1}, + {"Name":"Test Command off", "Value":2}, + {"Name":"Test Command on", "Value":3} + ] + }, + { + "Name":"ALERT_STATE", + "MaxValue":255, + "EnumValues":[ + {"Name":"Disabled", "Value":0}, + {"Name":"Normal", "Value":1}, + {"Name":"Active", "Value":2}, + {"Name":"Silenced", "Value":3}, + {"Name":"Acknowledged", "Value":4}, + {"Name":"Awaiting Acknowledge", "Value":5} + ] + }, + { + "Name":"ALERT_THRESHOLD_STATUS", + "MaxValue":15, + "EnumValues":[ + {"Name":"Normal", "Value":0}, + {"Name":"Threshold Exceeded", "Value":1}, + {"Name":"Extreme Threshold Exceeded", "Value":2}, + {"Name":"Low Threshold Exceeded", "Value":3}, + {"Name":"Acknowledged", "Value":4}, + {"Name":"Awaiting Acknowledge", "Value":5} + ] + }, + { + "Name":"ALERT_TRIGGER_CONDITION", + "MaxValue":15, + "EnumValues":[ + {"Name":"Manual", "Value":0}, + {"Name":"Auto", "Value":1}, + {"Name":"Test", "Value":2}, + {"Name":"Disabled", "Value":3} + ] + }, + { + "Name":"ALERT_TYPE", + "MaxValue":15, + "EnumValues":[ + {"Name":"Emergency Alarm", "Value":1}, + {"Name":"Alarm", "Value":2}, + {"Name":"Warning", "Value":5}, + {"Name":"Caution", "Value":8} ] }, { @@ -1028,319 +878,362 @@ ] }, { - "Name":"AIS_SPECIAL_MANEUVER", - "MaxValue":3, + "Name":"AUTOMATIC_MANUAL", + "MaxValue":255, "EnumValues":[ - {"Name":"Not available", "Value":0}, - {"Name":"Not engaged in special maneuver", "Value":1}, - {"Name":"Engaged in special maneuver", "Value":2}, - {"Name":"Reserved", "Value":3} + {"Name":"Automatic", "Value":0}, + {"Name":"Manual", "Value":1} ] }, { - "Name":"POSITION_FIX_DEVICE", - "MaxValue":15, + "Name":"AVAILABLE", + "MaxValue":1, "EnumValues":[ - {"Name":"Default: undefined", "Value":0}, - {"Name":"GPS", "Value":1}, - {"Name":"GLONASS", "Value":2}, - {"Name":"Combined GPS/GLONASS", "Value":3}, - {"Name":"Loran-C", "Value":4}, - {"Name":"Chayka", "Value":5}, - {"Name":"Integrated navigation system", "Value":6}, - {"Name":"Surveyed", "Value":7}, - {"Name":"Galileo", "Value":8} + {"Name":"Available", "Value":0}, + {"Name":"Not available", "Value":1} ] }, { - "Name":"GNS", - "MaxValue":15, + "Name":"BANDG_DECIMALS", + "MaxValue":255, "EnumValues":[ - {"Name":"GPS", "Value":0}, - {"Name":"GLONASS", "Value":1}, - {"Name":"GPS+GLONASS", "Value":2}, - {"Name":"GPS+SBAS/WAAS", "Value":3}, - {"Name":"GPS+SBAS/WAAS+GLONASS", "Value":4}, - {"Name":"Chayka", "Value":5}, - {"Name":"integrated", "Value":6}, - {"Name":"surveyed", "Value":7}, - {"Name":"Galileo", "Value":8} + {"Name":"0", "Value":0}, + {"Name":"1", "Value":1}, + {"Name":"2", "Value":2}, + {"Name":"3", "Value":3}, + {"Name":"4", "Value":4}, + {"Name":"Auto", "Value":254} ] }, { - "Name":"ENGINE_INSTANCE", - "MaxValue":255, + "Name":"BANDWIDTH", + "MaxValue":1, "EnumValues":[ - {"Name":"Single Engine or Dual Engine Port", "Value":0}, - {"Name":"Dual Engine Starboard", "Value":1} + {"Name":"Default", "Value":0}, + {"Name":"12.5 kHz", "Value":1} ] }, { - "Name":"GEAR_STATUS", - "MaxValue":3, + "Name":"BATTERY_CHEMISTRY", + "MaxValue":15, "EnumValues":[ - {"Name":"Forward", "Value":0}, - {"Name":"Neutral", "Value":1}, - {"Name":"Reverse", "Value":2} + {"Name":"Pb (Lead)", "Value":0}, + {"Name":"Li", "Value":1}, + {"Name":"NiCd", "Value":2}, + {"Name":"ZnO", "Value":3}, + {"Name":"NiMH", "Value":4} ] }, { - "Name":"DIRECTION", + "Name":"BATTERY_TYPE", "MaxValue":15, "EnumValues":[ - {"Name":"Forward", "Value":0}, - {"Name":"Reverse", "Value":1} + {"Name":"Flooded", "Value":0}, + {"Name":"Gel", "Value":1}, + {"Name":"AGM", "Value":2} ] }, { - "Name":"POSITION_ACCURACY", - "MaxValue":1, + "Name":"BATTERY_VOLTAGE", + "MaxValue":15, "EnumValues":[ - {"Name":"Low", "Value":0}, - {"Name":"High", "Value":1} + {"Name":"6V", "Value":0}, + {"Name":"12V", "Value":1}, + {"Name":"24V", "Value":2}, + {"Name":"32V", "Value":3}, + {"Name":"36V", "Value":4}, + {"Name":"42V", "Value":5}, + {"Name":"48V", "Value":6} ] }, { - "Name":"RAIM_FLAG", - "MaxValue":1, + "Name":"BEARING_MODE", + "MaxValue":3, "EnumValues":[ - {"Name":"not in use", "Value":0}, - {"Name":"in use", "Value":1} + {"Name":"Great Circle", "Value":0}, + {"Name":"Rhumbline", "Value":1} ] }, { - "Name":"TIME_STAMP", - "MaxValue":63, + "Name":"BLUETOOTH_SOURCE_STATUS", + "MaxValue":15, "EnumValues":[ - {"Name":"Not available", "Value":60}, - {"Name":"Manual input mode", "Value":61}, - {"Name":"Dead reckoning mode", "Value":62}, - {"Name":"Positioning system is inoperative", "Value":63} + {"Name":"Reserved", "Value":0}, + {"Name":"Connected", "Value":1}, + {"Name":"Connecting", "Value":2}, + {"Name":"Not connected", "Value":3} ] }, { - "Name":"GNS_METHOD", - "MaxValue":15, + "Name":"BLUETOOTH_STATUS", + "MaxValue":255, "EnumValues":[ - {"Name":"no GNSS", "Value":0}, - {"Name":"GNSS fix", "Value":1}, - {"Name":"DGNSS fix", "Value":2}, - {"Name":"Precise GNSS", "Value":3}, - {"Name":"RTK Fixed Integer", "Value":4}, - {"Name":"RTK float", "Value":5}, - {"Name":"Estimated (DR) mode", "Value":6}, - {"Name":"Manual Input", "Value":7}, - {"Name":"Simulate mode", "Value":8} + {"Name":"Connected", "Value":0}, + {"Name":"Not connected", "Value":1}, + {"Name":"Not paired", "Value":2} ] }, { - "Name":"GNS_INTEGRITY", - "MaxValue":3, + "Name":"BOOT_STATE", + "MaxValue":7, "EnumValues":[ - {"Name":"No integrity checking", "Value":0}, - {"Name":"Safe", "Value":1}, - {"Name":"Caution", "Value":2}, - {"Name":"Unsafe", "Value":3} + {"Name":"in Startup Monitor", "Value":0}, + {"Name":"running Bootloader", "Value":1}, + {"Name":"running Application", "Value":2} ] }, { - "Name":"SYSTEM_TIME", - "MaxValue":15, + "Name":"BROADCAST_INDICATOR", + "MaxValue":1, "EnumValues":[ - {"Name":"GPS", "Value":0}, - {"Name":"GLONASS", "Value":1}, - {"Name":"Radio Station", "Value":2}, - {"Name":"Local Cesium clock", "Value":3}, - {"Name":"Local Rubidium clock", "Value":4}, - {"Name":"Local Crystal clock", "Value":5} + {"Name":"Broadcast geo area message", "Value":0}, + {"Name":"Addressed message", "Value":1} ] }, { - "Name":"MAGNETIC_VARIATION", - "MaxValue":15, + "Name":"CERTIFICATION_LEVEL", + "MaxValue":255, "EnumValues":[ - {"Name":"Manual", "Value":0}, - {"Name":"Automatic Chart", "Value":1}, - {"Name":"Automatic Table", "Value":2}, - {"Name":"Automatic Calculation", "Value":3}, - {"Name":"WMM 2000", "Value":4}, - {"Name":"WMM 2005", "Value":5}, - {"Name":"WMM 2010", "Value":6}, - {"Name":"WMM 2015", "Value":7}, - {"Name":"WMM 2020", "Value":8}, - {"Name":"WMM 2025", "Value":9} + {"Name":"Level A", "Value":0}, + {"Name":"Level B", "Value":1} ] }, { - "Name":"RESIDUAL_MODE", + "Name":"CHARGER_MODE", "MaxValue":15, "EnumValues":[ - {"Name":"Autonomous", "Value":0}, - {"Name":"Differential enhanced", "Value":1}, - {"Name":"Estimated", "Value":2}, - {"Name":"Simulator", "Value":3}, - {"Name":"Manual", "Value":4} + {"Name":"Standalone", "Value":0}, + {"Name":"Primary", "Value":1}, + {"Name":"Secondary", "Value":2}, + {"Name":"Echo", "Value":3} ] }, { - "Name":"WIND_REFERENCE", - "MaxValue":7, + "Name":"CHARGER_STATE", + "MaxValue":15, "EnumValues":[ - {"Name":"True (ground referenced to North)", "Value":0}, - {"Name":"Magnetic (ground referenced to Magnetic North)", "Value":1}, - {"Name":"Apparent", "Value":2}, - {"Name":"True (boat referenced)", "Value":3}, - {"Name":"True (water referenced)", "Value":4} + {"Name":"Not charging", "Value":0}, + {"Name":"Bulk", "Value":1}, + {"Name":"Absorption", "Value":2}, + {"Name":"Overcharge", "Value":3}, + {"Name":"Equalise", "Value":4}, + {"Name":"Float", "Value":5}, + {"Name":"No float", "Value":6}, + {"Name":"Constant VI", "Value":7}, + {"Name":"Disabled", "Value":8}, + {"Name":"Fault", "Value":9} ] }, { - "Name":"WATER_REFERENCE", - "MaxValue":255, + "Name":"CHARGING_ALGORITHM", + "MaxValue":15, "EnumValues":[ - {"Name":"Paddle wheel", "Value":0}, - {"Name":"Pitot tube", "Value":1}, - {"Name":"Doppler", "Value":2}, - {"Name":"Correlation (ultra sound)", "Value":3}, - {"Name":"Electro Magnetic", "Value":4} + {"Name":"Trickle", "Value":0}, + {"Name":"Constant voltage / Constant current", "Value":1}, + {"Name":"2 stage (no float)", "Value":2}, + {"Name":"3 stage", "Value":3} ] }, { - "Name":"YES_NO", + "Name":"CONTROLLER_STATE", "MaxValue":3, "EnumValues":[ - {"Name":"No", "Value":0}, - {"Name":"Yes", "Value":1} + {"Name":"Error Active", "Value":0}, + {"Name":"Error Passive", "Value":1}, + {"Name":"Bus Off", "Value":2} ] }, { - "Name":"OK_WARNING", - "MaxValue":3, + "Name":"CONVERTER_STATE", + "MaxValue":255, "EnumValues":[ - {"Name":"OK", "Value":0}, - {"Name":"Warning", "Value":1} + {"Name":"Off", "Value":0}, + {"Name":"Low Power Mode", "Value":1}, + {"Name":"Fault", "Value":2}, + {"Name":"Bulk", "Value":3}, + {"Name":"Absorption", "Value":4}, + {"Name":"Float", "Value":5}, + {"Name":"Storage", "Value":6}, + {"Name":"Equalize", "Value":7}, + {"Name":"Pass thru", "Value":8}, + {"Name":"Inverting", "Value":9}, + {"Name":"Assisting", "Value":10} ] }, { - "Name":"OFF_ON", - "MaxValue":3, + "Name":"CZONE_ALARM_TYPE", + "MaxValue":65535, "EnumValues":[ - {"Name":"Off", "Value":0}, - {"Name":"On", "Value":1} + {"Name":"AC Voltage Error", "Value":1}, + {"Name":"AC Frequency Error", "Value":2}, + {"Name":"AC High Power", "Value":3}, + {"Name":"DC Low Voltage", "Value":4}, + {"Name":"DC Very Low Voltage", "Value":5}, + {"Name":"DC High Voltage", "Value":6}, + {"Name":"DC Low Battery Capacity", "Value":7}, + {"Name":"Out of Range", "Value":10}, + {"Name":"Low Run Current", "Value":11}, + {"Name":"Over Current", "Value":12}, + {"Name":"Short Circuit", "Value":13}, + {"Name":"Missing Commander", "Value":14}, + {"Name":"Reverse Current", "Value":15}, + {"Name":"Calibration Error", "Value":16}, + {"Name":"Missing Output", "Value":17}, + {"Name":"Systems On", "Value":18}, + {"Name":"AC Very High Power", "Value":19}, + {"Name":"AC Low Power", "Value":20}, + {"Name":"DC Very Low Battery Capacity", "Value":21}, + {"Name":"Battery Full", "Value":22}, + {"Name":"DC Load Shed Low", "Value":23}, + {"Name":"DC Load Shed Very Low", "Value":24}, + {"Name":"AC Load Shed Low", "Value":25}, + {"Name":"AC Load Shed Very Low", "Value":26}, + {"Name":"Reverse Polarity", "Value":27}, + {"Name":"Manual Override", "Value":28}, + {"Name":"Mastervolt", "Value":29}, + {"Name":"Hardware Fault", "Value":30}, + {"Name":"No AC Supply", "Value":31}, + {"Name":"PGN Switching On", "Value":34}, + {"Name":"Low Canbus Voltage", "Value":35}, + {"Name":"Blown Fuse", "Value":36}, + {"Name":"Manual Bypass", "Value":37}, + {"Name":"Generic Alarm", "Value":38}, + {"Name":"Battery Temperature Alarm", "Value":39}, + {"Name":"Temperature Sensor Error", "Value":40}, + {"Name":"AC IN Out Of Range", "Value":41}, + {"Name":"Device In Overload", "Value":42}, + {"Name":"High Temperature", "Value":43}, + {"Name":"Inverter/Charger Installation Error", "Value":44}, + {"Name":"Inverter Installation Error", "Value":45}, + {"Name":"Charger Installation Error", "Value":46}, + {"Name":"Cable Voltage Drop Too High", "Value":47}, + {"Name":"Shunt mistmatch", "Value":48}, + {"Name":"Cooling Fan Error", "Value":49}, + {"Name":"Mastershunt Fuse Blown", "Value":50}, + {"Name":"High Temperature", "Value":51}, + {"Name":"Over Pressure", "Value":52}, + {"Name":"Low Pressure", "Value":53}, + {"Name":"Rapid Deflation", "Value":54}, + {"Name":"Inverter/Charger Over Temperature", "Value":55}, + {"Name":"Confirm On", "Value":56}, + {"Name":"Battery Safety", "Value":57}, + {"Name":"Stop Charging", "Value":58}, + {"Name":"Check Battery Relay", "Value":59}, + {"Name":"Battery Hardware Failure", "Value":60}, + {"Name":"Battery Over Current", "Value":61}, + {"Name":"Battery Temperature Low", "Value":62}, + {"Name":"Battery Temperature High", "Value":63}, + {"Name":"Battery Last 100", "Value":64} ] }, { - "Name":"OFF_ON_CONTROL", - "MaxValue":3, + "Name":"DC_SOURCE", + "MaxValue":255, "EnumValues":[ - {"Name":"Off", "Value":0}, - {"Name":"On", "Value":1}, - {"Name":"Reserved", "Value":2}, - {"Name":"Take no action (no change)", "Value":3} + {"Name":"Battery", "Value":0}, + {"Name":"Alternator", "Value":1}, + {"Name":"Convertor", "Value":2}, + {"Name":"Solar cell", "Value":3}, + {"Name":"Wind generator", "Value":4} ] }, { - "Name":"DIRECTION_REFERENCE", - "MaxValue":3, + "Name":"DEVICE_CLASS", + "MaxValue":127, "EnumValues":[ - {"Name":"True", "Value":0}, - {"Name":"Magnetic", "Value":1}, - {"Name":"Error", "Value":2} + {"Name":"Reserved for 2000 Use", "Value":0}, + {"Name":"System tools", "Value":10}, + {"Name":"Safety systems", "Value":20}, + {"Name":"Internetwork device", "Value":25}, + {"Name":"Electrical Distribution", "Value":30}, + {"Name":"Electrical Generation", "Value":35}, + {"Name":"Steering and Control surfaces", "Value":40}, + {"Name":"Propulsion", "Value":50}, + {"Name":"Navigation", "Value":60}, + {"Name":"Communication", "Value":70}, + {"Name":"Sensor Communication Interface", "Value":75}, + {"Name":"Instrumentation/general systems", "Value":80}, + {"Name":"External Environment", "Value":85}, + {"Name":"Internal Environment", "Value":90}, + {"Name":"Deck + cargo + fishing equipment systems", "Value":100}, + {"Name":"Human Interface", "Value":110}, + {"Name":"Display", "Value":120}, + {"Name":"Entertainment", "Value":125} ] }, { - "Name":"DIRECTION_RUDDER", + "Name":"DEVICE_TEMP_STATE", + "MaxValue":15, + "EnumValues":[ + {"Name":"Cold", "Value":0}, + {"Name":"Warm", "Value":1}, + {"Name":"Hot", "Value":2} + ] + }, + { + "Name":"DGNSS_MODE", "MaxValue":7, "EnumValues":[ - {"Name":"No Order", "Value":0}, - {"Name":"Move to starboard", "Value":1}, - {"Name":"Move to port", "Value":2} + {"Name":"None", "Value":0}, + {"Name":"SBAS if available", "Value":1}, + {"Name":"SBAS", "Value":3} ] }, { - "Name":"NAV_STATUS", + "Name":"DIFFERENTIAL_MODE", "MaxValue":15, "EnumValues":[ - {"Name":"Under way using engine", "Value":0}, - {"Name":"At anchor", "Value":1}, - {"Name":"Not under command", "Value":2}, - {"Name":"Restricted maneuverability", "Value":3}, - {"Name":"Constrained by her draught", "Value":4}, - {"Name":"Moored", "Value":5}, - {"Name":"Aground", "Value":6}, - {"Name":"Engaged in Fishing", "Value":7}, - {"Name":"Under way sailing", "Value":8}, - {"Name":"Hazardous material - High Speed", "Value":9}, - {"Name":"Hazardous material - Wing in Ground", "Value":10}, - {"Name":"Power-driven vessel towing astern", "Value":11}, - {"Name":"Power-driven vessel pushing ahead or towing alongside", "Value":12}, - {"Name":"AIS-SART", "Value":14} + {"Name":"Manual", "Value":0}, + {"Name":"Auto Power", "Value":1}, + {"Name":"Auto Range", "Value":2} ] }, { - "Name":"POWER_FACTOR", - "MaxValue":3, + "Name":"DIFFERENTIAL_SOURCE", + "MaxValue":15, "EnumValues":[ - {"Name":"Leading", "Value":0}, - {"Name":"Lagging", "Value":1}, - {"Name":"Error", "Value":2} + {"Name":"Auto", "Value":0}, + {"Name":"Loran", "Value":1}, + {"Name":"MSK Beacon", "Value":2}, + {"Name":"FM Subcarrier", "Value":3}, + {"Name":"AIS", "Value":4}, + {"Name":"Ground based radio", "Value":5}, + {"Name":"SBAS", "Value":6}, + {"Name":"Satellite", "Value":7} ] }, { - "Name":"TEMPERATURE_SOURCE", - "MaxValue":255, + "Name":"DIRECTION", + "MaxValue":7, "EnumValues":[ - {"Name":"Sea Temperature", "Value":0}, - {"Name":"Outside Temperature", "Value":1}, - {"Name":"Inside Temperature", "Value":2}, - {"Name":"Engine Room Temperature", "Value":3}, - {"Name":"Main Cabin Temperature", "Value":4}, - {"Name":"Live Well Temperature", "Value":5}, - {"Name":"Bait Well Temperature", "Value":6}, - {"Name":"Refrigeration Temperature", "Value":7}, - {"Name":"Heating System Temperature", "Value":8}, - {"Name":"Dew Point Temperature", "Value":9}, - {"Name":"Apparent Wind Chill Temperature", "Value":10}, - {"Name":"Theoretical Wind Chill Temperature", "Value":11}, - {"Name":"Heat Index Temperature", "Value":12}, - {"Name":"Freezer Temperature", "Value":13}, - {"Name":"Exhaust Gas Temperature", "Value":14}, - {"Name":"Shaft Seal Temperature", "Value":15} + {"Name":"Forward", "Value":0}, + {"Name":"Reverse", "Value":1} ] }, { - "Name":"HUMIDITY_SOURCE", - "MaxValue":255, + "Name":"DIRECTION_REFERENCE", + "MaxValue":3, "EnumValues":[ - {"Name":"Inside", "Value":0}, - {"Name":"Outside", "Value":1} + {"Name":"True", "Value":0}, + {"Name":"Magnetic", "Value":1}, + {"Name":"Error", "Value":2} ] }, { - "Name":"PRESSURE_SOURCE", - "MaxValue":255, + "Name":"DIRECTION_RUDDER", + "MaxValue":7, "EnumValues":[ - {"Name":"Atmospheric", "Value":0}, - {"Name":"Water", "Value":1}, - {"Name":"Steam", "Value":2}, - {"Name":"Compressed Air", "Value":3}, - {"Name":"Hydraulic", "Value":4}, - {"Name":"Filter", "Value":5}, - {"Name":"AltimeterSetting", "Value":6}, - {"Name":"Oil", "Value":7}, - {"Name":"Fuel", "Value":8} + {"Name":"No Order", "Value":0}, + {"Name":"Move to starboard", "Value":1}, + {"Name":"Move to port", "Value":2} ] }, { - "Name":"DSC_FORMAT", - "MaxValue":255, + "Name":"DOCKING_STATUS", + "MaxValue":3, "EnumValues":[ - {"Name":"Geographical area", "Value":102}, - {"Name":"Distress", "Value":112}, - {"Name":"Common interest", "Value":114}, - {"Name":"All ships", "Value":116}, - {"Name":"Individual stations", "Value":120}, - {"Name":"Non-calling purpose", "Value":121}, - {"Name":"Individual station automatic", "Value":123} + {"Name":"Not docked", "Value":0}, + {"Name":"Fully docked", "Value":1} ] }, { @@ -1354,21 +1247,16 @@ ] }, { - "Name":"DSC_NATURE", + "Name":"DSC_EXPANSION_DATA", "MaxValue":255, "EnumValues":[ - {"Name":"Fire", "Value":100}, - {"Name":"Flooding", "Value":101}, - {"Name":"Collision", "Value":102}, - {"Name":"Grounding", "Value":103}, - {"Name":"Listing", "Value":104}, - {"Name":"Sinking", "Value":105}, - {"Name":"Disabled and adrift", "Value":106}, - {"Name":"Undesignated", "Value":107}, - {"Name":"Abandoning ship", "Value":108}, - {"Name":"Piracy", "Value":109}, - {"Name":"Man overboard", "Value":110}, - {"Name":"EPIRB emission", "Value":112} + {"Name":"Enhanced position", "Value":100}, + {"Name":"Source and datum of position", "Value":101}, + {"Name":"SOG", "Value":102}, + {"Name":"COG", "Value":103}, + {"Name":"Additional station identification", "Value":104}, + {"Name":"Enhanced geographic area", "Value":105}, + {"Name":"Number of persons on board", "Value":106} ] }, { @@ -1391,6 +1279,37 @@ {"Name":"No information", "Value":126} ] }, + { + "Name":"DSC_FORMAT", + "MaxValue":255, + "EnumValues":[ + {"Name":"Geographical area", "Value":102}, + {"Name":"Distress", "Value":112}, + {"Name":"Common interest", "Value":114}, + {"Name":"All ships", "Value":116}, + {"Name":"Individual stations", "Value":120}, + {"Name":"Non-calling purpose", "Value":121}, + {"Name":"Individual station automatic", "Value":123} + ] + }, + { + "Name":"DSC_NATURE", + "MaxValue":255, + "EnumValues":[ + {"Name":"Fire", "Value":100}, + {"Name":"Flooding", "Value":101}, + {"Name":"Collision", "Value":102}, + {"Name":"Grounding", "Value":103}, + {"Name":"Listing", "Value":104}, + {"Name":"Sinking", "Value":105}, + {"Name":"Disabled and adrift", "Value":106}, + {"Name":"Undesignated", "Value":107}, + {"Name":"Abandoning ship", "Value":108}, + {"Name":"Piracy", "Value":109}, + {"Name":"Man overboard", "Value":110}, + {"Name":"EPIRB emission", "Value":112} + ] + }, { "Name":"DSC_SECOND_TELECOMMAND", "MaxValue":255, @@ -1413,338 +1332,108 @@ ] }, { - "Name":"DSC_EXPANSION_DATA", + "Name":"ENGINE_INSTANCE", "MaxValue":255, "EnumValues":[ - {"Name":"Enhanced position", "Value":100}, - {"Name":"Source and datum of position", "Value":101}, - {"Name":"SOG", "Value":102}, - {"Name":"COG", "Value":103}, - {"Name":"Additional station identification", "Value":104}, - {"Name":"Enhanced geographic area", "Value":105}, - {"Name":"Number of persons on board", "Value":106} + {"Name":"Single Engine or Dual Engine Port", "Value":0}, + {"Name":"Dual Engine Starboard", "Value":1} ] }, { - "Name":"SEATALK_MESSAGE_ID", + "Name":"ENTERTAINMENT_CHANNEL", "MaxValue":255, "EnumValues":[ - {"Name":"Seatalk 1 Encoded", "Value":240}, - {"Name":"Display", "Value":140}, - {"Name":"Pilot Configuration", "Value":108} + {"Name":"All channels", "Value":0}, + {"Name":"Stereo full range", "Value":1}, + {"Name":"Stereo front", "Value":2}, + {"Name":"Stereo back", "Value":3}, + {"Name":"Stereo surround", "Value":4}, + {"Name":"Center", "Value":5}, + {"Name":"Subwoofer", "Value":6}, + {"Name":"Front left", "Value":7}, + {"Name":"Front right", "Value":8}, + {"Name":"Back left", "Value":9}, + {"Name":"Back right", "Value":10}, + {"Name":"Surround left", "Value":11}, + {"Name":"Surround right", "Value":12} ] }, { - "Name":"SEATALK_COMMAND", + "Name":"ENTERTAINMENT_DEFAULT_SETTINGS", + "MaxValue":3, + "EnumValues":[ + {"Name":"Save current settings as user default", "Value":0}, + {"Name":"Load user default", "Value":1}, + {"Name":"Load manufacturer default", "Value":2} + ] + }, + { + "Name":"ENTERTAINMENT_EQ", "MaxValue":255, "EnumValues":[ - {"Name":"Seatalk1", "Value":129}, - {"Name":"Hull Type", "Value":22}, - {"Name":"Auto Turn", "Value":38}, - {"Name":"Settings", "Value":12}, - {"Name":"Rudder Limit", "Value":2}, - {"Name":"Rudder Damping", "Value":3}, - {"Name":"Rudder Offset", "Value":4}, - {"Name":"Reverse Rudder Reference", "Value":6}, - {"Name":"Cruise Speed", "Value":8}, - {"Name":"Power Steer Mode", "Value":11}, - {"Name":"Wind Type", "Value":15}, - {"Name":"Auto Turn", "Value":17}, - {"Name":"Calibration Lock", "Value":18}, - {"Name":"Gybe Inhibit", "Value":20}, - {"Name":"Compass Offset", "Value":21}, - {"Name":"Drive Type", "Value":23}, - {"Name":"Response Level", "Value":25}, - {"Name":"Max Compass Deviation", "Value":26}, - {"Name":"Hard Over Time", "Value":27}, - {"Name":"Debug Level", "Value":29}, - {"Name":"Compass Lock", "Value":33}, - {"Name":"Speed Input", "Value":34}, - {"Name":"Compass Linearisation Progress", "Value":35}, - {"Name":"ACU Debug Level", "Value":36}, - {"Name":"Wind Shift Alarm", "Value":37}, - {"Name":"Auto Turn Timeout", "Value":39} + {"Name":"Flat", "Value":0}, + {"Name":"Rock", "Value":1}, + {"Name":"Hall", "Value":2}, + {"Name":"Jazz", "Value":3}, + {"Name":"Pop", "Value":4}, + {"Name":"Live", "Value":5}, + {"Name":"Classic", "Value":6}, + {"Name":"Vocal", "Value":7}, + {"Name":"Arena", "Value":8}, + {"Name":"Cinema", "Value":9}, + {"Name":"Custom", "Value":10} ] }, { - "Name":"SEATALK1_COMMAND", + "Name":"ENTERTAINMENT_FILTER", "MaxValue":255, "EnumValues":[ - {"Name":"Depth Below Transducer", "Value":0}, - {"Name":"Equipment ID", "Value":1}, - {"Name":"Engine RPM and PITCH", "Value":5}, - {"Name":"Apparent Wind Angle", "Value":16}, - {"Name":"Apparent Wind Speed", "Value":17}, - {"Name":"Speed through water", "Value":32}, - {"Name":"Trip Mileage", "Value":33}, - {"Name":"Total Mileage", "Value":34}, - {"Name":"Water temperature (ST50)", "Value":35}, - {"Name":"Display units for Mileage & Speed", "Value":36}, - {"Name":"Total & Trip Log", "Value":37}, - {"Name":"Speed through water (with average)", "Value":38}, - {"Name":"Water temperature", "Value":39}, - {"Name":"Set lamp Intensity", "Value":48}, - {"Name":"Cancel MOB (Man Over Board) condition", "Value":54}, - {"Name":"Codelock data", "Value":56}, - {"Name":"LAT position", "Value":80}, - {"Name":"LON position", "Value":81}, - {"Name":"Speed over Ground", "Value":82}, - {"Name":"Course over Ground (COG)", "Value":83}, - {"Name":"GMT-time", "Value":84}, - {"Name":"TRACK keystroke on GPS unit", "Value":85}, - {"Name":"Date", "Value":86}, - {"Name":"Sat Info", "Value":87}, - {"Name":"LAT/LON (raw unfiltered)", "Value":88}, - {"Name":"Set Count Down Timer", "Value":89}, - {"Name":"Issued by E-80 multifunction display at initialization", "Value":97}, - {"Name":"Select Fathom display units for depth display", "Value":101}, - {"Name":"Wind alarm", "Value":102}, - {"Name":"Alarm acknowledgment keystroke", "Value":104}, - {"Name":"Second equipment-ID datagram", "Value":108}, - {"Name":"MOB (Man Over Board)", "Value":110}, - {"Name":"Keystroke on Raymarine A25006 ST60 Maxiview Remote Control", "Value":112}, - {"Name":"Set Lamp Intensity", "Value":128}, - {"Name":"Sent by course computer during setup", "Value":129}, - {"Name":"Target waypoint name", "Value":130}, - {"Name":"Sent by course computer", "Value":131}, - {"Name":"Compass heading Autopilot course and Rudder position", "Value":132}, - {"Name":"Navigation to waypoint information", "Value":133}, - {"Name":"Keystroke", "Value":134}, - {"Name":"Set Response level", "Value":135}, - {"Name":"Autopilot Parameter", "Value":136}, - {"Name":"Compass heading sent by ST40 compass instrument", "Value":137}, - {"Name":"Device Indentification", "Value":144}, - {"Name":"Set Rudder gain", "Value":145}, - {"Name":"Set Autopilot Parameter", "Value":146}, - {"Name":"Enter AP-Setup", "Value":147}, - {"Name":"Replaces command 84 while autopilot is in value setting mode", "Value":149}, - {"Name":"Compass variation", "Value":153}, - {"Name":"Version String", "Value":154}, - {"Name":"Compass heading and Rudder position", "Value":156}, - {"Name":"Waypoint definition", "Value":158}, - {"Name":"Destination Waypoint Info", "Value":161}, - {"Name":"Arrival Info", "Value":162}, - {"Name":"Broadcast query/response to identify devices", "Value":164}, - {"Name":"GPS and DGPS Info", "Value":165}, - {"Name":"Unknown meaning", "Value":167}, - {"Name":"Alarm ON/OFF for Guard", "Value":168}, - {"Name":"Alarm ON/OFF for Guard", "Value":171} + {"Name":"Full range", "Value":0}, + {"Name":"High pass", "Value":1}, + {"Name":"Low pass", "Value":2}, + {"Name":"Band pass", "Value":3}, + {"Name":"Notch filter", "Value":4} ] }, { - "Name":"SEATALK1_ATT", + "Name":"ENTERTAINMENT_GROUP", "MaxValue":255, "EnumValues":[ - {"Name":"Depth Below Transducer", "Value":0} + {"Name":"File", "Value":0}, + {"Name":"Playlist Name", "Value":1}, + {"Name":"Genre Name", "Value":2}, + {"Name":"Album Name", "Value":3}, + {"Name":"Artist Name", "Value":4}, + {"Name":"Track Name", "Value":5}, + {"Name":"Station Name", "Value":6}, + {"Name":"Station Number", "Value":7}, + {"Name":"Favourite Number", "Value":8}, + {"Name":"Play Queue", "Value":9}, + {"Name":"Content Info", "Value":10} ] }, { - "Name":"SEATALK_ALARM_STATUS", + "Name":"ENTERTAINMENT_ID_TYPE", "MaxValue":255, "EnumValues":[ - {"Name":"Alarm condition not met", "Value":0}, - {"Name":"Alarm condition met and not silenced", "Value":1}, - {"Name":"Alarm condition met and silenced", "Value":2} + {"Name":"Group", "Value":0}, + {"Name":"File", "Value":1}, + {"Name":"Encrypted group", "Value":2}, + {"Name":"Encrypted file", "Value":3} ] }, { - "Name":"SEATALK_ALARM_ID", + "Name":"ENTERTAINMENT_LIKE_STATUS", "MaxValue":255, "EnumValues":[ - {"Name":"No Alarm", "Value":0}, - {"Name":"Shallow Depth", "Value":1}, - {"Name":"Deep Depth", "Value":2}, - {"Name":"Shallow Anchor", "Value":3}, - {"Name":"Deep Anchor", "Value":4}, - {"Name":"Off Course", "Value":5}, - {"Name":"AWA High", "Value":6}, - {"Name":"AWA Low", "Value":7}, - {"Name":"AWS High", "Value":8}, - {"Name":"AWS Low", "Value":9}, - {"Name":"TWA High", "Value":10}, - {"Name":"TWA Low", "Value":11}, - {"Name":"TWS High", "Value":12}, - {"Name":"TWS Low", "Value":13}, - {"Name":"WP Arrival", "Value":14}, - {"Name":"Boat Speed High", "Value":15}, - {"Name":"Boat Speed Low", "Value":16}, - {"Name":"Sea Temperature High", "Value":17}, - {"Name":"Sea Temperature Low", "Value":18}, - {"Name":"Pilot Watch", "Value":19}, - {"Name":"Pilot Off Course", "Value":20}, - {"Name":"Pilot Wind Shift", "Value":21}, - {"Name":"Pilot Low Battery", "Value":22}, - {"Name":"Pilot Last Minute Of Watch", "Value":23}, - {"Name":"Pilot No NMEA Data", "Value":24}, - {"Name":"Pilot Large XTE", "Value":25}, - {"Name":"Pilot NMEA DataError", "Value":26}, - {"Name":"Pilot CU Disconnected", "Value":27}, - {"Name":"Pilot Auto Release", "Value":28}, - {"Name":"Pilot Way Point Advance", "Value":29}, - {"Name":"Pilot Drive Stopped", "Value":30}, - {"Name":"Pilot Type Unspecified", "Value":31}, - {"Name":"Pilot Calibration Required", "Value":32}, - {"Name":"Pilot Last Heading", "Value":33}, - {"Name":"Pilot No Pilot", "Value":34}, - {"Name":"Pilot Route Complete", "Value":35}, - {"Name":"Pilot Variable Text", "Value":36}, - {"Name":"GPS Failure", "Value":37}, - {"Name":"MOB", "Value":38}, - {"Name":"Seatalk1 Anchor", "Value":39}, - {"Name":"Pilot Swapped Motor Power", "Value":40}, - {"Name":"Pilot Standby Too Fast To Fish", "Value":41}, - {"Name":"Pilot No GPS Fix", "Value":42}, - {"Name":"Pilot No GPS COG", "Value":43}, - {"Name":"Pilot Start Up", "Value":44}, - {"Name":"Pilot Too Slow", "Value":45}, - {"Name":"Pilot No Compass", "Value":46}, - {"Name":"Pilot Rate Gyro Fault", "Value":47}, - {"Name":"Pilot Current Limit", "Value":48}, - {"Name":"Pilot Way Point Advance Port", "Value":49}, - {"Name":"Pilot Way Point Advance Stbd", "Value":50}, - {"Name":"Pilot No Wind Data", "Value":51}, - {"Name":"Pilot No Speed Data", "Value":52}, - {"Name":"Pilot Seatalk Fail1", "Value":53}, - {"Name":"Pilot Seatalk Fail2", "Value":54}, - {"Name":"Pilot Warning Too Fast To Fish", "Value":55}, - {"Name":"Pilot Auto Dockside Fail", "Value":56}, - {"Name":"Pilot Turn Too Fast", "Value":57}, - {"Name":"Pilot No Nav Data", "Value":58}, - {"Name":"Pilot Lost Waypoint Data", "Value":59}, - {"Name":"Pilot EEPROM Corrupt", "Value":60}, - {"Name":"Pilot Rudder Feedback Fail", "Value":61}, - {"Name":"Pilot Autolearn Fail1", "Value":62}, - {"Name":"Pilot Autolearn Fail2", "Value":63}, - {"Name":"Pilot Autolearn Fail3", "Value":64}, - {"Name":"Pilot Autolearn Fail4", "Value":65}, - {"Name":"Pilot Autolearn Fail5", "Value":66}, - {"Name":"Pilot Autolearn Fail6", "Value":67}, - {"Name":"Pilot Warning Cal Required", "Value":68}, - {"Name":"Pilot Warning OffCourse", "Value":69}, - {"Name":"Pilot Warning XTE", "Value":70}, - {"Name":"Pilot Warning Wind Shift", "Value":71}, - {"Name":"Pilot Warning Drive Short", "Value":72}, - {"Name":"Pilot Warning Clutch Short", "Value":73}, - {"Name":"Pilot Warning Solenoid Short", "Value":74}, - {"Name":"Pilot Joystick Fault", "Value":75}, - {"Name":"Pilot No Joystick Data", "Value":76}, - {"Name":"Pilot Invalid Command", "Value":80}, - {"Name":"AIS TX Malfunction", "Value":81}, - {"Name":"AIS Antenna VSWR fault", "Value":82}, - {"Name":"AIS Rx channel 1 malfunction", "Value":83}, - {"Name":"AIS Rx channel 2 malfunction", "Value":84}, - {"Name":"AIS No sensor position in use", "Value":85}, - {"Name":"AIS No valid SOG information", "Value":86}, - {"Name":"AIS No valid COG information", "Value":87}, - {"Name":"AIS 12V alarm", "Value":88}, - {"Name":"AIS 6V alarm", "Value":89}, - {"Name":"AIS Noise threshold exceeded channel A", "Value":90}, - {"Name":"AIS Noise threshold exceeded channel B", "Value":91}, - {"Name":"AIS Transmitter PA fault", "Value":92}, - {"Name":"AIS 3V3 alarm", "Value":93}, - {"Name":"AIS Rx channel 70 malfunction", "Value":94}, - {"Name":"AIS Heading lost/invalid", "Value":95}, - {"Name":"AIS internal GPS lost", "Value":96}, - {"Name":"AIS No sensor position", "Value":97}, - {"Name":"AIS Lock failure", "Value":98}, - {"Name":"AIS Internal GGA timeout", "Value":99}, - {"Name":"AIS Protocol stack restart", "Value":100}, - {"Name":"Pilot No IPS communications", "Value":101}, - {"Name":"Pilot Power-On or Sleep-Switch Reset While Engaged", "Value":102}, - {"Name":"Pilot Unexpected Reset While Engaged", "Value":103}, - {"Name":"AIS Dangerous Target", "Value":104}, - {"Name":"AIS Lost Target", "Value":105}, - {"Name":"AIS Safety Related Message (used to silence)", "Value":106}, - {"Name":"AIS Connection Lost", "Value":107}, - {"Name":"No Fix", "Value":108} - ] - }, - { - "Name":"SEATALK_ALARM_GROUP", - "MaxValue":255, - "EnumValues":[ - {"Name":"Instrument", "Value":0}, - {"Name":"Autopilot", "Value":1}, - {"Name":"Radar", "Value":2}, - {"Name":"Chart Plotter", "Value":3}, - {"Name":"AIS", "Value":4} - ] - }, - { - "Name":"SEATALK_PILOT_MODE", - "MaxValue":255, - "EnumValues":[ - {"Name":"Standby", "Value":64}, - {"Name":"Auto", "Value":66}, - {"Name":"Wind", "Value":70}, - {"Name":"Track", "Value":74} - ] - }, - { - "Name":"SEATALK_PILOT_HULL_TYPE", - "MaxValue":255, - "EnumValues":[ - {"Name":"Sail", "Value":0}, - {"Name":"Sail (slow turn)", "Value":1}, - {"Name":"Sail Catamaran", "Value":2}, - {"Name":"Power (slow turn)", "Value":3}, - {"Name":"Power (fast turn)", "Value":4}, - {"Name":"Power", "Value":8} - ] - }, - { - "Name":"SEATALK_SHARED", - "MaxValue":255, - "EnumValues":[ - {"Name":"Shared", "Value":1}, - {"Name":"Not Shared", "Value":2} - ] - }, - { - "Name":"ENTERTAINMENT_ZONE", - "MaxValue":255, - "EnumValues":[ - {"Name":"All zones", "Value":0}, - {"Name":"Zone 1", "Value":1}, - {"Name":"Zone 2", "Value":2}, - {"Name":"Zone 3", "Value":3}, - {"Name":"Zone 4", "Value":4} - ] - }, - { - "Name":"ENTERTAINMENT_SOURCE", - "MaxValue":255, - "EnumValues":[ - {"Name":"Vessel alarm", "Value":0}, - {"Name":"AM", "Value":1}, - {"Name":"FM", "Value":2}, - {"Name":"Weather", "Value":3}, - {"Name":"DAB", "Value":4}, - {"Name":"Aux", "Value":5}, - {"Name":"USB", "Value":6}, - {"Name":"CD", "Value":7}, - {"Name":"MP3", "Value":8}, - {"Name":"Apple iOS", "Value":9}, - {"Name":"Android", "Value":10}, - {"Name":"Bluetooth", "Value":11}, - {"Name":"Sirius XM", "Value":12}, - {"Name":"Pandora", "Value":13}, - {"Name":"Spotify", "Value":14}, - {"Name":"Slacker", "Value":15}, - {"Name":"Songza", "Value":16}, - {"Name":"Apple Radio", "Value":17}, - {"Name":"Last FM", "Value":18}, - {"Name":"Ethernet", "Value":19}, - {"Name":"Video MP4", "Value":20}, - {"Name":"Video DVD", "Value":21}, - {"Name":"Video BluRay", "Value":22}, - {"Name":"HDMI", "Value":23}, - {"Name":"Video", "Value":24} + {"Name":"None", "Value":0}, + {"Name":"Thumbs up", "Value":1}, + {"Name":"Thumbs down", "Value":2} ] }, { "Name":"ENTERTAINMENT_PLAY_STATUS", - "MaxValue":65535, + "MaxValue":255, "EnumValues":[ {"Name":"Play", "Value":0}, {"Name":"Pause", "Value":1}, @@ -1773,6 +1462,20 @@ {"Name":"Slow motion .125x", "Value":24} ] }, + { + "Name":"ENTERTAINMENT_REGIONS", + "MaxValue":15, + "EnumValues":[ + {"Name":"USA", "Value":0}, + {"Name":"Europe", "Value":1}, + {"Name":"Asia", "Value":2}, + {"Name":"Middle East", "Value":3}, + {"Name":"Latin America", "Value":4}, + {"Name":"Australia", "Value":5}, + {"Name":"Russia", "Value":6}, + {"Name":"Japan", "Value":7} + ] + }, { "Name":"ENTERTAINMENT_REPEAT_STATUS", "MaxValue":15, @@ -1792,12 +1495,34 @@ ] }, { - "Name":"ENTERTAINMENT_LIKE_STATUS", + "Name":"ENTERTAINMENT_SOURCE", "MaxValue":255, "EnumValues":[ - {"Name":"None", "Value":0}, - {"Name":"Thumbs up", "Value":1}, - {"Name":"Thumbs down", "Value":2} + {"Name":"Vessel alarm", "Value":0}, + {"Name":"AM", "Value":1}, + {"Name":"FM", "Value":2}, + {"Name":"Weather", "Value":3}, + {"Name":"DAB", "Value":4}, + {"Name":"Aux", "Value":5}, + {"Name":"USB", "Value":6}, + {"Name":"CD", "Value":7}, + {"Name":"MP3", "Value":8}, + {"Name":"Apple iOS", "Value":9}, + {"Name":"Android", "Value":10}, + {"Name":"Bluetooth", "Value":11}, + {"Name":"Sirius XM", "Value":12}, + {"Name":"Pandora", "Value":13}, + {"Name":"Spotify", "Value":14}, + {"Name":"Slacker", "Value":15}, + {"Name":"Songza", "Value":16}, + {"Name":"Apple Radio", "Value":17}, + {"Name":"Last FM", "Value":18}, + {"Name":"Ethernet", "Value":19}, + {"Name":"Video MP4", "Value":20}, + {"Name":"Video DVD", "Value":21}, + {"Name":"Video BluRay", "Value":22}, + {"Name":"HDMI", "Value":23}, + {"Name":"Video", "Value":24} ] }, { @@ -1818,262 +1543,233 @@ ] }, { - "Name":"ENTERTAINMENT_GROUP", - "MaxValue":255, + "Name":"ENTERTAINMENT_VOLUME_CONTROL", + "MaxValue":3, "EnumValues":[ - {"Name":"File", "Value":0}, - {"Name":"Playlist Name", "Value":1}, - {"Name":"Genre Name", "Value":2}, - {"Name":"Album Name", "Value":3}, - {"Name":"Artist Name", "Value":4}, - {"Name":"Track Name", "Value":5}, - {"Name":"Station Name", "Value":6}, - {"Name":"Station Number", "Value":7}, - {"Name":"Favourite Number", "Value":8}, - {"Name":"Play Queue", "Value":9}, - {"Name":"Content Info", "Value":10} + {"Name":"Up", "Value":0}, + {"Name":"Down", "Value":1} ] }, { - "Name":"ENTERTAINMENT_CHANNEL", + "Name":"ENTERTAINMENT_ZONE", "MaxValue":255, "EnumValues":[ - {"Name":"All channels", "Value":0}, - {"Name":"Stereo full range", "Value":1}, - {"Name":"Stereo front", "Value":2}, - {"Name":"Stereo back", "Value":3}, - {"Name":"Stereo surround", "Value":4}, - {"Name":"Center", "Value":5}, - {"Name":"Subwoofer", "Value":6}, - {"Name":"Front left", "Value":7}, - {"Name":"Front right", "Value":8}, - {"Name":"Back left", "Value":9}, - {"Name":"Back right", "Value":10}, - {"Name":"Surround left", "Value":11}, - {"Name":"Surround right", "Value":12} + {"Name":"All zones", "Value":0}, + {"Name":"Zone 1", "Value":1}, + {"Name":"Zone 2", "Value":2}, + {"Name":"Zone 3", "Value":3}, + {"Name":"Zone 4", "Value":4} ] }, { - "Name":"ENTERTAINMENT_EQ", - "MaxValue":255, + "Name":"EQUIPMENT_STATUS", + "MaxValue":3, "EnumValues":[ - {"Name":"Flat", "Value":0}, - {"Name":"Rock", "Value":1}, - {"Name":"Hall", "Value":2}, - {"Name":"Jazz", "Value":3}, - {"Name":"Pop", "Value":4}, - {"Name":"Live", "Value":5}, - {"Name":"Classic", "Value":6}, - {"Name":"Vocal", "Value":7}, - {"Name":"Arena", "Value":8}, - {"Name":"Cinema", "Value":9}, - {"Name":"Custom", "Value":10} + {"Name":"Operational", "Value":0}, + {"Name":"Fault", "Value":1} ] }, { - "Name":"ENTERTAINMENT_FILTER", - "MaxValue":255, + "Name":"FLOOD_STATE", + "MaxValue":7, "EnumValues":[ - {"Name":"Full range", "Value":0}, - {"Name":"High pass", "Value":1}, - {"Name":"Low pass", "Value":2}, - {"Name":"Band pass", "Value":3}, - {"Name":"Notch filter", "Value":4} + {"Name":"Flood", "Value":0}, + {"Name":"Slack", "Value":1}, + {"Name":"Ebb", "Value":2} ] }, { - "Name":"ALERT_TYPE", - "MaxValue":15, + "Name":"FUSION_COMMAND", + "MaxValue":255, "EnumValues":[ - {"Name":"Emergency Alarm", "Value":1}, - {"Name":"Alarm", "Value":2}, - {"Name":"Warning", "Value":5}, - {"Name":"Caution", "Value":8} + {"Name":"Play", "Value":1}, + {"Name":"Pause", "Value":2}, + {"Name":"Next", "Value":4}, + {"Name":"Prev", "Value":6} ] }, { - "Name":"ALERT_CATEGORY", - "MaxValue":15, + "Name":"FUSION_MESSAGE_ID", + "MaxValue":65535, "EnumValues":[ - {"Name":"Navigational", "Value":0}, - {"Name":"Technical", "Value":1} + {"Name":"Request Status", "Value":1}, + {"Name":"Set Source", "Value":2}, + {"Name":"Media Command", "Value":3}, + {"Name":"Tuner Command", "Value":5}, + {"Name":"Marine Tuner Command", "Value":6}, + {"Name":"Set Marine Tuner Squelch", "Value":7}, + {"Name":"Set Marine Tuner Scan Mode", "Value":8}, + {"Name":"Menu Action", "Value":9}, + {"Name":"Request Menu Count", "Value":10}, + {"Name":"Request Menu Item", "Value":11}, + {"Name":"Request Menu Lock ID", "Value":12}, + {"Name":"Set Aux Gain", "Value":13}, + {"Name":"Set Settings", "Value":15}, + {"Name":"DAB Updtate Command", "Value":16}, + {"Name":"Set Mute", "Value":17}, + {"Name":"Set Balance", "Value":18}, + {"Name":"Set Low Pass Filer", "Value":19}, + {"Name":"Set Sublevel", "Value":20}, + {"Name":"Set Equalizer", "Value":22}, + {"Name":"Set Volume Limit", "Value":23}, + {"Name":"Set Zone Volume", "Value":24}, + {"Name":"Set All Volumes", "Value":25}, + {"Name":"Set Line Level Control", "Value":27}, + {"Name":"Power", "Value":28}, + {"Name":"Set Device Name", "Value":29}, + {"Name":"Send Sirius Command", "Value":30}, + {"Name":"Set Sirius Parental", "Value":31}, + {"Name":"Send Factory Reset Command", "Value":33}, + {"Name":"Set Zone Name", "Value":34}, + {"Name":"Send Dvd Command", "Value":35}, + {"Name":"Dvd Press Ir Key", "Value":36}, + {"Name":"Send Select Sirius Team", "Value":39}, + {"Name":"Send Select Sirius Artist", "Value":40}, + {"Name":"Send Sirius Sport Alert User Action", "Value":41}, + {"Name":"Send Sirius Artist Song User Action", "Value":45}, + {"Name":"Send Multiroom Command", "Value":50}, + {"Name":"Get Multiroom Device Record", "Value":51}, + {"Name":"Scan Multirooom Devices", "Value":52}, + {"Name":"Send File Transfer", "Value":53}, + {"Name":"Set Loud", "Value":54}, + {"Name":"Fapi Set Source Multiroom Enabled", "Value":56}, + {"Name":"Request Head Unit Dsp Settings", "Value":57}, + {"Name":"Send Transfer Status", "Value":64}, + {"Name":"Fapi Get Server Info", "Value":65}, + {"Name":"Fapi Set Source Enabled", "Value":69}, + {"Name":"Fapi Set Source Name", "Value":70}, + {"Name":"Send External Amp Gain", "Value":73}, + {"Name":"Send Internal Amp Gain", "Value":74}, + {"Name":"Send Mono", "Value":75} ] }, { - "Name":"ALERT_TRIGGER_CONDITION", - "MaxValue":15, + "Name":"FUSION_MUTE_COMMAND", + "MaxValue":255, "EnumValues":[ - {"Name":"Manual", "Value":0}, - {"Name":"Auto", "Value":1}, - {"Name":"Test", "Value":2}, - {"Name":"Disabled", "Value":3} + {"Name":"Mute On", "Value":1}, + {"Name":"Mute Off", "Value":2} ] }, { - "Name":"ALERT_THRESHOLD_STATUS", - "MaxValue":15, + "Name":"FUSION_PLAY_STATUS", + "MaxValue":65535, "EnumValues":[ - {"Name":"Normal", "Value":0}, - {"Name":"Threshold Exceeded", "Value":1}, - {"Name":"Extreme Threshold Exceeded", "Value":2}, - {"Name":"Low Threshold Exceeded", "Value":3}, - {"Name":"Acknowledged", "Value":4}, - {"Name":"Awaiting Acknowledge", "Value":5} + {"Name":"Invalid", "Value":0}, + {"Name":"Playing", "Value":1}, + {"Name":"Paused", "Value":2}, + {"Name":"Stopped", "Value":3}, + {"Name":"Skip Forward", "Value":4}, + {"Name":"Skip Rewind", "Value":5} ] }, { - "Name":"ALERT_STATE", + "Name":"FUSION_POWER_STATE", "MaxValue":255, "EnumValues":[ - {"Name":"Disabled", "Value":0}, - {"Name":"Normal", "Value":1}, - {"Name":"Active", "Value":2}, - {"Name":"Silenced", "Value":3}, - {"Name":"Acknowledged", "Value":4}, - {"Name":"Awaiting Acknowledge", "Value":5} + {"Name":"On", "Value":1}, + {"Name":"Off", "Value":2} ] }, { - "Name":"ALERT_LANGUAGE_ID", + "Name":"FUSION_RADIO_SOURCE", "MaxValue":255, "EnumValues":[ - {"Name":"English (US)", "Value":0}, - {"Name":"English (UK)", "Value":1}, - {"Name":"Arabic", "Value":2}, - {"Name":"Chinese (simplified)", "Value":3}, - {"Name":"Croatian", "Value":4}, - {"Name":"Danish", "Value":5}, - {"Name":"Dutch", "Value":6}, - {"Name":"Finnish", "Value":7}, - {"Name":"French", "Value":8}, - {"Name":"German", "Value":9}, - {"Name":"Greek", "Value":10}, - {"Name":"Italian", "Value":11}, - {"Name":"Japanese", "Value":12}, - {"Name":"Korean", "Value":13}, - {"Name":"Norwegian", "Value":14}, - {"Name":"Polish", "Value":15}, - {"Name":"Portuguese", "Value":16}, - {"Name":"Russian", "Value":17}, - {"Name":"Spanish", "Value":18}, - {"Name":"Swedish", "Value":19} + {"Name":"AM", "Value":0}, + {"Name":"FM", "Value":1} ] }, { - "Name":"ALERT_RESPONSE_COMMAND", - "MaxValue":3, + "Name":"FUSION_REPEAT_STATUS", + "MaxValue":4294967295, "EnumValues":[ - {"Name":"Acknowledge", "Value":0}, - {"Name":"Temporary Silence", "Value":1}, - {"Name":"Test Command off", "Value":2}, - {"Name":"Test Command on", "Value":3} + {"Name":"Off", "Value":0}, + {"Name":"One/track", "Value":1}, + {"Name":"All/album", "Value":2} ] }, { - "Name":"CONVERTER_STATE", - "MaxValue":255, + "Name":"FUSION_SETTING", + "MaxValue":4294967295, "EnumValues":[ - {"Name":"Off", "Value":0}, - {"Name":"Low Power Mode", "Value":1}, - {"Name":"Fault", "Value":2}, - {"Name":"Bulk", "Value":3}, - {"Name":"Absorption", "Value":4}, - {"Name":"Float", "Value":5}, - {"Name":"Storage", "Value":6}, - {"Name":"Equalize", "Value":7}, - {"Name":"Pass thru", "Value":8}, - {"Name":"Inverting", "Value":9}, - {"Name":"Assisting", "Value":10} - ] - }, - { - "Name":"THRUSTER_DIRECTION_CONTROL", - "MaxValue":15, - "EnumValues":[ - {"Name":"Off", "Value":0}, - {"Name":"Ready", "Value":1}, - {"Name":"To Port", "Value":2}, - {"Name":"To Starboard", "Value":3} - ] - }, - { - "Name":"THRUSTER_RETRACT_CONTROL", - "MaxValue":3, - "EnumValues":[ - {"Name":"Off", "Value":0}, - {"Name":"Extend", "Value":1}, - {"Name":"Retract", "Value":2} - ] - }, - { - "Name":"THRUSTER_MOTOR_TYPE", - "MaxValue":15, - "EnumValues":[ - {"Name":"12VDC", "Value":0}, - {"Name":"24VDC", "Value":1}, - {"Name":"48VDC", "Value":2}, - {"Name":"24VAC", "Value":3}, - {"Name":"Hydraulic", "Value":4} - ] - }, - { - "Name":"BOOT_STATE", - "MaxValue":15, - "EnumValues":[ - {"Name":"in Startup Monitor", "Value":0}, - {"Name":"running Bootloader", "Value":1}, - {"Name":"running Application", "Value":2} - ] - }, - { - "Name":"ACCESS_LEVEL", - "MaxValue":7, - "EnumValues":[ - {"Name":"Locked", "Value":0}, - {"Name":"unlocked level 1", "Value":1}, - {"Name":"unlocked level 2", "Value":2} - ] - }, - { - "Name":"TRANSMISSION_INTERVAL", - "MaxValue":15, - "EnumValues":[ - {"Name":"Acknowledge", "Value":0}, - {"Name":"Transmit Interval/Priority not supported", "Value":1}, - {"Name":"Transmit Interval too low", "Value":2}, - {"Name":"Access denied", "Value":3}, - {"Name":"Not supported", "Value":4} - ] - }, - { - "Name":"PARAMETER_FIELD", - "MaxValue":15, - "EnumValues":[ - {"Name":"Acknowledge", "Value":0}, - {"Name":"Invalid parameter field", "Value":1}, - {"Name":"Temporary error", "Value":2}, - {"Name":"Parameter out of range", "Value":3}, - {"Name":"Access denied", "Value":4}, - {"Name":"Not supported", "Value":5}, - {"Name":"Read or Write not supported", "Value":6} - ] - }, - { - "Name":"PGN_LIST_FUNCTION", - "MaxValue":255, - "EnumValues":[ - {"Name":"Transmit PGN list", "Value":0}, - {"Name":"Receive PGN list", "Value":1} - ] - }, - { - "Name":"FUSION_COMMAND", - "MaxValue":255, - "EnumValues":[ - {"Name":"Play", "Value":1}, - {"Name":"Pause", "Value":2}, - {"Name":"Next", "Value":4}, - {"Name":"Prev", "Value":6} + {"Name":"Alpha Search Threshold", "Value":0}, + {"Name":"iPod Subtitles", "Value":1}, + {"Name":"Zone 2 Linked", "Value":2}, + {"Name":"Zone 2 Enabled", "Value":3}, + {"Name":"Zone 3 Enabled", "Value":4}, + {"Name":"Zone 4 Enabled", "Value":5}, + {"Name":"Telemute", "Value":6}, + {"Name":"Tuner Region", "Value":7}, + {"Name":"Marine Zone", "Value":8}, + {"Name":"USB repeat", "Value":9}, + {"Name":"USB shuffle", "Value":10}, + {"Name":"iPod Album Artwork", "Value":11}, + {"Name":"iPod repeat", "Value":12}, + {"Name":"iPod shuffle", "Value":13}, + {"Name":"AM Preset 0", "Value":14}, + {"Name":"AM Preset 1", "Value":15}, + {"Name":"AM Preset 2", "Value":16}, + {"Name":"AM Preset 3", "Value":17}, + {"Name":"AM Preset 4", "Value":18}, + {"Name":"AM Preset 5", "Value":19}, + {"Name":"AM Preset 6", "Value":20}, + {"Name":"AM Preset 7", "Value":21}, + {"Name":"AM Preset 8", "Value":22}, + {"Name":"AM Preset 9", "Value":23}, + {"Name":"AM Preset 10", "Value":24}, + {"Name":"AM Preset 11", "Value":25}, + {"Name":"AM Preset 12", "Value":26}, + {"Name":"AM Preset 13", "Value":27}, + {"Name":"AM Preset 14", "Value":28}, + {"Name":"FM Preset 0", "Value":29}, + {"Name":"FM Preset 1", "Value":30}, + {"Name":"FM Preset 2", "Value":31}, + {"Name":"FM Preset 3", "Value":32}, + {"Name":"FM Preset 4", "Value":33}, + {"Name":"FM Preset 5", "Value":34}, + {"Name":"FM Preset 6", "Value":35}, + {"Name":"FM Preset 7", "Value":36}, + {"Name":"FM Preset 8", "Value":37}, + {"Name":"FM Preset 9", "Value":38}, + {"Name":"FM Preset 10", "Value":39}, + {"Name":"FM Preset 11", "Value":40}, + {"Name":"FM Preset 12", "Value":41}, + {"Name":"FM Preset 13", "Value":42}, + {"Name":"FM Preset 14", "Value":43}, + {"Name":"VHF Preset 0", "Value":44}, + {"Name":"VHF Preset 1", "Value":45}, + {"Name":"VHF Preset 2", "Value":46}, + {"Name":"VHF Preset 3", "Value":47}, + {"Name":"VHF Preset 4", "Value":48}, + {"Name":"VHF Preset 5", "Value":49}, + {"Name":"VHF Preset 6", "Value":50}, + {"Name":"VHF Preset 7", "Value":51}, + {"Name":"VHF Preset 8", "Value":52}, + {"Name":"VHF Preset 9", "Value":53}, + {"Name":"VHF Preset 10", "Value":54}, + {"Name":"VHF Preset 11", "Value":55}, + {"Name":"VHF Preset 12", "Value":56}, + {"Name":"VHF Preset 13", "Value":57}, + {"Name":"VHF Preset 14", "Value":58}, + {"Name":"Clock Time", "Value":59}, + {"Name":"Clock Alarm", "Value":60}, + {"Name":"iPod Video Signal", "Value":61}, + {"Name":"iPod Monitor Aspect", "Value":62}, + {"Name":"Aux Name Index", "Value":63}, + {"Name":"AM Enabled", "Value":64}, + {"Name":"VHF Enabled", "Value":65}, + {"Name":"Language", "Value":66}, + {"Name":"Internal Amps On", "Value":67}, + {"Name":"MTP Repeat", "Value":68}, + {"Name":"MTP Shuffle", "Value":69}, + {"Name":"Id Accessory Source", "Value":70}, + {"Name":"NMEA Power", "Value":71}, + {"Name":"Low Power Mode", "Value":72}, + {"Name":"DVD region", "Value":73}, + {"Name":"Volume Zone Sync", "Value":74}, + {"Name":"Max Volume Start", "Value":75}, + {"Name":"BT Auto Connect", "Value":76}, + {"Name":"Null Setting", "Value":77} ] }, { @@ -2085,232 +1781,325 @@ ] }, { - "Name":"FUSION_MUTE_COMMAND", + "Name":"FUSION_SIRIUS_COM_STATE", "MaxValue":255, "EnumValues":[ - {"Name":"Mute On", "Value":1}, - {"Name":"Mute Off", "Value":2} + {"Name":"Unknown", "Value":255}, + {"Name":"Off", "Value":1}, + {"Name":"Initialising", "Value":2}, + {"Name":"On", "Value":3} ] }, { - "Name":"SEATALK_KEYSTROKE", + "Name":"FUSION_SIRIUS_TUNING_MODE", "MaxValue":255, "EnumValues":[ - {"Name":"Auto", "Value":1}, - {"Name":"Standby", "Value":2}, - {"Name":"Wind", "Value":3}, - {"Name":"-1", "Value":5}, - {"Name":"-10", "Value":6}, - {"Name":"+1", "Value":7}, - {"Name":"+10", "Value":8}, - {"Name":"-1 and -10", "Value":33}, - {"Name":"+1 and +10", "Value":34}, - {"Name":"Track", "Value":35} + {"Name":"Normal", "Value":1}, + {"Name":"Category", "Value":2}, + {"Name":"Preset", "Value":3} ] }, { - "Name":"SEATALK_DEVICE_ID", + "Name":"FUSION_SOURCE_TYPE", "MaxValue":255, "EnumValues":[ - {"Name":"S100", "Value":3}, - {"Name":"Course Computer", "Value":5} + {"Name":"AM", "Value":0}, + {"Name":"FM", "Value":1}, + {"Name":"Aux", "Value":2}, + {"Name":"Sirius", "Value":3}, + {"Name":"Ipod", "Value":4}, + {"Name":"USB", "Value":5}, + {"Name":"DVD", "Value":6}, + {"Name":"VHF", "Value":7}, + {"Name":"Invalid", "Value":8}, + {"Name":"MTP", "Value":9}, + {"Name":"Bluetooth", "Value":10}, + {"Name":"ARC", "Value":11}, + {"Name":"Android", "Value":12}, + {"Name":"Pandora", "Value":13}, + {"Name":"DAB", "Value":14}, + {"Name":"AirPlay", "Value":15}, + {"Name":"UPNP", "Value":16}, + {"Name":"Unknown", "Value":17} ] }, { - "Name":"SEATALK_NETWORK_GROUP", - "MaxValue":255, + "Name":"FUSION_STATUS_MESSAGE_ID", + "MaxValue":65535, "EnumValues":[ - {"Name":"None", "Value":0}, - {"Name":"Helm 1", "Value":1}, - {"Name":"Helm 2", "Value":2}, - {"Name":"Cockpit", "Value":3}, - {"Name":"Flybridge", "Value":4}, - {"Name":"Mast", "Value":5}, - {"Name":"Group 1", "Value":6}, - {"Name":"Group 2", "Value":7}, - {"Name":"Group 3", "Value":8}, - {"Name":"Group 4", "Value":9}, - {"Name":"Group 5", "Value":10} + {"Name":"Unknown", "Value":0}, + {"Name":"API Version", "Value":32769}, + {"Name":"Source", "Value":32770}, + {"Name":"Source Count", "Value":32771}, + {"Name":"Track Info", "Value":32772}, + {"Name":"Track Title", "Value":32773}, + {"Name":"Track Artist", "Value":32774}, + {"Name":"Track Album", "Value":32775}, + {"Name":"Cover Art", "Value":32776}, + {"Name":"Track Progress", "Value":32777}, + {"Name":"Tuner Align", "Value":32778}, + {"Name":"Tuner", "Value":32779}, + {"Name":"Marine Tuner", "Value":32780}, + {"Name":"Marine Squelch", "Value":32781}, + {"Name":"Marine Scan Mode", "Value":32782}, + {"Name":"Menu Action", "Value":32783}, + {"Name":"Menu Count", "Value":32784}, + {"Name":"Menu Item", "Value":32785}, + {"Name":"Menu Lock ID", "Value":32786}, + {"Name":"Aux Gain", "Value":32787}, + {"Name":"Setting", "Value":32788}, + {"Name":"Settings", "Value":32789}, + {"Name":"Update Firmware Result", "Value":32790}, + {"Name":"Mute", "Value":32791}, + {"Name":"Balance", "Value":32792}, + {"Name":"Low Pass Filter", "Value":32793}, + {"Name":"Sublevels", "Value":32794}, + {"Name":"Tone", "Value":32795}, + {"Name":"Volume Limits", "Value":32796}, + {"Name":"Volume", "Value":32797}, + {"Name":"Capabilities", "Value":32798}, + {"Name":"Line Level Control", "Value":32799}, + {"Name":"Power", "Value":32800}, + {"Name":"Unit Name", "Value":32801}, + {"Name":"Sirius", "Value":32802}, + {"Name":"SiriusXM Preset Event", "Value":32803}, + {"Name":"SiriusXM Channel", "Value":32804}, + {"Name":"SiriusXM Title", "Value":32805}, + {"Name":"SiriusXM Artist", "Value":32806}, + {"Name":"SiriusXM Genre", "Value":32807}, + {"Name":"SiriusXM Category", "Value":32808}, + {"Name":"SiriusXm Signal", "Value":32809}, + {"Name":"SiriusXM Parental Request", "Value":32810}, + {"Name":"SiriusXM Diagnostics", "Value":32811}, + {"Name":"SiriusXM Presets", "Value":32812}, + {"Name":"Zone Name", "Value":32813}, + {"Name":"IP Setting", "Value":32819}, + {"Name":"Multiroom", "Value":32824}, + {"Name":"Multiroom Status", "Value":32825}, + {"Name":"System Capabilities", "Value":32829}, + {"Name":"Part Number", "Value":32830}, + {"Name":"Processing Bypass", "Value":32832}, + {"Name":"Server Info", "Value":32846}, + {"Name":"RDS Data", "Value":32850}, + {"Name":"Ignition Switch State", "Value":32859}, + {"Name":"Mono", "Value":32862}, + {"Name":"Speed Volume Current Speed", "Value":32863}, + {"Name":"Zone Capabilities Extended", "Value":32865} ] }, { - "Name":"SEATALK_DISPLAY_COLOR", - "MaxValue":255, + "Name":"GARMIN_ATT_MESSAGE_ID", + "MaxValue":65535, "EnumValues":[ - {"Name":"Day 1", "Value":0}, - {"Name":"Day 2", "Value":2}, - {"Name":"Red/Black", "Value":3}, - {"Name":"Inverse", "Value":4} + {"Name":"Calibration Matrix Present", "Value":40}, + {"Name":"Set North State", "Value":52}, + {"Name":"Device Flags", "Value":65}, + {"Name":"COG Source Valid Flag", "Value":67} ] }, { - "Name":"AIRMAR_CALIBRATE_FUNCTION", + "Name":"GARMIN_AUTOPILOT_FIELD", "MaxValue":255, "EnumValues":[ - {"Name":"Normal/cancel calibration", "Value":0}, - {"Name":"Enter calibration mode", "Value":1}, - {"Name":"Reset calibration to 0", "Value":2}, - {"Name":"Verify", "Value":3}, - {"Name":"Reset compass to defaults", "Value":4}, - {"Name":"Reset damping to defaults", "Value":5} - ] - }, - { - "Name":"AIRMAR_CALIBRATE_STATUS", + {"Name":"Heartbeat", "Value":3}, + {"Name":"Mode State", "Value":10}, + {"Name":"Heading to Steer", "Value":11}, + {"Name":"Response Setting", "Value":62}, + {"Name":"Rate of Turn", "Value":114}, + {"Name":"Rate of Turn Order", "Value":115}, + {"Name":"Turn Angle Order", "Value":116}, + {"Name":"System Voltage", "Value":158}, + {"Name":"Turn Angle Measured", "Value":161}, + {"Name":"Engine RPM B", "Value":239}, + {"Name":"Engine RPM A", "Value":240}, + {"Name":"Speed", "Value":246} + ] + }, + { + "Name":"GARMIN_AUTOPILOT_MODE_STATE", "MaxValue":255, "EnumValues":[ - {"Name":"Queried", "Value":0}, - {"Name":"Passed", "Value":1}, - {"Name":"Failed - timeout", "Value":2}, - {"Name":"Failed - tilt error", "Value":3}, - {"Name":"Failed - other", "Value":4}, - {"Name":"In progress", "Value":5} + {"Name":"Standby", "Value":2}, + {"Name":"Shadow Drive", "Value":3}, + {"Name":"Engaged", "Value":5} ] }, { - "Name":"AIRMAR_TEMPERATURE_INSTANCE", - "MaxValue":3, + "Name":"GARMIN_BACKLIGHT_LEVEL", + "MaxValue":255, "EnumValues":[ - {"Name":"Device Sensor", "Value":0}, - {"Name":"Onboard Water Sensor", "Value":1}, - {"Name":"Optional Water Sensor", "Value":2} + {"Name":"0%", "Value":0}, + {"Name":"5%", "Value":1}, + {"Name":"10%", "Value":2}, + {"Name":"15%", "Value":3}, + {"Name":"20%", "Value":4}, + {"Name":"25%", "Value":5}, + {"Name":"30%", "Value":6}, + {"Name":"35%", "Value":7}, + {"Name":"40%", "Value":8}, + {"Name":"45%", "Value":9}, + {"Name":"50%", "Value":10}, + {"Name":"55%", "Value":11}, + {"Name":"60%", "Value":12}, + {"Name":"65%", "Value":13}, + {"Name":"70%", "Value":14}, + {"Name":"75%", "Value":15}, + {"Name":"80%", "Value":16}, + {"Name":"85%", "Value":17}, + {"Name":"90%", "Value":18}, + {"Name":"95%", "Value":19}, + {"Name":"100%", "Value":20} ] }, { - "Name":"AIRMAR_FILTER", - "MaxValue":15, + "Name":"GARMIN_COLOR", + "MaxValue":255, "EnumValues":[ - {"Name":"No filter", "Value":0}, - {"Name":"Basic IIR filter", "Value":1} + {"Name":"Day full color", "Value":0}, + {"Name":"Day high contrast", "Value":1}, + {"Name":"Night full color", "Value":2}, + {"Name":"Night red/black", "Value":3}, + {"Name":"Night green/black", "Value":4} ] }, { - "Name":"CONTROLLER_STATE", - "MaxValue":3, + "Name":"GARMIN_COLOR_MODE", + "MaxValue":255, "EnumValues":[ - {"Name":"Error Active", "Value":0}, - {"Name":"Error Passive", "Value":1}, - {"Name":"Bus Off", "Value":2} + {"Name":"Day", "Value":0}, + {"Name":"Night", "Value":1}, + {"Name":"Color", "Value":13} ] }, { - "Name":"EQUIPMENT_STATUS", - "MaxValue":3, + "Name":"GARMIN_MESSAGE_ID", + "MaxValue":65535, "EnumValues":[ - {"Name":"Operational", "Value":0}, - {"Name":"Fault", "Value":1} + {"Name":"AHRS ATT transport", "Value":1900}, + {"Name":"Autopilot transport", "Value":5904} ] }, { - "Name":"MOB_STATUS", - "MaxValue":7, + "Name":"GEAR_STATUS", + "MaxValue":3, "EnumValues":[ - {"Name":"MOB Emitter Activated", "Value":0}, - {"Name":"Manual on-board MOB Button Activation", "Value":1}, - {"Name":"Test mode", "Value":2} + {"Name":"Forward", "Value":0}, + {"Name":"Neutral", "Value":1}, + {"Name":"Reverse", "Value":2} ] }, { - "Name":"LOW_BATTERY", - "MaxValue":7, + "Name":"GNS", + "MaxValue":15, "EnumValues":[ - {"Name":"Good", "Value":0}, - {"Name":"Low", "Value":1} + {"Name":"GPS", "Value":0}, + {"Name":"GLONASS", "Value":1}, + {"Name":"GPS+GLONASS", "Value":2}, + {"Name":"GPS+SBAS/WAAS", "Value":3}, + {"Name":"GPS+SBAS/WAAS+GLONASS", "Value":4}, + {"Name":"Chayka", "Value":5}, + {"Name":"integrated", "Value":6}, + {"Name":"surveyed", "Value":7}, + {"Name":"Galileo", "Value":8} ] }, { - "Name":"TURN_MODE", + "Name":"GNSS_MODE", "MaxValue":7, "EnumValues":[ - {"Name":"Rudder limit controlled", "Value":0}, - {"Name":"Turn rate controlled", "Value":1}, - {"Name":"Radius controlled", "Value":2} + {"Name":"1D", "Value":0}, + {"Name":"2D", "Value":1}, + {"Name":"3D", "Value":2}, + {"Name":"Auto", "Value":3} ] }, { - "Name":"ACCEPTABILITY", - "MaxValue":3, + "Name":"GNSS_SYSTEM", + "MaxValue":15, "EnumValues":[ - {"Name":"Bad level", "Value":0}, - {"Name":"Bad frequency", "Value":1}, - {"Name":"Being qualified", "Value":2}, - {"Name":"Good", "Value":3} + {"Name":"GPS", "Value":0}, + {"Name":"GLONASS", "Value":1}, + {"Name":"Galileo", "Value":2}, + {"Name":"BeiDou", "Value":3}, + {"Name":"QZSS", "Value":4} ] }, { - "Name":"LINE", + "Name":"GNS_INTEGRITY", "MaxValue":3, "EnumValues":[ - {"Name":"Line 1", "Value":0}, - {"Name":"Line 2", "Value":1}, - {"Name":"Line 3", "Value":2} + {"Name":"No integrity checking", "Value":0}, + {"Name":"Safe", "Value":1}, + {"Name":"Caution", "Value":2}, + {"Name":"Unsafe", "Value":3} ] }, { - "Name":"WAVEFORM", - "MaxValue":7, + "Name":"GNS_METHOD", + "MaxValue":15, "EnumValues":[ - {"Name":"Sine wave", "Value":0}, - {"Name":"Modified sine wave", "Value":1} + {"Name":"no GNSS", "Value":0}, + {"Name":"GNSS fix", "Value":1}, + {"Name":"DGNSS fix", "Value":2}, + {"Name":"Precise GNSS", "Value":3}, + {"Name":"RTK Fixed Integer", "Value":4}, + {"Name":"RTK float", "Value":5}, + {"Name":"Estimated (DR) mode", "Value":6}, + {"Name":"Manual Input", "Value":7}, + {"Name":"Simulate mode", "Value":8} ] }, { - "Name":"TANK_TYPE", - "MaxValue":15, + "Name":"GOOD_WARNING_ERROR", + "MaxValue":3, "EnumValues":[ - {"Name":"Fuel", "Value":0}, - {"Name":"Water", "Value":1}, - {"Name":"Gray water", "Value":2}, - {"Name":"Live well", "Value":3}, - {"Name":"Oil", "Value":4}, - {"Name":"Black water", "Value":5} + {"Name":"Good", "Value":0}, + {"Name":"Warning", "Value":1}, + {"Name":"Error", "Value":2} ] }, { - "Name":"DC_SOURCE", + "Name":"GROUP_FUNCTION", "MaxValue":255, "EnumValues":[ - {"Name":"Battery", "Value":0}, - {"Name":"Alternator", "Value":1}, - {"Name":"Convertor", "Value":2}, - {"Name":"Solar cell", "Value":3}, - {"Name":"Wind generator", "Value":4} + {"Name":"Request", "Value":0}, + {"Name":"Command", "Value":1}, + {"Name":"Acknowledge", "Value":2}, + {"Name":"Read Fields", "Value":3}, + {"Name":"Read Fields Reply", "Value":4}, + {"Name":"Write Fields", "Value":5}, + {"Name":"Write Fields Reply", "Value":6} ] }, { - "Name":"CHARGER_STATE", - "MaxValue":15, + "Name":"HUMIDITY_SOURCE", + "MaxValue":255, "EnumValues":[ - {"Name":"Not charging", "Value":0}, - {"Name":"Bulk", "Value":1}, - {"Name":"Absorption", "Value":2}, - {"Name":"Overcharge", "Value":3}, - {"Name":"Equalise", "Value":4}, - {"Name":"Float", "Value":5}, - {"Name":"No float", "Value":6}, - {"Name":"Constant VI", "Value":7}, - {"Name":"Disabled", "Value":8}, - {"Name":"Fault", "Value":9} + {"Name":"Inside", "Value":0}, + {"Name":"Outside", "Value":1} ] }, { - "Name":"CHARGING_ALGORITHM", - "MaxValue":15, + "Name":"INDUSTRY_CODE", + "MaxValue":7, "EnumValues":[ - {"Name":"Trickle", "Value":0}, - {"Name":"Constant voltage / Constant current", "Value":1}, - {"Name":"2 stage (no float)", "Value":2}, - {"Name":"3 stage", "Value":3} + {"Name":"Global", "Value":0}, + {"Name":"Highway", "Value":1}, + {"Name":"Agriculture", "Value":2}, + {"Name":"Construction", "Value":3}, + {"Name":"Marine Industry", "Value":4}, + {"Name":"Industrial", "Value":5} ] }, { - "Name":"CHARGER_MODE", + "Name":"INVERTER_MODE", "MaxValue":15, "EnumValues":[ {"Name":"Standalone", "Value":0}, - {"Name":"Primary", "Value":1}, - {"Name":"Secondary", "Value":2}, - {"Name":"Echo", "Value":3} + {"Name":"Series Master", "Value":1}, + {"Name":"Series Slave", "Value":2}, + {"Name":"Parallel Master", "Value":3}, + {"Name":"Parallel Slave", "Value":4} ] }, { @@ -2325,154 +2114,455 @@ ] }, { - "Name":"BATTERY_TYPE", - "MaxValue":15, + "Name":"ISO_COMMAND", + "MaxValue":255, "EnumValues":[ - {"Name":"Flooded", "Value":0}, - {"Name":"Gel", "Value":1}, - {"Name":"AGM", "Value":2} + {"Name":"ACK", "Value":0}, + {"Name":"RTS", "Value":16}, + {"Name":"CTS", "Value":17}, + {"Name":"EOM", "Value":19}, + {"Name":"BAM", "Value":32}, + {"Name":"Abort", "Value":255} ] }, { - "Name":"BATTERY_VOLTAGE", - "MaxValue":15, + "Name":"ISO_CONTROL", + "MaxValue":255, "EnumValues":[ - {"Name":"6V", "Value":0}, - {"Name":"12V", "Value":1}, - {"Name":"24V", "Value":2}, - {"Name":"32V", "Value":3}, - {"Name":"36V", "Value":4}, - {"Name":"42V", "Value":5}, - {"Name":"48V", "Value":6} + {"Name":"ACK", "Value":0}, + {"Name":"NAK", "Value":1}, + {"Name":"Access Denied", "Value":2}, + {"Name":"Address Busy", "Value":3} ] }, { - "Name":"BATTERY_CHEMISTRY", - "MaxValue":15, + "Name":"LIGHTING_COMMAND", + "MaxValue":7, "EnumValues":[ - {"Name":"Pb (Lead)", "Value":0}, - {"Name":"Li", "Value":1}, - {"Name":"NiCd", "Value":2}, - {"Name":"ZnO", "Value":3}, - {"Name":"NiMH", "Value":4} + {"Name":"Idle", "Value":0}, + {"Name":"Detect Devices", "Value":1}, + {"Name":"Reboot", "Value":2}, + {"Name":"Factory Reset", "Value":3}, + {"Name":"Powering Up", "Value":4} ] }, { - "Name":"GOOD_WARNING_ERROR", + "Name":"LINE", "MaxValue":3, "EnumValues":[ - {"Name":"Good", "Value":0}, - {"Name":"Warning", "Value":1}, - {"Name":"Error", "Value":2} + {"Name":"Line 1", "Value":0}, + {"Name":"Line 2", "Value":1}, + {"Name":"Line 3", "Value":2} ] }, { - "Name":"TRACKING", - "MaxValue":3, + "Name":"LOW_BATTERY", + "MaxValue":7, "EnumValues":[ - {"Name":"Cancelled", "Value":0}, - {"Name":"Acquiring", "Value":1}, - {"Name":"Tracking", "Value":2}, - {"Name":"Lost", "Value":3} + {"Name":"Good", "Value":0}, + {"Name":"Low", "Value":1} ] }, { - "Name":"TARGET_ACQUISITION", - "MaxValue":1, + "Name":"MAGNETIC_VARIATION", + "MaxValue":15, "EnumValues":[ {"Name":"Manual", "Value":0}, - {"Name":"Automatic", "Value":1} - ] - }, - { - "Name":"WINDLASS_DIRECTION", - "MaxValue":3, - "EnumValues":[ - {"Name":"Off", "Value":0}, - {"Name":"Down", "Value":1}, - {"Name":"Up", "Value":2} - ] - }, - { - "Name":"SPEED_TYPE", - "MaxValue":3, - "EnumValues":[ - {"Name":"Single speed", "Value":0}, - {"Name":"Dual speed", "Value":1}, - {"Name":"Proportional speed", "Value":2} + {"Name":"Automatic Chart", "Value":1}, + {"Name":"Automatic Table", "Value":2}, + {"Name":"Automatic Calculation", "Value":3}, + {"Name":"WMM 2000", "Value":4}, + {"Name":"WMM 2005", "Value":5}, + {"Name":"WMM 2010", "Value":6}, + {"Name":"WMM 2015", "Value":7}, + {"Name":"WMM 2020", "Value":8}, + {"Name":"WMM 2025", "Value":9} ] }, { - "Name":"WINDLASS_MOTION", - "MaxValue":3, + "Name":"MANUFACTURER_CODE", + "MaxValue":2047, "EnumValues":[ - {"Name":"Windlass stopped", "Value":0}, - {"Name":"Deployment occurring", "Value":1}, - {"Name":"Retrieval occurring", "Value":2} - ] - }, - { - "Name":"RODE_TYPE", - "MaxValue":3, - "EnumValues":[ - {"Name":"Chain presently detected", "Value":0}, - {"Name":"Rope presently detected", "Value":1} - ] - }, - { - "Name":"DOCKING_STATUS", - "MaxValue":3, - "EnumValues":[ - {"Name":"Not docked", "Value":0}, - {"Name":"Fully docked", "Value":1} - ] - }, - { - "Name":"AIS_TYPE", - "MaxValue":1, - "EnumValues":[ - {"Name":"SOTDMA", "Value":0}, - {"Name":"CS", "Value":1} + {"Name":"ARKS Enterprises, Inc.", "Value":69}, + {"Name":"FW Murphy/Enovation Controls", "Value":78}, + {"Name":"Twin Disc", "Value":80}, + {"Name":"Kohler Power Systems", "Value":85}, + {"Name":"Hemisphere GPS Inc", "Value":88}, + {"Name":"BEP Marine", "Value":116}, + {"Name":"Airmar", "Value":135}, + {"Name":"Maretron", "Value":137}, + {"Name":"Lowrance", "Value":140}, + {"Name":"Mercury Marine", "Value":144}, + {"Name":"Nautibus Electronic GmbH", "Value":147}, + {"Name":"Blue Water Data", "Value":148}, + {"Name":"Westerbeke", "Value":154}, + {"Name":"ISSPRO Inc", "Value":157}, + {"Name":"Offshore Systems (UK) Ltd.", "Value":161}, + {"Name":"Evinrude/BRP", "Value":163}, + {"Name":"CPAC Systems AB", "Value":165}, + {"Name":"Xantrex Technology Inc.", "Value":168}, + {"Name":"Marlin Technologies, Inc.", "Value":169}, + {"Name":"Yanmar Marine", "Value":172}, + {"Name":"Volvo Penta", "Value":174}, + {"Name":"Honda Marine", "Value":175}, + {"Name":"Carling Technologies Inc. (Moritz Aerospace)", "Value":176}, + {"Name":"Beede Instruments", "Value":185}, + {"Name":"Floscan Instrument Co. Inc.", "Value":192}, + {"Name":"Nobletec", "Value":193}, + {"Name":"Mystic Valley Communications", "Value":198}, + {"Name":"Actia", "Value":199}, + {"Name":"Honda Marine 2", "Value":200}, + {"Name":"Disenos Y Technologia", "Value":201}, + {"Name":"Digital Switching Systems", "Value":211}, + {"Name":"Xintex/Atena", "Value":215}, + {"Name":"EMMI NETWORK S.L.", "Value":224}, + {"Name":"Honda Marine 3", "Value":225}, + {"Name":"ZF", "Value":228}, + {"Name":"Garmin", "Value":229}, + {"Name":"Yacht Monitoring Solutions", "Value":233}, + {"Name":"Sailormade Marine Telemetry/Tetra Technology LTD", "Value":235}, + {"Name":"Eride", "Value":243}, + {"Name":"Honda Marine 4", "Value":250}, + {"Name":"Honda Motor Company LTD", "Value":257}, + {"Name":"Groco", "Value":272}, + {"Name":"Actisense", "Value":273}, + {"Name":"Amphenol LTW Technology", "Value":274}, + {"Name":"Navico", "Value":275}, + {"Name":"Hamilton Jet", "Value":283}, + {"Name":"Sea Recovery", "Value":285}, + {"Name":"Coelmo SRL Italy", "Value":286}, + {"Name":"BEP Marine 2", "Value":295}, + {"Name":"Empir Bus", "Value":304}, + {"Name":"NovAtel", "Value":305}, + {"Name":"Sleipner Motor AS", "Value":306}, + {"Name":"MBW Technologies", "Value":307}, + {"Name":"Fischer Panda", "Value":311}, + {"Name":"ICOM", "Value":315}, + {"Name":"Qwerty", "Value":328}, + {"Name":"Dief", "Value":329}, + {"Name":"Boening Automationstechnologie GmbH & Co. KG", "Value":341}, + {"Name":"Korean Maritime University", "Value":345}, + {"Name":"Thrane and Thrane", "Value":351}, + {"Name":"Mastervolt", "Value":355}, + {"Name":"Fischer Panda Generators", "Value":356}, + {"Name":"Victron Energy", "Value":358}, + {"Name":"Rolls Royce Marine", "Value":370}, + {"Name":"Electronic Design", "Value":373}, + {"Name":"Northern Lights", "Value":374}, + {"Name":"Glendinning", "Value":378}, + {"Name":"B & G", "Value":381}, + {"Name":"Rose Point Navigation Systems", "Value":384}, + {"Name":"Johnson Outdoors Marine Electronics Inc Geonav", "Value":385}, + {"Name":"Capi 2", "Value":394}, + {"Name":"Beyond Measure", "Value":396}, + {"Name":"Livorsi Marine", "Value":400}, + {"Name":"ComNav", "Value":404}, + {"Name":"Chetco", "Value":409}, + {"Name":"Fusion Electronics", "Value":419}, + {"Name":"Standard Horizon", "Value":421}, + {"Name":"True Heading AB", "Value":422}, + {"Name":"Egersund Marine Electronics AS", "Value":426}, + {"Name":"em-trak Marine Electronics", "Value":427}, + {"Name":"Tohatsu Co, JP", "Value":431}, + {"Name":"Digital Yacht", "Value":437}, + {"Name":"Comar Systems Limited", "Value":438}, + {"Name":"Cummins", "Value":440}, + {"Name":"VDO (aka Continental-Corporation)", "Value":443}, + {"Name":"Parker Hannifin aka Village Marine Tech", "Value":451}, + {"Name":"Alltek Marine Electronics Corp", "Value":459}, + {"Name":"SAN GIORGIO S.E.I.N", "Value":460}, + {"Name":"Veethree Electronics & Marine", "Value":466}, + {"Name":"Humminbird Marine Electronics", "Value":467}, + {"Name":"SI-TEX Marine Electronics", "Value":470}, + {"Name":"Sea Cross Marine AB", "Value":471}, + {"Name":"GME aka Standard Communications Pty LTD", "Value":475}, + {"Name":"Humminbird Marine Electronics 2", "Value":476}, + {"Name":"Ocean Sat BV", "Value":478}, + {"Name":"Chetco Digitial Instruments", "Value":481}, + {"Name":"Watcheye", "Value":493}, + {"Name":"Lcj Capteurs", "Value":499}, + {"Name":"Attwood Marine", "Value":502}, + {"Name":"Naviop S.R.L.", "Value":503}, + {"Name":"Vesper Marine Ltd", "Value":504}, + {"Name":"Marinesoft Co. LTD", "Value":510}, + {"Name":"Simarine", "Value":513}, + {"Name":"NoLand Engineering", "Value":517}, + {"Name":"Transas USA", "Value":518}, + {"Name":"National Instruments Korea", "Value":529}, + {"Name":"National Marine Electronics Association", "Value":530}, + {"Name":"Onwa Marine", "Value":532}, + {"Name":"Webasto", "Value":540}, + {"Name":"Marinecraft (South Korea)", "Value":571}, + {"Name":"McMurdo Group aka Orolia LTD", "Value":573}, + {"Name":"Advansea", "Value":578}, + {"Name":"KVH", "Value":579}, + {"Name":"San Jose Technology", "Value":580}, + {"Name":"Yacht Control", "Value":583}, + {"Name":"Suzuki Motor Corporation", "Value":586}, + {"Name":"US Coast Guard", "Value":591}, + {"Name":"Ship Module aka Customware", "Value":595}, + {"Name":"Aquatic AV", "Value":600}, + {"Name":"Aventics GmbH", "Value":605}, + {"Name":"Intellian", "Value":606}, + {"Name":"SamwonIT", "Value":612}, + {"Name":"Arlt Tecnologies", "Value":614}, + {"Name":"Bavaria Yacts", "Value":637}, + {"Name":"Diverse Yacht Services", "Value":641}, + {"Name":"Wema U.S.A dba KUS", "Value":644}, + {"Name":"Garmin 2", "Value":645}, + {"Name":"Shenzhen Jiuzhou Himunication", "Value":658}, + {"Name":"Rockford Corp", "Value":688}, + {"Name":"Harman International", "Value":699}, + {"Name":"JL Audio", "Value":704}, + {"Name":"Lars Thrane", "Value":708}, + {"Name":"Autonnic", "Value":715}, + {"Name":"Yacht Devices", "Value":717}, + {"Name":"REAP Systems", "Value":734}, + {"Name":"Au Electronics Group", "Value":735}, + {"Name":"LxNav", "Value":739}, + {"Name":"Littelfuse, Inc (formerly Carling Technologies)", "Value":741}, + {"Name":"DaeMyung", "Value":743}, + {"Name":"Woosung", "Value":744}, + {"Name":"ISOTTA IFRA srl", "Value":748}, + {"Name":"Clarion US", "Value":773}, + {"Name":"HMI Systems", "Value":776}, + {"Name":"Ocean Signal", "Value":777}, + {"Name":"Seekeeper", "Value":778}, + {"Name":"Poly Planar", "Value":781}, + {"Name":"Fischer Panda DE", "Value":785}, + {"Name":"Broyda Industries", "Value":795}, + {"Name":"Canadian Automotive", "Value":796}, + {"Name":"Tides Marine", "Value":797}, + {"Name":"Lumishore", "Value":798}, + {"Name":"Still Water Designs and Audio", "Value":799}, + {"Name":"BJ Technologies (Beneteau)", "Value":802}, + {"Name":"Gill Sensors", "Value":803}, + {"Name":"Blue Water Desalination", "Value":811}, + {"Name":"FLIR", "Value":815}, + {"Name":"Undheim Systems", "Value":824}, + {"Name":"Lewmar Inc", "Value":826}, + {"Name":"TeamSurv", "Value":838}, + {"Name":"Fell Marine", "Value":844}, + {"Name":"Oceanvolt", "Value":847}, + {"Name":"Prospec", "Value":862}, + {"Name":"Data Panel Corp", "Value":868}, + {"Name":"L3 Technologies", "Value":890}, + {"Name":"Rhodan Marine Systems", "Value":894}, + {"Name":"Nexfour Solutions", "Value":896}, + {"Name":"ASA Electronics", "Value":905}, + {"Name":"Marines Co (South Korea)", "Value":909}, + {"Name":"Nautic-on", "Value":911}, + {"Name":"Sentinel", "Value":917}, + {"Name":"JL Marine ystems", "Value":929}, + {"Name":"Ecotronix", "Value":930}, + {"Name":"Zontisa Marine", "Value":944}, + {"Name":"EXOR International", "Value":951}, + {"Name":"Timbolier Industries", "Value":962}, + {"Name":"TJC Micro", "Value":963}, + {"Name":"Cox Powertrain", "Value":968}, + {"Name":"Blue Seas", "Value":969}, + {"Name":"Kobelt Manufacturing Co. Ltd", "Value":981}, + {"Name":"Blue Ocean IOT", "Value":992}, + {"Name":"Xenta Systems", "Value":997}, + {"Name":"Signal K", "Value":999}, + {"Name":"Ultraflex SpA", "Value":1004}, + {"Name":"Lintest SmartBoat", "Value":1008}, + {"Name":"Soundmax", "Value":1011}, + {"Name":"Team Italia Marine (Onyx Marine Automation s.r.l)", "Value":1020}, + {"Name":"Entratech", "Value":1021}, + {"Name":"ITC Inc.", "Value":1022}, + {"Name":"The Marine Guardian LLC", "Value":1029}, + {"Name":"Sonic Corporation", "Value":1047}, + {"Name":"ProNav", "Value":1051}, + {"Name":"Vetus Maxwell INC.", "Value":1053}, + {"Name":"Lithium Pros", "Value":1056}, + {"Name":"Boatrax", "Value":1059}, + {"Name":"Marol Co ltd", "Value":1062}, + {"Name":"CALYPSO Instruments", "Value":1065}, + {"Name":"Spot Zero Water", "Value":1066}, + {"Name":"Lithionics Battery LLC", "Value":1069}, + {"Name":"Quick-teck Electronics Ltd", "Value":1070}, + {"Name":"Uniden America", "Value":1075}, + {"Name":"Nauticoncept", "Value":1083}, + {"Name":"Shadow-Caster LED lighting LLC", "Value":1084}, + {"Name":"Wet Sounds, LLC", "Value":1085}, + {"Name":"E-T-A Circuit Breakers", "Value":1088}, + {"Name":"Scheiber", "Value":1092}, + {"Name":"Smart Yachts International Limited", "Value":1100}, + {"Name":"Dockmate", "Value":1109}, + {"Name":"Bobs Machine", "Value":1114}, + {"Name":"L3Harris ASV", "Value":1118}, + {"Name":"Balmar LLC", "Value":1119}, + {"Name":"Elettromedia spa", "Value":1120}, + {"Name":"Electromaax", "Value":1127}, + {"Name":"Across Oceans Systems Ltd.", "Value":1140}, + {"Name":"Kiwi Yachting", "Value":1145}, + {"Name":"BSB Artificial Intelligence GmbH", "Value":1150}, + {"Name":"Orca Technologoes AS", "Value":1151}, + {"Name":"TBS Electronics BV", "Value":1154}, + {"Name":"Technoton Electroics", "Value":1158}, + {"Name":"MG Energy Systems B.V.", "Value":1160}, + {"Name":"Sea Macine Robotics Inc.", "Value":1169}, + {"Name":"Vista Manufacturing", "Value":1171}, + {"Name":"Zipwake", "Value":1183}, + {"Name":"Sailmon BV", "Value":1186}, + {"Name":"Airmoniq Pro Kft", "Value":1192}, + {"Name":"Sierra Marine", "Value":1194}, + {"Name":"Xinuo Information Technology (Xiamen)", "Value":1200}, + {"Name":"Septentrio", "Value":1218}, + {"Name":"NKE Marine Elecronics", "Value":1233}, + {"Name":"SuperTrack Aps", "Value":1238}, + {"Name":"Honda Electronics Co., LTD", "Value":1239}, + {"Name":"Raritan Engineering Company, Inc", "Value":1245}, + {"Name":"Integrated Power Solutions AG", "Value":1249}, + {"Name":"Interactive Technologies, Inc.", "Value":1260}, + {"Name":"LTG-Tech", "Value":1283}, + {"Name":"Energy Solutions (UK) LTD.", "Value":1299}, + {"Name":"WATT Fuel Cell Corp", "Value":1300}, + {"Name":"Pro Mainer", "Value":1302}, + {"Name":"Dragonfly Energy", "Value":1305}, + {"Name":"Koden Electronics Co., Ltd", "Value":1306}, + {"Name":"Humphree AB", "Value":1311}, + {"Name":"Hinkley Yachts", "Value":1316}, + {"Name":"Global Marine Management GmbH (GMM)", "Value":1317}, + {"Name":"Triskel Marine Ltd", "Value":1320}, + {"Name":"Warwick Control Technologies", "Value":1330}, + {"Name":"Dolphin Charger", "Value":1331}, + {"Name":"Barnacle Systems Inc", "Value":1337}, + {"Name":"Radian IoT, Inc.", "Value":1348}, + {"Name":"Ocean LED Marine Ltd", "Value":1353}, + {"Name":"BluNav", "Value":1359}, + {"Name":"OVA (Nantong Saiyang Electronics Co., Ltd)", "Value":1361}, + {"Name":"RAD Propulsion", "Value":1368}, + {"Name":"Electric Yacht", "Value":1369}, + {"Name":"Elco Motor Yachts", "Value":1372}, + {"Name":"Tecnoseal Foundry S.r.l", "Value":1384}, + {"Name":"Pro Charging Systems, LLC", "Value":1385}, + {"Name":"EVEX Co., LTD", "Value":1389}, + {"Name":"Gobius Sensor Technology AB", "Value":1398}, + {"Name":"Arco Marine", "Value":1403}, + {"Name":"Lenco Marine Inc.", "Value":1408}, + {"Name":"Naocontrol S.L.", "Value":1413}, + {"Name":"Revatek", "Value":1417}, + {"Name":"Aeolionics", "Value":1438}, + {"Name":"PredictWind Ltd", "Value":1439}, + {"Name":"Egis Mobile Electric", "Value":1440}, + {"Name":"Starboard Yacht Group", "Value":1445}, + {"Name":"Roswell Marine", "Value":1446}, + {"Name":"ePropulsion (Guangdong ePropulsion Technology Ltd.)", "Value":1451}, + {"Name":"Micro-Air LLC", "Value":1452}, + {"Name":"Vital Battery", "Value":1453}, + {"Name":"Ride Controller LLC", "Value":1458}, + {"Name":"Tocaro Blue", "Value":1460}, + {"Name":"Vanquish Yachts", "Value":1461}, + {"Name":"FT Technologies", "Value":1471}, + {"Name":"Alps Alpine Co., Ltd.", "Value":1478}, + {"Name":"E-Force Marine", "Value":1481}, + {"Name":"CMC Marine", "Value":1482}, + {"Name":"Nanjing Sandemarine Information Technology Co., Ltd.", "Value":1483}, + {"Name":"Teleflex Marine (SeaStar Solutions)", "Value":1850}, + {"Name":"Raymarine", "Value":1851}, + {"Name":"Navionics", "Value":1852}, + {"Name":"Japan Radio Co", "Value":1853}, + {"Name":"Northstar Technologies", "Value":1854}, + {"Name":"Furuno", "Value":1855}, + {"Name":"Trimble", "Value":1856}, + {"Name":"Simrad", "Value":1857}, + {"Name":"Litton", "Value":1858}, + {"Name":"Kvasar AB", "Value":1859}, + {"Name":"MMP", "Value":1860}, + {"Name":"Vector Cantech", "Value":1861}, + {"Name":"Yamaha Marine", "Value":1862}, + {"Name":"Faria Instruments", "Value":1863} ] }, { - "Name":"AIS_BAND", - "MaxValue":1, + "Name":"MARETRON_COMMAND", + "MaxValue":255, "EnumValues":[ - {"Name":"Top 525 kHz of marine band", "Value":0}, - {"Name":"Entire marine band", "Value":1} + {"Name":"Deviation calibration", "Value":80} ] }, { - "Name":"AIS_MODE", - "MaxValue":1, + "Name":"MARETRON_OPCODE", + "MaxValue":255, "EnumValues":[ - {"Name":"Autonomous", "Value":0}, - {"Name":"Assigned", "Value":1} + {"Name":"Read All", "Value":0}, + {"Name":"Write Register", "Value":1}, + {"Name":"Read Config", "Value":2}, + {"Name":"Write Config", "Value":3}, + {"Name":"Calibrate", "Value":4}, + {"Name":"Clear Calibration", "Value":5}, + {"Name":"Status", "Value":6}, + {"Name":"Clear Status", "Value":7}, + {"Name":"Reset Factory Default", "Value":8}, + {"Name":"Debug", "Value":9}, + {"Name":"Write Instance", "Value":16}, + {"Name":"Read Instance", "Value":17}, + {"Name":"Write Label", "Value":32}, + {"Name":"Read Label", "Value":33}, + {"Name":"Write Switch Config", "Value":48}, + {"Name":"Read Switch Config", "Value":49}, + {"Name":"Write Alert Config", "Value":64}, + {"Name":"Read Alert Config", "Value":65}, + {"Name":"Write Channel Config", "Value":80}, + {"Name":"Read Channel Config", "Value":81}, + {"Name":"Read Channel Config Extended", "Value":86}, + {"Name":"Write Channel Config Extended", "Value":87} ] }, { - "Name":"AIS_COMMUNICATION_STATE", - "MaxValue":1, + "Name":"MARETRON_PRODUCT_CODE", + "MaxValue":65535, "EnumValues":[ - {"Name":"SOTDMA", "Value":0}, - {"Name":"ITDMA", "Value":1} + {"Name":"SSC200", "Value":434}, + {"Name":"SMS100", "Value":1047}, + {"Name":"MBB200C", "Value":1151}, + {"Name":"DST110", "Value":1534}, + {"Name":"GPS100", "Value":1776}, + {"Name":"CLM100", "Value":2606}, + {"Name":"SSC300", "Value":2686}, + {"Name":"TLA100", "Value":2781}, + {"Name":"GPS200", "Value":3373}, + {"Name":"DST100", "Value":3563}, + {"Name":"FFM100", "Value":3637}, + {"Name":"NBE100", "Value":3979}, + {"Name":"RAA100", "Value":4018}, + {"Name":"RIM100", "Value":4078}, + {"Name":"J2K100", "Value":4319}, + {"Name":"ALM100", "Value":8165}, + {"Name":"IPG100", "Value":9339}, + {"Name":"DCM100", "Value":9375}, + {"Name":"EMS100", "Value":9845}, + {"Name":"CLMD16", "Value":12337}, + {"Name":"DSM250", "Value":16434}, + {"Name":"TMP100", "Value":20067}, + {"Name":"DSM150", "Value":20298}, + {"Name":"FPM100", "Value":21703}, + {"Name":"DCR100", "Value":22585}, + {"Name":"SIM100", "Value":23603}, + {"Name":"ACM100", "Value":26493}, + {"Name":"MBB300C", "Value":27244}, + {"Name":"MConnect", "Value":28077} ] }, { - "Name":"AVAILABLE", - "MaxValue":1, + "Name":"MARETRON_SOFTWARE_CODE", + "MaxValue":65535, "EnumValues":[ - {"Name":"Available", "Value":0}, - {"Name":"Not available", "Value":1} + {"Name":"Version 1", "Value":1} ] }, { - "Name":"BEARING_MODE", - "MaxValue":3, + "Name":"MARETRON_STATUS_DEVIATION", + "MaxValue":255, "EnumValues":[ - {"Name":"Great Circle", "Value":0}, - {"Name":"Rhumbline", "Value":1} + {"Name":"Started", "Value":1}, + {"Name":"Completed successfully", "Value":2}, + {"Name":"Failed to complete", "Value":3}, + {"Name":"Turning too fast", "Value":4}, + {"Name":"Turning too slow", "Value":5}, + {"Name":"Invalid movement", "Value":6} ] }, { @@ -2487,1132 +2577,2126 @@ ] }, { - "Name":"GNSS_MODE", - "MaxValue":7, + "Name":"MERCURY_COMMAND_OPCODE", + "MaxValue":255, "EnumValues":[ - {"Name":"1D", "Value":0}, - {"Name":"2D", "Value":1}, - {"Name":"3D", "Value":2}, - {"Name":"Auto", "Value":3} + {"Name":"Horn Control", "Value":0}, + {"Name":"Maintenance Reset Command", "Value":1}, + {"Name":"Maintenance Reset Response", "Value":2}, + {"Name":"Cruise Control", "Value":4}, + {"Name":"Global Brightness", "Value":5}, + {"Name":"Active Trim Command", "Value":6}, + {"Name":"Active Trim Status", "Value":7}, + {"Name":"Autopilot Command", "Value":8}, + {"Name":"Active Exhaust", "Value":9}, + {"Name":"Oil Level Check Command", "Value":12}, + {"Name":"Oil Level Reset Response", "Value":13} ] }, { - "Name":"RANGE_RESIDUAL_MODE", - "MaxValue":3, + "Name":"MOB_POSITION_SOURCE", + "MaxValue":7, "EnumValues":[ - {"Name":"Range residuals were used to calculate data", "Value":0}, - {"Name":"Range residuals were calculated after the position", "Value":1} + {"Name":"Position estimated by the vessel", "Value":0}, + {"Name":"Position reported by MOB emitter", "Value":1} ] }, { - "Name":"DGNSS_MODE", + "Name":"MOB_STATUS", "MaxValue":7, "EnumValues":[ - {"Name":"None", "Value":0}, - {"Name":"SBAS if available", "Value":1}, - {"Name":"SBAS", "Value":3} + {"Name":"MOB Emitter Activated", "Value":0}, + {"Name":"Manual on-board MOB Button Activation", "Value":1}, + {"Name":"Test mode", "Value":2}, + {"Name":"MOB Not Active", "Value":3} ] }, { - "Name":"SATELLITE_STATUS", - "MaxValue":15, + "Name":"NAVICO_DATA_TYPE", + "MaxValue":65535, "EnumValues":[ - {"Name":"Not tracked", "Value":0}, - {"Name":"Tracked", "Value":1}, - {"Name":"Used", "Value":2}, - {"Name":"Not tracked+Diff", "Value":3}, - {"Name":"Tracked+Diff", "Value":4}, - {"Name":"Used+Diff", "Value":5} + {"Name":"Altitude", "Value":0}, + {"Name":"Position", "Value":1}, + {"Name":"Position Error", "Value":2}, + {"Name":"HDOP", "Value":3}, + {"Name":"VDOP", "Value":4}, + {"Name":"TDOP", "Value":5}, + {"Name":"PDOP", "Value":6}, + {"Name":"Geoidal Seperation", "Value":7}, + {"Name":"COG", "Value":8}, + {"Name":"Position Quality", "Value":9}, + {"Name":"Position Integrity", "Value":10}, + {"Name":"Sats In View", "Value":11}, + {"Name":"Waas Status", "Value":12}, + {"Name":"Bearing", "Value":13}, + {"Name":"Course", "Value":14}, + {"Name":"CDI Graphic", "Value":15}, + {"Name":"Course To Steer", "Value":16}, + {"Name":"Cross Track", "Value":17}, + {"Name":"Velocity Made Good", "Value":18}, + {"Name":"Destination", "Value":19}, + {"Name":"Distance To Turn", "Value":20}, + {"Name":"Distance To Dest", "Value":21}, + {"Name":"Time To Turn", "Value":22}, + {"Name":"Time To Dest", "Value":23}, + {"Name":"ETA At Turn", "Value":24}, + {"Name":"ETA At Dest", "Value":25}, + {"Name":"Total Distance", "Value":26}, + {"Name":"Steer Arrow", "Value":27}, + {"Name":"Odometer", "Value":28}, + {"Name":"Trip Distance", "Value":29}, + {"Name":"Trip Time", "Value":30}, + {"Name":"Date", "Value":31}, + {"Name":"Time", "Value":32}, + {"Name":"UTC Date", "Value":33}, + {"Name":"UTC Time", "Value":34}, + {"Name":"Local Time Offset", "Value":35}, + {"Name":"Heading", "Value":36}, + {"Name":"Was Voltage", "Value":37}, + {"Name":"Current Set", "Value":38}, + {"Name":"Current Drift", "Value":39}, + {"Name":"Speed SOG", "Value":40}, + {"Name":"Speed Water", "Value":41}, + {"Name":"Speed Pitot", "Value":42}, + {"Name":"Speed Trip Avg", "Value":43}, + {"Name":"Speed Trip Max", "Value":44}, + {"Name":"Speed Wind App", "Value":45}, + {"Name":"Speed Wind True", "Value":46}, + {"Name":"Temp Water", "Value":47}, + {"Name":"Temp Outside", "Value":48}, + {"Name":"Temp Inside", "Value":49}, + {"Name":"Temp Engine Room", "Value":50}, + {"Name":"Temp Main Cabin", "Value":51}, + {"Name":"Temp Live Well", "Value":52}, + {"Name":"Temp Bait Well", "Value":53}, + {"Name":"Temp Refrigeration", "Value":54}, + {"Name":"Temp Heating System", "Value":55}, + {"Name":"Temp Dew Point", "Value":56}, + {"Name":"Temp Wind Chill App", "Value":57}, + {"Name":"Temp Wind Chill Theoretic", "Value":58}, + {"Name":"Temp Heat Index", "Value":59}, + {"Name":"Temp Freezer", "Value":60}, + {"Name":"Engine Temp", "Value":61}, + {"Name":"Engine Air Temp", "Value":62}, + {"Name":"Engine Oil Temp", "Value":63}, + {"Name":"Temp Battery", "Value":64}, + {"Name":"Pressure Atmospheric", "Value":65}, + {"Name":"Engine Boost Pres", "Value":66}, + {"Name":"Engine Oil Pres", "Value":67}, + {"Name":"Engine Water Pres", "Value":68}, + {"Name":"Engine Fuel Pres", "Value":69}, + {"Name":"Engine Manifold Pres", "Value":70}, + {"Name":"Pressure Steam", "Value":71}, + {"Name":"Pressure Compr Air", "Value":72}, + {"Name":"Pressure Hydraulic", "Value":73}, + {"Name":"Was Generic Pressure Lo", "Value":74}, + {"Name":"Was Generic Pressure Hi", "Value":75}, + {"Name":"Depth", "Value":76}, + {"Name":"Water Distance", "Value":77}, + {"Name":"Engine RPM", "Value":78}, + {"Name":"Engine Trim", "Value":79}, + {"Name":"Engine Alternator Potential", "Value":80}, + {"Name":"Engine Fuel Rate", "Value":81}, + {"Name":"Engine Percent Load", "Value":82}, + {"Name":"Engine Percent Torque", "Value":83}, + {"Name":"Was Suzuki Alarm Lev Lo", "Value":84}, + {"Name":"Was Suzuki Alarm Lev High", "Value":85}, + {"Name":"Tank Fuel Level", "Value":86}, + {"Name":"Fluid Level Fresh Water", "Value":87}, + {"Name":"Fluid Level Gray Water", "Value":88}, + {"Name":"Fluid Level Live Well", "Value":89}, + {"Name":"Fluid Level Oil", "Value":90}, + {"Name":"Fluid Level Black Water", "Value":91}, + {"Name":"Tank Fuel Remaining", "Value":92}, + {"Name":"Fluid Volume Fresh Water", "Value":93}, + {"Name":"Fluid Volume Gray Water", "Value":94}, + {"Name":"Fluid Volume Live Well", "Value":95}, + {"Name":"Fluid Volume Oil", "Value":96}, + {"Name":"Fluid Volume Black Water", "Value":97}, + {"Name":"Gen Fluid Volume", "Value":98}, + {"Name":"Was Tank Fuel Level Lo", "Value":99}, + {"Name":"Was Fluid Level Lo Fresh Water", "Value":100}, + {"Name":"Was Fluid Level Lo Gray Water", "Value":101}, + {"Name":"Was Fluid Level Lo Live Well", "Value":102}, + {"Name":"Was Fluid Level Lo Oil", "Value":103}, + {"Name":"Gen Tank Capacity", "Value":104}, + {"Name":"Tank Fuel Capacity", "Value":105}, + {"Name":"Tank Capacity Fresh Water", "Value":106}, + {"Name":"Tank Capacity Gray Water", "Value":107}, + {"Name":"Tank Capacity Live Well", "Value":108}, + {"Name":"Tank Capacity Oil", "Value":109}, + {"Name":"Tank Capacity Black Water", "Value":110}, + {"Name":"Was Tank Fuel Used", "Value":111}, + {"Name":"Engine Fuel Used", "Value":112}, + {"Name":"Engine Fuel Used Trip", "Value":113}, + {"Name":"Engine Fuel Used Seasonal", "Value":114}, + {"Name":"Engine Fuel K Value", "Value":115}, + {"Name":"Battery Potential", "Value":116}, + {"Name":"Battery Current", "Value":117}, + {"Name":"Trim Tab", "Value":118}, + {"Name":"Was Trim Stbd Tab", "Value":119}, + {"Name":"Rate Of Turn", "Value":120}, + {"Name":"Attitude Yaw", "Value":121}, + {"Name":"Attitude Pitch", "Value":122}, + {"Name":"Attitude Roll", "Value":123}, + {"Name":"Magnetic Variation", "Value":124}, + {"Name":"Deviation", "Value":125}, + {"Name":"Fuel Economy Wtr", "Value":126}, + {"Name":"Fuel Economy GPS", "Value":127}, + {"Name":"Was Fuel Remaining", "Value":128}, + {"Name":"Was Fuel Range Wtr", "Value":129}, + {"Name":"Was Fuel Range GPS", "Value":130}, + {"Name":"Engine Hours Used", "Value":131}, + {"Name":"Engine Type", "Value":132}, + {"Name":"Vessel Fuel Rate", "Value":133}, + {"Name":"Vessel Fuel Economy Wtr", "Value":134}, + {"Name":"Vessel Fuel Economy GPS", "Value":135}, + {"Name":"Vessel Fuel Remaining", "Value":136}, + {"Name":"Vessel Fuel Range Wtr", "Value":137}, + {"Name":"Vessel Fuel Range GPS", "Value":138}, + {"Name":"Wind App Angle", "Value":139}, + {"Name":"Wind True Angle", "Value":140}, + {"Name":"Wind True Direction", "Value":141}, + {"Name":"Humidity Inside", "Value":142}, + {"Name":"Humidity Outside", "Value":143}, + {"Name":"Set Humidity", "Value":144}, + {"Name":"Rudder Angle", "Value":145}, + {"Name":"Trans Gear", "Value":146}, + {"Name":"Trans Oil Pressure", "Value":147}, + {"Name":"Trans Oil Temp", "Value":148}, + {"Name":"Cmd Rudder Angle", "Value":149}, + {"Name":"Rudder Limit", "Value":150}, + {"Name":"Off Heading Lim", "Value":151}, + {"Name":"Radius Of Turn Order", "Value":152}, + {"Name":"Rate Of Turn Order", "Value":153}, + {"Name":"Off Track Lim", "Value":154}, + {"Name":"Logging Time Remaining", "Value":155}, + {"Name":"Position Fix Type", "Value":156}, + {"Name":"Engine Discrete Status", "Value":157}, + {"Name":"Transmission Discrete Status", "Value":158}, + {"Name":"GPS Best Of Four Snr", "Value":159}, + {"Name":"Gen Fluid Level", "Value":160}, + {"Name":"Gen Pressure", "Value":161}, + {"Name":"Gen Temperature", "Value":162}, + {"Name":"Internal Voltage", "Value":163}, + {"Name":"Depth Offset", "Value":164}, + {"Name":"Structure Depth", "Value":165}, + {"Name":"Loran Position", "Value":166}, + {"Name":"Vessel Status", "Value":167}, + {"Name":"Battery DC Type", "Value":168}, + {"Name":"Battery State Of Charge", "Value":169}, + {"Name":"Battery State Of Health", "Value":170}, + {"Name":"Battery Time Remaining", "Value":171}, + {"Name":"Battery Ripple Voltage", "Value":172}, + {"Name":"Ac1 Acceptability", "Value":173}, + {"Name":"Ac2 Acceptability", "Value":174}, + {"Name":"Ac3 Acceptability", "Value":175}, + {"Name":"Ac1 Voltage", "Value":176}, + {"Name":"Ac2 Voltage", "Value":177}, + {"Name":"Ac3 Voltage", "Value":178}, + {"Name":"Ac1 Current", "Value":179}, + {"Name":"Ac2 Current", "Value":180}, + {"Name":"Ac3 Current", "Value":181}, + {"Name":"Ac1 Frequency", "Value":182}, + {"Name":"Ac2 Frequency", "Value":183}, + {"Name":"Ac3 Frequency", "Value":184}, + {"Name":"Ac1 Breaker Size", "Value":185}, + {"Name":"Ac2 Breaker Size", "Value":186}, + {"Name":"Ac3 Breaker Size", "Value":187}, + {"Name":"Ac1 Real Power", "Value":188}, + {"Name":"Ac2 Real Power", "Value":189}, + {"Name":"Ac3 Real Power", "Value":190}, + {"Name":"Ac1 Reactive Power", "Value":191}, + {"Name":"Ac2 Reactive Power", "Value":192}, + {"Name":"Ac3 Reactive Power", "Value":193}, + {"Name":"Ac1 Power Factor", "Value":194}, + {"Name":"Ac2 Power Factor", "Value":195}, + {"Name":"Ac3 Power Factor", "Value":196}, + {"Name":"Switch State", "Value":197}, + {"Name":"Switch Current", "Value":198}, + {"Name":"Switch Fault", "Value":199}, + {"Name":"Switch Dim Level", "Value":200}, + {"Name":"Previous Cmd Heading", "Value":201}, + {"Name":"Cmd Wind Angle", "Value":202}, + {"Name":"Was Cmd Bearing Offset", "Value":203}, + {"Name":"Cmd Bearing", "Value":204}, + {"Name":"Cmd Depth Contour", "Value":205}, + {"Name":"Cmd Course Change", "Value":206}, + {"Name":"Pilot Drift", "Value":207}, + {"Name":"Pilot Distance To Turn", "Value":208}, + {"Name":"Pilot Time To Turn", "Value":209}, + {"Name":"Pilot Reference Position", "Value":210}, + {"Name":"DC Status", "Value":211}, + {"Name":"Ac1 Status", "Value":212}, + {"Name":"Was Switch Voltage", "Value":213}, + {"Name":"Battery Capacity Remaining", "Value":214}, + {"Name":"Pilot Heading Reference", "Value":215}, + {"Name":"B And G Linear 1", "Value":216}, + {"Name":"B And G Linear 2", "Value":217}, + {"Name":"B And G Linear 3", "Value":218}, + {"Name":"Boom Position", "Value":219}, + {"Name":"Sailing Course", "Value":220}, + {"Name":"Daggerboard Position", "Value":221}, + {"Name":"B And G Linear 4", "Value":222}, + {"Name":"Heading On Next Tack", "Value":223}, + {"Name":"Keel Angle", "Value":224}, + {"Name":"Leeway", "Value":225}, + {"Name":"Mast Angle", "Value":226}, + {"Name":"Target True Wind Angle", "Value":227}, + {"Name":"Keel Trim Tab", "Value":228}, + {"Name":"Race Timer", "Value":229}, + {"Name":"Canard Angle", "Value":230}, + {"Name":"Next Leg Apparent Wind Angle", "Value":231}, + {"Name":"Next Leg Apparent Wind Speed", "Value":232}, + {"Name":"Target Boat Speed", "Value":233}, + {"Name":"VMG To Wind", "Value":234}, + {"Name":"Time To Laylines", "Value":235}, + {"Name":"Distance To Laylines", "Value":236}, + {"Name":"Aft Depth", "Value":237}, + {"Name":"Forestay", "Value":238}, + {"Name":"Polar Speed", "Value":239}, + {"Name":"Polar Performance", "Value":240}, + {"Name":"Tacking Performance", "Value":241}, + {"Name":"Wind Angle To Mast", "Value":242}, + {"Name":"Can Bus Voltage", "Value":243}, + {"Name":"Internal Temperature", "Value":244}, + {"Name":"Engage Current", "Value":245}, + {"Name":"Uref Voltage", "Value":246}, + {"Name":"Supply Voltage", "Value":247}, + {"Name":"Destination Position", "Value":248}, + {"Name":"Compass Heading Reference", "Value":249}, + {"Name":"Cmd Rudder Direction", "Value":250}, + {"Name":"Was Engine Sync State", "Value":251}, + {"Name":"Engine General Maintenance", "Value":252}, + {"Name":"Engine Percent Throttle", "Value":253}, + {"Name":"Engine Steering Angle", "Value":254}, + {"Name":"Engine Break In Reqd", "Value":255}, + {"Name":"GPS All", "Value":256}, + {"Name":"Engine Break In Accum", "Value":257}, + {"Name":"Engine Trim Status", "Value":258}, + {"Name":"Pilot Present", "Value":259}, + {"Name":"Ac1 Out Waveform", "Value":260}, + {"Name":"Ac2 Out Waveform", "Value":261}, + {"Name":"Ac3 Out Waveform", "Value":262}, + {"Name":"Ac1 Out Voltage", "Value":263}, + {"Name":"Ac2 Out Voltage", "Value":264}, + {"Name":"Ac3 Out Voltage", "Value":265}, + {"Name":"Ac1 Out Current", "Value":266}, + {"Name":"Ac2 Out Current", "Value":267}, + {"Name":"Ac3 Out Current", "Value":268}, + {"Name":"Ac1 Out Frequency", "Value":269}, + {"Name":"Ac2 Out Frequency", "Value":270}, + {"Name":"Ac3 Out Frequency", "Value":271}, + {"Name":"Ac1 Out Breaker Size", "Value":272}, + {"Name":"Ac2 Out Breaker Size", "Value":273}, + {"Name":"Ac3 Out Breaker Size", "Value":274}, + {"Name":"Ac1 Out Real Power", "Value":275}, + {"Name":"Ac2 Out Real Power", "Value":276}, + {"Name":"Ac3 Out Real Power", "Value":277}, + {"Name":"Ac1 Out Reactive Power", "Value":278}, + {"Name":"Ac2 Out Reactive Power", "Value":279}, + {"Name":"Ac3 Out Reactive Power", "Value":280}, + {"Name":"Ac1 Out Power Factor", "Value":281}, + {"Name":"Ac2 Out Power Factor", "Value":282}, + {"Name":"Ac3 Out Power Factor", "Value":283}, + {"Name":"Ac2 Status", "Value":284}, + {"Name":"Ac3 Status", "Value":285}, + {"Name":"Ac1 Out Status", "Value":286}, + {"Name":"Ac2 Out Status", "Value":287}, + {"Name":"Ac3 Out Status", "Value":288}, + {"Name":"Switch Manual Override", "Value":289}, + {"Name":"Switch Reverse Polarity", "Value":290}, + {"Name":"Switch Acsource Available", "Value":291}, + {"Name":"Switch Accontactor Systemsonstate", "Value":292}, + {"Name":"Charger Battery Instance", "Value":293}, + {"Name":"Charger Operating State", "Value":294}, + {"Name":"Charger Mode", "Value":295}, + {"Name":"Charger Enabled", "Value":296}, + {"Name":"Charger Equalization Pending", "Value":297}, + {"Name":"Charger Equalization Time Remaining", "Value":298}, + {"Name":"Inverter AC Instance", "Value":299}, + {"Name":"Inverter DC Instance", "Value":300}, + {"Name":"Inverter Operating State", "Value":301}, + {"Name":"Inverter Enabled", "Value":302}, + {"Name":"Thruster Power", "Value":303}, + {"Name":"Fuel To Turn", "Value":304}, + {"Name":"Engine Mil", "Value":305}, + {"Name":"Engine Warning Flags", "Value":306}, + {"Name":"Speed Stw", "Value":307}, + {"Name":"Engine Performance SOG", "Value":308}, + {"Name":"Engine Performance Stw", "Value":309}, + {"Name":"Engine Control Flags", "Value":310}, + {"Name":"Engine Troll RPM Setpoint", "Value":311}, + {"Name":"Active Helm", "Value":312}, + {"Name":"Cruise RPM Setpoint", "Value":313}, + {"Name":"Cruise Speed Setpoint", "Value":314}, + {"Name":"Cmd Pattern Dir", "Value":315}, + {"Name":"Smart Contextual", "Value":316}, + {"Name":"Sailing Time To Waypoint", "Value":317}, + {"Name":"Sailing Distance To Waypoint", "Value":318}, + {"Name":"Sailing ETA", "Value":319}, + {"Name":"Generator Temp", "Value":320}, + {"Name":"Generator Oil Temp", "Value":321}, + {"Name":"Generator Oil Pres", "Value":322}, + {"Name":"Generator Water Pres", "Value":323}, + {"Name":"Generator Fuel Pres", "Value":324}, + {"Name":"Generator Fuel Rate", "Value":325}, + {"Name":"Generator Hours Used", "Value":326}, + {"Name":"Generator Discrete Status", "Value":327}, + {"Name":"Generator Percent Load", "Value":328}, + {"Name":"Generator Percent Torque", "Value":329}, + {"Name":"Generator Battery Voltage", "Value":330}, + {"Name":"Generator Average Voltage", "Value":331}, + {"Name":"Generator Average Frequency", "Value":332}, + {"Name":"Generator Average Current", "Value":333}, + {"Name":"Pilot Mode", "Value":334}, + {"Name":"Pilot Response Level", "Value":335}, + {"Name":"Cruise Smarttow Overshoot", "Value":336}, + {"Name":"Pilot Cmd Heading", "Value":337}, + {"Name":"MOB Dr Position", "Value":338}, + {"Name":"MOB Dr Range", "Value":339}, + {"Name":"MOB Dr Bearing", "Value":340}, + {"Name":"Bow Position", "Value":341}, + {"Name":"Start Line Bearing", "Value":342}, + {"Name":"Start Line Bias", "Value":343}, + {"Name":"Distance To Start Line", "Value":344}, + {"Name":"Distance To Start Line Port End", "Value":345}, + {"Name":"Distance To Start Line Stbd End", "Value":346}, + {"Name":"Start Line Port Position", "Value":347}, + {"Name":"Start Line Stbd Position", "Value":348}, + {"Name":"Start Line Boat Length Advantage", "Value":349}, + {"Name":"Distance To Start Line Boat Lengths", "Value":350}, + {"Name":"Backstay", "Value":351}, + {"Name":"Boom Angle", "Value":352}, + {"Name":"Boom Vang", "Value":353}, + {"Name":"Chain Length", "Value":354}, + {"Name":"Cunningham", "Value":355}, + {"Name":"Inner Forestay Load", "Value":356}, + {"Name":"Inner Forestay Halyard Load", "Value":357}, + {"Name":"Jib Furl", "Value":358}, + {"Name":"Jib Halyard Load", "Value":359}, + {"Name":"Optimum Wind Angle", "Value":360}, + {"Name":"Outhaul Load", "Value":361}, + {"Name":"Pitch Rate", "Value":362}, + {"Name":"Plow Angle", "Value":363}, + {"Name":"Roll Rate", "Value":364}, + {"Name":"VMG Performance", "Value":365}, + {"Name":"B And G Linear 5", "Value":366}, + {"Name":"B And G Linear 6", "Value":367}, + {"Name":"B And G Linear 7", "Value":368}, + {"Name":"B And G Linear 8", "Value":369}, + {"Name":"B And G Linear 9", "Value":370}, + {"Name":"B And G Linear 10", "Value":371}, + {"Name":"B And G Linear 11", "Value":372}, + {"Name":"B And G Linear 12", "Value":373}, + {"Name":"B And G Linear 13", "Value":374}, + {"Name":"B And G Linear 14", "Value":375}, + {"Name":"B And G Linear 15", "Value":376}, + {"Name":"B And G Linear 16", "Value":377}, + {"Name":"Keel Draught", "Value":378}, + {"Name":"Pool Temperature", "Value":379}, + {"Name":"Jacuzzi Temperature", "Value":380}, + {"Name":"Trip Dr Bearing", "Value":381}, + {"Name":"Trip Dr Distance", "Value":382}, + {"Name":"Code Zero Load", "Value":383}, + {"Name":"B And G MOB Position", "Value":384}, + {"Name":"Distance Behind Start Line", "Value":385}, + {"Name":"Distance Behind Start Line Boat Lengths", "Value":386}, + {"Name":"Bias Advantage", "Value":387}, + {"Name":"Opposite Tack COG", "Value":388}, + {"Name":"Opposite Tack Target Heading", "Value":389}, + {"Name":"Mast Rake", "Value":390}, + {"Name":"Next Leg Bearing", "Value":391}, + {"Name":"Next Leg Target Speed", "Value":392}, + {"Name":"Ground Wind Direction", "Value":393}, + {"Name":"Ground Wind Speed", "Value":394}, + {"Name":"Mast Cant Angle", "Value":395}, + {"Name":"Rudder Toe In", "Value":396}, + {"Name":"Daggerboard Port", "Value":397}, + {"Name":"Daggerboard Starboard", "Value":398}, + {"Name":"B And G Remote 0", "Value":399}, + {"Name":"B And G Remote 1", "Value":400}, + {"Name":"B And G Remote 2", "Value":401}, + {"Name":"B And G Remote 3", "Value":402}, + {"Name":"B And G Remote 4", "Value":403}, + {"Name":"B And G Remote 5", "Value":404}, + {"Name":"B And G Remote 6", "Value":405}, + {"Name":"B And G Remote 7", "Value":406}, + {"Name":"B And G Remote 8", "Value":407}, + {"Name":"B And G Remote 9", "Value":408}, + {"Name":"Forward Depth", "Value":409}, + {"Name":"Critical Range", "Value":410}, + {"Name":"Caution Range", "Value":411}, + {"Name":"Max Range", "Value":412}, + {"Name":"Generator Alternator Voltage", "Value":413}, + {"Name":"Trolling Prop Rate", "Value":414}, + {"Name":"Trolling Cruise Control Speed", "Value":415}, + {"Name":"Vessel Fuel Used", "Value":416}, + {"Name":"Suzuki Engine Baro Pressure", "Value":417}, + {"Name":"Suzuki Cylinder Temperature", "Value":418}, + {"Name":"Suzuki Intake Air Temperature", "Value":419}, + {"Name":"Suzuki Ignition Timing", "Value":420}, + {"Name":"Suzuki Fuel Injector Pulse Width", "Value":421}, + {"Name":"Was Suzuki Injected Fuel Amount", "Value":422}, + {"Name":"Suzuki Iac Valve Duty", "Value":423}, + {"Name":"Suzuki Discrete Status 1", "Value":424}, + {"Name":"Suzuki Discrete Status 2", "Value":425}, + {"Name":"Suzuki Discrete Status 3", "Value":426}, + {"Name":"Suzuki Discrete Status 4", "Value":427}, + {"Name":"Fuel Economy Pit", "Value":428}, + {"Name":"Vessel Fuel Economy Pit", "Value":429}, + {"Name":"Vessel Fuel Range Pit", "Value":430}, + {"Name":"Waypoint", "Value":431}, + {"Name":"Average Wind Direction", "Value":432}, + {"Name":"Wind Phase", "Value":433}, + {"Name":"Wind Lift", "Value":434}, + {"Name":"Fuel Range Seasonal Average", "Value":435}, + {"Name":"Fuel Range Instantaneous", "Value":436}, + {"Name":"Vessel Fuel Economy", "Value":437}, + {"Name":"Average Fuel Economy Seasonal", "Value":438}, + {"Name":"Average Fuel Economy Trip", "Value":439}, + {"Name":"Best Fuel Economy Seasonal", "Value":440}, + {"Name":"Best Fuel Economy Trip", "Value":441}, + {"Name":"Vessel Fuel Level", "Value":442}, + {"Name":"Vessel Fuel Used Trip", "Value":443}, + {"Name":"B And G Linear 17", "Value":444}, + {"Name":"B And G Linear 18", "Value":445}, + {"Name":"B And G Linear 19", "Value":446}, + {"Name":"B And G Linear 20", "Value":447}, + {"Name":"B And G Linear 21", "Value":448}, + {"Name":"B And G Linear 22", "Value":449}, + {"Name":"B And G Linear 23", "Value":450}, + {"Name":"B And G Linear 24", "Value":451}, + {"Name":"B And G Linear 25", "Value":452}, + {"Name":"B And G Linear 26", "Value":453}, + {"Name":"B And G Linear 27", "Value":454}, + {"Name":"B And G Linear 28", "Value":455}, + {"Name":"B And G Linear 29", "Value":456}, + {"Name":"B And G Linear 30", "Value":457}, + {"Name":"B And G Linear 31", "Value":458}, + {"Name":"B And G Linear 32", "Value":459}, + {"Name":"Origin Way Point Number", "Value":460}, + {"Name":"Dest Way Point Number", "Value":461}, + {"Name":"Arrival Notification", "Value":462}, + {"Name":"Arrival Circle Notification", "Value":463}, + {"Name":"Was Nav Terminated", "Value":464}, + {"Name":"Bobstay", "Value":465}, + {"Name":"J1", "Value":466}, + {"Name":"J2", "Value":467}, + {"Name":"J3", "Value":468}, + {"Name":"Mast Base", "Value":469}, + {"Name":"Mainsheet", "Value":470}, + {"Name":"D0 Port", "Value":471}, + {"Name":"D0 Starboard", "Value":472}, + {"Name":"Runner Port", "Value":473}, + {"Name":"Runner Starboard", "Value":474}, + {"Name":"Foil Port", "Value":475}, + {"Name":"Foil Starboard", "Value":476}, + {"Name":"Sailtack Port", "Value":477}, + {"Name":"Sailtack Starboard", "Value":478}, + {"Name":"Deflect Port", "Value":479}, + {"Name":"Deflect Starboard", "Value":480}, + {"Name":"Rudder Load Port", "Value":481}, + {"Name":"Rudder Load Starboard", "Value":482}, + {"Name":"D1 Port", "Value":483}, + {"Name":"D1 Starboard", "Value":484}, + {"Name":"V0 Port", "Value":485}, + {"Name":"V0 Starboard", "Value":486}, + {"Name":"V1 Port", "Value":487}, + {"Name":"V1 Starboard", "Value":488}, + {"Name":"Gnss System", "Value":489}, + {"Name":"Sv Count", "Value":490}, + {"Name":"Gnss Op Mode", "Value":491}, + {"Name":"Dgnss Mode", "Value":492}, + {"Name":"Suzuki Fuel Pump Duty", "Value":493}, + {"Name":"Speed Log Water Longitudinal", "Value":494}, + {"Name":"Speed Log Water Transverse", "Value":495}, + {"Name":"Speed Log Water Resultant", "Value":496}, + {"Name":"Speed Log Water Angle", "Value":497}, + {"Name":"Speed Log Ground Longitudinal", "Value":498}, + {"Name":"Speed Log Ground Transverse", "Value":499}, + {"Name":"Speed Log Ground Resultant", "Value":500}, + {"Name":"Speed Log Ground Angle", "Value":501}, + {"Name":"Speed Log Stern Water Transverse", "Value":502}, + {"Name":"Speed Log Stern Ground Transverse", "Value":503}, + {"Name":"Position Datum", "Value":504}, + {"Name":"Speed Boat", "Value":505}, + {"Name":"Was Engine Fuel Used Mercury", "Value":506}, + {"Name":"Heave", "Value":507}, + {"Name":"Speed Trip Max RPM", "Value":508}, + {"Name":"Honda Engine Status Params", "Value":509}, + {"Name":"Pilot Features", "Value":510}, + {"Name":"Pilot Setpoint Heading", "Value":511}, + {"Name":"Idle Speed Control Mode", "Value":512}, + {"Name":"Idle Speed Control Value", "Value":513}, + {"Name":"Trolling Mode", "Value":514}, + {"Name":"Immobilizer Lock Status", "Value":515}, + {"Name":"Engine Discrete Params 1", "Value":516}, + {"Name":"Engine Discrete Params 2", "Value":517}, + {"Name":"Engine Discrete Params 3", "Value":518}, + {"Name":"Engine Discrete Params 4", "Value":519}, + {"Name":"Engine Discrete Params 5", "Value":520}, + {"Name":"Engine Discrete Params 6", "Value":521}, + {"Name":"Idle Speed Limit Low", "Value":522}, + {"Name":"Idle Speed Limit High", "Value":523}, + {"Name":"Was Trolling Variable RPM Info", "Value":524}, + {"Name":"Idle Speed Control Target Rev", "Value":525}, + {"Name":"Idle Control", "Value":526}, + {"Name":"Idle Feedback", "Value":527}, + {"Name":"Immediately After Starting Control", "Value":528}, + {"Name":"Gateway Params", "Value":529}, + {"Name":"Gateway Protocol", "Value":530}, + {"Name":"Engine Wall Temp", "Value":531}, + {"Name":"Substitute Battery Voltage", "Value":532}, + {"Name":"Yamaha Engine M6 Diag Code", "Value":533}, + {"Name":"Wireless Sensor Battery Status", "Value":534}, + {"Name":"Wireless Sensor Battery Charge Status", "Value":535}, + {"Name":"Wireless Sensor Battery Status Voltage", "Value":536}, + {"Name":"Wireless Sensor Battery Charge Status Current", "Value":537}, + {"Name":"Fluid Type Mode", "Value":538}, + {"Name":"Datetime", "Value":539}, + {"Name":"Reacher Load", "Value":540}, + {"Name":"Blade Load", "Value":541}, + {"Name":"Staysail Load", "Value":542}, + {"Name":"Tack Load", "Value":543}, + {"Name":"J4 Load", "Value":544}, + {"Name":"Solent Load", "Value":545}, + {"Name":"Tack Port Load", "Value":546}, + {"Name":"Tack Starboard Load", "Value":547}, + {"Name":"Deflect Upper Load", "Value":548}, + {"Name":"Deflect Lower Load", "Value":549}, + {"Name":"Winch Port Load", "Value":550}, + {"Name":"Winch Starboard Load", "Value":551}, + {"Name":"Spin Halyard Port Load", "Value":552}, + {"Name":"Spin Halyard Starboard Load", "Value":553}, + {"Name":"Main Halyward", "Value":554}, + {"Name":"Load 1 Load", "Value":555}, + {"Name":"Load 2 Load", "Value":556}, + {"Name":"Mast Base 2 Load", "Value":557}, + {"Name":"Pilot Active Perf Mode", "Value":558}, + {"Name":"Pilot Gust", "Value":559}, + {"Name":"Pilot Tws Response", "Value":560}, + {"Name":"Pilot Heel Comp", "Value":561}, + {"Name":"Pilot Net Course", "Value":562}, + {"Name":"Pilot Target Wind Angle", "Value":563}, + {"Name":"Pilot Weather Helm", "Value":564}, + {"Name":"Pilot Mean Heel", "Value":565}, + {"Name":"Propeller Shaft Pitch Angle", "Value":566}, + {"Name":"Propeller Shaft Pitch Percent", "Value":567}, + {"Name":"Propeller Shaft RPM", "Value":568}, + {"Name":"Thruster Pitch Angle", "Value":569}, + {"Name":"Thruster Pitch Percent", "Value":570}, + {"Name":"Ground Wind Angle", "Value":571}, + {"Name":"Fuel Flow Offset", "Value":572}, + {"Name":"Fluid Level Gasoline", "Value":573}, + {"Name":"Fluid Volume Gasoline", "Value":574}, + {"Name":"Tank Capacity Gasoline", "Value":575}, + {"Name":"Cmd Xte Offset", "Value":576}, + {"Name":"Engine 4Stroke Oil", "Value":577}, + {"Name":"Wireless Sensor Signal Strength", "Value":578}, + {"Name":"Wireless Sensor Software Update Progress", "Value":579}, + {"Name":"Trolling Status", "Value":580}, + {"Name":"Mercury Exhaust Valve", "Value":581}, + {"Name":"Mercury Exhaust Status", "Value":582}, + {"Name":"Yanmar Engine Ecu Alarms", "Value":583}, + {"Name":"Yanmar Helm Ecu Alarms", "Value":584}, + {"Name":"Yanmar Drive Ecu Alarms", "Value":585}, + {"Name":"Dgps Correction Data", "Value":586}, + {"Name":"Dgps Reference Station Id", "Value":587}, + {"Name":"Dgps Reference Station Health", "Value":588}, + {"Name":"Dgps Signal Snr", "Value":589}, + {"Name":"Dgps Signal Frequency", "Value":590}, + {"Name":"Dgps Signal Strength", "Value":591}, + {"Name":"Engine Fuel Temp", "Value":592}, + {"Name":"Depth Quality", "Value":593}, + {"Name":"Number Of Active Dtc", "Value":594}, + {"Name":"Yanmar Fuel Level Tank1 Port", "Value":595}, + {"Name":"Yanmar Fuel Level Tank2 Port", "Value":596}, + {"Name":"Yanmar Fuel Level Tank1 Stbd", "Value":597}, + {"Name":"Yanmar Fuel Level Tank2 Stbd", "Value":598}, + {"Name":"Yanmar Fuel Level Tank1 Center", "Value":599}, + {"Name":"Yanmar Fuel Level Tank2 Center", "Value":600}, + {"Name":"Yanmar Fresh Water Level Tank1 Port", "Value":601}, + {"Name":"Yanmar Fresh Water Level Tank2 Port", "Value":602}, + {"Name":"Yanmar Fresh Water Level Tank1 Stbd", "Value":603}, + {"Name":"Yanmar Fresh Water Level Tank2 Stbd", "Value":604}, + {"Name":"Yanmar Fresh Water Level Tank1 Center", "Value":605}, + {"Name":"Yanmar Fresh Water Level Tank2 Center", "Value":606}, + {"Name":"Yanmar Gray Water Level Tank1 Port", "Value":607}, + {"Name":"Yanmar Gray Water Level Tank2 Port", "Value":608}, + {"Name":"Yanmar Gray Water Level Tank1 Stbd", "Value":609}, + {"Name":"Yanmar Gray Water Level Tank2 Stbd", "Value":610}, + {"Name":"Yanmar Gray Water Level Tank1 Center", "Value":611}, + {"Name":"Yanmar Gray Water Level Tank2 Center", "Value":612}, + {"Name":"Rudder Angle Percentage", "Value":613}, + {"Name":"Troll Active Helm", "Value":614}, + {"Name":"Tides Graphic", "Value":615}, + {"Name":"Anchor Distance", "Value":616}, + {"Name":"Anchor Size", "Value":617}, + {"Name":"Anchor Depth", "Value":618}, + {"Name":"Anchor Bearing", "Value":619}, + {"Name":"Honda Engine Warning Params", "Value":620}, + {"Name":"Honda Engine Discrete Params 1", "Value":621}, + {"Name":"Honda Engine Discrete Params 2", "Value":622}, + {"Name":"Honda Engine Discrete Params 3", "Value":623}, + {"Name":"Honda Engine Discrete Params 4", "Value":624}, + {"Name":"Mainsail Head Load", "Value":625}, + {"Name":"Mainsail Clew Load", "Value":626}, + {"Name":"Mainsail Tack Load", "Value":627}, + {"Name":"J1 Head Load", "Value":628}, + {"Name":"J1 Clew Load", "Value":629}, + {"Name":"J1 Tack Load", "Value":630}, + {"Name":"J2 Head Load", "Value":631}, + {"Name":"J2 Clew Load", "Value":632}, + {"Name":"J2 Tack Load", "Value":633}, + {"Name":"J3 Head Load", "Value":634}, + {"Name":"J3 Clew Load", "Value":635}, + {"Name":"J3 Tack Load", "Value":636}, + {"Name":"Code Zero Head Load", "Value":637}, + {"Name":"Code Zero Clew Load", "Value":638}, + {"Name":"Code Zero Tack Load", "Value":639}, + {"Name":"Suzuki Engine Alert I", "Value":640}, + {"Name":"Engine Oil Life", "Value":641}, + {"Name":"Engine Oil Level Status", "Value":642}, + {"Name":"Trans Fluid Status", "Value":643}, + {"Name":"Honda Eco Status All Engines", "Value":644}, + {"Name":"Output RPM", "Value":645}, + {"Name":"Suzuki Engine Alert A", "Value":646}, + {"Name":"Suzuki Engine Alert B", "Value":647}, + {"Name":"Suzuki Engine Alert C", "Value":648}, + {"Name":"Suzuki Engine Alert D", "Value":649}, + {"Name":"Suzuki Engine Alert E", "Value":650}, + {"Name":"Suzuki Engine Alert F", "Value":651}, + {"Name":"Suzuki Engine Alert G", "Value":652}, + {"Name":"Suzuki Engine Alert H", "Value":653}, + {"Name":"Suzuki Engine Alert J", "Value":654}, + {"Name":"Suzuki Bcm Fault", "Value":655}, + {"Name":"Suzuki Bcm Mode", "Value":656}, + {"Name":"Suzuki Engine Kls Status", "Value":657}, + {"Name":"Suzuki Switch Fault", "Value":658}, + {"Name":"Suzuki Shift Position Status", "Value":659}, + {"Name":"Vessel Fuel Used Seasonal", "Value":660}, + {"Name":"Vessel Fuel Capacity", "Value":661}, + {"Name":"Suzuki Engine Auto Trim Status", "Value":662}, + {"Name":"Trolling Mode Active", "Value":663}, + {"Name":"Trolling Mode Active Master", "Value":664}, + {"Name":"Keyless Communication State", "Value":665}, + {"Name":"Linear Actuator Position", "Value":666}, + {"Name":"Engine Exhaust Temp", "Value":667}, + {"Name":"Engine Guardian Power Limit", "Value":668}, + {"Name":"Engine State", "Value":669}, + {"Name":"Sailing Time To Burn", "Value":670}, + {"Name":"Mast Twist", "Value":671}, + {"Name":"VHF Channel", "Value":672}, + {"Name":"Trolling Lower Unit Direction", "Value":673}, + {"Name":"Propulsion Battery Status", "Value":674}, + {"Name":"Propulsion Battery Isolation Status", "Value":675}, + {"Name":"Propulsion Battery Error", "Value":676}, + {"Name":"Propulsion Battery Voltage", "Value":677}, + {"Name":"Propulsion Battery Current", "Value":678}, + {"Name":"Propulsion Battery State Of Charge", "Value":679}, + {"Name":"Propulsion Battery Time Remaining", "Value":680}, + {"Name":"Propulsion Battery Highest Cell Temperature", "Value":681}, + {"Name":"Propulsion Battery Lowest Cell Temperature", "Value":682}, + {"Name":"Propulsion Battery Average Cell Temperature", "Value":683}, + {"Name":"Propulsion Battery Maximum Discharge Current", "Value":684}, + {"Name":"Propulsion Battery Maximum Charge Current", "Value":685}, + {"Name":"Propulsion Battery Cooling System Status", "Value":686}, + {"Name":"Propulsion Battery Heating System Status", "Value":687}, + {"Name":"Propulsion Battery Storage Mode", "Value":688}, + {"Name":"Propulsion Battery Chemistry", "Value":689}, + {"Name":"Propulsion Battery Maximum Temperature Derating", "Value":690}, + {"Name":"Propulsion Battery Maximum Temperature Shutoff", "Value":691}, + {"Name":"Propulsion Battery Minimum Temperature Derating", "Value":692}, + {"Name":"Propulsion Battery Minimum Temperature Shutoff", "Value":693}, + {"Name":"Propulsion Battery Usable Energy", "Value":694}, + {"Name":"Propulsion Battery State Of Health", "Value":695}, + {"Name":"Propulsion Battery Discharge Cycles Count", "Value":696}, + {"Name":"Propulsion Battery Full Status", "Value":697}, + {"Name":"Propulsion Battery Empty Status", "Value":698}, + {"Name":"Propulsion Battery Maximum Charge Soc", "Value":699}, + {"Name":"Propulsion Battery Minimum Discharge Soc", "Value":700}, + {"Name":"Active Motor Mode", "Value":701}, + {"Name":"Motor Brake Mode", "Value":702}, + {"Name":"Motor Rotational Shaft Speed", "Value":703}, + {"Name":"Motor Voltage", "Value":704}, + {"Name":"Motor Current", "Value":705}, + {"Name":"Motor Operating Mode", "Value":706}, + {"Name":"Motor Temperature", "Value":707}, + {"Name":"Motor Inverter Temperature", "Value":708}, + {"Name":"Motor Coolant Temperature", "Value":709}, + {"Name":"Motor Gear Temperature", "Value":710}, + {"Name":"Motor Shaft Torque Percent", "Value":711}, + {"Name":"Motor Voltage Type", "Value":712}, + {"Name":"Motor Voltage Rating", "Value":713}, + {"Name":"Motor Max Continuous Power", "Value":714}, + {"Name":"Motor Max Boost Power", "Value":715}, + {"Name":"Motor Max Temperature Rating", "Value":716}, + {"Name":"Motor Rated Speed", "Value":717}, + {"Name":"Motor Max Controller Temperature Rating", "Value":718}, + {"Name":"Motor Shaft Torque Rating", "Value":719}, + {"Name":"Motor DC Voltage Derating Threshold", "Value":720}, + {"Name":"Motor DC Voltage Cutoff Threshold", "Value":721}, + {"Name":"Motor Runtime", "Value":722}, + {"Name":"Sailing Ping Time Port", "Value":723}, + {"Name":"Sailing Ping Time Stbd", "Value":724}, + {"Name":"Heading Source", "Value":725}, + {"Name":"Invalid", "Value":726} ] }, { - "Name":"AIS_VERSION", - "MaxValue":3, + "Name":"NAV_STATUS", + "MaxValue":15, "EnumValues":[ - {"Name":"ITU-R M.1371-1", "Value":0}, - {"Name":"ITU-R M.1371-3", "Value":1}, - {"Name":"ITU-R M.1371-5", "Value":2}, - {"Name":"ITU-R M.1371 future edition", "Value":3} + {"Name":"Under way using engine", "Value":0}, + {"Name":"At anchor", "Value":1}, + {"Name":"Not under command", "Value":2}, + {"Name":"Restricted maneuverability", "Value":3}, + {"Name":"Constrained by her draught", "Value":4}, + {"Name":"Moored", "Value":5}, + {"Name":"Aground", "Value":6}, + {"Name":"Engaged in Fishing", "Value":7}, + {"Name":"Under way sailing", "Value":8}, + {"Name":"Hazardous material - High Speed", "Value":9}, + {"Name":"Hazardous material - Wing in Ground", "Value":10}, + {"Name":"Power-driven vessel towing astern", "Value":11}, + {"Name":"Power-driven vessel pushing ahead or towing alongside", "Value":12}, + {"Name":"AIS-SART", "Value":14} ] }, { - "Name":"TIDE", + "Name":"OFF_ON", "MaxValue":3, "EnumValues":[ - {"Name":"Falling", "Value":0}, - {"Name":"Rising", "Value":1} + {"Name":"Off", "Value":0}, + {"Name":"On", "Value":1} ] }, { - "Name":"WATERMAKER_STATE", - "MaxValue":63, + "Name":"OFF_ON_CONTROL", + "MaxValue":3, "EnumValues":[ - {"Name":"Stopped", "Value":0}, - {"Name":"Starting", "Value":1}, - {"Name":"Running", "Value":2}, - {"Name":"Stopping", "Value":3}, - {"Name":"Flushing", "Value":4}, - {"Name":"Rinsing", "Value":5}, - {"Name":"Initiating", "Value":6}, - {"Name":"Manual", "Value":7} + {"Name":"Off", "Value":0}, + {"Name":"On", "Value":1}, + {"Name":"Reserved", "Value":2}, + {"Name":"Take no action (no change)", "Value":3} ] }, { - "Name":"ENTERTAINMENT_ID_TYPE", - "MaxValue":255, + "Name":"OK_WARNING", + "MaxValue":3, "EnumValues":[ - {"Name":"Group", "Value":0}, - {"Name":"File", "Value":1}, - {"Name":"Encrypted group", "Value":2}, - {"Name":"Encrypted file", "Value":3} + {"Name":"OK", "Value":0}, + {"Name":"Warning", "Value":1} ] }, { - "Name":"ENTERTAINMENT_DEFAULT_SETTINGS", - "MaxValue":3, + "Name":"PARAMETER_FIELD", + "MaxValue":15, "EnumValues":[ - {"Name":"Save current settings as user default", "Value":0}, - {"Name":"Load user default", "Value":1}, - {"Name":"Load manufacturer default", "Value":2} + {"Name":"Acknowledge", "Value":0}, + {"Name":"Invalid parameter field", "Value":1}, + {"Name":"Temporary error", "Value":2}, + {"Name":"Parameter out of range", "Value":3}, + {"Name":"Access denied", "Value":4}, + {"Name":"Not supported", "Value":5}, + {"Name":"Read or Write not supported", "Value":6} ] }, { - "Name":"ENTERTAINMENT_REGIONS", + "Name":"PGN_ERROR_CODE", "MaxValue":15, "EnumValues":[ - {"Name":"USA", "Value":0}, - {"Name":"Europe", "Value":1}, - {"Name":"Asia", "Value":2}, - {"Name":"Middle East", "Value":3}, - {"Name":"Latin America", "Value":4}, - {"Name":"Australia", "Value":5}, - {"Name":"Russia", "Value":6}, - {"Name":"Japan", "Value":7} + {"Name":"Acknowledge", "Value":0}, + {"Name":"PGN not supported", "Value":1}, + {"Name":"PGN not available", "Value":2}, + {"Name":"Access denied", "Value":3}, + {"Name":"Not supported", "Value":4}, + {"Name":"Tag not supported", "Value":5}, + {"Name":"Read or Write not supported", "Value":6} ] }, { - "Name":"VIDEO_PROTOCOLS", - "MaxValue":15, + "Name":"PGN_LIST_FUNCTION", + "MaxValue":255, "EnumValues":[ - {"Name":"PAL", "Value":0}, - {"Name":"NTSC", "Value":1} + {"Name":"Transmit PGN list", "Value":0}, + {"Name":"Receive PGN list", "Value":1} ] }, { - "Name":"ENTERTAINMENT_VOLUME_CONTROL", - "MaxValue":3, + "Name":"POSITION_ACCURACY", + "MaxValue":1, "EnumValues":[ - {"Name":"Up", "Value":0}, - {"Name":"Down", "Value":1} + {"Name":"Low", "Value":0}, + {"Name":"High", "Value":1} ] }, { - "Name":"BLUETOOTH_STATUS", - "MaxValue":255, + "Name":"POSITION_FIX_DEVICE", + "MaxValue":15, "EnumValues":[ - {"Name":"Connected", "Value":0}, - {"Name":"Not connected", "Value":1}, - {"Name":"Not paired", "Value":2} + {"Name":"Default: undefined", "Value":0}, + {"Name":"GPS", "Value":1}, + {"Name":"GLONASS", "Value":2}, + {"Name":"Combined GPS/GLONASS", "Value":3}, + {"Name":"Loran-C", "Value":4}, + {"Name":"Chayka", "Value":5}, + {"Name":"Integrated navigation system", "Value":6}, + {"Name":"Surveyed", "Value":7}, + {"Name":"Galileo", "Value":8} ] }, { - "Name":"BLUETOOTH_SOURCE_STATUS", - "MaxValue":15, + "Name":"POWER_FACTOR", + "MaxValue":3, "EnumValues":[ - {"Name":"Reserved", "Value":0}, - {"Name":"Connected", "Value":1}, - {"Name":"Connecting", "Value":2}, - {"Name":"Not connected", "Value":3} + {"Name":"Leading", "Value":0}, + {"Name":"Lagging", "Value":1}, + {"Name":"Error", "Value":2} ] }, { - "Name":"SONICHUB_COMMAND", - "MaxValue":255, + "Name":"POWER_MODE", + "MaxValue":1, "EnumValues":[ - {"Name":"Init #2", "Value":1}, - {"Name":"AM Radio", "Value":4}, - {"Name":"Zone Info", "Value":5}, - {"Name":"Source", "Value":6}, - {"Name":"Source List", "Value":8}, - {"Name":"Control", "Value":9}, - {"Name":"FM Radio", "Value":12}, - {"Name":"Playlist", "Value":13}, - {"Name":"Track", "Value":14}, - {"Name":"Artist", "Value":15}, - {"Name":"Album", "Value":16}, - {"Name":"Menu Item", "Value":19}, - {"Name":"Zones", "Value":20}, - {"Name":"Max Volume", "Value":23}, - {"Name":"Volume", "Value":24}, - {"Name":"Init #1", "Value":25}, - {"Name":"Position", "Value":48}, - {"Name":"Init #3", "Value":50} + {"Name":"High", "Value":0}, + {"Name":"Low", "Value":1} ] }, { - "Name":"SIMNET_AP_MODE", + "Name":"PRESSURE_SOURCE", "MaxValue":255, "EnumValues":[ - {"Name":"Heading", "Value":2}, - {"Name":"Wind", "Value":3}, - {"Name":"Nav", "Value":10}, - {"Name":"No Drift", "Value":11} + {"Name":"Atmospheric", "Value":0}, + {"Name":"Water", "Value":1}, + {"Name":"Steam", "Value":2}, + {"Name":"Compressed Air", "Value":3}, + {"Name":"Hydraulic", "Value":4}, + {"Name":"Filter", "Value":5}, + {"Name":"AltimeterSetting", "Value":6}, + {"Name":"Oil", "Value":7}, + {"Name":"Fuel", "Value":8} ] }, { - "Name":"SIMNET_DEVICE_MODEL", - "MaxValue":255, + "Name":"PRIORITY", + "MaxValue":15, "EnumValues":[ - {"Name":"AC", "Value":0}, - {"Name":"Other device", "Value":1}, - {"Name":"NAC", "Value":100} + {"Name":"0", "Value":0}, + {"Name":"1", "Value":1}, + {"Name":"2", "Value":2}, + {"Name":"3", "Value":3}, + {"Name":"4", "Value":4}, + {"Name":"5", "Value":5}, + {"Name":"6", "Value":6}, + {"Name":"7", "Value":7}, + {"Name":"Leave unchanged", "Value":8}, + {"Name":"Reset to default", "Value":9} ] }, { - "Name":"SIMNET_DEVICE_REPORT", - "MaxValue":255, + "Name":"RAIM_FLAG", + "MaxValue":1, "EnumValues":[ - {"Name":"Status", "Value":2}, - {"Name":"Send Status", "Value":3}, - {"Name":"Mode", "Value":10}, - {"Name":"Send Mode", "Value":11}, - {"Name":"Sailing Processor Status", "Value":23} + {"Name":"not in use", "Value":0}, + {"Name":"in use", "Value":1} ] }, { - "Name":"SIMNET_AP_STATUS", - "MaxValue":255, + "Name":"RANGE_RESIDUAL_MODE", + "MaxValue":3, "EnumValues":[ - {"Name":"Manual", "Value":2}, - {"Name":"Automatic", "Value":16} + {"Name":"Range residuals were used to calculate data", "Value":0}, + {"Name":"Range residuals were calculated after the position", "Value":1} ] }, { - "Name":"SIMNET_AUTOPILOT_MODE_CLASS", - "MaxValue":255, + "Name":"REPEAT_INDICATOR", + "MaxValue":3, "EnumValues":[ - {"Name":"Standby", "Value":0}, - {"Name":"Engaged", "Value":16} + {"Name":"Initial", "Value":0}, + {"Name":"First retransmission", "Value":1}, + {"Name":"Second retransmission", "Value":2}, + {"Name":"Final retransmission", "Value":3} ] }, { - "Name":"SIMNET_AUTOPILOT_MODE", - "MaxValue":255, + "Name":"REPORTING_INTERVAL", + "MaxValue":15, "EnumValues":[ - {"Name":"Standby", "Value":0}, - {"Name":"Heading", "Value":1}, - {"Name":"Mode 4", "Value":3}, - {"Name":"Wind", "Value":4}, - {"Name":"Non-Follow-Up", "Value":5}, - {"Name":"Navigation", "Value":6} + {"Name":"As given by the autonomous mode", "Value":0}, + {"Name":"10 min", "Value":1}, + {"Name":"6 min", "Value":2}, + {"Name":"3 min", "Value":3}, + {"Name":"1 min", "Value":4}, + {"Name":"30 sec", "Value":5}, + {"Name":"15 sec", "Value":6}, + {"Name":"10 sec", "Value":7}, + {"Name":"5 sec", "Value":8}, + {"Name":"2 sec (not applicable to Class B CS)", "Value":9}, + {"Name":"Next shorter reporting interval", "Value":10}, + {"Name":"Next longer reporting interval", "Value":11} ] }, { - "Name":"SIMNET_DATA_SOURCE", - "MaxValue":255, + "Name":"RESIDUAL_MODE", + "MaxValue":15, "EnumValues":[ - {"Name":"Rudder Feedback", "Value":17}, - {"Name":"Position", "Value":19}, - {"Name":"Heading", "Value":27}, - {"Name":"Depth", "Value":35}, - {"Name":"Boat Speed", "Value":36}, - {"Name":"Apparent Wind", "Value":42}, - {"Name":"Barometric Pressure", "Value":43} + {"Name":"Autonomous", "Value":0}, + {"Name":"Differential enhanced", "Value":1}, + {"Name":"Estimated", "Value":2}, + {"Name":"Simulator", "Value":3}, + {"Name":"Manual", "Value":4} ] }, { - "Name":"SIMNET_COMMAND", - "MaxValue":255, + "Name":"RODE_TYPE", + "MaxValue":3, "EnumValues":[ - {"Name":"Text", "Value":50} + {"Name":"Chain presently detected", "Value":0}, + {"Name":"Rope presently detected", "Value":1} + ] + }, + { + "Name":"SATELLITE_STATUS", + "MaxValue":15, + "EnumValues":[ + {"Name":"Not tracked", "Value":0}, + {"Name":"Tracked", "Value":1}, + {"Name":"Used", "Value":2}, + {"Name":"Not tracked+Diff", "Value":3}, + {"Name":"Tracked+Diff", "Value":4}, + {"Name":"Used+Diff", "Value":5} ] }, { - "Name":"SIMNET_EVENT_COMMAND", + "Name":"SBAS_SV", "MaxValue":255, "EnumValues":[ - {"Name":"Alarm", "Value":1}, - {"Name":"AP command", "Value":2}, - {"Name":"Autopilot", "Value":255} + {"Name":"120", "Value":0}, + {"Name":"121", "Value":1}, + {"Name":"122", "Value":2}, + {"Name":"123", "Value":3}, + {"Name":"124", "Value":4}, + {"Name":"125", "Value":5}, + {"Name":"126", "Value":6}, + {"Name":"127", "Value":7}, + {"Name":"128", "Value":8}, + {"Name":"129", "Value":9}, + {"Name":"130", "Value":10}, + {"Name":"131", "Value":11}, + {"Name":"132", "Value":12}, + {"Name":"133", "Value":13}, + {"Name":"134", "Value":14}, + {"Name":"135", "Value":15}, + {"Name":"136", "Value":16}, + {"Name":"137", "Value":17}, + {"Name":"138", "Value":18} ] }, { - "Name":"SIMNET_NIGHT_MODE", + "Name":"SEATALK1_COMMAND", "MaxValue":255, "EnumValues":[ - {"Name":"Day", "Value":2}, - {"Name":"Night", "Value":4} + {"Name":"Depth Below Transducer", "Value":0}, + {"Name":"Equipment ID", "Value":1}, + {"Name":"Engine RPM and PITCH", "Value":5}, + {"Name":"Apparent Wind Angle", "Value":16}, + {"Name":"Apparent Wind Speed", "Value":17}, + {"Name":"Speed through water", "Value":32}, + {"Name":"Trip Mileage", "Value":33}, + {"Name":"Total Mileage", "Value":34}, + {"Name":"Water temperature (ST50)", "Value":35}, + {"Name":"Display units for Mileage & Speed", "Value":36}, + {"Name":"Total & Trip Log", "Value":37}, + {"Name":"Speed through water (with average)", "Value":38}, + {"Name":"Water temperature", "Value":39}, + {"Name":"Set lamp Intensity", "Value":48}, + {"Name":"Cancel MOB (Man Over Board) condition", "Value":54}, + {"Name":"Codelock data", "Value":56}, + {"Name":"LAT position", "Value":80}, + {"Name":"LON position", "Value":81}, + {"Name":"Speed over Ground", "Value":82}, + {"Name":"Course over Ground (COG)", "Value":83}, + {"Name":"GMT-time", "Value":84}, + {"Name":"TRACK keystroke on GPS unit", "Value":85}, + {"Name":"Date", "Value":86}, + {"Name":"Sat Info", "Value":87}, + {"Name":"LAT/LON (raw unfiltered)", "Value":88}, + {"Name":"Set Count Down Timer", "Value":89}, + {"Name":"Issued by E-80 multifunction display at initialization", "Value":97}, + {"Name":"Select Fathom display units for depth display", "Value":101}, + {"Name":"Wind alarm", "Value":102}, + {"Name":"Alarm acknowledgment keystroke", "Value":104}, + {"Name":"Second equipment-ID datagram", "Value":108}, + {"Name":"MOB (Man Over Board)", "Value":110}, + {"Name":"Keystroke on Raymarine A25006 ST60 Maxiview Remote Control", "Value":112}, + {"Name":"Set Lamp Intensity", "Value":128}, + {"Name":"Sent by course computer during setup", "Value":129}, + {"Name":"Target waypoint name", "Value":130}, + {"Name":"Sent by course computer", "Value":131}, + {"Name":"Compass heading Autopilot course and Rudder position", "Value":132}, + {"Name":"Navigation to waypoint information", "Value":133}, + {"Name":"Keystroke", "Value":134}, + {"Name":"Set Response level", "Value":135}, + {"Name":"Autopilot Parameter", "Value":136}, + {"Name":"Compass heading sent by ST40 compass instrument", "Value":137}, + {"Name":"Device Indentification", "Value":144}, + {"Name":"Set Rudder gain", "Value":145}, + {"Name":"Set Autopilot Parameter", "Value":146}, + {"Name":"Enter AP-Setup", "Value":147}, + {"Name":"Replaces command 84 while autopilot is in value setting mode", "Value":149}, + {"Name":"Compass variation", "Value":153}, + {"Name":"Version String", "Value":154}, + {"Name":"Compass heading and Rudder position", "Value":156}, + {"Name":"Waypoint definition", "Value":158}, + {"Name":"Destination Waypoint Info", "Value":161}, + {"Name":"Arrival Info", "Value":162}, + {"Name":"Broadcast query/response to identify devices", "Value":164}, + {"Name":"GPS and DGPS Info", "Value":165}, + {"Name":"Unknown meaning", "Value":167}, + {"Name":"Alarm ON/OFF for Guard", "Value":168}, + {"Name":"Alarm ON/OFF for Guard", "Value":171} ] }, { - "Name":"SIMNET_NIGHT_MODE_COLOR", + "Name":"SEATALK_ALARM_GROUP", "MaxValue":255, "EnumValues":[ - {"Name":"Red", "Value":0}, - {"Name":"Green", "Value":1}, - {"Name":"Blue", "Value":2}, - {"Name":"White", "Value":3}, - {"Name":"Magenta", "Value":4} + {"Name":"Instrument", "Value":0}, + {"Name":"Autopilot", "Value":1}, + {"Name":"Radar", "Value":2}, + {"Name":"Chart Plotter", "Value":3}, + {"Name":"AIS", "Value":4}, + {"Name":"Bluetooth Accessory", "Value":5} ] }, { - "Name":"SIMNET_DISPLAY_GROUP", + "Name":"SEATALK_ALARM_ID", "MaxValue":255, "EnumValues":[ - {"Name":"Default", "Value":1}, - {"Name":"Group 1", "Value":2}, - {"Name":"Group 2", "Value":3}, - {"Name":"Group 3", "Value":4}, - {"Name":"Group 4", "Value":5}, - {"Name":"Group 5", "Value":6}, - {"Name":"Group 6", "Value":7} + {"Name":"No Alarm", "Value":0}, + {"Name":"Shallow Depth", "Value":1}, + {"Name":"Deep Depth", "Value":2}, + {"Name":"Shallow Anchor", "Value":3}, + {"Name":"Deep Anchor", "Value":4}, + {"Name":"Off Course", "Value":5}, + {"Name":"AWA High", "Value":6}, + {"Name":"AWA Low", "Value":7}, + {"Name":"AWS High", "Value":8}, + {"Name":"AWS Low", "Value":9}, + {"Name":"TWA High", "Value":10}, + {"Name":"TWA Low", "Value":11}, + {"Name":"TWS High", "Value":12}, + {"Name":"TWS Low", "Value":13}, + {"Name":"WP Arrival", "Value":14}, + {"Name":"Boat Speed High", "Value":15}, + {"Name":"Boat Speed Low", "Value":16}, + {"Name":"Sea Temperature High", "Value":17}, + {"Name":"Sea Temperature Low", "Value":18}, + {"Name":"Pilot Watch", "Value":19}, + {"Name":"Pilot Off Course", "Value":20}, + {"Name":"Pilot Wind Shift", "Value":21}, + {"Name":"Pilot Low Battery", "Value":22}, + {"Name":"Pilot Last Minute Of Watch", "Value":23}, + {"Name":"Pilot No NMEA Data", "Value":24}, + {"Name":"Pilot Large XTE", "Value":25}, + {"Name":"Pilot NMEA DataError", "Value":26}, + {"Name":"Pilot CU Disconnected", "Value":27}, + {"Name":"Pilot Auto Release", "Value":28}, + {"Name":"Pilot Way Point Advance", "Value":29}, + {"Name":"Pilot Drive Stopped", "Value":30}, + {"Name":"Pilot Type Unspecified", "Value":31}, + {"Name":"Pilot Calibration Required", "Value":32}, + {"Name":"Pilot Last Heading", "Value":33}, + {"Name":"Pilot No Pilot", "Value":34}, + {"Name":"Pilot Route Complete", "Value":35}, + {"Name":"Pilot Variable Text", "Value":36}, + {"Name":"GPS Failure", "Value":37}, + {"Name":"MOB", "Value":38}, + {"Name":"Seatalk1 Anchor", "Value":39}, + {"Name":"Pilot Swapped Motor Power", "Value":40}, + {"Name":"Pilot Standby Too Fast To Fish", "Value":41}, + {"Name":"Pilot No GPS Fix", "Value":42}, + {"Name":"Pilot No GPS COG", "Value":43}, + {"Name":"Pilot Start Up", "Value":44}, + {"Name":"Pilot Too Slow", "Value":45}, + {"Name":"Pilot No Compass", "Value":46}, + {"Name":"Pilot Rate Gyro Fault", "Value":47}, + {"Name":"Pilot Current Limit", "Value":48}, + {"Name":"Pilot Way Point Advance Port", "Value":49}, + {"Name":"Pilot Way Point Advance Stbd", "Value":50}, + {"Name":"Pilot No Wind Data", "Value":51}, + {"Name":"Pilot No Speed Data", "Value":52}, + {"Name":"Pilot Seatalk Fail1", "Value":53}, + {"Name":"Pilot Seatalk Fail2", "Value":54}, + {"Name":"Pilot Warning Too Fast To Fish", "Value":55}, + {"Name":"Pilot Auto Dockside Fail", "Value":56}, + {"Name":"Pilot Turn Too Fast", "Value":57}, + {"Name":"Pilot No Nav Data", "Value":58}, + {"Name":"Pilot Lost Waypoint Data", "Value":59}, + {"Name":"Pilot EEPROM Corrupt", "Value":60}, + {"Name":"Pilot Rudder Feedback Fail", "Value":61}, + {"Name":"Pilot Autolearn Fail1", "Value":62}, + {"Name":"Pilot Autolearn Fail2", "Value":63}, + {"Name":"Pilot Autolearn Fail3", "Value":64}, + {"Name":"Pilot Autolearn Fail4", "Value":65}, + {"Name":"Pilot Autolearn Fail5", "Value":66}, + {"Name":"Pilot Autolearn Fail6", "Value":67}, + {"Name":"Pilot Warning Cal Required", "Value":68}, + {"Name":"Pilot Warning OffCourse", "Value":69}, + {"Name":"Pilot Warning XTE", "Value":70}, + {"Name":"Pilot Warning Wind Shift", "Value":71}, + {"Name":"Pilot Warning Drive Short", "Value":72}, + {"Name":"Pilot Warning Clutch Short", "Value":73}, + {"Name":"Pilot Warning Solenoid Short", "Value":74}, + {"Name":"Pilot Joystick Fault", "Value":75}, + {"Name":"Pilot No Joystick Data", "Value":76}, + {"Name":"Pilot Invalid Command", "Value":80}, + {"Name":"AIS TX Malfunction", "Value":81}, + {"Name":"AIS Antenna VSWR fault", "Value":82}, + {"Name":"AIS Rx channel 1 malfunction", "Value":83}, + {"Name":"AIS Rx channel 2 malfunction", "Value":84}, + {"Name":"AIS No sensor position in use", "Value":85}, + {"Name":"AIS No valid SOG information", "Value":86}, + {"Name":"AIS No valid COG information", "Value":87}, + {"Name":"AIS 12V alarm", "Value":88}, + {"Name":"AIS 6V alarm", "Value":89}, + {"Name":"AIS Noise threshold exceeded channel A", "Value":90}, + {"Name":"AIS Noise threshold exceeded channel B", "Value":91}, + {"Name":"AIS Transmitter PA fault", "Value":92}, + {"Name":"AIS 3V3 alarm", "Value":93}, + {"Name":"AIS Rx channel 70 malfunction", "Value":94}, + {"Name":"AIS Heading lost/invalid", "Value":95}, + {"Name":"AIS internal GPS lost", "Value":96}, + {"Name":"AIS No sensor position", "Value":97}, + {"Name":"AIS Lock failure", "Value":98}, + {"Name":"AIS Internal GGA timeout", "Value":99}, + {"Name":"AIS Protocol stack restart", "Value":100}, + {"Name":"Pilot No IPS communications", "Value":101}, + {"Name":"Pilot Power-On or Sleep-Switch Reset While Engaged", "Value":102}, + {"Name":"Pilot Unexpected Reset While Engaged", "Value":103}, + {"Name":"AIS Dangerous Target", "Value":104}, + {"Name":"AIS Lost Target", "Value":105}, + {"Name":"AIS Safety Related Message (used to silence)", "Value":106}, + {"Name":"AIS Connection Lost", "Value":107}, + {"Name":"No Fix", "Value":108}, + {"Name":"Pilot Compass Calibration Complete", "Value":112}, + {"Name":"AIS Transmitter Disabled - MMSI Required", "Value":113}, + {"Name":"Bluetooth Device Low Battery", "Value":122}, + {"Name":"Bluetooth Device Sleep Mode", "Value":123}, + {"Name":"Bluetooth Device High Battery Temperature", "Value":124}, + {"Name":"Bluetooth Device Lost Communications", "Value":125} ] }, { - "Name":"SIMNET_HOUR_DISPLAY", + "Name":"SEATALK_ALARM_STATUS", "MaxValue":255, "EnumValues":[ - {"Name":"24 hour", "Value":0}, - {"Name":"12 hour", "Value":1} + {"Name":"Alarm condition not met", "Value":0}, + {"Name":"Alarm condition met and not silenced", "Value":1}, + {"Name":"Alarm condition met and silenced", "Value":2} ] }, { - "Name":"SIMNET_TIME_FORMAT", + "Name":"SEATALK_COMMAND", "MaxValue":255, "EnumValues":[ - {"Name":"MM/dd/yyyy", "Value":1}, - {"Name":"dd/MM/yyyy", "Value":2} + {"Name":"Seatalk1", "Value":129}, + {"Name":"Hull Type", "Value":22}, + {"Name":"Auto Turn", "Value":38}, + {"Name":"Settings", "Value":12}, + {"Name":"Rudder Limit", "Value":2}, + {"Name":"Rudder Damping", "Value":3}, + {"Name":"Rudder Offset", "Value":4}, + {"Name":"Reverse Rudder Reference", "Value":6}, + {"Name":"Cruise Speed", "Value":8}, + {"Name":"Power Steer Mode", "Value":11}, + {"Name":"Wind Type", "Value":15}, + {"Name":"Auto Turn", "Value":17}, + {"Name":"Calibration Lock", "Value":18}, + {"Name":"Gybe Inhibit", "Value":20}, + {"Name":"Compass Offset", "Value":21}, + {"Name":"Drive Type", "Value":23}, + {"Name":"Response Level", "Value":25}, + {"Name":"Max Compass Deviation", "Value":26}, + {"Name":"Hard Over Time", "Value":27}, + {"Name":"Debug Level", "Value":29}, + {"Name":"Compass Lock", "Value":33}, + {"Name":"Speed Input", "Value":34}, + {"Name":"Compass Linearisation Progress", "Value":35}, + {"Name":"ACU Debug Level", "Value":36}, + {"Name":"Wind Shift Alarm", "Value":37}, + {"Name":"Auto Turn Timeout", "Value":39} ] }, { - "Name":"SIMNET_BACKLIGHT_LEVEL", + "Name":"SEATALK_DEVICE_ID", "MaxValue":255, "EnumValues":[ - {"Name":"10% (Min)", "Value":0}, - {"Name":"Day mode", "Value":1}, - {"Name":"Night mode", "Value":4}, - {"Name":"20%", "Value":11}, - {"Name":"30%", "Value":22}, - {"Name":"40%", "Value":33}, - {"Name":"50%", "Value":44}, - {"Name":"60%", "Value":55}, - {"Name":"70%", "Value":66}, - {"Name":"80%", "Value":77}, - {"Name":"90%", "Value":88}, - {"Name":"100% (Max)", "Value":99} + {"Name":"S100", "Value":3}, + {"Name":"Course Computer", "Value":5} ] }, { - "Name":"SIMNET_AP_EVENTS", + "Name":"SEATALK_DISPLAY_COLOR", "MaxValue":255, "EnumValues":[ - {"Name":"Follow/Non Follow", "Value":2}, - {"Name":"Standby", "Value":6}, - {"Name":"Heading mode", "Value":9}, - {"Name":"Nav mode", "Value":10}, - {"Name":"No Drift mode", "Value":12}, - {"Name":"Non Follow Up mode", "Value":13}, - {"Name":"Follow Up mode", "Value":14}, - {"Name":"Wind mode", "Value":15}, - {"Name":"Tack", "Value":17}, - {"Name":"Square (Turn)", "Value":18}, - {"Name":"C-Turn", "Value":19}, - {"Name":"U-Turn", "Value":20}, - {"Name":"Spiral (Turn)", "Value":21}, - {"Name":"Zig Zag (Turn)", "Value":22}, - {"Name":"Lazy-S (Turn)", "Value":23}, - {"Name":"Depth (Turn)", "Value":24}, - {"Name":"Change course", "Value":26}, - {"Name":"Timer sync", "Value":61}, - {"Name":"Ping port end", "Value":112}, - {"Name":"Ping starboard end", "Value":113} + {"Name":"Day 1", "Value":0}, + {"Name":"Day 2", "Value":2}, + {"Name":"Red/Black", "Value":3}, + {"Name":"Inverse", "Value":4} ] }, { - "Name":"SIMNET_DIRECTION", + "Name":"SEATALK_KEYSTROKE", "MaxValue":255, "EnumValues":[ - {"Name":"Port", "Value":2}, - {"Name":"Starboard", "Value":3}, - {"Name":"Left rudder (port)", "Value":4}, - {"Name":"Right rudder (starboard)", "Value":5} + {"Name":"Auto", "Value":1}, + {"Name":"Standby", "Value":2}, + {"Name":"Wind", "Value":3}, + {"Name":"-1", "Value":5}, + {"Name":"-10", "Value":6}, + {"Name":"+1", "Value":7}, + {"Name":"+10", "Value":8}, + {"Name":"-1 and -10", "Value":33}, + {"Name":"+1 and +10", "Value":34}, + {"Name":"Track", "Value":35} ] }, { - "Name":"SIMNET_AP_COMMAND_TYPE", + "Name":"SEATALK_MESSAGE_ID", "MaxValue":255, "EnumValues":[ - {"Name":"Follow Up", "Value":2}, - {"Name":"AP Command", "Value":10} + {"Name":"Seatalk 1 Encoded", "Value":240}, + {"Name":"Display", "Value":140}, + {"Name":"Pilot Configuration", "Value":108} ] }, { - "Name":"SIMNET_ALARM", + "Name":"SEATALK_NETWORK_GROUP", "MaxValue":255, "EnumValues":[ - {"Name":"Low boat speed", "Value":57}, - {"Name":"No autopilot computer", "Value":56}, - {"Name":"Nav data missing", "Value":58} + {"Name":"None", "Value":0}, + {"Name":"Helm 1", "Value":1}, + {"Name":"Helm 2", "Value":2}, + {"Name":"Cockpit", "Value":3}, + {"Name":"Flybridge", "Value":4}, + {"Name":"Mast", "Value":5}, + {"Name":"Group 1", "Value":6}, + {"Name":"Group 2", "Value":7}, + {"Name":"Group 3", "Value":8}, + {"Name":"Group 4", "Value":9}, + {"Name":"Group 5", "Value":10} ] }, { - "Name":"FUSION_MESSAGE_ID", - "MaxValue":65535, + "Name":"SEATALK_PILOT_HULL_TYPE", + "MaxValue":255, "EnumValues":[ - {"Name":"Request Status", "Value":1}, - {"Name":"Set Source", "Value":2}, - {"Name":"Media Command", "Value":3}, - {"Name":"Tuner Command", "Value":5}, - {"Name":"Marine Tuner Command", "Value":6}, - {"Name":"Set Marine Tuner Squelch", "Value":7}, - {"Name":"Set Marine Tuner Scan Mode", "Value":8}, - {"Name":"Menu Action", "Value":9}, - {"Name":"Request Menu Count", "Value":10}, - {"Name":"Request Menu Item", "Value":11}, - {"Name":"Request Menu Lock ID", "Value":12}, - {"Name":"Set Aux Gain", "Value":13}, - {"Name":"Set Settings", "Value":15}, - {"Name":"DAB Updtate Command", "Value":16}, - {"Name":"Set Mute", "Value":17}, - {"Name":"Set Balance", "Value":18}, - {"Name":"Set Low Pass Filer", "Value":19}, - {"Name":"Set Sublevel", "Value":20}, - {"Name":"Set Equalizer", "Value":22}, - {"Name":"Set Volume Limit", "Value":23}, - {"Name":"Set Zone Volume", "Value":24}, - {"Name":"Set All Volumes", "Value":25}, - {"Name":"Set Line Level Control", "Value":27}, - {"Name":"Power", "Value":28}, - {"Name":"Set Device Name", "Value":29}, - {"Name":"Send Sirius Command", "Value":30}, - {"Name":"Set Sirius Parental", "Value":31}, - {"Name":"Send Factory Reset Command", "Value":33}, - {"Name":"Set Zone Name", "Value":34}, - {"Name":"Send Dvd Command", "Value":35}, - {"Name":"Dvd Press Ir Key", "Value":36}, - {"Name":"Send Select Sirius Team", "Value":39}, - {"Name":"Send Select Sirius Artist", "Value":40}, - {"Name":"Send Sirius Sport Alert User Action", "Value":41}, - {"Name":"Send Sirius Artist Song User Action", "Value":45}, - {"Name":"Send Multiroom Command", "Value":50}, - {"Name":"Get Multiroom Device Record", "Value":51}, - {"Name":"Scan Multirooom Devices", "Value":52}, - {"Name":"Send File Transfer", "Value":53}, - {"Name":"Set Loud", "Value":54}, - {"Name":"Fapi Set Source Multiroom Enabled", "Value":56}, - {"Name":"Request Head Unit Dsp Settings", "Value":57}, - {"Name":"Send Transfer Status", "Value":64}, - {"Name":"Fapi Get Server Info", "Value":65}, - {"Name":"Fapi Set Source Enabled", "Value":69}, - {"Name":"Fapi Set Source Name", "Value":70}, - {"Name":"Send External Amp Gain", "Value":73}, - {"Name":"Send Internal Amp Gain", "Value":74}, - {"Name":"Send Mono", "Value":75} + {"Name":"Sail", "Value":0}, + {"Name":"Sail (slow turn)", "Value":1}, + {"Name":"Sail Catamaran", "Value":2}, + {"Name":"Power (slow turn)", "Value":3}, + {"Name":"Power (fast turn)", "Value":4}, + {"Name":"Power", "Value":8} ] }, { - "Name":"FUSION_PLAY_STATUS", + "Name":"SEATALK_PILOT_MODE", + "MaxValue":255, + "EnumValues":[ + {"Name":"Standby", "Value":64}, + {"Name":"Auto", "Value":66}, + {"Name":"Wind", "Value":70}, + {"Name":"Track", "Value":74} + ] + }, + { + "Name":"SEATALK_PILOT_MODE_16", "MaxValue":65535, "EnumValues":[ - {"Name":"Invalid", "Value":0}, - {"Name":"Playing", "Value":1}, - {"Name":"Paused", "Value":2}, - {"Name":"Stopped", "Value":3}, - {"Name":"Skip Forward", "Value":4}, - {"Name":"Skip Rewind", "Value":5} + {"Name":"Standby", "Value":0}, + {"Name":"Auto, compass commanded", "Value":64}, + {"Name":"Vane, Wind Mode", "Value":256}, + {"Name":"Track Mode", "Value":384}, + {"Name":"No Drift, COG referenced (In track, course changes)", "Value":385} ] }, { - "Name":"FUSION_SOURCE_TYPE", + "Name":"SEATALK_SHARED", "MaxValue":255, "EnumValues":[ - {"Name":"AM", "Value":0}, - {"Name":"FM", "Value":1}, - {"Name":"Aux", "Value":2}, - {"Name":"Sirius", "Value":3}, - {"Name":"Ipod", "Value":4}, - {"Name":"USB", "Value":5}, - {"Name":"DVD", "Value":6}, - {"Name":"VHF", "Value":7}, - {"Name":"Invalid", "Value":8}, - {"Name":"MTP", "Value":9}, - {"Name":"Bluetooth", "Value":10}, - {"Name":"ARC", "Value":11}, - {"Name":"Android", "Value":12}, - {"Name":"Pandora", "Value":13}, - {"Name":"DAB", "Value":14}, - {"Name":"AirPlay", "Value":15}, - {"Name":"UPNP", "Value":16}, - {"Name":"Unknown", "Value":17} + {"Name":"Shared", "Value":1}, + {"Name":"Not Shared", "Value":2} ] }, { - "Name":"FUSION_SIRIUS_COM_STATE", - "MaxValue":255, + "Name":"SERIAL_BIT_RATE", + "MaxValue":31, "EnumValues":[ - {"Name":"Unknown", "Value":255}, - {"Name":"Off", "Value":1}, - {"Name":"Initialising", "Value":2}, - {"Name":"On", "Value":3} + {"Name":"25", "Value":0}, + {"Name":"50", "Value":1}, + {"Name":"100", "Value":2}, + {"Name":"200", "Value":3}, + {"Name":"300", "Value":4}, + {"Name":"600", "Value":5}, + {"Name":"1200", "Value":6}, + {"Name":"2400", "Value":7}, + {"Name":"4800", "Value":8}, + {"Name":"9600", "Value":9}, + {"Name":"19200", "Value":10}, + {"Name":"38400", "Value":11}, + {"Name":"57600", "Value":12} + ] + }, + { + "Name":"SERIAL_DETECTION_MODE", + "MaxValue":7, + "EnumValues":[ + {"Name":"Auto bit rate", "Value":0}, + {"Name":"Manual bit rate", "Value":1} ] }, { - "Name":"FUSION_SIRIUS_ALERT", + "Name":"SHIP_TYPE", "MaxValue":255, "EnumValues":[ - {"Name":"Unknown", "Value":255}, - {"Name":"None", "Value":1}, - {"Name":"Antenna", "Value":2}, - {"Name":"NoSignal", "Value":3}, - {"Name":"Subscription Update", "Value":4} + {"Name":"Unavailable", "Value":0}, + {"Name":"Wing In Ground", "Value":20}, + {"Name":"Wing In Ground (hazard cat X)", "Value":21}, + {"Name":"Wing In Ground (hazard cat Y)", "Value":22}, + {"Name":"Wing In Ground (hazard cat Z)", "Value":23}, + {"Name":"Wing In Ground (hazard cat OS)", "Value":24}, + {"Name":"Wing In Ground (no additional information)", "Value":29}, + {"Name":"Fishing", "Value":30}, + {"Name":"Towing", "Value":31}, + {"Name":"Towing exceeds 200m or wider than 25m", "Value":32}, + {"Name":"Engaged in dredging or underwater operations", "Value":33}, + {"Name":"Engaged in diving operations", "Value":34}, + {"Name":"Engaged in military operations", "Value":35}, + {"Name":"Sailing", "Value":36}, + {"Name":"Pleasure", "Value":37}, + {"Name":"High speed craft", "Value":40}, + {"Name":"High speed craft (hazard cat X)", "Value":41}, + {"Name":"High speed craft (hazard cat Y)", "Value":42}, + {"Name":"High speed craft (hazard cat Z)", "Value":43}, + {"Name":"High speed craft (hazard cat OS)", "Value":44}, + {"Name":"High speed craft (no additional information)", "Value":49}, + {"Name":"Pilot vessel", "Value":50}, + {"Name":"SAR", "Value":51}, + {"Name":"Tug", "Value":52}, + {"Name":"Port tender", "Value":53}, + {"Name":"Anti-pollution", "Value":54}, + {"Name":"Law enforcement", "Value":55}, + {"Name":"Spare", "Value":56}, + {"Name":"Spare #2", "Value":57}, + {"Name":"Medical", "Value":58}, + {"Name":"Ships and aircraft of States not parties to an armed conflict", "Value":59}, + {"Name":"Passenger ship", "Value":60}, + {"Name":"Passenger ship (hazard cat X)", "Value":61}, + {"Name":"Passenger ship (hazard cat Y)", "Value":62}, + {"Name":"Passenger ship (hazard cat Z)", "Value":63}, + {"Name":"Passenger ship (hazard cat OS)", "Value":64}, + {"Name":"Passenger ship (no additional information)", "Value":69}, + {"Name":"Cargo ship", "Value":70}, + {"Name":"Cargo ship (hazard cat X)", "Value":71}, + {"Name":"Cargo ship (hazard cat Y)", "Value":72}, + {"Name":"Cargo ship (hazard cat Z)", "Value":73}, + {"Name":"Cargo ship (hazard cat OS)", "Value":74}, + {"Name":"Cargo ship (no additional information)", "Value":79}, + {"Name":"Tanker", "Value":80}, + {"Name":"Tanker (hazard cat X)", "Value":81}, + {"Name":"Tanker (hazard cat Y)", "Value":82}, + {"Name":"Tanker (hazard cat Z)", "Value":83}, + {"Name":"Tanker (hazard cat OS)", "Value":84}, + {"Name":"Tanker (no additional information)", "Value":89}, + {"Name":"Other", "Value":90}, + {"Name":"Other (hazard cat X)", "Value":91}, + {"Name":"Other (hazard cat Y)", "Value":92}, + {"Name":"Other (hazard cat Z)", "Value":93}, + {"Name":"Other (hazard cat OS)", "Value":94}, + {"Name":"Other (no additional information)", "Value":99} ] }, { - "Name":"FUSION_SIRIUS_TUNING_MODE", + "Name":"SIMNET_ALARM_COMMAND", "MaxValue":255, "EnumValues":[ - {"Name":"Normal", "Value":1}, - {"Name":"Category", "Value":2}, - {"Name":"Preset", "Value":3} + {"Name":"Deactivate", "Value":56}, + {"Name":"Activate", "Value":57}, + {"Name":"Acknowledge", "Value":58}, + {"Name":"Silence", "Value":68}, + {"Name":"Tack/Gybe Confirm", "Value":88}, + {"Name":"Alarm History", "Value":104}, + {"Name":"MOB Activated", "Value":107}, + {"Name":"MOB Cancelled", "Value":108} ] }, { - "Name":"FUSION_STATUS_MESSAGE_ID", + "Name":"SIMNET_ALARM_ID", "MaxValue":65535, "EnumValues":[ - {"Name":"Unknown", "Value":0}, - {"Name":"API Version", "Value":32769}, - {"Name":"Source", "Value":32770}, - {"Name":"Source Count", "Value":32771}, - {"Name":"Track Info", "Value":32772}, - {"Name":"Track Title", "Value":32773}, - {"Name":"Track Artist", "Value":32774}, - {"Name":"Track Album", "Value":32775}, - {"Name":"Cover Art", "Value":32776}, - {"Name":"Track Progress", "Value":32777}, - {"Name":"Tuner Align", "Value":32778}, - {"Name":"Tuner", "Value":32779}, - {"Name":"Marine Tuner", "Value":32780}, - {"Name":"Marine Squelch", "Value":32781}, - {"Name":"Marine Scan Mode", "Value":32782}, - {"Name":"Menu Action", "Value":32783}, - {"Name":"Menu Count", "Value":32784}, - {"Name":"Menu Item", "Value":32785}, - {"Name":"Menu Lock ID", "Value":32786}, - {"Name":"Aux Gain", "Value":32787}, - {"Name":"Setting", "Value":32788}, - {"Name":"Settings", "Value":32789}, - {"Name":"Update Firmware Result", "Value":32790}, - {"Name":"Mute", "Value":32791}, - {"Name":"Balance", "Value":32792}, - {"Name":"Low Pass Filter", "Value":32793}, - {"Name":"Sublevels", "Value":32794}, - {"Name":"Tone", "Value":32795}, - {"Name":"Volume Limits", "Value":32796}, - {"Name":"Volume", "Value":32797}, - {"Name":"Capabilities", "Value":32798}, - {"Name":"Line Level Control", "Value":32799}, - {"Name":"Power", "Value":32800}, - {"Name":"Unit Name", "Value":32801}, - {"Name":"Sirius", "Value":32802}, - {"Name":"SiriusXM Preset Event", "Value":32803}, - {"Name":"SiriusXM Channel", "Value":32804}, - {"Name":"SiriusXM Title", "Value":32805}, - {"Name":"SiriusXM Artist", "Value":32806}, - {"Name":"SiriusXM Genre", "Value":32807}, - {"Name":"SiriusXM Category", "Value":32808}, - {"Name":"SiriusXm Signal", "Value":32809}, - {"Name":"SiriusXM Parental Request", "Value":32810}, - {"Name":"SiriusXM Diagnostics", "Value":32811}, - {"Name":"SiriusXM Presets", "Value":32812}, - {"Name":"Zone Name", "Value":32813}, - {"Name":"IP Setting", "Value":32819}, - {"Name":"Multiroom", "Value":32824}, - {"Name":"Multiroom Status", "Value":32825}, - {"Name":"System Capabilities", "Value":32829}, - {"Name":"Part Number", "Value":32830}, - {"Name":"Processing Bypass", "Value":32832}, - {"Name":"Server Info", "Value":32846}, - {"Name":"RDS Data", "Value":32850}, - {"Name":"Ignition Switch State", "Value":32859}, - {"Name":"Mono", "Value":32862}, - {"Name":"Speed Volume Current Speed", "Value":32863}, - {"Name":"Zone Capabilities Extended", "Value":32865} + {"Name":"Shallow water", "Value":10}, + {"Name":"Deep water", "Value":11}, + {"Name":"Anchor depth", "Value":12}, + {"Name":"True wind shift", "Value":13}, + {"Name":"True wind high", "Value":14}, + {"Name":"True wind low", "Value":15}, + {"Name":"Low boat speed", "Value":16}, + {"Name":"High voltage", "Value":17}, + {"Name":"Low voltage", "Value":18}, + {"Name":"Depth data missing", "Value":19}, + {"Name":"Wind data missing", "Value":20}, + {"Name":"Nav data missing", "Value":21}, + {"Name":"Heading missing", "Value":22}, + {"Name":"XTE", "Value":23}, + {"Name":"Rudder data missing", "Value":24}, + {"Name":"Rudder controller fault", "Value":25}, + {"Name":"No rudder response", "Value":26}, + {"Name":"Rudder drive overload", "Value":27}, + {"Name":"High internal temperature", "Value":28}, + {"Name":"AP clutch overload", "Value":29}, + {"Name":"AP clutch disengaged", "Value":30}, + {"Name":"High drive supply", "Value":31}, + {"Name":"Low drive supply", "Value":32}, + {"Name":"No active autopilot control unit", "Value":33}, + {"Name":"No autopilot computer", "Value":34}, + {"Name":"Memory fail", "Value":35}, + {"Name":"Water temp missing", "Value":36}, + {"Name":"Low water temp", "Value":37}, + {"Name":"High water temp", "Value":38}, + {"Name":"Water temp rate", "Value":39}, + {"Name":"Fish", "Value":40}, + {"Name":"No GPS fix", "Value":41}, + {"Name":"WAAS/DGPS", "Value":42}, + {"Name":"Arrival", "Value":45}, + {"Name":"Anchor", "Value":46}, + {"Name":"Fuel low", "Value":47}, + {"Name":"Fuel high", "Value":48}, + {"Name":"Tank low", "Value":49}, + {"Name":"Tank high", "Value":50}, + {"Name":"BEP", "Value":51}, + {"Name":"Waypoint radius", "Value":52}, + {"Name":"CPA", "Value":53}, + {"Name":"AIS range to vessel", "Value":54}, + {"Name":"AIS vessel lost", "Value":55}, + {"Name":"Vessel message", "Value":56}, + {"Name":"Lightning", "Value":57}, + {"Name":"Severe weather", "Value":58}, + {"Name":"Storm", "Value":59}, + {"Name":"Engine Check", "Value":61}, + {"Name":"Engine over temperature", "Value":62}, + {"Name":"Engine low oil pressure", "Value":63}, + {"Name":"Engine low oil level", "Value":64}, + {"Name":"Engine low fuel pressure", "Value":65}, + {"Name":"Engine low voltage", "Value":66}, + {"Name":"Engine low coolant level", "Value":67}, + {"Name":"Engine water flow", "Value":68}, + {"Name":"Engine water in fuel", "Value":69}, + {"Name":"Engine charge", "Value":70}, + {"Name":"Engine preheat", "Value":71}, + {"Name":"Engine high boost pressure", "Value":72}, + {"Name":"Engine rev limit", "Value":73}, + {"Name":"Engine EGR system", "Value":74}, + {"Name":"Engine throttle position", "Value":75}, + {"Name":"Engine emergency stop", "Value":76}, + {"Name":"Engine warning level 1", "Value":77}, + {"Name":"Engine warning level 2", "Value":78}, + {"Name":"Engine power reduction", "Value":79}, + {"Name":"Engine maintenance", "Value":80}, + {"Name":"Engine comm error", "Value":81}, + {"Name":"Engine throttle", "Value":82}, + {"Name":"Engine start protect", "Value":83}, + {"Name":"Engine shutting down", "Value":84}, + {"Name":"Transmission Check", "Value":85}, + {"Name":"Transmission over temperature", "Value":86}, + {"Name":"Transmission low oil pressure", "Value":87}, + {"Name":"Transmission low oil level", "Value":88}, + {"Name":"Sail drive", "Value":89}, + {"Name":"Fresh water low", "Value":96}, + {"Name":"Fresh water high", "Value":97}, + {"Name":"Gray water low", "Value":98}, + {"Name":"Gray water high", "Value":99}, + {"Name":"Live well low", "Value":100}, + {"Name":"Live well high", "Value":101}, + {"Name":"Oil low", "Value":102}, + {"Name":"Oil high", "Value":103}, + {"Name":"Black water low", "Value":104}, + {"Name":"Black water high", "Value":105}, + {"Name":"Weather data missing", "Value":106}, + {"Name":"AP Position data missing", "Value":107}, + {"Name":"AP Speed data missing", "Value":108}, + {"Name":"AP Depth data missing", "Value":109}, + {"Name":"AP Heading data missing", "Value":110}, + {"Name":"AP Nav data missing", "Value":111}, + {"Name":"AP Off course", "Value":112}, + {"Name":"AP Rudder data missing", "Value":113}, + {"Name":"AP Wind data missing", "Value":114}, + {"Name":"Radar guard zone", "Value":115}, + {"Name":"MARPA target lost", "Value":116}, + {"Name":"MARPA unavailable", "Value":117}, + {"Name":"Dangerous vessel", "Value":118}, + {"Name":"Radar error", "Value":119}, + {"Name":"CZone critical", "Value":120}, + {"Name":"CZone important", "Value":121}, + {"Name":"CZone standard", "Value":122}, + {"Name":"CZone warning", "Value":123}, + {"Name":"True wind shift", "Value":124}, + {"Name":"EVC Com Error", "Value":125}, + {"Name":"EVC override", "Value":126}, + {"Name":"High drive temperature", "Value":127}, + {"Name":"Drive inhibit", "Value":128}, + {"Name":"CAN bus supply overload", "Value":129}, + {"Name":"Drive ref voltage missing", "Value":130}, + {"Name":"Rudder limit", "Value":131}, + {"Name":"Compass difference", "Value":132}, + {"Name":"AP Low boat speed", "Value":133}, + {"Name":"Monitor compass missing", "Value":134}, + {"Name":"Cross track distance limit", "Value":135}, + {"Name":"End of route", "Value":137}, + {"Name":"Compass alignment", "Value":138}, + {"Name":"R.A.I.M", "Value":139}, + {"Name":"Off heading", "Value":141}, + {"Name":"Supply voltage", "Value":142}, + {"Name":"Low CAN bus voltage", "Value":143}, + {"Name":"CAN bus failure", "Value":144}, + {"Name":"Drive ready missing", "Value":145}, + {"Name":"Drive computer missing", "Value":146}, + {"Name":"External mode illegal", "Value":147}, + {"Name":"Rudder too slow", "Value":148}, + {"Name":"Wheel over", "Value":149}, + {"Name":"Thruster inhibited", "Value":150}, + {"Name":"Check heading", "Value":151}, + {"Name":"True wind speed high", "Value":152}, + {"Name":"Override", "Value":153}, + {"Name":"Speed through water rationality fault", "Value":154}, + {"Name":"No drives available", "Value":155}, + {"Name":"Fuel remaining low", "Value":156}, + {"Name":"Fuel remaining high", "Value":157}, + {"Name":"Generator Check", "Value":158}, + {"Name":"Generator over temperature", "Value":159}, + {"Name":"Generator low oil pressure", "Value":160}, + {"Name":"Generator low oil level", "Value":161}, + {"Name":"Generator low fuel pressure", "Value":162}, + {"Name":"Generator low voltage", "Value":163}, + {"Name":"Generator low coolant level", "Value":164}, + {"Name":"Generator water flow", "Value":165}, + {"Name":"Generator water in fuel", "Value":166}, + {"Name":"Generator charge", "Value":167}, + {"Name":"Generator preheat", "Value":168}, + {"Name":"Generator high boost pressure", "Value":169}, + {"Name":"Generator rev limit", "Value":170}, + {"Name":"Generator EGR system", "Value":171}, + {"Name":"Generator throttle position", "Value":172}, + {"Name":"Generator emergency stop", "Value":173}, + {"Name":"Generator warning level 1", "Value":174}, + {"Name":"Generator warning level 2", "Value":175}, + {"Name":"Generator power reduction", "Value":176}, + {"Name":"Generator maintenance", "Value":177}, + {"Name":"Generator comm error", "Value":178}, + {"Name":"Generator throttle", "Value":179}, + {"Name":"Generator start protect", "Value":180}, + {"Name":"Generator shutting down", "Value":181}, + {"Name":"Shallow aft depth", "Value":182}, + {"Name":"Forward range", "Value":183}, + {"Name":"Alarm source missing", "Value":245}, + {"Name":"External", "Value":246}, + {"Name":"EVC Com Error", "Value":247}, + {"Name":"Wind sensor battery low", "Value":248}, + {"Name":"Gasoline low", "Value":266}, + {"Name":"Gasoline high", "Value":267}, + {"Name":"Charging System", "Value":268}, + {"Name":"Seawater Flow", "Value":269}, + {"Name":"Water in Drive Seal", "Value":270}, + {"Name":"Turnover", "Value":272}, + {"Name":"Helm ECU Detect Failure", "Value":273}, + {"Name":"Joystick ECU Detect Failure", "Value":274}, + {"Name":"Drive ECU Detect Failure", "Value":275}, + {"Name":"Hot Transmission", "Value":276}, + {"Name":"Low Gear Oil Pressure", "Value":277}, + {"Name":"Low Drive Lub Oil Level", "Value":278}, + {"Name":"Check Thermostat", "Value":285}, + {"Name":"Track offset active", "Value":287}, + {"Name":"Navigation Not Supported", "Value":385} ] }, { - "Name":"SONICHUB_CONTROL", + "Name":"SIMNET_AP_EVENTS", "MaxValue":255, "EnumValues":[ - {"Name":"Set", "Value":0}, - {"Name":"Ack", "Value":128} + {"Name":"Follow/Non Follow", "Value":2}, + {"Name":"Standby", "Value":6}, + {"Name":"Heading mode", "Value":9}, + {"Name":"Nav mode", "Value":10}, + {"Name":"No Drift mode", "Value":12}, + {"Name":"Non Follow Up mode", "Value":13}, + {"Name":"Follow Up mode", "Value":14}, + {"Name":"Wind mode", "Value":15}, + {"Name":"Tack", "Value":17}, + {"Name":"Square (Turn)", "Value":18}, + {"Name":"C-Turn", "Value":19}, + {"Name":"U-Turn", "Value":20}, + {"Name":"Spiral (Turn)", "Value":21}, + {"Name":"Zig Zag (Turn)", "Value":22}, + {"Name":"Lazy-S (Turn)", "Value":23}, + {"Name":"Depth (Turn)", "Value":24}, + {"Name":"Change course", "Value":26}, + {"Name":"Timer sync", "Value":61}, + {"Name":"MOB Activated", "Value":107}, + {"Name":"MOB Deactivated", "Value":108}, + {"Name":"Ping port end", "Value":112}, + {"Name":"Ping starboard end", "Value":113} ] }, { - "Name":"SONICHUB_SOURCE", + "Name":"SIMNET_AP_MODE", "MaxValue":255, "EnumValues":[ - {"Name":"AM", "Value":0}, - {"Name":"FM", "Value":1}, - {"Name":"iPod", "Value":2}, - {"Name":"USB", "Value":3}, - {"Name":"AUX", "Value":4}, - {"Name":"AUX 2", "Value":5}, - {"Name":"Mic", "Value":6} + {"Name":"Heading", "Value":2}, + {"Name":"Wind", "Value":3}, + {"Name":"Nav", "Value":10}, + {"Name":"No Drift", "Value":11} ] }, { - "Name":"ISO_CONTROL", + "Name":"SIMNET_AP_STATUS", "MaxValue":255, "EnumValues":[ - {"Name":"ACK", "Value":0}, - {"Name":"NAK", "Value":1}, - {"Name":"Access Denied", "Value":2}, - {"Name":"Address Busy", "Value":3} + {"Name":"Manual", "Value":2}, + {"Name":"Automatic", "Value":16} ] }, { - "Name":"ISO_COMMAND", + "Name":"SIMNET_AUTOPILOT_MODE", "MaxValue":255, "EnumValues":[ - {"Name":"ACK", "Value":0}, - {"Name":"RTS", "Value":16}, - {"Name":"CTS", "Value":17}, - {"Name":"EOM", "Value":19}, - {"Name":"BAM", "Value":32}, - {"Name":"Abort", "Value":255} + {"Name":"Standby", "Value":0}, + {"Name":"Heading", "Value":1}, + {"Name":"Mode 4", "Value":3}, + {"Name":"Wind", "Value":4}, + {"Name":"Non-Follow-Up", "Value":5}, + {"Name":"Navigation", "Value":6} ] }, { - "Name":"GROUP_FUNCTION", + "Name":"SIMNET_AUTOPILOT_MODE_CLASS", "MaxValue":255, "EnumValues":[ - {"Name":"Request", "Value":0}, - {"Name":"Command", "Value":1}, - {"Name":"Acknowledge", "Value":2}, - {"Name":"Read Fields", "Value":3}, - {"Name":"Read Fields Reply", "Value":4}, - {"Name":"Write Fields", "Value":5}, - {"Name":"Write Fields Reply", "Value":6} + {"Name":"Standby", "Value":0}, + {"Name":"Engaged", "Value":16} ] }, { - "Name":"AIRMAR_COMMAND", + "Name":"SIMNET_BACKLIGHT_LEVEL", "MaxValue":255, "EnumValues":[ - {"Name":"Attitude Offsets", "Value":32}, - {"Name":"Calibrate Compass", "Value":33}, - {"Name":"True Wind Options", "Value":34}, - {"Name":"Simulate Mode", "Value":35}, - {"Name":"Calibrate Depth", "Value":40}, - {"Name":"Calibrate Speed", "Value":41}, - {"Name":"Calibrate Temperature", "Value":42}, - {"Name":"Speed Filter", "Value":43}, - {"Name":"Temperature Filter", "Value":44}, - {"Name":"NMEA 2000 options", "Value":46} + {"Name":"10% (Min)", "Value":0}, + {"Name":"Day mode", "Value":1}, + {"Name":"Night mode", "Value":4}, + {"Name":"20%", "Value":11}, + {"Name":"30%", "Value":22}, + {"Name":"40%", "Value":33}, + {"Name":"50%", "Value":44}, + {"Name":"60%", "Value":55}, + {"Name":"70%", "Value":66}, + {"Name":"80%", "Value":77}, + {"Name":"90%", "Value":88}, + {"Name":"100% (Max)", "Value":99} ] }, { - "Name":"AIRMAR_DEPTH_QUALITY_FACTOR", - "MaxValue":15, + "Name":"SIMNET_BARO_PRESSURE_UNIT", + "MaxValue":255, "EnumValues":[ - {"Name":"Depth unlocked", "Value":0}, - {"Name":"Quality 10%", "Value":1}, - {"Name":"Quality 20%", "Value":2}, - {"Name":"Quality 30%", "Value":3}, - {"Name":"Quality 40%", "Value":4}, - {"Name":"Quality 50%", "Value":5}, - {"Name":"Quality 60%", "Value":6}, - {"Name":"Quality 70%", "Value":7}, - {"Name":"Quality 80%", "Value":8}, - {"Name":"Quality 90%", "Value":9}, - {"Name":"Quality 100%", "Value":10} + {"Name":"Millibar", "Value":0}, + {"Name":"Hectopascal", "Value":2}, + {"Name":"Inches of mercury", "Value":5} ] }, { - "Name":"PGN_ERROR_CODE", - "MaxValue":15, + "Name":"SIMNET_COMMAND", + "MaxValue":255, "EnumValues":[ - {"Name":"Acknowledge", "Value":0}, - {"Name":"PGN not supported", "Value":1}, - {"Name":"PGN not available", "Value":2}, - {"Name":"Access denied", "Value":3}, - {"Name":"Not supported", "Value":4}, - {"Name":"Tag not supported", "Value":5}, - {"Name":"Read or Write not supported", "Value":6} + {"Name":"Text", "Value":50} ] }, { - "Name":"AIRMAR_TRANSMISSION_INTERVAL", - "MaxValue":3, + "Name":"SIMNET_COMPASS_AUTOCAL_MODE", + "MaxValue":255, "EnumValues":[ - {"Name":"Measure interval", "Value":0}, - {"Name":"Requested by user", "Value":1} + {"Name":"Off", "Value":0}, + {"Name":"On", "Value":1}, + {"Name":"Auto locked", "Value":2}, + {"Name":"Auto", "Value":3} ] }, { - "Name":"MOB_POSITION_SOURCE", - "MaxValue":7, + "Name":"SIMNET_DATA_SOURCE", + "MaxValue":255, "EnumValues":[ - {"Name":"Position estimated by the vessel", "Value":0}, - {"Name":"Position reported by MOB emitter", "Value":1} + {"Name":"Heading", "Value":0}, + {"Name":"Navigation", "Value":1}, + {"Name":"Position", "Value":2}, + {"Name":"Apparent Wind", "Value":3}, + {"Name":"True Wind", "Value":4}, + {"Name":"Speed Through Water", "Value":5}, + {"Name":"Sea Temperature", "Value":6}, + {"Name":"Distance Log", "Value":7}, + {"Name":"Depth", "Value":8}, + {"Name":"Rudder Feedback", "Value":9}, + {"Name":"Monitor Compass", "Value":19}, + {"Name":"Position Backup", "Value":20}, + {"Name":"Boat Speed Backup", "Value":21}, + {"Name":"Air Temperature", "Value":22}, + {"Name":"Barometric Pressure", "Value":28}, + {"Name":"Heel Angle", "Value":30}, + {"Name":"Sailing Navigation", "Value":34}, + {"Name":"Trim Angle", "Value":35}, + {"Name":"Sailing", "Value":36}, + {"Name":"Aft Depth", "Value":37}, + {"Name":"Speed Log", "Value":38}, + {"Name":"RTCM Signal", "Value":39}, + {"Name":"RTCM Corrections", "Value":40}, + {"Name":"Autopilot", "Value":54}, + {"Name":"Autopilot Function Backup", "Value":59}, + {"Name":"Autopilot Control", "Value":104} ] }, { - "Name":"STEERING_MODE", - "MaxValue":7, + "Name":"SIMNET_DEPTH_UNIT", + "MaxValue":255, "EnumValues":[ - {"Name":"Main Steering", "Value":0}, - {"Name":"Non-Follow-Up Device", "Value":1}, - {"Name":"Follow-Up Device", "Value":2}, - {"Name":"Heading Control Standalone", "Value":3}, - {"Name":"Heading Control", "Value":4}, - {"Name":"Track Control", "Value":5} + {"Name":"Meters", "Value":0}, + {"Name":"Feet", "Value":1}, + {"Name":"Fathoms", "Value":2} ] }, { - "Name":"FUSION_RADIO_SOURCE", + "Name":"SIMNET_DEVICE_MODEL", "MaxValue":255, "EnumValues":[ - {"Name":"AM", "Value":0}, - {"Name":"FM", "Value":1} + {"Name":"AC", "Value":0}, + {"Name":"Other device", "Value":1}, + {"Name":"NAC", "Value":100} ] }, { - "Name":"FUSION_SETTING", - "MaxValue":4294967295, + "Name":"SIMNET_DEVICE_REPORT", + "MaxValue":255, "EnumValues":[ - {"Name":"Alpha Search Threshold", "Value":0}, - {"Name":"iPod Subtitles", "Value":1}, - {"Name":"Zone 2 Linked", "Value":2}, - {"Name":"Zone 2 Enabled", "Value":3}, - {"Name":"Zone 3 Enabled", "Value":4}, - {"Name":"Zone 4 Enabled", "Value":5}, - {"Name":"Telemute", "Value":6}, - {"Name":"Tuner Region", "Value":7}, - {"Name":"Marine Zone", "Value":8}, - {"Name":"USB repeat", "Value":9}, - {"Name":"USB shuffle", "Value":10}, - {"Name":"iPod Album Artwork", "Value":11}, - {"Name":"iPod repeat", "Value":12}, - {"Name":"iPod shuffle", "Value":13}, - {"Name":"AM Preset 0", "Value":14}, - {"Name":"AM Preset 1", "Value":15}, - {"Name":"AM Preset 2", "Value":16}, - {"Name":"AM Preset 3", "Value":17}, - {"Name":"AM Preset 4", "Value":18}, - {"Name":"AM Preset 5", "Value":19}, - {"Name":"AM Preset 6", "Value":20}, - {"Name":"AM Preset 7", "Value":21}, - {"Name":"AM Preset 8", "Value":22}, - {"Name":"AM Preset 9", "Value":23}, - {"Name":"AM Preset 10", "Value":24}, - {"Name":"AM Preset 11", "Value":25}, - {"Name":"AM Preset 12", "Value":26}, - {"Name":"AM Preset 13", "Value":27}, - {"Name":"AM Preset 14", "Value":28}, - {"Name":"FM Preset 0", "Value":29}, - {"Name":"FM Preset 1", "Value":30}, - {"Name":"FM Preset 2", "Value":31}, - {"Name":"FM Preset 3", "Value":32}, - {"Name":"FM Preset 4", "Value":33}, - {"Name":"FM Preset 5", "Value":34}, - {"Name":"FM Preset 6", "Value":35}, - {"Name":"FM Preset 7", "Value":36}, - {"Name":"FM Preset 8", "Value":37}, - {"Name":"FM Preset 9", "Value":38}, - {"Name":"FM Preset 10", "Value":39}, - {"Name":"FM Preset 11", "Value":40}, - {"Name":"FM Preset 12", "Value":41}, - {"Name":"FM Preset 13", "Value":42}, - {"Name":"FM Preset 14", "Value":43}, - {"Name":"VHF Preset 0", "Value":44}, - {"Name":"VHF Preset 1", "Value":45}, - {"Name":"VHF Preset 2", "Value":46}, - {"Name":"VHF Preset 3", "Value":47}, - {"Name":"VHF Preset 4", "Value":48}, - {"Name":"VHF Preset 5", "Value":49}, - {"Name":"VHF Preset 6", "Value":50}, - {"Name":"VHF Preset 7", "Value":51}, - {"Name":"VHF Preset 8", "Value":52}, - {"Name":"VHF Preset 9", "Value":53}, - {"Name":"VHF Preset 10", "Value":54}, - {"Name":"VHF Preset 11", "Value":55}, - {"Name":"VHF Preset 12", "Value":56}, - {"Name":"VHF Preset 13", "Value":57}, - {"Name":"VHF Preset 14", "Value":58}, - {"Name":"Clock Time", "Value":59}, - {"Name":"Clock Alarm", "Value":60}, - {"Name":"iPod Video Signal", "Value":61}, - {"Name":"iPod Monitor Aspect", "Value":62}, - {"Name":"Aux Name Index", "Value":63}, - {"Name":"AM Enabled", "Value":64}, - {"Name":"VHF Enabled", "Value":65}, - {"Name":"Language", "Value":66}, - {"Name":"Internal Amps On", "Value":67}, - {"Name":"MTP Repeat", "Value":68}, - {"Name":"MTP Shuffle", "Value":69}, - {"Name":"Id Accessory Source", "Value":70}, - {"Name":"NMEA Power", "Value":71}, - {"Name":"Low Power Mode", "Value":72}, - {"Name":"DVD region", "Value":73}, - {"Name":"Volume Zone Sync", "Value":74}, - {"Name":"Max Volume Start", "Value":75}, - {"Name":"BT Auto Connect", "Value":76}, - {"Name":"Null Setting", "Value":77} + {"Name":"Status", "Value":2}, + {"Name":"Send Status", "Value":3}, + {"Name":"Mode", "Value":10}, + {"Name":"Send Mode", "Value":11}, + {"Name":"Sailing Processor Status", "Value":23} ] }, { - "Name":"FUSION_REPEAT_STATUS", - "MaxValue":4294967295, + "Name":"SIMNET_DIRECTION", + "MaxValue":255, "EnumValues":[ - {"Name":"Off", "Value":0}, - {"Name":"One/track", "Value":1}, - {"Name":"All/album", "Value":2} + {"Name":"Port", "Value":2}, + {"Name":"Starboard", "Value":3}, + {"Name":"Left rudder (port)", "Value":4}, + {"Name":"Right rudder (starboard)", "Value":5} ] }, { - "Name":"AIRMAR_POST_CONTROL", - "MaxValue":1, + "Name":"SIMNET_DISTANCE_SMALL_UNIT", + "MaxValue":255, "EnumValues":[ - {"Name":"Report previous values", "Value":0}, - {"Name":"Generate new values", "Value":1} + {"Name":"Feet", "Value":0}, + {"Name":"Meters", "Value":1}, + {"Name":"Yards", "Value":2} ] }, { - "Name":"AIRMAR_POST_ID", + "Name":"SIMNET_DISTANCE_UNIT", "MaxValue":255, "EnumValues":[ - {"Name":"Format Code", "Value":1}, - {"Name":"Factory EEPROM", "Value":2}, - {"Name":"User EEPROM", "Value":3}, - {"Name":"Water Temperature Sensor", "Value":4}, - {"Name":"Sonar Transceiver", "Value":5}, - {"Name":"Speed sensor", "Value":6}, - {"Name":"Internal temperature sensor", "Value":7}, - {"Name":"Battery voltage sensor", "Value":8} + {"Name":"Nautical miles", "Value":0}, + {"Name":"Kilometers", "Value":1}, + {"Name":"Miles", "Value":2} ] }, { - "Name":"SONICHUB_TUNING", + "Name":"SIMNET_EVENT_TYPE", "MaxValue":255, "EnumValues":[ - {"Name":"Seeking up", "Value":1}, - {"Name":"Tuned", "Value":2}, - {"Name":"Seeking down", "Value":3} + {"Name":"Follow Up", "Value":2}, + {"Name":"AP Command", "Value":10}, + {"Name":"Timer", "Value":23}, + {"Name":"Siren", "Value":31}, + {"Name":"AIS vessel selected", "Value":36}, + {"Name":"Alarm", "Value":255} ] }, { - "Name":"SONICHUB_PLAYLIST", + "Name":"SIMNET_HEADING_UNIT", "MaxValue":255, "EnumValues":[ - {"Name":"Report", "Value":1}, - {"Name":"Next song", "Value":4}, - {"Name":"Previous song", "Value":6} + {"Name":"Magnetic", "Value":0}, + {"Name":"True", "Value":1} ] }, { - "Name":"FUSION_POWER_STATE", + "Name":"SIMNET_HOUR_DISPLAY", "MaxValue":255, "EnumValues":[ - {"Name":"On", "Value":1}, - {"Name":"Off", "Value":2} + {"Name":"24 hour", "Value":0}, + {"Name":"12 hour", "Value":1} ] }, { - "Name":"PRIORITY", - "MaxValue":15, + "Name":"SIMNET_KEY_OPERATION", + "MaxValue":255, "EnumValues":[ - {"Name":"0", "Value":0}, - {"Name":"1", "Value":1}, - {"Name":"2", "Value":2}, - {"Name":"3", "Value":3}, - {"Name":"4", "Value":4}, - {"Name":"5", "Value":5}, - {"Name":"6", "Value":6}, - {"Name":"7", "Value":7}, - {"Name":"Leave unchanged", "Value":8}, - {"Name":"Reset to default", "Value":9} + {"Name":"Read", "Value":0}, + {"Name":"Set", "Value":1}, + {"Name":"Reply", "Value":2} ] }, { - "Name":"DEVICE_TEMP_STATE", - "MaxValue":15, + "Name":"SIMNET_NETWORK_GROUP", + "MaxValue":255, "EnumValues":[ - {"Name":"Cold", "Value":0}, - {"Name":"Warm", "Value":1}, - {"Name":"Hot", "Value":2} + {"Name":"None", "Value":0}, + {"Name":"Default", "Value":1}, + {"Name":"Group 1", "Value":2}, + {"Name":"Group 2", "Value":3}, + {"Name":"Group 3", "Value":4}, + {"Name":"Group 4", "Value":5}, + {"Name":"Group 5", "Value":6}, + {"Name":"Group 6", "Value":7} ] }, { - "Name":"BANDG_DECIMALS", + "Name":"SIMNET_NIGHT_MODE", "MaxValue":255, "EnumValues":[ - {"Name":"0", "Value":0}, - {"Name":"1", "Value":1}, - {"Name":"2", "Value":2}, - {"Name":"3", "Value":3}, - {"Name":"4", "Value":4}, - {"Name":"Auto", "Value":254} + {"Name":"Day", "Value":2}, + {"Name":"Night", "Value":4} ] }, { - "Name":"GARMIN_COLOR_MODE", + "Name":"SIMNET_NIGHT_MODE_COLOR", "MaxValue":255, "EnumValues":[ - {"Name":"Day", "Value":0}, - {"Name":"Night", "Value":1}, - {"Name":"Color", "Value":13} + {"Name":"Red", "Value":0}, + {"Name":"Green", "Value":1}, + {"Name":"Blue", "Value":2}, + {"Name":"White", "Value":3}, + {"Name":"Magenta", "Value":4} ] }, { - "Name":"GARMIN_COLOR", + "Name":"SIMNET_PRESSURE_UNIT", "MaxValue":255, "EnumValues":[ - {"Name":"Day full color", "Value":0}, - {"Name":"Day high contrast", "Value":1}, - {"Name":"Night full color", "Value":2}, - {"Name":"Night red/black", "Value":3}, - {"Name":"Night green/black", "Value":4} + {"Name":"PSI", "Value":1}, + {"Name":"Kilopascal", "Value":3}, + {"Name":"Inches of mercury", "Value":5}, + {"Name":"Bar", "Value":6} ] }, { - "Name":"GARMIN_BACKLIGHT_LEVEL", + "Name":"SIMNET_SPEED_UNIT", "MaxValue":255, "EnumValues":[ - {"Name":"0%", "Value":0}, - {"Name":"5%", "Value":1}, - {"Name":"10%", "Value":2}, - {"Name":"15%", "Value":3}, - {"Name":"20%", "Value":4}, - {"Name":"25%", "Value":5}, - {"Name":"30%", "Value":6}, - {"Name":"35%", "Value":7}, - {"Name":"40%", "Value":8}, - {"Name":"45%", "Value":9}, - {"Name":"50%", "Value":10}, - {"Name":"55%", "Value":11}, - {"Name":"60%", "Value":12}, - {"Name":"65%", "Value":13}, - {"Name":"70%", "Value":14}, - {"Name":"75%", "Value":15}, - {"Name":"80%", "Value":16}, - {"Name":"85%", "Value":17}, - {"Name":"90%", "Value":18}, - {"Name":"95%", "Value":19}, - {"Name":"100%", "Value":20} + {"Name":"Knots", "Value":0}, + {"Name":"Kilometers per hour", "Value":1}, + {"Name":"Miles per hour", "Value":2} ] }, { - "Name":"SEATALK_PILOT_MODE_16", - "MaxValue":65535, + "Name":"SIMNET_TEMPERATURE_UNIT", + "MaxValue":255, "EnumValues":[ - {"Name":"Standby", "Value":0}, - {"Name":"Auto, compass commanded", "Value":64}, - {"Name":"Vane, Wind Mode", "Value":256}, - {"Name":"Track Mode", "Value":384}, - {"Name":"No Drift, COG referenced (In track, course changes)", "Value":385} + {"Name":"Celsius", "Value":0}, + {"Name":"Fahrenheit", "Value":1} ] }, { - "Name":"STATION_HEALTH", - "MaxValue":15, + "Name":"SIMNET_TIMER_EVENT", + "MaxValue":65535, "EnumValues":[ - {"Name":"Not Working", "Value":0}, - {"Name":"Unmonitored", "Value":1}, - {"Name":"Healthy Operational", "Value":2}, - {"Name":"Healthy Test Mode", "Value":3}, - {"Name":"Test Mode", "Value":4} + {"Name":"Race Timer Start", "Value":61}, + {"Name":"Race Timer Stop", "Value":62}, + {"Name":"Race Timer Sync", "Value":63}, + {"Name":"Race Timer Reset", "Value":64}, + {"Name":"Trip Timer Reset All", "Value":65}, + {"Name":"Trip Timer Enable", "Value":100}, + {"Name":"Trip Timer Disable", "Value":101} ] }, { - "Name":"SERIAL_BIT_RATE", - "MaxValue":31, + "Name":"SIMNET_TIME_FORMAT", + "MaxValue":255, "EnumValues":[ - {"Name":"25", "Value":0}, - {"Name":"50", "Value":1}, - {"Name":"100", "Value":2}, - {"Name":"200", "Value":3}, - {"Name":"300", "Value":4}, - {"Name":"600", "Value":5}, - {"Name":"1200", "Value":6}, - {"Name":"2400", "Value":7}, - {"Name":"4800", "Value":8}, - {"Name":"9600", "Value":9}, - {"Name":"19200", "Value":10}, - {"Name":"38400", "Value":11}, - {"Name":"57600", "Value":12} + {"Name":"MM/dd/yyyy", "Value":1}, + {"Name":"dd/MM/yyyy", "Value":2} ] }, { - "Name":"SERIAL_DETECTION_MODE", - "MaxValue":7, + "Name":"SIMNET_VOLUME_UNIT", + "MaxValue":255, "EnumValues":[ - {"Name":"Auto bit rate", "Value":0}, - {"Name":"Manual bit rate", "Value":1} + {"Name":"Liters", "Value":0}, + {"Name":"Gallons", "Value":1} ] }, { - "Name":"DIFFERENTIAL_SOURCE", - "MaxValue":15, + "Name":"SIMNET_WIND_SPEED_UNIT", + "MaxValue":255, "EnumValues":[ - {"Name":"Auto", "Value":0}, - {"Name":"Loran", "Value":1}, - {"Name":"MSK Beacon", "Value":2}, - {"Name":"FM Subcarrier", "Value":3}, - {"Name":"AIS", "Value":4}, - {"Name":"Ground based radio", "Value":5}, - {"Name":"SBAS", "Value":6}, - {"Name":"Satellite", "Value":7} + {"Name":"Knots", "Value":0}, + {"Name":"Meters per second", "Value":1}, + {"Name":"Miles per hour", "Value":2}, + {"Name":"Kilometers per hour", "Value":3} ] }, { - "Name":"DIFFERENTIAL_MODE", - "MaxValue":15, + "Name":"SONICHUB_COMMAND", + "MaxValue":255, "EnumValues":[ - {"Name":"Manual", "Value":0}, - {"Name":"Auto Power", "Value":1}, - {"Name":"Auto Range", "Value":2} + {"Name":"Init #2", "Value":1}, + {"Name":"AM Radio", "Value":4}, + {"Name":"Zone Info", "Value":5}, + {"Name":"Source", "Value":6}, + {"Name":"Source List", "Value":8}, + {"Name":"Control", "Value":9}, + {"Name":"FM Radio", "Value":12}, + {"Name":"Playlist", "Value":13}, + {"Name":"Track", "Value":14}, + {"Name":"Artist", "Value":15}, + {"Name":"Album", "Value":16}, + {"Name":"Menu Item", "Value":19}, + {"Name":"Zones", "Value":20}, + {"Name":"Max Volume", "Value":23}, + {"Name":"Volume", "Value":24}, + {"Name":"Init #1", "Value":25}, + {"Name":"Position", "Value":48}, + {"Name":"Init #3", "Value":50} ] }, { - "Name":"WP_POSITION_RESOLUTION", - "MaxValue":15, + "Name":"SONICHUB_CONTROL", + "MaxValue":255, "EnumValues":[ - {"Name":"more than 0.1 min", "Value":0}, - {"Name":"<0.01 .. 0.1] min", "Value":1}, - {"Name":"<0.001 .. 0.01] min", "Value":2}, - {"Name":"<0.0001 .. 0.001] min", "Value":3}, - {"Name":"<0 .. 0.0001] min", "Value":4} + {"Name":"Set", "Value":0}, + {"Name":"Ack", "Value":128} ] }, { - "Name":"WP_IDENTIFICATION_METHOD", - "MaxValue":3, + "Name":"SONICHUB_PLAYLIST", + "MaxValue":255, "EnumValues":[ - {"Name":"Waypoints in WP list", "Value":0}, - {"Name":"Waypoints embedded in route", "Value":1} + {"Name":"Report", "Value":1}, + {"Name":"Next song", "Value":4}, + {"Name":"Previous song", "Value":6} ] }, { - "Name":"WP_ROUTE_STATUS", - "MaxValue":15, + "Name":"SONICHUB_SOURCE", + "MaxValue":255, "EnumValues":[ - {"Name":"Active", "Value":0}, - {"Name":"Inactive", "Value":1}, - {"Name":"Deleted", "Value":2} + {"Name":"AM", "Value":0}, + {"Name":"FM", "Value":1}, + {"Name":"iPod", "Value":2}, + {"Name":"USB", "Value":3}, + {"Name":"AUX", "Value":4}, + {"Name":"AUX 2", "Value":5}, + {"Name":"Mic", "Value":6} ] }, { - "Name":"WP_NAVIGATION_METHOD", - "MaxValue":3, + "Name":"SONICHUB_TUNING", + "MaxValue":255, "EnumValues":[ - {"Name":"Great Circle", "Value":0}, - {"Name":"Rhumb Line", "Value":1} + {"Name":"Seeking up", "Value":1}, + {"Name":"Tuned", "Value":2}, + {"Name":"Seeking down", "Value":3} ] }, { - "Name":"INVERTER_MODE", - "MaxValue":15, + "Name":"SPEED_TYPE", + "MaxValue":3, "EnumValues":[ - {"Name":"Standalone", "Value":0}, - {"Name":"Series Master", "Value":1}, - {"Name":"Series Slave", "Value":2}, - {"Name":"Parallel Master", "Value":3}, - {"Name":"Parallel Slave", "Value":4} + {"Name":"Single speed", "Value":0}, + {"Name":"Dual speed", "Value":1}, + {"Name":"Proportional speed", "Value":2} ] }, { - "Name":"CERTIFICATION_LEVEL", - "MaxValue":255, + "Name":"STATION_HEALTH", + "MaxValue":15, "EnumValues":[ - {"Name":"Level A", "Value":0}, - {"Name":"Level B", "Value":1} + {"Name":"Not Working", "Value":0}, + {"Name":"Unmonitored", "Value":1}, + {"Name":"Healthy Operational", "Value":2}, + {"Name":"Healthy Test Mode", "Value":3}, + {"Name":"Test Mode", "Value":4} ] }, { - "Name":"AGS_MODE", + "Name":"STATION_TYPE", "MaxValue":15, "EnumValues":[ - {"Name":"Off", "Value":0}, - {"Name":"On", "Value":1}, - {"Name":"Automatic", "Value":2} + {"Name":"All types of mobile station", "Value":0}, + {"Name":"All types of Class B mobile station", "Value":2}, + {"Name":"SAR airborne mobile station", "Value":3}, + {"Name":"AtoN station", "Value":4}, + {"Name":"Class B CS shipborne mobile station", "Value":5}, + {"Name":"Inland waterways", "Value":6}, + {"Name":"Regional use 7", "Value":7}, + {"Name":"Regional use 8", "Value":8}, + {"Name":"Regional use 9", "Value":9} ] }, { - "Name":"AGS_OPERATING_STATE", - "MaxValue":15, + "Name":"STEERING_MODE", + "MaxValue":7, "EnumValues":[ - {"Name":"Quiet time", "Value":0}, - {"Name":"Auto on", "Value":1}, - {"Name":"Auto off", "Value":2}, - {"Name":"Manual On", "Value":3}, - {"Name":"Manual Off", "Value":4}, - {"Name":"Generator shutdown", "Value":5}, - {"Name":"External shutdown", "Value":6}, - {"Name":"Fault", "Value":7}, - {"Name":"Suspend", "Value":8}, - {"Name":"Not operating", "Value":9} + {"Name":"Main Steering", "Value":0}, + {"Name":"Non-Follow-Up Device", "Value":1}, + {"Name":"Follow-Up Device", "Value":2}, + {"Name":"Heading Control Standalone", "Value":3}, + {"Name":"Heading Control", "Value":4}, + {"Name":"Track Control", "Value":5} ] }, { - "Name":"AGS_GENERATING_STATE", + "Name":"SYSTEM_TIME", "MaxValue":15, "EnumValues":[ - {"Name":"Preheating", "Value":0}, - {"Name":"Start delay", "Value":1}, - {"Name":"Cranking", "Value":2}, - {"Name":"Starter cooling", "Value":3}, - {"Name":"Warming up", "Value":4}, - {"Name":"Cooling down", "Value":5}, - {"Name":"Spinning up", "Value":6}, - {"Name":"Shutdown bypass", "Value":7}, - {"Name":"Stopping", "Value":8}, - {"Name":"Running", "Value":9}, - {"Name":"Stopped", "Value":10}, - {"Name":"Crank delaty", "Value":11} + {"Name":"GPS", "Value":0}, + {"Name":"GLONASS", "Value":1}, + {"Name":"Radio Station", "Value":2}, + {"Name":"Local Cesium clock", "Value":3}, + {"Name":"Local Rubidium clock", "Value":4}, + {"Name":"Local Crystal clock", "Value":5} ] }, { - "Name":"AGS_ON_REASON", - "MaxValue":255, + "Name":"TANK_TYPE", + "MaxValue":15, "EnumValues":[ - {"Name":"Not on", "Value":0}, - {"Name":"DC voltage low", "Value":1}, - {"Name":"Battery state of charge low", "Value":2}, - {"Name":"AC current high", "Value":3}, - {"Name":"Contact closed", "Value":4}, - {"Name":"Manual on", "Value":5}, - {"Name":"Exercise", "Value":6}, - {"Name":"Non Quiet time", "Value":7}, - {"Name":"External on via AGS", "Value":8}, - {"Name":"External on via generator", "Value":9}, - {"Name":"Unable to stop", "Value":10} + {"Name":"Fuel", "Value":0}, + {"Name":"Water", "Value":1}, + {"Name":"Gray water", "Value":2}, + {"Name":"Live well", "Value":3}, + {"Name":"Oil", "Value":4}, + {"Name":"Black water", "Value":5} ] }, { - "Name":"AGS_OFF_REASON", - "MaxValue":255, + "Name":"TARGET_ACQUISITION", + "MaxValue":1, "EnumValues":[ - {"Name":"Not off", "Value":0}, - {"Name":"DC voltage high", "Value":1}, - {"Name":"Battery state of charge high", "Value":2}, - {"Name":"AC current low", "Value":3}, - {"Name":"Contact opened", "Value":4}, - {"Name":"Reached absorption", "Value":5}, - {"Name":"Reached float", "Value":6}, - {"Name":"Manual off", "Value":7}, - {"Name":"Max run time", "Value":8}, - {"Name":"Max auto cycle", "Value":9}, - {"Name":"Exercise done", "Value":10}, - {"Name":"Quiet time", "Value":11}, - {"Name":"External off via AGS", "Value":12}, - {"Name":"Safe mode", "Value":13}, - {"Name":"External off via generator", "Value":14}, - {"Name":"External shutdown", "Value":15}, - {"Name":"Auto off", "Value":16}, - {"Name":"Fault", "Value":17}, - {"Name":"Unable to start", "Value":18} + {"Name":"Manual", "Value":0}, + {"Name":"Automatic", "Value":1} ] }, { @@ -3633,179 +4717,246 @@ ] }, { - "Name":"POWER_MODE", - "MaxValue":1, + "Name":"TEMPERATURE_SOURCE", + "MaxValue":255, "EnumValues":[ - {"Name":"High", "Value":0}, - {"Name":"Low", "Value":1} + {"Name":"Sea Temperature", "Value":0}, + {"Name":"Outside Temperature", "Value":1}, + {"Name":"Inside Temperature", "Value":2}, + {"Name":"Engine Room Temperature", "Value":3}, + {"Name":"Main Cabin Temperature", "Value":4}, + {"Name":"Live Well Temperature", "Value":5}, + {"Name":"Bait Well Temperature", "Value":6}, + {"Name":"Refrigeration Temperature", "Value":7}, + {"Name":"Heating System Temperature", "Value":8}, + {"Name":"Dew Point Temperature", "Value":9}, + {"Name":"Apparent Wind Chill Temperature", "Value":10}, + {"Name":"Theoretical Wind Chill Temperature", "Value":11}, + {"Name":"Heat Index Temperature", "Value":12}, + {"Name":"Freezer Temperature", "Value":13}, + {"Name":"Exhaust Gas Temperature", "Value":14}, + {"Name":"Shaft Seal Temperature", "Value":15} ] }, { - "Name":"BROADCAST_INDICATOR", + "Name":"THRUSTER_DIRECTION_CONTROL", "MaxValue":15, "EnumValues":[ - {"Name":"Broadcast geo area message", "Value":0}, - {"Name":"Addressed message", "Value":1} + {"Name":"Off", "Value":0}, + {"Name":"Ready", "Value":1}, + {"Name":"To Port", "Value":2}, + {"Name":"To Starboard", "Value":3} ] }, { - "Name":"BANDWIDTH", - "MaxValue":1, + "Name":"THRUSTER_MOTOR_TYPE", + "MaxValue":15, "EnumValues":[ - {"Name":"Default", "Value":0}, - {"Name":"12.5 kHz", "Value":1} + {"Name":"12VDC", "Value":0}, + {"Name":"24VDC", "Value":1}, + {"Name":"48VDC", "Value":2}, + {"Name":"24VAC", "Value":3}, + {"Name":"Hydraulic", "Value":4} ] }, { - "Name":"FLOOD_STATE", - "MaxValue":7, + "Name":"THRUSTER_RETRACT_CONTROL", + "MaxValue":3, "EnumValues":[ - {"Name":"Flood", "Value":0}, - {"Name":"Slack", "Value":1}, - {"Name":"Ebb", "Value":2} + {"Name":"Off", "Value":0}, + {"Name":"Extend", "Value":1}, + {"Name":"Retract", "Value":2} ] }, { - "Name":"AC_LINE", + "Name":"TIDE", "MaxValue":3, "EnumValues":[ - {"Name":"Line 1", "Value":0}, - {"Name":"Line 2", "Value":1}, - {"Name":"Line 3", "Value":2} + {"Name":"Falling", "Value":0}, + {"Name":"Rising", "Value":1} ] }, { - "Name":"ZONE_SIZE", - "MaxValue":7, + "Name":"TIME_STAMP", + "MaxValue":63, "EnumValues":[ - {"Name":"1 nm", "Value":0}, - {"Name":"2 nm", "Value":1}, - {"Name":"3 nm", "Value":2}, - {"Name":"4 nm", "Value":3}, - {"Name":"5 nm", "Value":4}, - {"Name":"6 nm", "Value":5} + {"Name":"Not available", "Value":60}, + {"Name":"Manual input mode", "Value":61}, + {"Name":"Dead reckoning mode", "Value":62}, + {"Name":"Positioning system is inoperative", "Value":63} ] }, { - "Name":"MARETRON_PRODUCT_CODE", - "MaxValue":65535, + "Name":"TRACKING", + "MaxValue":3, "EnumValues":[ - {"Name":"SSC200", "Value":434}, - {"Name":"SMS100", "Value":1047}, - {"Name":"MBB200C", "Value":1151}, - {"Name":"DST110", "Value":1534}, - {"Name":"GPS100", "Value":1776}, - {"Name":"CLM100", "Value":2606}, - {"Name":"SSC300", "Value":2686}, - {"Name":"TLA100", "Value":2781}, - {"Name":"GPS200", "Value":3373}, - {"Name":"DST100", "Value":3563}, - {"Name":"FFM100", "Value":3637}, - {"Name":"NBE100", "Value":3979}, - {"Name":"RAA100", "Value":4018}, - {"Name":"RIM100", "Value":4078}, - {"Name":"J2K100", "Value":4319}, - {"Name":"ALM100", "Value":8165}, - {"Name":"IPG100", "Value":9339}, - {"Name":"DCM100", "Value":9375}, - {"Name":"EMS100", "Value":9845}, - {"Name":"CLMD16", "Value":12337}, - {"Name":"DSM250", "Value":16434}, - {"Name":"TMP100", "Value":20067}, - {"Name":"DSM150", "Value":20298}, - {"Name":"FPM100", "Value":21703}, - {"Name":"DCR100", "Value":22585}, - {"Name":"SIM100", "Value":23603}, - {"Name":"ACM100", "Value":26493}, - {"Name":"MBB300C", "Value":27244}, - {"Name":"MConnect", "Value":28077} + {"Name":"Cancelled", "Value":0}, + {"Name":"Acquiring", "Value":1}, + {"Name":"Tracking", "Value":2}, + {"Name":"Lost", "Value":3} ] }, { - "Name":"MARETRON_OPCODE", - "MaxValue":255, + "Name":"TRANSMISSION_INTERVAL", + "MaxValue":15, "EnumValues":[ - {"Name":"Read All", "Value":0}, - {"Name":"Write Register", "Value":1}, - {"Name":"Read Config", "Value":2}, - {"Name":"Write Config", "Value":3}, - {"Name":"Calibrate", "Value":4}, - {"Name":"Clear Calibration", "Value":5}, - {"Name":"Status", "Value":6}, - {"Name":"Clear Status", "Value":7}, - {"Name":"Reset Factory Default", "Value":8}, - {"Name":"Debug", "Value":9}, - {"Name":"Write Instance", "Value":16}, - {"Name":"Read Instance", "Value":17}, - {"Name":"Write Label", "Value":32}, - {"Name":"Read Label", "Value":33}, - {"Name":"Write Switch Config", "Value":48}, - {"Name":"Read Switch Config", "Value":49}, - {"Name":"Write Alert Config", "Value":64}, - {"Name":"Read Alert Config", "Value":65}, - {"Name":"Write Channel Config", "Value":80}, - {"Name":"Read Channel Config", "Value":81}, - {"Name":"Read Channel Config Extended", "Value":86}, - {"Name":"Write Channel Config Extended", "Value":87} + {"Name":"Acknowledge", "Value":0}, + {"Name":"Transmit Interval/Priority not supported", "Value":1}, + {"Name":"Transmit Interval too low", "Value":2}, + {"Name":"Access denied", "Value":3}, + {"Name":"Not supported", "Value":4} ] }, { - "Name":"MARETRON_SOFTWARE_CODE", - "MaxValue":65535, + "Name":"TURN_MODE", + "MaxValue":7, "EnumValues":[ - {"Name":"Version 1", "Value":1} + {"Name":"Rudder limit controlled", "Value":0}, + {"Name":"Turn rate controlled", "Value":1}, + {"Name":"Radius controlled", "Value":2} ] }, { - "Name":"MARETRON_COMMAND", - "MaxValue":255, + "Name":"TX_RX_MODE", + "MaxValue":15, "EnumValues":[ - {"Name":"Deviation calibration", "Value":80} + {"Name":"Tx A/Tx B, Rx A/Rx B", "Value":0}, + {"Name":"Tx A, Rx A/Rx B", "Value":1}, + {"Name":"Tx B, Rx A/Rx B", "Value":2} ] }, { - "Name":"MARETRON_STATUS_DEVIATION", - "MaxValue":255, + "Name":"VIDEO_PROTOCOLS", + "MaxValue":15, "EnumValues":[ - {"Name":"Started", "Value":1}, - {"Name":"Completed successfully", "Value":2}, - {"Name":"Failed to complete", "Value":3}, - {"Name":"Turning too fast", "Value":4}, - {"Name":"Turning too slow", "Value":5}, - {"Name":"Invalid movement", "Value":6} + {"Name":"PAL", "Value":0}, + {"Name":"NTSC", "Value":1} ] }, { - "Name":"AUTOMATIC_MANUAL", - "MaxValue":255, + "Name":"WATERMAKER_STATE", + "MaxValue":63, "EnumValues":[ - {"Name":"Automatic", "Value":0}, - {"Name":"Manual", "Value":1} + {"Name":"Stopped", "Value":0}, + {"Name":"Starting", "Value":1}, + {"Name":"Running", "Value":2}, + {"Name":"Stopping", "Value":3}, + {"Name":"Flushing", "Value":4}, + {"Name":"Rinsing", "Value":5}, + {"Name":"Initiating", "Value":6}, + {"Name":"Manual", "Value":7} ] }, { - "Name":"SBAS_SV", + "Name":"WATER_REFERENCE", "MaxValue":255, "EnumValues":[ - {"Name":"120", "Value":0}, - {"Name":"121", "Value":1}, - {"Name":"122", "Value":2}, - {"Name":"123", "Value":3}, - {"Name":"124", "Value":4}, - {"Name":"125", "Value":5}, - {"Name":"126", "Value":6}, - {"Name":"127", "Value":7}, - {"Name":"128", "Value":8}, - {"Name":"129", "Value":9}, - {"Name":"130", "Value":10}, - {"Name":"131", "Value":11}, - {"Name":"132", "Value":12}, - {"Name":"133", "Value":13}, - {"Name":"134", "Value":14}, - {"Name":"135", "Value":15}, - {"Name":"136", "Value":16}, - {"Name":"137", "Value":17}, - {"Name":"138", "Value":18} + {"Name":"Paddle wheel", "Value":0}, + {"Name":"Pitot tube", "Value":1}, + {"Name":"Doppler", "Value":2}, + {"Name":"Correlation (ultra sound)", "Value":3}, + {"Name":"Electro Magnetic", "Value":4} + ] + }, + { + "Name":"WAVEFORM", + "MaxValue":7, + "EnumValues":[ + {"Name":"Sine wave", "Value":0}, + {"Name":"Modified sine wave", "Value":1} + ] + }, + { + "Name":"WINDLASS_DIRECTION", + "MaxValue":3, + "EnumValues":[ + {"Name":"Off", "Value":0}, + {"Name":"Down", "Value":1}, + {"Name":"Up", "Value":2} + ] + }, + { + "Name":"WINDLASS_MOTION", + "MaxValue":3, + "EnumValues":[ + {"Name":"Windlass stopped", "Value":0}, + {"Name":"Deployment occurring", "Value":1}, + {"Name":"Retrieval occurring", "Value":2} + ] + }, + { + "Name":"WIND_REFERENCE", + "MaxValue":7, + "EnumValues":[ + {"Name":"True (ground referenced to North)", "Value":0}, + {"Name":"Magnetic (ground referenced to Magnetic North)", "Value":1}, + {"Name":"Apparent", "Value":2}, + {"Name":"True (boat referenced)", "Value":3}, + {"Name":"True (water referenced)", "Value":4} + ] + }, + { + "Name":"WP_IDENTIFICATION_METHOD", + "MaxValue":3, + "EnumValues":[ + {"Name":"Waypoints in WP list", "Value":0}, + {"Name":"Waypoints embedded in route", "Value":1} + ] + }, + { + "Name":"WP_NAVIGATION_METHOD", + "MaxValue":3, + "EnumValues":[ + {"Name":"Great Circle", "Value":0}, + {"Name":"Rhumb Line", "Value":1} + ] + }, + { + "Name":"WP_POSITION_RESOLUTION", + "MaxValue":15, + "EnumValues":[ + {"Name":"more than 0.1 min", "Value":0}, + {"Name":"<0.01 .. 0.1] min", "Value":1}, + {"Name":"<0.001 .. 0.01] min", "Value":2}, + {"Name":"<0.0001 .. 0.001] min", "Value":3}, + {"Name":"<0 .. 0.0001] min", "Value":4} + ] + }, + { + "Name":"WP_ROUTE_STATUS", + "MaxValue":15, + "EnumValues":[ + {"Name":"Active", "Value":0}, + {"Name":"Inactive", "Value":1}, + {"Name":"Deleted", "Value":2} + ] + }, + { + "Name":"YES_NO", + "MaxValue":3, + "EnumValues":[ + {"Name":"No", "Value":0}, + {"Name":"Yes", "Value":1} + ] + }, + { + "Name":"YES_NO_1BIT", + "MaxValue":1, + "EnumValues":[ + {"Name":"No", "Value":0}, + {"Name":"Yes", "Value":1} + ] + }, + { + "Name":"ZONE_SIZE", + "MaxValue":7, + "EnumValues":[ + {"Name":"1 nm", "Value":0}, + {"Name":"2 nm", "Value":1}, + {"Name":"3 nm", "Value":2}, + {"Name":"4 nm", "Value":3}, + {"Name":"5 nm", "Value":4}, + {"Name":"6 nm", "Value":5} ] } ], @@ -3925,13 +5076,49 @@ ], "LookupBitEnumerations":[ { - "Name":"STATION_STATUS", - "MaxValue":3, + "Name":"DISABLED_SATELLITES", + "MaxValue":39, "EnumBitValues":[ - {"Name":"Station in use", "Bit":0}, - {"Name":"Low SNR", "Bit":1}, - {"Name":"Cycle Error", "Bit":2}, - {"Name":"Blink", "Bit":3} + {"Name":"Disable SV #1", "Bit":0}, + {"Name":"Disable SV #2", "Bit":1}, + {"Name":"Disable SV #3", "Bit":2}, + {"Name":"Disable SV #4", "Bit":3}, + {"Name":"Disable SV #5", "Bit":4}, + {"Name":"Disable SV #6", "Bit":5}, + {"Name":"Disable SV #7", "Bit":6}, + {"Name":"Disable SV #8", "Bit":7}, + {"Name":"Disable SV #9", "Bit":8}, + {"Name":"Disable SV #10", "Bit":9}, + {"Name":"Disable SV #11", "Bit":10}, + {"Name":"Disable SV #12", "Bit":11}, + {"Name":"Disable SV #13", "Bit":12}, + {"Name":"Disable SV #14", "Bit":13}, + {"Name":"Disable SV #15", "Bit":14}, + {"Name":"Disable SV #16", "Bit":15}, + {"Name":"Disable SV #17", "Bit":16}, + {"Name":"Disable SV #18", "Bit":17}, + {"Name":"Disable SV #19", "Bit":18}, + {"Name":"Disable SV #20", "Bit":19}, + {"Name":"Disable SV #21", "Bit":20}, + {"Name":"Disable SV #22", "Bit":21}, + {"Name":"Disable SV #23", "Bit":22}, + {"Name":"Disable SV #24", "Bit":23}, + {"Name":"Disable SV #25", "Bit":24}, + {"Name":"Disable SV #26", "Bit":25}, + {"Name":"Disable SV #27", "Bit":26}, + {"Name":"Disable SV #28", "Bit":27}, + {"Name":"Disable SV #29", "Bit":28}, + {"Name":"Disable SV #30", "Bit":29}, + {"Name":"Disable SV #31", "Bit":30}, + {"Name":"Disable SV #32", "Bit":31}, + {"Name":"Disable SV #33", "Bit":32}, + {"Name":"Disable SV #34", "Bit":33}, + {"Name":"Disable SV #35", "Bit":34}, + {"Name":"Disable SV #36", "Bit":35}, + {"Name":"Disable SV #37", "Bit":36}, + {"Name":"Disable SV #38", "Bit":37}, + {"Name":"Disable SV #39", "Bit":38}, + {"Name":"Disable SV #40", "Bit":39} ] }, { @@ -3971,14 +5158,20 @@ ] }, { - "Name":"TRANSMISSION_STATUS_1", - "MaxValue":7, + "Name":"ENTERTAINMENT_GROUP_BITFIELD", + "MaxValue":15, "EnumBitValues":[ - {"Name":"Check Transmission", "Bit":0}, - {"Name":"Over Temperature", "Bit":1}, - {"Name":"Low Oil Pressure", "Bit":2}, - {"Name":"Low Oil Level", "Bit":3}, - {"Name":"Sail Drive", "Bit":4} + {"Name":"File", "Bit":0}, + {"Name":"Playlist Name", "Bit":1}, + {"Name":"Genre Name", "Bit":2}, + {"Name":"Album Name", "Bit":3}, + {"Name":"Artist Name", "Bit":4}, + {"Name":"Track Name", "Bit":5}, + {"Name":"Station Name", "Bit":6}, + {"Name":"Station Number", "Bit":7}, + {"Name":"Favourite Number", "Bit":8}, + {"Name":"Play Queue", "Bit":9}, + {"Name":"Content Info", "Bit":10} ] }, { @@ -4014,79 +5207,31 @@ ] }, { - "Name":"ENTERTAINMENT_GROUP_BITFIELD", - "MaxValue":15, - "EnumBitValues":[ - {"Name":"File", "Bit":0}, - {"Name":"Playlist Name", "Bit":1}, - {"Name":"Genre Name", "Bit":2}, - {"Name":"Album Name", "Bit":3}, - {"Name":"Artist Name", "Bit":4}, - {"Name":"Track Name", "Bit":5}, - {"Name":"Station Name", "Bit":6}, - {"Name":"Station Number", "Bit":7}, - {"Name":"Favourite Number", "Bit":8}, - {"Name":"Play Queue", "Bit":9}, - {"Name":"Content Info", "Bit":10} - ] - }, - { - "Name":"THRUSTER_CONTROL_EVENTS", - "MaxValue":7, - "EnumBitValues":[ - {"Name":"Another device controlling thruster", "Bit":0}, - {"Name":"Boat speed too fast to safely use thruster", "Bit":1} - ] - }, - { - "Name":"THRUSTER_MOTOR_EVENTS", - "MaxValue":7, - "EnumBitValues":[ - {"Name":"Motor over temperature cutout", "Bit":0}, - {"Name":"Motor over current cutout", "Bit":1}, - {"Name":"Low oil level warning", "Bit":2}, - {"Name":"Oil over temperature warning", "Bit":3}, - {"Name":"Controller under voltage cutout", "Bit":4}, - {"Name":"Manufacturer defined", "Bit":5} - ] - }, - { - "Name":"WINDLASS_CONTROL", - "MaxValue":3, + "Name":"ENTERTAINMENT_REPEAT_BITFIELD", + "MaxValue":1, "EnumBitValues":[ - {"Name":"Another device controlling windlass", "Bit":0} + {"Name":"Song", "Bit":0}, + {"Name":"Play queue", "Bit":1} ] }, { - "Name":"WINDLASS_OPERATION", - "MaxValue":5, + "Name":"ENTERTAINMENT_SHUFFLE_BITFIELD", + "MaxValue":1, "EnumBitValues":[ - {"Name":"System error", "Bit":0}, - {"Name":"Sensor error", "Bit":1}, - {"Name":"No windlass motion detected", "Bit":2}, - {"Name":"Retrieval docking distance reached", "Bit":3}, - {"Name":"End of rode reached", "Bit":4} + {"Name":"Play queue", "Bit":0}, + {"Name":"All", "Bit":1} ] }, { - "Name":"WINDLASS_MONITORING", + "Name":"FURUNO_BASELINE_STATUS", "MaxValue":7, "EnumBitValues":[ - {"Name":"Controller under voltage cut-out", "Bit":0}, - {"Name":"Controller over current cut-out", "Bit":1}, - {"Name":"Controller over temperature cut-out", "Bit":2}, - {"Name":"Manufacturer defined", "Bit":3} - ] - }, - { - "Name":"SIMNET_AP_MODE_BITFIELD", - "MaxValue":15, - "EnumBitValues":[ - {"Name":"Standby", "Bit":3}, - {"Name":"Heading", "Bit":4}, - {"Name":"Nav", "Bit":6}, - {"Name":"No Drift", "Bit":8}, - {"Name":"Wind", "Bit":10} + {"Name":"Baseline Antenna 1-2", "Bit":0}, + {"Name":"Baseline Antenna 2-3", "Bit":1}, + {"Name":"Baseline Antenna 3-4", "Bit":2}, + {"Name":"Baseline Antenna 4-1", "Bit":3}, + {"Name":"Baseline Antenna 1-3", "Bit":4}, + {"Name":"Baseline Antenna 2-4", "Bit":5} ] }, { @@ -4125,19 +5270,83 @@ ] }, { - "Name":"ENTERTAINMENT_REPEAT_BITFIELD", - "MaxValue":1, + "Name":"SIMNET_AP_MODE_BITFIELD", + "MaxValue":15, "EnumBitValues":[ - {"Name":"Song", "Bit":0}, - {"Name":"Play queue", "Bit":1} + {"Name":"Standby", "Bit":3}, + {"Name":"Heading", "Bit":4}, + {"Name":"Nav", "Bit":6}, + {"Name":"No Drift", "Bit":8}, + {"Name":"Wind", "Bit":10} ] }, { - "Name":"ENTERTAINMENT_SHUFFLE_BITFIELD", - "MaxValue":1, + "Name":"STATION_STATUS", + "MaxValue":3, "EnumBitValues":[ - {"Name":"Play queue", "Bit":0}, - {"Name":"All", "Bit":1} + {"Name":"Station in use", "Bit":0}, + {"Name":"Low SNR", "Bit":1}, + {"Name":"Cycle Error", "Bit":2}, + {"Name":"Blink", "Bit":3} + ] + }, + { + "Name":"THRUSTER_CONTROL_EVENTS", + "MaxValue":7, + "EnumBitValues":[ + {"Name":"Another device controlling thruster", "Bit":0}, + {"Name":"Boat speed too fast to safely use thruster", "Bit":1} + ] + }, + { + "Name":"THRUSTER_MOTOR_EVENTS", + "MaxValue":7, + "EnumBitValues":[ + {"Name":"Motor over temperature cutout", "Bit":0}, + {"Name":"Motor over current cutout", "Bit":1}, + {"Name":"Low oil level warning", "Bit":2}, + {"Name":"Oil over temperature warning", "Bit":3}, + {"Name":"Controller under voltage cutout", "Bit":4}, + {"Name":"Manufacturer defined", "Bit":5} + ] + }, + { + "Name":"TRANSMISSION_STATUS_1", + "MaxValue":7, + "EnumBitValues":[ + {"Name":"Check Transmission", "Bit":0}, + {"Name":"Over Temperature", "Bit":1}, + {"Name":"Low Oil Pressure", "Bit":2}, + {"Name":"Low Oil Level", "Bit":3}, + {"Name":"Sail Drive", "Bit":4} + ] + }, + { + "Name":"WINDLASS_CONTROL", + "MaxValue":3, + "EnumBitValues":[ + {"Name":"Another device controlling windlass", "Bit":0} + ] + }, + { + "Name":"WINDLASS_MONITORING", + "MaxValue":7, + "EnumBitValues":[ + {"Name":"Controller under voltage cut-out", "Bit":0}, + {"Name":"Controller over current cut-out", "Bit":1}, + {"Name":"Controller over temperature cut-out", "Bit":2}, + {"Name":"Manufacturer defined", "Bit":3} + ] + }, + { + "Name":"WINDLASS_OPERATION", + "MaxValue":5, + "EnumBitValues":[ + {"Name":"System error", "Bit":0}, + {"Name":"Sensor error", "Bit":1}, + {"Name":"No windlass motion detected", "Bit":2}, + {"Name":"Retrieval docking distance reached", "Bit":3}, + {"Name":"End of rode reached", "Bit":4} ] }, { @@ -4158,616 +5367,3588 @@ {"Name":"Navigation Method", "Bit":0}, {"Name":"XTE Limit", "Bit":1} ] - }, - { - "Name":"DISABLED_SATELLITES", - "MaxValue":39, - "EnumBitValues":[ - {"Name":"Disable SV #1", "Bit":0}, - {"Name":"Disable SV #2", "Bit":1}, - {"Name":"Disable SV #3", "Bit":2}, - {"Name":"Disable SV #4", "Bit":3}, - {"Name":"Disable SV #5", "Bit":4}, - {"Name":"Disable SV #6", "Bit":5}, - {"Name":"Disable SV #7", "Bit":6}, - {"Name":"Disable SV #8", "Bit":7}, - {"Name":"Disable SV #9", "Bit":8}, - {"Name":"Disable SV #10", "Bit":9}, - {"Name":"Disable SV #11", "Bit":10}, - {"Name":"Disable SV #12", "Bit":11}, - {"Name":"Disable SV #13", "Bit":12}, - {"Name":"Disable SV #14", "Bit":13}, - {"Name":"Disable SV #15", "Bit":14}, - {"Name":"Disable SV #16", "Bit":15}, - {"Name":"Disable SV #17", "Bit":16}, - {"Name":"Disable SV #18", "Bit":17}, - {"Name":"Disable SV #19", "Bit":18}, - {"Name":"Disable SV #20", "Bit":19}, - {"Name":"Disable SV #21", "Bit":20}, - {"Name":"Disable SV #22", "Bit":21}, - {"Name":"Disable SV #23", "Bit":22}, - {"Name":"Disable SV #24", "Bit":23}, - {"Name":"Disable SV #25", "Bit":24}, - {"Name":"Disable SV #26", "Bit":25}, - {"Name":"Disable SV #27", "Bit":26}, - {"Name":"Disable SV #28", "Bit":27}, - {"Name":"Disable SV #29", "Bit":28}, - {"Name":"Disable SV #30", "Bit":29}, - {"Name":"Disable SV #31", "Bit":30}, - {"Name":"Disable SV #32", "Bit":31}, - {"Name":"Disable SV #33", "Bit":32}, - {"Name":"Disable SV #34", "Bit":33}, - {"Name":"Disable SV #35", "Bit":34}, - {"Name":"Disable SV #36", "Bit":35}, - {"Name":"Disable SV #37", "Bit":36}, - {"Name":"Disable SV #38", "Bit":37}, - {"Name":"Disable SV #39", "Bit":38}, - {"Name":"Disable SV #40", "Bit":39} - ] } ], "LookupFieldTypeEnumerations":[ + { + "Name":"BANDG_KEY_VALUE", + "MaxValue":4095, + "EnumFieldTypeValues":[ + {"name": "Altitude", "value": 0, "FieldType": "NUMBER", "Signed": true, "Bits": "16"}, + {"name": "Rudder Angle", "value": 11, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "User 5", "value": 16, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 6", "value": 17, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 7", "value": 18, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 8", "value": 19, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 9", "value": 20, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 10", "value": 21, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 11", "value": 22, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 12", "value": 23, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 13", "value": 24, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 14", "value": 25, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 15", "value": 26, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 16", "value": 27, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "Outside Temperature", "value": 28, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Outside Temperature", "value": 29, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Outside Temperature", "value": 30, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Water Temperature", "value": 31, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Tacking Performance", "value": 50, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Magnetic Variation", "value": 52, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Optimum Wind Angle", "value": 53, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "User 1", "value": 56, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 2", "value": 57, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 3", "value": 58, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 4", "value": 59, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "Roll Rate", "value": 60, "FieldType": "NUMBER", "Signed": true, "Resolution": 3.125e-08, "Unit": "rad/s", "Bits": "32"}, + {"name": "Forestay", "value": 64, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "32"}, + {"name": "Water Speed", "value": 65, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Yaw Rate", "value": 68, "FieldType": "NUMBER", "Signed": true, "Resolution": 3.125e-08, "Unit": "rad/s", "Bits": "32"}, + {"name": "Current Set", "value": 73, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Wind Speed Apparent", "value": 77, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Wind Speed True", "value": 79, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Wind Angle True", "value": 81, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Target TWA", "value": 83, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Wind Speed True", "value": 85, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Water Temperature", "value": 86, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "True Wind Direction", "value": 89, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Trip 1 Speed Avg", "value": 100, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Keel Angle", "value": 102, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Canard Angle", "value": 103, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Keel Trim Tab Angle", "value": 104, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Course", "value": 105, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Wind Direction", "value": 109, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Next Leg AWA", "value": 111, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Next Leg AWS", "value": 113, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Race Timer", "value": 117, "FieldType": "DURATION", "Signed": true, "Resolution": 0.001, "Unit": "s", "Bits": "32"}, + {"name": "Polar Performance", "value": 124, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Target Boat Speed", "value": 125, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Polar Speed", "value": 126, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "VMG to Wind", "value": 127, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "DR Distance", "value": 129, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Leeway Angle", "value": 130, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Current Drift", "value": 131, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Current Set", "value": 132, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Barometric Pressure", "value": 135, "FieldType": "NUMBER", "Signed": false, "Resolution": 100, "Unit": "Pa", "Bits": "16"}, + {"name": "Distance to Start Line", "value": 152, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Heading on Opposite Tack", "value": 154, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Attitude Roll", "value": 155, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Mast Angle", "value": 156, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Wind Angle to Mast", "value": 157, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Pitch Rate", "value": 158, "FieldType": "NUMBER", "Signed": true, "Resolution": 3.125e-08, "Unit": "rad/s", "Bits": "32"}, + {"name": "Daggerboard Position", "value": 163, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "Boom Position", "value": 164, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "MOB DR Bearing", "value": 185, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "MOB DR Range", "value": 186, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Depth", "value": 194, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Depth", "value": 195, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Aft Depth", "value": 199, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Odometer", "value": 205, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Trip Distance", "value": 207, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Trip 2 Distance", "value": 208, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "DR Bearing", "value": 211, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Course Over Ground", "value": 233, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Water Speed", "value": 235, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Remote 0", "value": 239, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Remote 1", "value": 240, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Remote 2", "value": 241, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Remote 3", "value": 242, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Remote 4", "value": 243, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Remote 5", "value": 244, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Remote 6", "value": 245, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Remote 7", "value": 246, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Remote 8", "value": 247, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Remote 9", "value": 248, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "16"}, + {"name": "Layline Time", "value": 256, "FieldType": "DURATION", "Signed": false, "Resolution": 0.001, "Unit": "s", "Bits": "32"}, + {"name": "Layline Distance", "value": 258, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Layline Distance", "value": 259, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Sailing Time to Waypoint", "value": 260, "FieldType": "DURATION", "Signed": false, "Resolution": 0.001, "Unit": "s", "Bits": "32"}, + {"name": "Sailing Distance to Waypoint", "value": 261, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Sailing ETA", "value": 262, "FieldType": "DURATION", "Signed": false, "Resolution": 0.001, "Unit": "s", "Bits": "32"}, + {"name": "Start Line Latitude", "value": 263, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "Start Line Longitude", "value": 264, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "Trip Time", "value": 265, "FieldType": "DURATION", "Signed": false, "Resolution": 0.001, "Unit": "s", "Bits": "32"}, + {"name": "Trip 1 Speed Max", "value": 266, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Trip 2 Time", "value": 267, "FieldType": "DURATION", "Signed": false, "Resolution": 0.001, "Unit": "s", "Bits": "32"}, + {"name": "Trip 2 Speed Max", "value": 268, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Trip 2 Speed Avg", "value": 269, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Bow Latitude", "value": 270, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "Bow Longitude", "value": 271, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "Start Line Bearing", "value": 272, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Start Line Bias", "value": 273, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Distance to Start Line Port", "value": 274, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Distance to Start Line Starboard", "value": 275, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Start Line Port Latitude", "value": 276, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "Start Line Port Longitude", "value": 277, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "Start Line Starboard Latitude", "value": 278, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "Start Line Starboard Longitude", "value": 279, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "Bias Advantage in Boat Lengths", "value": 280, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Bits": "16"}, + {"name": "Distance to Start Line in Boat Lengths", "value": 281, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Bits": "16"}, + {"name": "Backstay", "value": 282, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "32"}, + {"name": "Boom Vang", "value": 283, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "32"}, + {"name": "Chain Length", "value": 284, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "VMG Performance", "value": 285, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Inner Forestay Load", "value": 286, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "32"}, + {"name": "Inner Forestay Halyard Load", "value": 287, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "32"}, + {"name": "Jib Furl", "value": 288, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Jib Halyard Load", "value": 289, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "32"}, + {"name": "Outhaul Load", "value": 290, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "32"}, + {"name": "Plow Angle", "value": 291, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Cunningham", "value": 292, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "32"}, + {"name": "Jacuzzi Temperature", "value": 293, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Pool Temperature", "value": 294, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Keel Draught", "value": 296, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "m", "Bits": "16"}, + {"name": "Boom Angle", "value": 297, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Code Zero Load", "value": 298, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.001, "Bits": "32"}, + {"name": "MOB Latitude", "value": 299, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "MOB Longitude", "value": 300, "FieldType": "NUMBER", "Signed": true, "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, + {"name": "Distance Behind Start Line", "value": 301, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Distance Behind Start Line in Boat Lengths", "value": 302, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Bits": "16"}, + {"name": "Bias Advantage", "value": 305, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "32"}, + {"name": "Opposite Tack COG", "value": 306, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Opposite Tack Target Heading", "value": 307, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Mast Rake", "value": 308, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Next Leg Bearing", "value": 309, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Next Leg Target Speed", "value": 310, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Ground Wind Direction", "value": 311, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Ground Wind Speed", "value": 312, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Mast Cant Angle", "value": 313, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Rudder Toe In", "value": 314, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Daggerboard Port", "value": 315, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "Daggerboard Starboard", "value": 316, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "User 17", "value": 317, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 18", "value": 318, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 19", "value": 319, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 20", "value": 320, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 21", "value": 321, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 22", "value": 322, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 23", "value": 323, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 24", "value": 324, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 25", "value": 325, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 26", "value": 326, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 27", "value": 327, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 28", "value": 328, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 29", "value": 329, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 30", "value": 330, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 31", "value": 331, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "User 32", "value": 332, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Bits": "32"}, + {"name": "Average True Wind Direction", "value": 336, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Wind Phase", "value": 337, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Wind Lift", "value": 338, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Start Line Distance To Port (Boat Lengths)", "value": 364, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Bits": "16"}, + {"name": "Start Line Distance To Starboard (Boat Lengths)", "value": 365, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Bits": "16"}, + {"name": "Active Perf Mode", "value": 380, "FieldType": "NUMBER", "Signed": true, "Bits": "16"}, + {"name": "Gust Bear Away", "value": 381, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "TWS Bear Away", "value": 382, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Heel Compensation", "value": 383, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Pilot Net Course", "value": 384, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Pilot Target Wind Angle", "value": 385, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Pilot Weather Helm", "value": 386, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Pilot Mean Heel", "value": 387, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Time To Burn", "value": 409, "FieldType": "DURATION", "Signed": true, "Resolution": 0.001, "Unit": "s", "Bits": "32"}, + {"name": "Mast Twist", "value": 410, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Port End Ping Time", "value": 411, "FieldType": "DURATION", "Signed": true, "Resolution": 0.001, "Unit": "s", "Bits": "32"}, + {"name": "Starboard End Ping Time", "value": 412, "FieldType": "DURATION", "Signed": true, "Resolution": 0.001, "Unit": "s", "Bits": "32"} + ] + }, + { + "Name":"MERCURY_KEY_VALUE", + "MaxValue":4095, + "EnumFieldTypeValues":[ + {"name": "Smart-Contextual state", "value": 5, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 0 Distance", "value": 8, "FieldType": "NUMBER", "Signed": false, "Resolution": 1, "Unit": "m", "Bits": "32"}, + {"name": "Trip Time", "value": 9, "FieldType": "DURATION", "Signed": false, "Resolution": 0.0001, "Unit": "s", "Bits": "32"}, + {"name": "Water Distance", "value": 10, "FieldType": "NUMBER", "Signed": false, "Resolution": 1, "Unit": "m", "Bits": "32"}, + {"name": "Trip Speed Avg", "value": 11, "FieldType": "NUMBER", "Signed": false, "Resolution": 1e-06, "Bits": "16"}, + {"name": "Trip Speed Max", "value": 12, "FieldType": "NUMBER", "Signed": false, "Resolution": 1e-06, "Bits": "16"}, + {"name": "Engine 1 Distance", "value": 13, "FieldType": "NUMBER", "Signed": false, "Resolution": 1, "Unit": "m", "Bits": "32"}, + {"name": "Trip Max Speed RPM", "value": 14, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "Troll and ActiveTrim Active Helm", "value": 17, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 0 Intake Temp", "value": 256, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Engine 1 Intake Temp", "value": 257, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Engine 0 Predictive General Maintenance", "value": 272, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Bits": "8"}, + {"name": "Engine 1 Predictive General Maintenance", "value": 273, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Bits": "8"}, + {"name": "Engine 0 Throttle", "value": 288, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Engine 1 Throttle", "value": 289, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Engine 0 Trim Status", "value": 336, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 1 Trim Status", "value": 337, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 0 Trans Gear", "value": 352, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 0 Malfunction Indicator Light", "value": 368, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 1 Malfunction Indicator Light", "value": 369, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 0 Engine Warning Flags", "value": 384, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "Engine 1 Engine Warning Flags", "value": 385, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "Engine 0 Engine Control Flags", "value": 400, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "Engine 1 Engine Control Flags", "value": 401, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "Engine 0 Idle RPM Setpoint", "value": 416, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "Engine 1 Idle RPM Setpoint", "value": 417, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "Engine 0 Fuel Used", "value": 432, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.0001, "Unit": "L", "Bits": "32"}, + {"name": "Engine 1 Fuel Used", "value": 433, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.0001, "Unit": "L", "Bits": "32"}, + {"name": "Engine 0 Fuel Used Trip", "value": 448, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.0001, "Unit": "L", "Bits": "32"}, + {"name": "Engine 1 Fuel Used Trip", "value": 449, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.0001, "Unit": "L", "Bits": "32"}, + {"name": "Engine 0 Fuel Used Season", "value": 464, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.0001, "Unit": "L", "Bits": "32"}, + {"name": "Engine 1 Fuel Used Season", "value": 465, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.0001, "Unit": "L", "Bits": "32"}, + {"name": "Engine 0 Engine Type", "value": 480, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 1 Engine Type", "value": 481, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 0 Four Stroke Engine Oil", "value": 496, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 1 Four Stroke Engine Oil", "value": 497, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Engine 0 Exhaust Valve", "value": 512, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Bits": "8"}, + {"name": "Engine 1 Exhaust Valve", "value": 513, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Bits": "8"}, + {"name": "Engine 0 Exhaust Status", "value": 528, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "Engine 1 Exhaust Status", "value": 529, "FieldType": "NUMBER", "Signed": false, "Bits": "16"} + ] + }, + { + "Name":"NAVICO_DIAGNOSTIC", + "MaxValue":255, + "EnumFieldTypeValues":[ + {"name": "Rx Messages", "value": 4, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "Tx Messages", "value": 5, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "Fast Packet Errors", "value": 7, "FieldType": "NUMBER", "Signed": false, "Bits": "32"} + ] + }, + { + "Name":"NAVICO_SOURCE_SETTING_ID", + "MaxValue":255, + "EnumFieldTypeValues":[ + {"name": "Wind Source Count", "value": 17, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Wind Source 1", "value": 18, "FieldType": "ISO_NAME", "Signed": false, "Resolution": 1, "Bits": "64"}, + {"name": "Wind Source 2", "value": 19, "FieldType": "ISO_NAME", "Signed": false, "Resolution": 1, "Bits": "64"}, + {"name": "Boat Speed Source Count", "value": 20, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Port Boat Speed Source", "value": 21, "FieldType": "ISO_NAME", "Signed": false, "Resolution": 1, "Bits": "64"}, + {"name": "Starboard Boat Speed Source", "value": 22, "FieldType": "ISO_NAME", "Signed": false, "Resolution": 1, "Bits": "64"}, + {"name": "True Wind Direction Damping", "value": 24, "FieldType": "DURATION", "Signed": false, "Resolution": 1, "Unit": "s", "Bits": "16"} + ] + }, { "Name":"SIMNET_KEY_VALUE", - "MaxValue":65535, + "MaxValue":16777215, "EnumFieldTypeValues":[ - {"name": "Heading Offset", "value": 0, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Timezone offset", "value": 41, "FieldType": "DURATION", "Resolution": 60, "Unit": "s", "Bits": "16"}, - {"name": "True wind high", "value": 260, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Deep water", "value": 264, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "16"}, - {"name": "True wind low", "value": 516, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Low boat speed", "value": 517, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Shallow water", "value": 520, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "16"}, - {"name": "Local field", "value": 768, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Field angle", "value": 1024, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Anchor depth", "value": 1800, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "16"}, - {"name": "Backlight level", "value": 4863, "FieldType": "LOOKUP", "Bits": "8", "LookupEnumeration": "SIMNET_BACKLIGHT_LEVEL"}, - {"name": "Time format", "value": 5160, "FieldType": "LOOKUP", "Bits": "8", "LookupEnumeration": "SIMNET_TIME_FORMAT"}, - {"name": "Time hour display", "value": 5161, "FieldType": "LOOKUP", "Bits": "8", "LookupEnumeration": "SIMNET_HOUR_DISPLAY"}, - {"name": "Night mode", "value": 9983, "FieldType": "LOOKUP", "Bits": "8", "LookupEnumeration": "SIMNET_NIGHT_MODE"}, - {"name": "True wind shift", "value": 11524, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "AP low boat speed", "value": 22296, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Heading Offset", "value": 0, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Timezone offset", "value": 41, "FieldType": "DURATION", "Signed": true, "Resolution": 60, "Unit": "s", "Bits": "16"}, + {"name": "True wind high", "value": 260, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Deep water", "value": 264, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "16"}, + {"name": "True wind low", "value": 516, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Low boat speed", "value": 517, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, + {"name": "Shallow water", "value": 520, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "16"}, + {"name": "Local field", "value": 768, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.004, "Unit": "%", "Bits": "16"}, + {"name": "Field angle", "value": 1024, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Heading damping", "value": 1280, "FieldType": "DURATION", "Signed": false, "Resolution": 0.09090909090909091, "Unit": "s", "Bits": "16"}, + {"name": "Apparent wind damping", "value": 1283, "FieldType": "DURATION", "Signed": false, "Resolution": 0.09090909090909091, "Unit": "s", "Bits": "16"}, + {"name": "Boat speed damping", "value": 1285, "FieldType": "DURATION", "Signed": false, "Resolution": 0.09090909090909091, "Unit": "s", "Bits": "16"}, + {"name": "Trim angle damping", "value": 1329, "FieldType": "DURATION", "Signed": false, "Resolution": 0.09090909090909091, "Unit": "s", "Bits": "16"}, + {"name": "SOG damping", "value": 1335, "FieldType": "DURATION", "Signed": false, "Resolution": 0.09090909090909091, "Unit": "s", "Bits": "16"}, + {"name": "COG damping", "value": 1336, "FieldType": "DURATION", "Signed": false, "Resolution": 0.09090909090909091, "Unit": "s", "Bits": "16"}, + {"name": "Heel angle damping", "value": 1337, "FieldType": "DURATION", "Signed": false, "Resolution": 0.09090909090909091, "Unit": "s", "Bits": "16"}, + {"name": "Tide damping", "value": 1345, "FieldType": "DURATION", "Signed": false, "Resolution": 0.09090909090909091, "Unit": "s", "Bits": "16"}, + {"name": "True wind speed damping", "value": 1349, "FieldType": "DURATION", "Signed": false, "Resolution": 0.009009009009009009, "Unit": "s", "Bits": "16"}, + {"name": "Anchor depth", "value": 1800, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m", "Bits": "16"}, + {"name": "Backlight level", "value": 4863, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_BACKLIGHT_LEVEL"}, + {"name": "Heading unit", "value": 5120, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_HEADING_UNIT"}, + {"name": "Wind speed unit", "value": 5123, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_WIND_SPEED_UNIT"}, + {"name": "Speed unit", "value": 5125, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_SPEED_UNIT"}, + {"name": "Temperature unit", "value": 5126, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_TEMPERATURE_UNIT"}, + {"name": "Distance unit", "value": 5127, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_DISTANCE_UNIT"}, + {"name": "Depth unit", "value": 5128, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_DEPTH_UNIT"}, + {"name": "Volume unit", "value": 5134, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_VOLUME_UNIT"}, + {"name": "Time format", "value": 5160, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_TIME_FORMAT"}, + {"name": "Time hour display", "value": 5161, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_HOUR_DISPLAY"}, + {"name": "Pressure unit", "value": 5163, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_PRESSURE_UNIT"}, + {"name": "Barometric pressure unit", "value": 5164, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_BARO_PRESSURE_UNIT"}, + {"name": "Distance unit (companion)", "value": 5174, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Night mode", "value": 9983, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_NIGHT_MODE"}, + {"name": "True wind shift", "value": 11524, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, + {"name": "Race timer duration", "value": 16903, "FieldType": "DURATION", "Signed": false, "Resolution": 60, "Unit": "s", "Bits": "32"}, + {"name": "AP low boat speed", "value": 22296, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, {"name": "Alert bits", "value": 32789, "FieldType": "BITLOOKUP", "Bits": "64", "LookupBitEnumeration": "SIMNET_ALERT_BITFIELD"}, - {"name": "Night mode color", "value": 44079, "FieldType": "LOOKUP", "Bits": "8", "LookupEnumeration": "SIMNET_NIGHT_MODE_COLOR"}, - {"name": "Day mode invert", "value": 55087, "FieldType": "NUMBER", "Bits": "8"} + {"name": "Distance unit (small)", "value": 36871, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_DISTANCE_SMALL_UNIT"}, + {"name": "Race timer auto start", "value": 40711, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "OFF_ON"}, + {"name": "Night mode color", "value": 44079, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_NIGHT_MODE_COLOR"}, + {"name": "Race timer rolling start", "value": 49159, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "OFF_ON"}, + {"name": "Auto calibration mode", "value": 53760, "FieldType": "LOOKUP", "Signed": false, "Bits": "8", "LookupEnumeration": "SIMNET_COMPASS_AUTOCAL_MODE"}, + {"name": "Day mode invert", "value": 55087, "FieldType": "NUMBER", "Signed": false, "Bits": "8"} ] }, { - "Name":"BANDG_KEY_VALUE", - "MaxValue":4095, + "Name":"VICTRON_VREG", + "MaxValue":65535, "EnumFieldTypeValues":[ - {"name": "Altitude", "value": 0, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "Rudder Angle", "value": 11, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "User 5", "value": 16, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 6", "value": 17, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 7", "value": 18, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 8", "value": 19, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 9", "value": 20, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 10", "value": 21, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 11", "value": 22, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 12", "value": 23, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 13", "value": 24, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 14", "value": 25, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 15", "value": 26, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 16", "value": 27, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "Outside Temperature", "value": 28, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Outside Temperature", "value": 29, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Outside Temperature", "value": 30, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Water Temperature", "value": 31, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Tacking Performance", "value": 50, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Magnetic Variation", "value": 52, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Optimum Wind Angle", "value": 53, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "User 1", "value": 56, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 2", "value": 57, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 3", "value": 58, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 4", "value": 59, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "Roll Rate", "value": 60, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Forestay", "value": 64, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "32"}, - {"name": "Water Speed", "value": 65, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Current Set", "value": 73, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Wind Speed Apparent", "value": 77, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Wind Speed True", "value": 79, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Average True Wind Direction", "value": 80, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Wind Angle True", "value": 81, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Target TWA", "value": 83, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Wind Speed True", "value": 85, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Water Temperature", "value": 86, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "True Wind Direction", "value": 89, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Unknown", "value": 100, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "Keel Angle", "value": 102, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Canard Angle", "value": 103, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Keel Trim Tab Angle", "value": 104, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Course", "value": 105, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Wind Direction", "value": 109, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Next Leg AWA", "value": 111, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Next Leg AWS", "value": 113, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Race Timer", "value": 117, "FieldType": "DURATION", "Resolution": 0.001, "Unit": "s", "Bits": "32"}, - {"name": "Polar Performance", "value": 124, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Target Boat Speed", "value": 125, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Polar Speed", "value": 126, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "VMG to Wind", "value": 127, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "DR Distance", "value": 129, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Leeway Angle", "value": 130, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Current Drift", "value": 131, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Current Set", "value": 132, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Barometric Pressure", "value": 135, "FieldType": "NUMBER", "Resolution": 100, "Unit": "Pa", "Bits": "16"}, - {"name": "Distance to Start Line", "value": 152, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Heading on Opposite Tack", "value": 154, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Attitude Roll", "value": 155, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Mast Angle", "value": 156, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Wind Angle to Mast", "value": 157, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Pitch Angle", "value": 158, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Daggerboard Position", "value": 163, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "Boom Position", "value": 164, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "MOB DR Bearing", "value": 185, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "MOB DR Range", "value": 186, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Depth", "value": 194, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Depth", "value": 195, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Aft Depth", "value": 199, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Odometer", "value": 205, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Trip Distance", "value": 207, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "DR Bearing", "value": 211, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Course Over Ground", "value": 233, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Water Speed", "value": 235, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Remote 0", "value": 239, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Remote 1", "value": 240, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Remote 2", "value": 241, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Remote 3", "value": 242, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Remote 4", "value": 243, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Remote 5", "value": 244, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Remote 6", "value": 245, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Remote 7", "value": 246, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Remote 8", "value": 247, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Remote 9", "value": 248, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "16"}, - {"name": "Layline Time", "value": 256, "FieldType": "DURATION", "Resolution": 0.001, "Unit": "s", "Bits": "32"}, - {"name": "Layline Distance", "value": 258, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Layline Distance", "value": 259, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Sailing Time to Waypoint", "value": 260, "FieldType": "DURATION", "Resolution": 0.001, "Unit": "s", "Bits": "32"}, - {"name": "Sailing Distance to Waypoint", "value": 261, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Sailing ETA", "value": 262, "FieldType": "DURATION", "Resolution": 0.001, "Unit": "s", "Bits": "32"}, - {"name": "Trip Time", "value": 265, "FieldType": "DURATION", "Resolution": 0.001, "Unit": "s", "Bits": "32"}, - {"name": "Bow Latitude", "value": 270, "FieldType": "NUMBER", "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, - {"name": "Bow Longitude", "value": 271, "FieldType": "NUMBER", "Resolution": 1e-07, "Unit": "deg", "Bits": "32"}, - {"name": "Start Line Bearing", "value": 272, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Start Line Bias", "value": 273, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Distance to Start Line Port", "value": 274, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Distance to Start Line Starboard", "value": 275, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Bias Advantage in Boat Lengths", "value": 280, "FieldType": "NUMBER", "Resolution": 0.1, "Bits": "16"}, - {"name": "Distance to Start Line in Boat Lengths", "value": 281, "FieldType": "NUMBER", "Resolution": 0.1, "Bits": "16"}, - {"name": "Backstay", "value": 282, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "32"}, - {"name": "Boom Vang", "value": 283, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "32"}, - {"name": "Chain Length", "value": 284, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "VMG Performance", "value": 285, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Inner Forestay Load", "value": 286, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "32"}, - {"name": "Inner Forestay Halyard Load", "value": 287, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "32"}, - {"name": "Jib Furl", "value": 288, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Jib Halyard Load", "value": 289, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "32"}, - {"name": "Outhaul Load", "value": 290, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "32"}, - {"name": "Plow Angle", "value": 291, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Cunningham", "value": 292, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "32"}, - {"name": "Jacuzzi Temperature", "value": 293, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Pool Temperature", "value": 294, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Keel Draught", "value": 296, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "16"}, - {"name": "Boom Angle", "value": 297, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Code Zero Load", "value": 298, "FieldType": "NUMBER", "Resolution": 0.001, "Bits": "32"}, - {"name": "Distance Behind Start Line", "value": 301, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Distance Behind Start Line in Boat Lengths", "value": 302, "FieldType": "NUMBER", "Resolution": 0.1, "Bits": "16"}, - {"name": "Bias Advantage", "value": 305, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m", "Bits": "32"}, - {"name": "Opposite Tack COG", "value": 306, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Opposite Tack Target Heading", "value": 307, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Mast Rake", "value": 308, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Next Leg Bearing", "value": 309, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Next Leg Target Speed", "value": 310, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Ground Wind Direction", "value": 311, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Ground Wind Speed", "value": 312, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "m/s", "Bits": "16"}, - {"name": "Mast Cant Angle", "value": 313, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Rudder Toe In", "value": 314, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Daggerboard Port", "value": 315, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "Daggerboard Starboard", "value": 316, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "User 17", "value": 317, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 18", "value": 318, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 19", "value": 319, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 20", "value": 320, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 21", "value": 321, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 22", "value": 322, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 23", "value": 323, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 24", "value": 324, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 25", "value": 325, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 26", "value": 326, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 27", "value": 327, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 28", "value": 328, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 29", "value": 329, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 30", "value": 330, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 31", "value": 331, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "User 32", "value": 332, "FieldType": "NUMBER", "Resolution": 0.01, "Bits": "32"}, - {"name": "Average True Wind Direction", "value": 336, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Wind Phase", "value": 337, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Wind Lift", "value": 338, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Active Perf Mode", "value": 380, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "Gust Bear Away", "value": 381, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "TWS Bear Away", "value": 382, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Heel Compensation", "value": 383, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Pilot Net Course", "value": 384, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Pilot Target Wind Angle", "value": 385, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Pilot Weather Helm", "value": 386, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"}, - {"name": "Pilot Mean Heel", "value": 387, "FieldType": "NUMBER", "Resolution": 0.0001, "Unit": "rad", "Bits": "16"} + {"name": "Group ID", "value": 260, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Hardware Revision", "value": 261, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Identify", "value": 270, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Uptime", "value": 288, "FieldType": "DURATION", "Signed": false, "Resolution": 1, "Unit": "s", "Bits": "32"}, + {"name": "CAN Hardware RX Overflows", "value": 304, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "CAN Software RX Overflows", "value": 305, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "CAN Error Passive Counter", "value": 306, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "CAN Bus Off Counter", "value": 307, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "Device Mode", "value": 512, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Device State", "value": 513, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Remote Control Used", "value": 514, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "AC Input Current Limit", "value": 515, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Active Input", "value": 516, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "AC Input 1 Current Limit", "value": 528, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Input 1 Current Limit Min", "value": 529, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Input 1 Current Limit Max", "value": 530, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Input 1 Current Limit Internal", "value": 531, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Input 1 Current Limit Remote", "value": 532, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Input 2 Current Limit", "value": 544, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Input 2 Current Limit Min", "value": 545, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Input 2 Current Limit Max", "value": 546, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Input 2 Current Limit Internal", "value": 547, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "AC Input 2 Current Limit Remote", "value": 548, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Deepest Discharge", "value": 768, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "Ah", "Bits": "32"}, + {"name": "Last Discharge", "value": 769, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "Ah", "Bits": "32"}, + {"name": "Average Discharge", "value": 770, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "Ah", "Bits": "32"}, + {"name": "Charge Cycles", "value": 771, "FieldType": "NUMBER", "Signed": true, "Bits": "32"}, + {"name": "Full Discharges", "value": 772, "FieldType": "NUMBER", "Signed": true, "Bits": "32"}, + {"name": "Cumulative Ah Drawn", "value": 773, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "Ah", "Bits": "32"}, + {"name": "Minimum Voltage", "value": 774, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "32"}, + {"name": "Maximum Voltage", "value": 775, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "32"}, + {"name": "Seconds Since Last Full Charge", "value": 776, "FieldType": "NUMBER", "Signed": true, "Bits": "32"}, + {"name": "Automatic Synchronizations", "value": 777, "FieldType": "NUMBER", "Signed": true, "Bits": "32"}, + {"name": "Low Voltage Alarms", "value": 778, "FieldType": "NUMBER", "Signed": true, "Bits": "32"}, + {"name": "High Voltage Alarms", "value": 779, "FieldType": "NUMBER", "Signed": true, "Bits": "32"}, + {"name": "Low Auxiliary Voltage Alarms", "value": 780, "FieldType": "NUMBER", "Signed": true, "Bits": "32"}, + {"name": "High Auxiliary Voltage Alarms", "value": 781, "FieldType": "NUMBER", "Signed": true, "Bits": "32"}, + {"name": "Minimum Auxiliary Voltage", "value": 782, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "32"}, + {"name": "Maximum Auxiliary Voltage", "value": 783, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "32"}, + {"name": "Discharged Energy", "value": 784, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, + {"name": "Charged Energy", "value": 785, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, + {"name": "Low Voltage Alarm Set", "value": 800, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Low Voltage Alarm Clear", "value": 801, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "High Voltage Alarm Set", "value": 802, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "High Voltage Alarm Clear", "value": 803, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Low Auxiliary Voltage Alarm Set", "value": 804, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Low Auxiliary Voltage Alarm Clear", "value": 805, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "High Auxiliary Voltage Alarm Set", "value": 806, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "High Auxiliary Voltage Alarm Clear", "value": 807, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Low State of Charge Alarm Set", "value": 808, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Low State of Charge Alarm Clear", "value": 809, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Low Battery Temperature Alarm Set", "value": 810, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Low Battery Temperature Alarm Clear", "value": 811, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "High Battery Temperature Alarm Set", "value": 812, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "High Battery Temperature Alarm Clear", "value": 813, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "High Internal Temperature Alarm Set", "value": 814, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "High Internal Temperature Alarm Clear", "value": 815, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Fuse Blown Alarm", "value": 816, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Mid-point Voltage Alarm Set", "value": 817, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Mid-point Voltage Alarm Clear", "value": 818, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Relay Invert", "value": 845, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Relay Control", "value": 846, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Relay Mode", "value": 847, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Low Voltage Relay Set", "value": 848, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Low Voltage Relay Clear", "value": 849, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "High Voltage Relay Set", "value": 850, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "High Voltage Relay Clear", "value": 851, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Low Auxiliary Voltage Relay Set", "value": 852, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Low Auxiliary Voltage Relay Clear", "value": 853, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "High Auxiliary Voltage Relay Set", "value": 854, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "High Auxiliary Voltage Relay Clear", "value": 855, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Low State of Charge Relay Set", "value": 856, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Low State of Charge Relay Clear", "value": 857, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Low Battery Temperature Relay Set", "value": 858, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Low Battery Temperature Relay Clear", "value": 859, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "High Battery Temperature Relay Set", "value": 860, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "High Battery Temperature Relay Clear", "value": 861, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "High Internal Temperature Relay Set", "value": 862, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "High Internal Temperature Relay Clear", "value": 863, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Fuse Blown Relay", "value": 864, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Mid-point Voltage Relay Set", "value": 865, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Mid-point Voltage Relay Clear", "value": 866, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "BMS Flags", "value": 880, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "BMS State", "value": 881, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "BMS Error Flags", "value": 882, "FieldType": "NUMBER", "Signed": false, "Bits": "32"}, + {"name": "Mid-point Voltage", "value": 898, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Mid-point Voltage Deviation", "value": 899, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Time To Go", "value": 4094, "FieldType": "DURATION", "Signed": false, "Resolution": 60, "Unit": "s", "Bits": "16"}, + {"name": "State of Charge", "value": 4095, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "%", "Bits": "16"}, + {"name": "Battery Capacity", "value": 4096, "FieldType": "NUMBER", "Signed": false, "Resolution": 1, "Unit": "Ah", "Bits": "16"}, + {"name": "Charged Voltage", "value": 4097, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "V", "Bits": "16"}, + {"name": "Charged Current", "value": 4098, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Charged Detection Time", "value": 4099, "FieldType": "DURATION", "Signed": false, "Resolution": 60, "Unit": "s", "Bits": "16"}, + {"name": "Charge Efficiency", "value": 4100, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "Peukert Coefficient", "value": 4101, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "Current Threshold", "value": 4102, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "A", "Bits": "16"}, + {"name": "Average Time To Go", "value": 4103, "FieldType": "DURATION", "Signed": false, "Resolution": 60, "Unit": "s", "Bits": "16"}, + {"name": "Low State of Charge Set", "value": 4104, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Low State of Charge Clear", "value": 4105, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "%", "Bits": "16"}, + {"name": "Relay Minimum Enabled Time", "value": 4106, "FieldType": "DURATION", "Signed": false, "Resolution": 60, "Unit": "s", "Bits": "16"}, + {"name": "Relay Disable Delay", "value": 4107, "FieldType": "DURATION", "Signed": false, "Resolution": 60, "Unit": "s", "Bits": "16"}, + {"name": "Current Offset", "value": 4148, "FieldType": "NUMBER", "Signed": false, "Bits": "16"}, + {"name": "DC Voltage", "value": 8194, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "DC Current", "value": 8220, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.001, "Unit": "A", "Bits": "32"}, + {"name": "Channel 3 Voltage", "value": 60781, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Channel 3 Power", "value": 60782, "FieldType": "NUMBER", "Signed": true, "Resolution": 1, "Unit": "W", "Bits": "16"}, + {"name": "Channel 3 Current", "value": 60783, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Channel 2 Voltage", "value": 60797, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Channel 2 Power", "value": 60798, "FieldType": "NUMBER", "Signed": true, "Resolution": 1, "Unit": "W", "Bits": "16"}, + {"name": "Channel 2 Current", "value": 60799, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Channel 1 Voltage", "value": 60813, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Channel 1 Power", "value": 60814, "FieldType": "NUMBER", "Signed": true, "Resolution": 1, "Unit": "W", "Bits": "16"}, + {"name": "Channel 1 Current", "value": 60815, "FieldType": "NUMBER", "Signed": true, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "CAN Select", "value": 60831, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Load Output Status", "value": 60840, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Load Output Voltage", "value": 60841, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Load Output Power", "value": 60842, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "W", "Bits": "16"}, + {"name": "Load Output Control Mode", "value": 60843, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Load Output Offset Voltage", "value": 60844, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Load Output Actual Current", "value": 60845, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Load Output Current Limit", "value": 60846, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Load Output Maximum Current", "value": 60847, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Input Voltage Maximum Clear", "value": 60857, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Input Voltage Maximum Set", "value": 60858, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Input Voltage", "value": 60859, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Input Power", "value": 60860, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "W", "Bits": "32"}, + {"name": "Input Current", "value": 60861, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Input Maximum Current", "value": 60863, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Charger Maximum Power Yesterday", "value": 60880, "FieldType": "NUMBER", "Signed": false, "Resolution": 1, "Unit": "W", "Bits": "32"}, + {"name": "Charger Yield Yesterday", "value": 60881, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, + {"name": "Charger Maximum Power Today", "value": 60882, "FieldType": "NUMBER", "Signed": false, "Resolution": 1, "Unit": "W", "Bits": "32"}, + {"name": "Charger Yield Today", "value": 60883, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, + {"name": "Charger Additional State Information", "value": 60884, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Charger Voltage", "value": 60885, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Charger Power", "value": 60886, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "W", "Bits": "16"}, + {"name": "Charger Current", "value": 60887, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Charger Relay State", "value": 60888, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Charger Relay Mode", "value": 60889, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Charger Error Code", "value": 60890, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Charger Internal Temperature", "value": 60891, "FieldType": "NUMBER", "Signed": true, "Bits": "16"}, + {"name": "Charger User Yield", "value": 60892, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, + {"name": "Charger System Yield", "value": 60893, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, + {"name": "Charger Number of Physical Outputs", "value": 60894, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Charger Maximum Current", "value": 60895, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Battery BMS Present", "value": 60904, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Battery Power Supply Voltage", "value": 60905, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Battery Voltage Setting", "value": 60906, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Battery Overcharge Voltage Level", "value": 60907, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Battery Temperature", "value": 60908, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "K", "Bits": "16"}, + {"name": "Battery Intelligent Mode", "value": 60909, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Battery Storage Mode", "value": 60910, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Battery Voltage Selection", "value": 60911, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Battery Maximum Current", "value": 60912, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.1, "Unit": "A", "Bits": "16"}, + {"name": "Battery Type", "value": 60913, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Battery Temperature Compensation", "value": 60914, "FieldType": "NUMBER", "Signed": true, "Bits": "16"}, + {"name": "Battery Discharge Voltage Level", "value": 60915, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Battery Equalisation Voltage Level", "value": 60916, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Battery Storage Voltage Level", "value": 60917, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Battery Float Voltage Level", "value": 60918, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Battery Absorption Voltage Level", "value": 60919, "FieldType": "NUMBER", "Signed": false, "Resolution": 0.01, "Unit": "V", "Bits": "16"}, + {"name": "Battery Repeated Absorption Time Interval", "value": 60920, "FieldType": "DURATION", "Signed": false, "Resolution": 864, "Unit": "s", "Bits": "16"}, + {"name": "Battery Repeated Absorption Time Duration", "value": 60921, "FieldType": "DURATION", "Signed": false, "Resolution": 36, "Unit": "s", "Bits": "16"}, + {"name": "Battery Float Time Limit", "value": 60922, "FieldType": "DURATION", "Signed": false, "Resolution": 36, "Unit": "s", "Bits": "16"}, + {"name": "Battery Absorption Time Limit", "value": 60923, "FieldType": "DURATION", "Signed": false, "Resolution": 36, "Unit": "s", "Bits": "16"}, + {"name": "Battery Bulk Time Limit", "value": 60924, "FieldType": "DURATION", "Signed": false, "Resolution": 36, "Unit": "s", "Bits": "16"}, + {"name": "Battery Automatic Equalisation Mode", "value": 60925, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Battery Adaptive Mode", "value": 60926, "FieldType": "NUMBER", "Signed": false, "Bits": "8"}, + {"name": "Battery Safe Mode", "value": 60927, "FieldType": "NUMBER", "Signed": false, "Bits": "8"} + ] + } + ], + "PGNs":[ + + { + "PGN":59392, + "Id":"0xe8000xee00StandardizedSingleFrameAddressed", + "Description":"0xE800-0xEE00: Standardized single-frame addressed", + "Priority":6, + "Explanation":"Standardized PGNs in PDU1 (addressed) single-frame PGN range 0xE800 to 0xEE00 (59392 - 60928). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "Type":"Single", + "Complete":false, + "Fallback":true, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":1, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"data", + "Name":"Data", + "BitLength":64, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":59392, + "Id":"isoAcknowledgement", + "Description":"ISO Acknowledgement", + "Priority":6, + "Explanation":"This message is provided by ISO 11783 for a handshake mechanism between transmitting and receiving devices. This message is the possible response to acknowledge the reception of a 'normal broadcast' message or the response to a specific command to indicate compliance or failure.", + "Type":"Single", + "Complete":true, + "FieldCount":4, + "Length":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"control", + "Name":"Control", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"ISO_CONTROL" + }, + { + "Order":2, + "Id":"groupFunction", + "Name":"Group Function", + "BitLength":8, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"reserved", + "Name":"Reserved", + "BitLength":24, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":4, + "Id":"pgn", + "Name":"PGN", + "Description":"Parameter Group Number of requested information", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + } + ] + }, + { + "PGN":59904, + "Id":"isoRequest", + "Description":"ISO Request", + "Priority":6, + "Explanation":"As defined by ISO, this message has a data length of 3 bytes with no padding added to complete the single frame. The appropriate response to this message is based on the PGN being requested, and whether the receiver supports the requested PGN.", + "Type":"Single", + "Complete":true, + "FieldCount":1, + "Length":3, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"pgn", + "Name":"PGN", + "BitLength":24, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + } + ] + }, + { + "PGN":60160, + "Id":"isoTransportProtocolDataTransfer", + "Description":"ISO Transport Protocol, Data Transfer", + "Priority":6, + "Explanation":"ISO 11783 defines this PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN represents a single packet of a multipacket message.", + "Type":"Single", + "Complete":true, + "FieldCount":2, + "Length":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"sid", + "Name":"SID", + "Description":"Sequence number of multi-packet frame", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":2, + "Id":"data", + "Name":"Data", + "Description":"Multi-packet packetized data - 56 bits organized as seven 8-bit bytes, each of the bytes is transmitted in the same order as it would in a standard (i.e., single frame) message. Unused bytes shall be filled with 0xFF.", + "BitLength":56, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":60416, + "Id":"isoTransportProtocolConnectionManagementRequestToSend", + "Description":"ISO Transport Protocol, Connection Management - Request To Send", + "Priority":6, + "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to prepare the receiver for the fact that this sender wants to transmit a long message. The receiver will respond with CTS.", + "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "Type":"Single", + "Complete":true, + "FieldCount":5, + "Length":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"groupFunctionCode", + "Name":"Group Function Code", + "Description":"RTS", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Match":16, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"ISO_COMMAND" + }, + { + "Order":2, + "Id":"messageSize", + "Name":"Message size", + "Description":"bytes", + "BitLength":16, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"packets", + "Name":"Packets", + "Description":"packets", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":4, + "Id":"packetsReply", + "Name":"Packets reply", + "Description":"packets sent in response to CTS", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"pgn", + "Name":"PGN", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + } + ] + }, + { + "PGN":60416, + "Id":"isoTransportProtocolConnectionManagementClearToSend", + "Description":"ISO Transport Protocol, Connection Management - Clear To Send", + "Priority":6, + "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to signal to the sender that the receive is ready to receive a number of frames.", + "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "Type":"Single", + "Complete":true, + "FieldCount":5, + "Length":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"groupFunctionCode", + "Name":"Group Function Code", + "Description":"CTS", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Match":17, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"ISO_COMMAND" + }, + { + "Order":2, + "Id":"maxPackets", + "Name":"Max packets", + "Description":"Number of frames that can be sent before another CTS is required", + "BitLength":8, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"nextSid", + "Name":"Next SID", + "Description":"Number of next frame to be transmitted", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"pgn", + "Name":"PGN", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + } + ] + }, + { + "PGN":60416, + "Id":"isoTransportProtocolConnectionManagementEndOfMessage", + "Description":"ISO Transport Protocol, Connection Management - End Of Message", + "Priority":6, + "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to mark the end of the message.", + "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "Type":"Single", + "Complete":true, + "FieldCount":5, + "Length":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"groupFunctionCode", + "Name":"Group Function Code", + "Description":"EOM", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Match":19, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"ISO_COMMAND" + }, + { + "Order":2, + "Id":"totalMessageSize", + "Name":"Total message size", + "Description":"bytes", + "BitLength":16, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"totalNumberOfFramesReceived", + "Name":"Total number of frames received", + "Description":"Total number of of frames received", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"pgn", + "Name":"PGN", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + } + ] + }, + { + "PGN":60416, + "Id":"isoTransportProtocolConnectionManagementBroadcastAnnounce", + "Description":"ISO Transport Protocol, Connection Management - Broadcast Announce", + "Priority":6, + "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to announce a broadcast of a long message spanning multiple frames.", + "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "Type":"Single", + "Complete":true, + "FieldCount":5, + "Length":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"groupFunctionCode", + "Name":"Group Function Code", + "Description":"BAM", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Match":32, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"ISO_COMMAND" + }, + { + "Order":2, + "Id":"messageSize", + "Name":"Message size", + "Description":"bytes", + "BitLength":16, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"packets", + "Name":"Packets", + "Description":"frames", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"pgn", + "Name":"PGN", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + } + ] + }, + { + "PGN":60416, + "Id":"isoTransportProtocolConnectionManagementAbort", + "Description":"ISO Transport Protocol, Connection Management - Abort", + "Priority":6, + "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to announce an abort of a long message spanning multiple frames.", + "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "Type":"Single", + "Complete":true, + "FieldCount":4, + "Length":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"groupFunctionCode", + "Name":"Group Function Code", + "Description":"Abort", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Match":255, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"ISO_COMMAND" + }, + { + "Order":2, + "Id":"reason", + "Name":"Reason", + "BitLength":8, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":3, + "Id":"reserved", + "Name":"Reserved", + "BitLength":24, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":4, + "Id":"pgn", + "Name":"PGN", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + } + ] + }, + { + "PGN":60928, + "Id":"isoAddressClaim", + "Description":"ISO Address Claim", + "Priority":6, + "Explanation":"This network management message is used to claim network address, reply to devices requesting the claimed address, and to respond with device information (NAME) requested by the ISO Request or Complex Request Group Function. This PGN contains several fields that are requestable, either independently or in any combination. Note that there are several places where this 64-bit data also occurs, these are named ISO_NAME and can be recursively explained.", + "URL":"https://web.archive.org/web/20150910070107/http://www.nmea.org/Assets/20140710%20nmea-2000-060928%20iso%20address%20claim%20pgn%20corrigendum.pdf", + "Type":"Single", + "Complete":true, + "FieldCount":10, + "Length":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"uniqueNumber", + "Name":"Unique Number", + "Description":"ISO Identity Number", + "BitLength":21, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2097148, + "UnknownValue":2097151, + "OutOfRangeValue":2097150, + "ReservedValue":2097149, + "FieldType":"NUMBER" + }, + { + "Order":2, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "BitLength":11, + "BitOffset":21, + "BitStart":5, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":3, + "Id":"deviceInstanceLower", + "Name":"Device Instance Lower", + "Description":"ISO ECU Instance", + "BitLength":3, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":7, + "FieldType":"NUMBER" + }, + { + "Order":4, + "Id":"deviceInstanceUpper", + "Name":"Device Instance Upper", + "Description":"ISO Function Instance", + "BitLength":5, + "BitOffset":35, + "BitStart":3, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":31, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"deviceFunction", + "Name":"Device Function", + "Description":"ISO Function", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"INDIRECT_LOOKUP", + "LookupIndirectEnumeration":"DEVICE_FUNCTION", + "LookupIndirectEnumerationFieldOrder":7 + }, + { + "Order":6, + "Id":"spare", + "Name":"Spare", + "BitLength":1, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":7, + "Id":"deviceClass", + "Name":"Device Class", + "BitLength":7, + "BitOffset":49, + "BitStart":1, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":125, + "UnknownValue":127, + "OutOfRangeValue":126, + "FieldType":"LOOKUP", + "LookupEnumeration":"DEVICE_CLASS" + }, + { + "Order":8, + "Id":"systemInstance", + "Name":"System Instance", + "Description":"ISO Device Class Instance", + "BitLength":4, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"industryGroup", + "Name":"Industry Group", + "BitLength":3, + "BitOffset":60, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":10, + "Id":"arbitraryAddressCapable", + "Name":"Arbitrary address capable", + "Description":"Field indicates whether the device is capable to claim arbitrary source address. Value is 1 for NMEA200 devices. Could be 0 for J1939 device claims", + "BitLength":1, + "BitOffset":63, + "BitStart":7, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO_1BIT" + } + ] + }, + { + "PGN":61184, + "Id":"0xef00ManufacturerProprietarySingleFrameAddressed", + "Description":"0xEF00: Manufacturer Proprietary single-frame addressed", + "Explanation":"Manufacturer proprietary PGNs in PDU1 (addressed) single-frame PGN 0xEF00 (61184). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "Type":"Single", + "Complete":false, + "Fallback":true, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":61184, + "Id":"seatalkWirelessKeypadLightControl", + "Description":"Seatalk: Wireless Keypad Light Control", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":8, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Raymarine", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":1851, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Wireless Keypad Light Control", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Match":1, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"variant", + "Name":"Variant", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"wirelessSetting", + "Name":"Wireless Setting", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"wiredSetting", + "Name":"Wired Setting", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"reserved8", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":61184, + "Id":"seatalkWirelessKeypadControl", + "Description":"Seatalk: Wireless Keypad Control", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":7, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Raymarine", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":1851, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"PID", + "Name":"Proprietary ID", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"variant", + "Name":"Variant", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"beepControl", + "Name":"Beep Control", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":61184, + "Id":"victronVeCanRegister", + "Description":"Victron: VE.Can Register", + "Priority":7, + "Explanation":"Victron VE.Can register (VREG) read/broadcast: the frame carries a 16-bit register id and the register's value, whose type is selected by the register id (see the VE.Can registers document at .url). Register ids that are not listed, or that carry a multi-field or string value, decode as raw bytes.", + "URL":"https://www.victronenergy.com/upload/documents/VE.Can-registers-public.pdf", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":5, + "MinLength":4, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Victron Energy", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":358, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"registerId", + "Name":"Register Id", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DYNAMIC_FIELD_KEY", + "LookupFieldTypeEnumeration":"VICTRON_VREG", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"value", + "Name":"Value", + "Description":"Register value; its type is selected by Register Id", + "BitLengthVariable":true, + "BitOffset":32, + "BitStart":0, + "FieldType":"DYNAMIC_FIELD_VALUE" + } + ] + }, + { + "PGN":61184, + "Id":"carlingBreakerCommand", + "Description":"Carling: Breaker Command", + "Priority":2, + "Explanation":"Addresses up to 19 breakers on a Carling digital switching panel via three bitmap fields. Breakers 1 to 8 are in Breaker Mapping 1, 9 to 16 in Breaker Mapping 2, and 17 to 19 in Breaker Mapping 3.", + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":10, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Carling Technologies Inc. (Moritz Aerospace)", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":176, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"messageType", + "Name":"Message Type", + "Description":"Breaker Command", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Match":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"breakerMapping1", + "Name":"Breaker Mapping 1", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"breakerMapping2", + "Name":"Breaker Mapping 2", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":5, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":8, + "Id":"breakerMapping3", + "Name":"Breaker Mapping 3", + "BitLength":3, + "BitOffset":45, + "BitStart":5, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"breakerCommand", + "Name":"Breaker Command", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"dimValue", + "Name":"Dim Value", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":61184, + "Id":"simnetKeepAlive", + "Description":"Simnet: Keep Alive", + "Priority":7, + "Explanation":"Addressed keep-alive a display sends to a device - for example a wireless masthead wind sensor - to keep it from entering NMEA 2000 sleep while its data is in use. The display renews it periodically and re-sends it when it boots. Usually only the request form is seen (empty Session/Status); the reply carries a status.", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":7, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Simrad", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":1857, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"command", + "Name":"Command", + "Description":"Command selector; 49 keeps the addressed device awake", + "BitLength":14, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":16380, + "UnknownValue":16383, + "OutOfRangeValue":16382, + "ReservedValue":16381, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"reserved5", + "Name":"Reserved", + "BitLength":1, + "BitOffset":30, + "BitStart":6, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":6, + "Id":"reply", + "Name":"Reply", + "Description":"0 = request, 1 = reply", + "BitLength":1, + "BitOffset":31, + "BitStart":7, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"value", + "Name":"Value", + "Description":"Only meaningful in a reply (carries a status); left unset (0xFF) in a request", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":61440, + "Id":"0xf0000xfeffStandardizedSingleFrameNonAddressed", + "Description":"0xF000-0xFEFF: Standardized single-frame non-addressed", + "Explanation":"PGNs in PDU2 (non-addressed) single-frame PGN range 0xF000 to 0xFEFF (61440 - 65279). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "Type":"Single", + "Complete":false, + "Fallback":true, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":65001, + "Id":"bus1PhaseCBasicAcQuantities", + "Description":"Bus #1 Phase C Basic AC Quantities", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":2, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65002, + "Id":"bus1PhaseBBasicAcQuantities", + "Description":"Bus #1 Phase B Basic AC Quantities", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":2, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65003, + "Id":"bus1PhaseABasicAcQuantities", + "Description":"Bus #1 Phase A Basic AC Quantities", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":2, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65004, + "Id":"bus1AverageBasicAcQuantities", + "Description":"Bus #1 Average Basic AC Quantities", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":2, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65005, + "Id":"utilityTotalAcEnergy", + "Description":"Utility Total AC Energy", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":2, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"totalEnergyExport", + "Name":"Total Energy Export", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"kWh", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_ENERGY" + }, + { + "Order":2, + "Id":"totalEnergyImport", + "Name":"Total Energy Import", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"kWh", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_ENERGY" + } + ] + }, + { + "PGN":65006, + "Id":"utilityPhaseCAcReactivePower", + "Description":"Utility Phase C AC Reactive Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"reactivePower", + "Name":"Reactive Power", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"VAR", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + }, + { + "Order":2, + "Id":"powerFactor", + "Name":"Power factor", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"Cos Phi", + "Resolution":6.103515625e-05, + "Signed":false, + "RangeMin":0, + "RangeMax":3.999755859375, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"powerFactorLagging", + "Name":"Power Factor Lagging", + "BitLength":2, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"POWER_FACTOR" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":30, + "BitOffset":34, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65007, + "Id":"utilityPhaseCAcPower", + "Description":"Utility Phase C AC Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":2, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"realPower", + "Name":"Real Power", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"W", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_POWER" + }, + { + "Order":2, + "Id":"apparentPower", + "Name":"Apparent Power", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"VA", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" + } + ] + }, + { + "PGN":65008, + "Id":"utilityPhaseCBasicAcQuantities", + "Description":"Utility Phase C Basic AC Quantities", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":2, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" + }, + { + "Order":4, + "Id":"acRmsCurrent", + "Name":"AC RMS Current", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Unit":"A", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" + } + ] + }, + { + "PGN":65009, + "Id":"utilityPhaseBAcReactivePower", + "Description":"Utility Phase B AC Reactive Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"reactivePower", + "Name":"Reactive Power", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"VAR", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + }, + { + "Order":2, + "Id":"powerFactor", + "Name":"Power factor", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"Cos Phi", + "Resolution":6.103515625e-05, + "Signed":false, + "RangeMin":0, + "RangeMax":3.999755859375, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"powerFactorLagging", + "Name":"Power Factor Lagging", + "BitLength":2, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"POWER_FACTOR" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":30, + "BitOffset":34, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65010, + "Id":"utilityPhaseBAcPower", + "Description":"Utility Phase B AC Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":2, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"realPower", + "Name":"Real Power", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"W", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_POWER" + }, + { + "Order":2, + "Id":"apparentPower", + "Name":"Apparent Power", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"VA", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" + } + ] + }, + { + "PGN":65011, + "Id":"utilityPhaseBBasicAcQuantities", + "Description":"Utility Phase B Basic AC Quantities", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":2, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" + }, + { + "Order":4, + "Id":"acRmsCurrent", + "Name":"AC RMS Current", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Unit":"A", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" + } + ] + }, + { + "PGN":65012, + "Id":"utilityPhaseAAcReactivePower", + "Description":"Utility Phase A AC Reactive Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"reactivePower", + "Name":"Reactive Power", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"VAR", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + }, + { + "Order":2, + "Id":"powerFactor", + "Name":"Power factor", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Cos Phi", + "Resolution":6.103515625e-05, + "Signed":false, + "RangeMin":0, + "RangeMax":3.999755859375, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"powerFactorLagging", + "Name":"Power Factor Lagging", + "BitLength":2, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"POWER_FACTOR" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":14, + "BitOffset":50, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65013, + "Id":"utilityPhaseAAcPower", + "Description":"Utility Phase A AC Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":2, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"realPower", + "Name":"Real Power", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"W", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_POWER" + }, + { + "Order":2, + "Id":"apparentPower", + "Name":"Apparent Power", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"VA", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" + } + ] + }, + { + "PGN":65014, + "Id":"utilityPhaseABasicAcQuantities", + "Description":"Utility Phase A Basic AC Quantities", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":2, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" + }, + { + "Order":4, + "Id":"acRmsCurrent", + "Name":"AC RMS Current", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Unit":"A", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" + } + ] + }, + { + "PGN":65015, + "Id":"utilityTotalAcReactivePower", + "Description":"Utility Total AC Reactive Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"reactivePower", + "Name":"Reactive Power", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"VAR", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + }, + { + "Order":2, + "Id":"powerFactor", + "Name":"Power factor", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Cos Phi", + "Resolution":6.103515625e-05, + "Signed":false, + "RangeMin":0, + "RangeMax":3.999755859375, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"powerFactorLagging", + "Name":"Power Factor Lagging", + "BitLength":2, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"POWER_FACTOR" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":14, + "BitOffset":50, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65016, + "Id":"utilityTotalAcPower", + "Description":"Utility Total AC Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":2, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"realPower", + "Name":"Real Power", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"W", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_POWER" + }, + { + "Order":2, + "Id":"apparentPower", + "Name":"Apparent Power", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"VA", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" + } + ] + }, + { + "PGN":65017, + "Id":"utilityAverageBasicAcQuantities", + "Description":"Utility Average Basic AC Quantities", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":2, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"V", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" + }, + { + "Order":4, + "Id":"acRmsCurrent", + "Name":"AC RMS Current", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Unit":"A", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" + } ] }, { - "Name":"VICTRON_VREG", - "MaxValue":65535, - "EnumFieldTypeValues":[ - {"name": "Group ID", "value": 260, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Hardware Revision", "value": 261, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Identify", "value": 270, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Uptime", "value": 288, "FieldType": "DURATION", "Resolution": 1, "Unit": "s", "Bits": "32"}, - {"name": "CAN Hardware RX Overflows", "value": 304, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "CAN Software RX Overflows", "value": 305, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "CAN Error Passive Counter", "value": 306, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "CAN Bus Off Counter", "value": 307, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "Device Mode", "value": 512, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Device State", "value": 513, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Remote Control Used", "value": 514, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "AC Input Current Limit", "value": 515, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Active Input", "value": 516, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "AC Input 1 Current Limit", "value": 528, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Input 1 Current Limit Min", "value": 529, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Input 1 Current Limit Max", "value": 530, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Input 1 Current Limit Internal", "value": 531, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Input 1 Current Limit Remote", "value": 532, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Input 2 Current Limit", "value": 544, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Input 2 Current Limit Min", "value": 545, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Input 2 Current Limit Max", "value": 546, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Input 2 Current Limit Internal", "value": 547, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "AC Input 2 Current Limit Remote", "value": 548, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Deepest Discharge", "value": 768, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "Ah", "Bits": "32"}, - {"name": "Last Discharge", "value": 769, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "Ah", "Bits": "32"}, - {"name": "Average Discharge", "value": 770, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "Ah", "Bits": "32"}, - {"name": "Charge Cycles", "value": 771, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "Full Discharges", "value": 772, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "Cumulative Ah Drawn", "value": 773, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "Ah", "Bits": "32"}, - {"name": "Minimum Voltage", "value": 774, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "32"}, - {"name": "Maximum Voltage", "value": 775, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "32"}, - {"name": "Seconds Since Last Full Charge", "value": 776, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "Automatic Synchronizations", "value": 777, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "Low Voltage Alarms", "value": 778, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "High Voltage Alarms", "value": 779, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "Low Auxiliary Voltage Alarms", "value": 780, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "High Auxiliary Voltage Alarms", "value": 781, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "Minimum Auxiliary Voltage", "value": 782, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "32"}, - {"name": "Maximum Auxiliary Voltage", "value": 783, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "32"}, - {"name": "Discharged Energy", "value": 784, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, - {"name": "Charged Energy", "value": 785, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, - {"name": "Low Voltage Alarm Set", "value": 800, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Low Voltage Alarm Clear", "value": 801, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "High Voltage Alarm Set", "value": 802, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "High Voltage Alarm Clear", "value": 803, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Low Auxiliary Voltage Alarm Set", "value": 804, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Low Auxiliary Voltage Alarm Clear", "value": 805, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "High Auxiliary Voltage Alarm Set", "value": 806, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "High Auxiliary Voltage Alarm Clear", "value": 807, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Low State of Charge Alarm Set", "value": 808, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Low State of Charge Alarm Clear", "value": 809, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Low Battery Temperature Alarm Set", "value": 810, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Low Battery Temperature Alarm Clear", "value": 811, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "High Battery Temperature Alarm Set", "value": 812, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "High Battery Temperature Alarm Clear", "value": 813, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "High Internal Temperature Alarm Set", "value": 814, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "High Internal Temperature Alarm Clear", "value": 815, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Fuse Blown Alarm", "value": 816, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Mid-point Voltage Alarm Set", "value": 817, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Mid-point Voltage Alarm Clear", "value": 818, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Relay Invert", "value": 845, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Relay Control", "value": 846, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Relay Mode", "value": 847, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Low Voltage Relay Set", "value": 848, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Low Voltage Relay Clear", "value": 849, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "High Voltage Relay Set", "value": 850, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "High Voltage Relay Clear", "value": 851, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Low Auxiliary Voltage Relay Set", "value": 852, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Low Auxiliary Voltage Relay Clear", "value": 853, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "High Auxiliary Voltage Relay Set", "value": 854, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "High Auxiliary Voltage Relay Clear", "value": 855, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Low State of Charge Relay Set", "value": 856, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Low State of Charge Relay Clear", "value": 857, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Low Battery Temperature Relay Set", "value": 858, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Low Battery Temperature Relay Clear", "value": 859, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "High Battery Temperature Relay Set", "value": 860, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "High Battery Temperature Relay Clear", "value": 861, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "High Internal Temperature Relay Set", "value": 862, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "High Internal Temperature Relay Clear", "value": 863, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Fuse Blown Relay", "value": 864, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Mid-point Voltage Relay Set", "value": 865, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Mid-point Voltage Relay Clear", "value": 866, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "BMS Flags", "value": 880, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "BMS State", "value": 881, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "BMS Error Flags", "value": 882, "FieldType": "NUMBER", "Bits": "32"}, - {"name": "Mid-point Voltage", "value": 898, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Mid-point Voltage Deviation", "value": 899, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Time To Go", "value": 4094, "FieldType": "DURATION", "Resolution": 60, "Unit": "s", "Bits": "16"}, - {"name": "State of Charge", "value": 4095, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "%", "Bits": "16"}, - {"name": "Battery Capacity", "value": 4096, "FieldType": "NUMBER", "Resolution": 1, "Unit": "Ah", "Bits": "16"}, - {"name": "Charged Voltage", "value": 4097, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "V", "Bits": "16"}, - {"name": "Charged Current", "value": 4098, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Charged Detection Time", "value": 4099, "FieldType": "DURATION", "Resolution": 60, "Unit": "s", "Bits": "16"}, - {"name": "Charge Efficiency", "value": 4100, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "Peukert Coefficient", "value": 4101, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "Current Threshold", "value": 4102, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "A", "Bits": "16"}, - {"name": "Average Time To Go", "value": 4103, "FieldType": "DURATION", "Resolution": 60, "Unit": "s", "Bits": "16"}, - {"name": "Low State of Charge Set", "value": 4104, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Low State of Charge Clear", "value": 4105, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "%", "Bits": "16"}, - {"name": "Relay Minimum Enabled Time", "value": 4106, "FieldType": "DURATION", "Resolution": 60, "Unit": "s", "Bits": "16"}, - {"name": "Relay Disable Delay", "value": 4107, "FieldType": "DURATION", "Resolution": 60, "Unit": "s", "Bits": "16"}, - {"name": "Current Offset", "value": 4148, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "DC Voltage", "value": 8194, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "DC Current", "value": 8220, "FieldType": "NUMBER", "Resolution": 0.001, "Unit": "A", "Bits": "32"}, - {"name": "Channel 3 Voltage", "value": 60781, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Channel 3 Power", "value": 60782, "FieldType": "NUMBER", "Resolution": 1, "Unit": "W", "Bits": "16"}, - {"name": "Channel 3 Current", "value": 60783, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Channel 2 Voltage", "value": 60797, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Channel 2 Power", "value": 60798, "FieldType": "NUMBER", "Resolution": 1, "Unit": "W", "Bits": "16"}, - {"name": "Channel 2 Current", "value": 60799, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Channel 1 Voltage", "value": 60813, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Channel 1 Power", "value": 60814, "FieldType": "NUMBER", "Resolution": 1, "Unit": "W", "Bits": "16"}, - {"name": "Channel 1 Current", "value": 60815, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "CAN Select", "value": 60831, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Load Output Status", "value": 60840, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Load Output Voltage", "value": 60841, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Load Output Power", "value": 60842, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "W", "Bits": "16"}, - {"name": "Load Output Control Mode", "value": 60843, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Load Output Offset Voltage", "value": 60844, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Load Output Actual Current", "value": 60845, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Load Output Current Limit", "value": 60846, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Load Output Maximum Current", "value": 60847, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Input Voltage Maximum Clear", "value": 60857, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Input Voltage Maximum Set", "value": 60858, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Input Voltage", "value": 60859, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Input Power", "value": 60860, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "W", "Bits": "32"}, - {"name": "Input Current", "value": 60861, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Input Maximum Current", "value": 60863, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Charger Maximum Power Yesterday", "value": 60880, "FieldType": "NUMBER", "Resolution": 1, "Unit": "W", "Bits": "32"}, - {"name": "Charger Yield Yesterday", "value": 60881, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, - {"name": "Charger Maximum Power Today", "value": 60882, "FieldType": "NUMBER", "Resolution": 1, "Unit": "W", "Bits": "32"}, - {"name": "Charger Yield Today", "value": 60883, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, - {"name": "Charger Additional State Information", "value": 60884, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Charger Voltage", "value": 60885, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Charger Power", "value": 60886, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "W", "Bits": "16"}, - {"name": "Charger Current", "value": 60887, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Charger Relay State", "value": 60888, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Charger Relay Mode", "value": 60889, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Charger Error Code", "value": 60890, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Charger Internal Temperature", "value": 60891, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "Charger User Yield", "value": 60892, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, - {"name": "Charger System Yield", "value": 60893, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "kWh", "Bits": "32"}, - {"name": "Charger Number of Physical Outputs", "value": 60894, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Charger Maximum Current", "value": 60895, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Battery BMS Present", "value": 60904, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Battery Power Supply Voltage", "value": 60905, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Battery Voltage Setting", "value": 60906, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Battery Overcharge Voltage Level", "value": 60907, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Battery Temperature", "value": 60908, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "K", "Bits": "16"}, - {"name": "Battery Intelligent Mode", "value": 60909, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Battery Storage Mode", "value": 60910, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Battery Voltage Selection", "value": 60911, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Battery Maximum Current", "value": 60912, "FieldType": "NUMBER", "Resolution": 0.1, "Unit": "A", "Bits": "16"}, - {"name": "Battery Type", "value": 60913, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Battery Temperature Compensation", "value": 60914, "FieldType": "NUMBER", "Bits": "16"}, - {"name": "Battery Discharge Voltage Level", "value": 60915, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Battery Equalisation Voltage Level", "value": 60916, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Battery Storage Voltage Level", "value": 60917, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Battery Float Voltage Level", "value": 60918, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Battery Absorption Voltage Level", "value": 60919, "FieldType": "NUMBER", "Resolution": 0.01, "Unit": "V", "Bits": "16"}, - {"name": "Battery Repeated Absorption Time Interval", "value": 60920, "FieldType": "DURATION", "Resolution": 864, "Unit": "s", "Bits": "16"}, - {"name": "Battery Repeated Absorption Time Duration", "value": 60921, "FieldType": "DURATION", "Resolution": 36, "Unit": "s", "Bits": "16"}, - {"name": "Battery Float Time Limit", "value": 60922, "FieldType": "DURATION", "Resolution": 36, "Unit": "s", "Bits": "16"}, - {"name": "Battery Absorption Time Limit", "value": 60923, "FieldType": "DURATION", "Resolution": 36, "Unit": "s", "Bits": "16"}, - {"name": "Battery Bulk Time Limit", "value": 60924, "FieldType": "DURATION", "Resolution": 36, "Unit": "s", "Bits": "16"}, - {"name": "Battery Automatic Equalisation Mode", "value": 60925, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Battery Adaptive Mode", "value": 60926, "FieldType": "NUMBER", "Bits": "8"}, - {"name": "Battery Safe Mode", "value": 60927, "FieldType": "NUMBER", "Bits": "8"} - ] - } - ], - "PGNs":[ - - { - "PGN":59392, - "Id":"0xe8000xee00StandardizedSingleFrameAddressed", - "Description":"0xE800-0xEE00: Standardized single-frame addressed", - "Priority":6, - "Explanation":"Standardized PGNs in PDU1 (addressed) single-frame PGN range 0xE800 to 0xEE00 (59392 - 60928). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "PGN":65018, + "Id":"generatorTotalAcEnergy", + "Description":"Generator Total AC Energy", + "Priority":3, "Type":"Single", "Complete":false, - "Fallback":true, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":1, + "FieldCount":2, "Length":8, "Fields":[ { "Order":1, - "Id":"data", - "Name":"Data", - "BitLength":64, + "Id":"totalEnergyExport", + "Name":"Total Energy Export", + "BitLength":32, "BitOffset":0, "BitStart":0, + "Unit":"kWh", "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_ENERGY" + }, + { + "Order":2, + "Id":"totalEnergyImport", + "Name":"Total Energy Import", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"kWh", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_ENERGY" } ] }, { - "PGN":59392, - "Id":"isoAcknowledgement", - "Description":"ISO Acknowledgement", - "Priority":6, - "Explanation":"This message is provided by ISO 11783 for a handshake mechanism between transmitting and receiving devices. This message is the possible response to acknowledge the reception of a 'normal broadcast' message or the response to a specific command to indicate compliance or failure.", + "PGN":65019, + "Id":"generatorPhaseCAcReactivePower", + "Description":"Generator Phase C AC Reactive Power", + "Priority":3, "Type":"Single", - "Complete":true, + "Complete":false, + "Missing":["Interval" + ], "FieldCount":4, "Length":8, - "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"control", - "Name":"Control", - "BitLength":8, + "Id":"reactivePower", + "Name":"Reactive Power", + "BitLength":32, "BitOffset":0, "BitStart":0, + "Unit":"VAR", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ISO_CONTROL" + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" }, { "Order":2, - "Id":"groupFunction", - "Name":"Group Function", - "BitLength":8, - "BitOffset":8, + "Id":"powerFactor", + "Name":"Power factor", + "BitLength":16, + "BitOffset":32, "BitStart":0, - "Resolution":1, + "Unit":"Cos Phi", + "Resolution":6.103515625e-05, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":3.999755859375, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":3, - "Id":"reserved", - "Name":"Reserved", - "BitLength":24, - "BitOffset":16, + "Id":"powerFactorLagging", + "Name":"Power Factor Lagging", + "BitLength":2, + "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"POWER_FACTOR" }, { "Order":4, - "Id":"pgn", - "Name":"PGN", - "Description":"Parameter Group Number of requested information", - "BitLength":24, - "BitOffset":40, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":14, + "BitOffset":50, + "BitStart":2, "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "FieldType":"RESERVED" } ] }, { - "PGN":59904, - "Id":"isoRequest", - "Description":"ISO Request", - "Priority":6, - "Explanation":"As defined by ISO, this message has a data length of 3 bytes with no padding added to complete the single frame. The appropriate response to this message is based on the PGN being requested, and whether the receiver supports the requested PGN.", + "PGN":65020, + "Id":"generatorPhaseCAcPower", + "Description":"Generator Phase C AC Power", + "Priority":3, "Type":"Single", - "Complete":true, - "FieldCount":1, - "Length":3, - "TransmissionIrregular":true, + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":2, + "Length":8, "Fields":[ { "Order":1, - "Id":"pgn", - "Name":"PGN", - "BitLength":24, + "Id":"realPower", + "Name":"Real Power", + "BitLength":32, "BitOffset":0, "BitStart":0, + "Unit":"W", "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_POWER" + }, + { + "Order":2, + "Id":"apparentPower", + "Name":"Apparent Power", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"VAR", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" } ] }, { - "PGN":60160, - "Id":"isoTransportProtocolDataTransfer", - "Description":"ISO Transport Protocol, Data Transfer", - "Priority":6, - "Explanation":"ISO 11783 defines this PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN represents a single packet of a multipacket message.", + "PGN":65021, + "Id":"generatorPhaseCBasicAcQuantities", + "Description":"Generator Phase C Basic AC Quantities", + "Priority":3, "Type":"Single", - "Complete":true, - "FieldCount":2, + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, "Length":8, - "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"sid", - "Name":"SID", - "Description":"Sequence number of multi-packet frame", - "BitLength":8, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, "BitOffset":0, "BitStart":0, + "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" }, { "Order":2, - "Id":"data", - "Name":"Data", - "Description":"Multi-packet packetized data - 56 bits organized as seven 8-bit bytes, each of the bytes is transmitted in the same order as it would in a standard (i.e., single frame) message. Unused bytes shall be filled with 0xFF.", - "BitLength":56, - "BitOffset":8, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, "BitStart":0, + "Unit":"V", "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" + }, + { + "Order":4, + "Id":"acRmsCurrent", + "Name":"AC RMS Current", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Unit":"A", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" } ] }, { - "PGN":60416, - "Id":"isoTransportProtocolConnectionManagementRequestToSend", - "Description":"ISO Transport Protocol, Connection Management - Request To Send", - "Priority":6, - "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to prepare the receiver for the fact that this sender wants to transmit a long message. The receiver will respond with CTS.", - "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "PGN":65022, + "Id":"generatorPhaseBAcReactivePower", + "Description":"Generator Phase B AC Reactive Power", + "Priority":3, "Type":"Single", - "Complete":true, - "FieldCount":5, + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, "Length":8, - "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"groupFunctionCode", - "Name":"Group Function Code", - "Description":"RTS", - "BitLength":8, + "Id":"reactivePower", + "Name":"Reactive Power", + "BitLength":32, "BitOffset":0, "BitStart":0, - "Match":16, + "Unit":"VAR", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + }, + { + "Order":2, + "Id":"powerFactor", + "Name":"Power factor", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"Cos Phi", + "Resolution":6.103515625e-05, + "Signed":false, + "RangeMin":0, + "RangeMax":3.999755859375, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"powerFactorLagging", + "Name":"Power Factor Lagging", + "BitLength":2, + "BitOffset":48, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", - "LookupEnumeration":"ISO_COMMAND" + "LookupEnumeration":"POWER_FACTOR" + }, + { + "Order":4, + "Id":"reserved", + "Name":"Reserved", + "BitLength":14, + "BitOffset":50, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65023, + "Id":"generatorPhaseBAcPower", + "Description":"Generator Phase B AC Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":2, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"realPower", + "Name":"Real Power", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"W", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_POWER" }, { "Order":2, - "Id":"messageSize", - "Name":"Message size", - "Description":"bytes", + "Id":"apparentPower", + "Name":"Apparent Power", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"VA", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" + } + ] + }, + { + "PGN":65024, + "Id":"generatorPhaseBBasicAcQuantities", + "Description":"Generator Phase B Basic AC Quantities", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", "BitLength":16, - "BitOffset":8, + "BitOffset":0, "BitStart":0, + "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, @@ -4775,180 +8956,230 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" }, { - "Order":3, - "Id":"packets", - "Name":"Packets", - "Description":"packets", - "BitLength":8, - "BitOffset":24, + "Order":2, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, "BitStart":0, + "Unit":"V", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" }, { - "Order":4, - "Id":"packetsReply", - "Name":"Packets reply", - "Description":"packets sent in response to CTS", - "BitLength":8, + "Order":3, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, "BitOffset":32, "BitStart":0, - "Resolution":1, + "Unit":"Hz", + "Resolution":0.0078125, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { - "Order":5, - "Id":"pgn", - "Name":"PGN", - "BitLength":24, - "BitOffset":40, + "Order":4, + "Id":"acRmsCurrent", + "Name":"AC RMS Current", + "BitLength":16, + "BitOffset":48, "BitStart":0, + "Unit":"A", "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" } ] }, { - "PGN":60416, - "Id":"isoTransportProtocolConnectionManagementClearToSend", - "Description":"ISO Transport Protocol, Connection Management - Clear To Send", - "Priority":6, - "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to signal to the sender that the receive is ready to receive a number of frames.", - "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "PGN":65025, + "Id":"generatorPhaseAAcReactivePower", + "Description":"Generator Phase A AC Reactive Power", + "Priority":3, "Type":"Single", - "Complete":true, - "FieldCount":5, + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, "Length":8, - "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"groupFunctionCode", - "Name":"Group Function Code", - "Description":"CTS", - "BitLength":8, + "Id":"reactivePower", + "Name":"Reactive Power", + "BitLength":32, "BitOffset":0, "BitStart":0, - "Match":17, + "Unit":"VAR", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"ISO_COMMAND" + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" }, { "Order":2, - "Id":"maxPackets", - "Name":"Max packets", - "Description":"Number of frames that can be sent before another CTS is required", - "BitLength":8, - "BitOffset":8, + "Id":"powerFactor", + "Name":"Power factor", + "BitLength":16, + "BitOffset":32, "BitStart":0, - "Resolution":1, + "Unit":"Cos Phi", + "Resolution":6.103515625e-05, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":3.999755859375, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":3, - "Id":"nextSid", - "Name":"Next SID", - "Description":"Number of next frame to be transmitted", - "BitLength":8, - "BitOffset":16, + "Id":"powerFactorLagging", + "Name":"Power Factor Lagging", + "BitLength":2, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"POWER_FACTOR" }, { "Order":4, "Id":"reserved", "Name":"Reserved", - "BitLength":16, - "BitOffset":24, - "BitStart":0, + "BitLength":14, + "BitOffset":50, + "BitStart":2, "Resolution":1, "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65026, + "Id":"generatorPhaseAAcPower", + "Description":"Generator Phase A AC Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":2, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"realPower", + "Name":"Real Power", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"W", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_POWER" }, { - "Order":5, - "Id":"pgn", - "Name":"PGN", - "BitLength":24, - "BitOffset":40, + "Order":2, + "Id":"apparentPower", + "Name":"Apparent Power", + "BitLength":32, + "BitOffset":32, "BitStart":0, + "Unit":"VA", "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" } ] }, { - "PGN":60416, - "Id":"isoTransportProtocolConnectionManagementEndOfMessage", - "Description":"ISO Transport Protocol, Connection Management - End Of Message", - "Priority":6, - "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to mark the end of the message.", - "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "PGN":65027, + "Id":"generatorPhaseABasicAcQuantities", + "Description":"Generator Phase A Basic AC Quantities", + "Priority":3, "Type":"Single", - "Complete":true, - "FieldCount":5, + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, "Length":8, - "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"groupFunctionCode", - "Name":"Group Function Code", - "Description":"EOM", - "BitLength":8, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, "BitOffset":0, "BitStart":0, - "Match":19, + "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"ISO_COMMAND" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" }, { "Order":2, - "Id":"totalMessageSize", - "Name":"Total message size", - "Description":"bytes", + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", "BitLength":16, - "BitOffset":8, + "BitOffset":16, "BitStart":0, + "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, @@ -4956,90 +9187,90 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" }, { "Order":3, - "Id":"totalNumberOfFramesReceived", - "Name":"Total number of frames received", - "Description":"Total number of of frames received", - "BitLength":8, - "BitOffset":24, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, "BitStart":0, - "Resolution":1, + "Unit":"Hz", + "Resolution":0.0078125, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { "Order":4, - "Id":"reserved", - "Name":"Reserved", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":5, - "Id":"pgn", - "Name":"PGN", - "BitLength":24, - "BitOffset":40, + "Id":"acRmsCurrent", + "Name":"AC RMS Current", + "BitLength":16, + "BitOffset":48, "BitStart":0, + "Unit":"A", "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" } ] }, { - "PGN":60416, - "Id":"isoTransportProtocolConnectionManagementBroadcastAnnounce", - "Description":"ISO Transport Protocol, Connection Management - Broadcast Announce", - "Priority":6, - "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to announce a broadcast of a long message spanning multiple frames.", - "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "PGN":65028, + "Id":"generatorTotalAcReactivePower", + "Description":"Generator Total AC Reactive Power", + "Priority":3, "Type":"Single", - "Complete":true, - "FieldCount":5, + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":4, "Length":8, - "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"groupFunctionCode", - "Name":"Group Function Code", - "Description":"BAM", - "BitLength":8, + "Id":"reactivePower", + "Name":"Reactive Power", + "BitLength":32, "BitOffset":0, "BitStart":0, - "Match":32, + "Unit":"VAR", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"ISO_COMMAND" + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" }, { "Order":2, - "Id":"messageSize", - "Name":"Message size", - "Description":"bytes", + "Id":"powerFactor", + "Name":"Power factor", "BitLength":16, - "BitOffset":8, + "BitOffset":32, "BitStart":0, - "Resolution":1, + "Unit":"Cos Phi", + "Resolution":6.103515625e-05, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":3.999755859375, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -5047,120 +9278,181 @@ }, { "Order":3, - "Id":"packets", - "Name":"Packets", - "Description":"frames", - "BitLength":8, - "BitOffset":24, + "Id":"powerFactorLagging", + "Name":"Power Factor Lagging", + "BitLength":2, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"POWER_FACTOR" }, { "Order":4, "Id":"reserved", "Name":"Reserved", - "BitLength":8, - "BitOffset":32, - "BitStart":0, + "BitLength":14, + "BitOffset":50, + "BitStart":2, "Resolution":1, "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65029, + "Id":"generatorTotalAcPower", + "Description":"Generator Total AC Power", + "Priority":3, + "Type":"Single", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":2, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"realPower", + "Name":"Real Power", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"W", + "Resolution":1, + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_POWER" }, { - "Order":5, - "Id":"pgn", - "Name":"PGN", - "BitLength":24, - "BitOffset":40, + "Order":2, + "Id":"apparentPower", + "Name":"Apparent Power", + "BitLength":32, + "BitOffset":32, "BitStart":0, + "Unit":"VA", "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "Signed":true, + "Offset":-2000000000, + "RangeMin":-2000000000, + "RangeMax":2294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" } ] }, { - "PGN":60416, - "Id":"isoTransportProtocolConnectionManagementAbort", - "Description":"ISO Transport Protocol, Connection Management - Abort", - "Priority":6, - "Explanation":"ISO 11783 defines this group function PGN as part of the Transport Protocol method used for transmitting messages that have 9 or more data bytes. This PGN's role in the transport process is to announce an abort of a long message spanning multiple frames.", - "URL":"https://embeddedflakes.com/j1939-transport-protocol/", + "PGN":65030, + "Id":"generatorAverageBasicAcQuantities", + "Description":"Generator Average Basic AC Quantities", + "Priority":3, "Type":"Single", - "Complete":true, + "Complete":false, + "Missing":["Interval" + ], "FieldCount":4, "Length":8, - "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"groupFunctionCode", - "Name":"Group Function Code", - "Description":"Abort", - "BitLength":8, + "Id":"lineLineAcRmsVoltage", + "Name":"Line-Line AC RMS Voltage", + "BitLength":16, "BitOffset":0, "BitStart":0, - "Match":255, + "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"ISO_COMMAND" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" }, { "Order":2, - "Id":"reason", - "Name":"Reason", - "BitLength":8, - "BitOffset":8, + "Id":"lineNeutralAcRmsVoltage", + "Name":"Line-Neutral AC RMS Voltage", + "BitLength":16, + "BitOffset":16, "BitStart":0, + "Unit":"V", "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" }, { "Order":3, - "Id":"reserved", - "Name":"Reserved", - "BitLength":24, - "BitOffset":16, + "Id":"acFrequency", + "Name":"AC Frequency", + "BitLength":16, + "BitOffset":32, "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "Unit":"Hz", + "Resolution":0.0078125, + "Signed":false, + "RangeMin":0, + "RangeMax":511.96875, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { "Order":4, - "Id":"pgn", - "Name":"PGN", - "BitLength":24, - "BitOffset":40, + "Id":"acRmsCurrent", + "Name":"AC RMS Current", + "BitLength":16, + "BitOffset":48, "BitStart":0, + "Unit":"A", "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" } ] - }, - { - "PGN":60928, - "Id":"isoAddressClaim", - "Description":"ISO Address Claim", + }, + { + "PGN":65240, + "Id":"isoCommandedAddress", + "Description":"ISO Commanded Address", "Priority":6, - "Explanation":"This network management message is used to claim network address, reply to devices requesting the claimed address, and to respond with device information (NAME) requested by the ISO Request or Complex Request Group Function. This PGN contains several fields that are requestable, either independently or in any combination. Note that there are several places where this 64-bit data also occurs, these are named ISO_NAME and can be recursively explained.", - "URL":"https://web.archive.org/web/20150910070107/http://www.nmea.org/Assets/20140710%20nmea-2000-060928%20iso%20address%20claim%20pgn%20corrigendum.pdf", - "Type":"Single", - "Complete":true, - "FieldCount":10, - "Length":8, - "TransmissionIrregular":true, + "Explanation":"ISO 11783 defined this message to provide a mechanism for assigning a network address to a node. The NAME information in the data portion of the message must match the name information of the node whose network address is to be set. ISO 11783-5 requires that this mesage to be sent using the BAM Transport Protocol method. The appropriate response to this message is defined in section 5.2.3 of 11783-5.", + "Type":"ISO", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":11, + "Length":9, "Fields":[ { "Order":1, @@ -5171,13 +9463,7 @@ "BitOffset":0, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2097148, - "UnknownValue":2097151, - "OutOfRangeValue":2097150, - "ReservedValue":2097149, - "FieldType":"NUMBER" + "FieldType":"BINARY" }, { "Order":2, @@ -5190,6 +9476,9 @@ "Signed":false, "RangeMin":0, "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, "FieldType":"LOOKUP", "LookupEnumeration":"MANUFACTURER_CODE" }, @@ -5233,19 +9522,22 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"INDIRECT_LOOKUP", "LookupIndirectEnumeration":"DEVICE_FUNCTION", "LookupIndirectEnumerationFieldOrder":7 }, { "Order":6, - "Id":"spare", - "Name":"Spare", + "Id":"reserved", + "Name":"Reserved", "BitLength":1, "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"SPARE" + "FieldType":"RESERVED" }, { "Order":7, @@ -5258,6 +9550,8 @@ "Signed":false, "RangeMin":0, "RangeMax":125, + "UnknownValue":127, + "OutOfRangeValue":126, "FieldType":"LOOKUP", "LookupEnumeration":"DEVICE_CLASS" }, @@ -5279,8 +9573,8 @@ }, { "Order":9, - "Id":"industryGroup", - "Name":"Industry Group", + "Id":"industryCode", + "Name":"Industry Code", "BitLength":3, "BitOffset":60, "BitStart":4, @@ -5288,31 +9582,43 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":10, - "Id":"arbitraryAddressCapable", - "Name":"Arbitrary address capable", - "Description":"Field indicates whether the device is capable to claim arbitrary source address. Value is 1 for NMEA200 devices. Could be 0 for J1939 device claims", + "Id":"reserved10", + "Name":"Reserved", "BitLength":1, "BitOffset":63, "BitStart":7, "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":11, + "Id":"newSourceAddress", + "Name":"New Source Address", + "BitLength":8, + "BitOffset":64, + "BitStart":0, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":61184, - "Id":"0xef00ManufacturerProprietarySingleFrameAddressed", - "Description":"0xEF00: Manufacturer Proprietary single-frame addressed", - "Explanation":"Manufacturer proprietary PGNs in PDU1 (addressed) single-frame PGN 0xEF00 (61184). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "PGN":65280, + "Id":"0xff000xffffManufacturerProprietarySingleFrameNonAddressed", + "Description":"0xFF00-0xFFFF: Manufacturer Proprietary single-frame non-addressed", + "Explanation":"Manufacturer proprietary PGNs in PDU2 (non-addressed) single-frame PGN range 0xFF00 to 0xFFFF (65280 - 65535). When this is shown during analysis it means the PGN is not reverse engineered yet.", "Type":"Single", "Complete":false, "Fallback":true, @@ -5332,6 +9638,9 @@ "Signed":false, "RangeMin":0, "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, "FieldType":"LOOKUP", "LookupEnumeration":"MANUFACTURER_CODE" }, @@ -5356,6 +9665,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" }, @@ -5372,25 +9682,26 @@ ] }, { - "PGN":61184, - "Id":"seatalkWirelessKeypadLightControl", - "Description":"Seatalk: Wireless Keypad Light Control", + "PGN":65280, + "Id":"furunoHeave", + "Description":"Furuno: Heave", + "Priority":2, "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, + "FieldCount":5, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Raymarine", + "Description":"Furuno", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1851, + "Match":1855, "Resolution":1, "Signed":false, "RangeMin":0, @@ -5426,71 +9737,25 @@ }, { "Order":4, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Wireless Keypad Light Control", - "BitLength":8, + "Id":"heave", + "Name":"Heave", + "BitLength":32, "BitOffset":16, "BitStart":0, - "Match":1, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, + "Unit":"m", + "Resolution":0.001, + "Signed":true, + "RangeMin":-2147483.647, + "RangeMax":2147483.644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "PhysicalQuantity":"DISTANCE" }, { "Order":5, - "Id":"variant", - "Name":"Variant", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"wirelessSetting", - "Name":"Wireless Setting", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"wiredSetting", - "Name":"Wired Setting", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"reserved8", + "Id":"reserved5", "Name":"Reserved", "BitLength":16, "BitOffset":48, @@ -5501,25 +9766,25 @@ ] }, { - "PGN":61184, - "Id":"seatalkWirelessKeypadControl", - "Description":"Seatalk: Wireless Keypad Control", + "PGN":65280, + "Id":"hondaEngineData", + "Description":"Honda: Engine Data", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":7, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Raymarine", + "Description":"Honda Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1851, + "Match":175, "Resolution":1, "Signed":false, "RangeMin":0, @@ -5555,88 +9820,36 @@ }, { "Order":4, - "Id":"PID", - "Name":"Proprietary ID", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"variant", - "Name":"Variant", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"beepControl", - "Name":"Beep Control", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":24, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":61184, - "Id":"victronVeCanRegister", - "Description":"Victron: VE.Can Register", - "Priority":7, - "Explanation":"Victron VE.Can register (VREG) read/broadcast: the frame carries a 16-bit register id and the register's value, whose type is selected by the register id (see the VE.Can registers document at .url). Register ids that are not listed, or that carry a multi-field or string value, decode as raw bytes.", - "URL":"https://www.victronenergy.com/upload/documents/VE.Can-registers-public.pdf", + "PGN":65280, + "Id":"yanmarEngineDataA", + "Description":"Yanmar: Engine Data A", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":5, - "MinLength":4, + "FieldCount":4, + "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Victron Energy", + "Description":"Yanmar Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":358, + "Match":172, "Resolution":1, "Signed":false, "RangeMin":0, @@ -5672,53 +9885,36 @@ }, { "Order":4, - "Id":"registerId", - "Name":"Register Id", - "BitLength":16, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"DYNAMIC_FIELD_KEY", - "LookupFieldTypeEnumeration":"VICTRON_VREG", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"value", - "Name":"Value", - "Description":"Register value; its type is selected by Register Id", - "BitLengthVariable":true, - "BitOffset":32, - "BitStart":0, - "FieldType":"DYNAMIC_FIELD_VALUE" + "FieldType":"BINARY" } ] }, { - "PGN":61184, - "Id":"carlingBreakerCommand", - "Description":"Carling: Breaker Command", - "Priority":2, - "Explanation":"Addresses up to 19 breakers on a Carling digital switching panel via three bitmap fields. Breakers 1 to 8 are in Breaker Mapping 1, 9 to 16 in Breaker Mapping 2, and 17 to 19 in Breaker Mapping 3.", + "PGN":65280, + "Id":"maretronKeelPosition", + "Description":"Maretron: Keel Position", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":10, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Carling Technologies Inc. (Moritz Aerospace)", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":176, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -5754,119 +9950,23 @@ }, { "Order":4, - "Id":"messageType", - "Name":"Message Type", - "Description":"Breaker Command", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, - "Match":2, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"breakerMapping1", - "Name":"Breaker Mapping 1", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"breakerMapping2", - "Name":"Breaker Mapping 2", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":5, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":8, - "Id":"breakerMapping3", - "Name":"Breaker Mapping 3", - "BitLength":3, - "BitOffset":45, - "BitStart":5, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "UnknownValue":7, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"breakerCommand", - "Name":"Breaker Command", - "BitLength":8, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":10, - "Id":"dimValue", - "Name":"Dim Value", - "BitLength":8, - "BitOffset":56, - "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { - "PGN":61440, - "Id":"0xf0000xfeffStandardizedSingleFrameNonAddressed", - "Description":"0xF000-0xFEFF: Standardized single-frame non-addressed", - "Explanation":"PGNs in PDU2 (non-addressed) single-frame PGN range 0xF000 to 0xFEFF (61440 - 65279). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "PGN":65280, + "Id":"mercuryEngineData", + "Description":"Mercury: Engine Data", "Type":"Single", "Complete":false, - "Fallback":true, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], "FieldCount":4, "Length":8, @@ -5875,9 +9975,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", + "Description":"Mercury Marine", "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":144, "Resolution":1, "Signed":false, "RangeMin":0, @@ -5899,9 +10001,11 @@ "Order":3, "Id":"industryCode", "Name":"Industry Code", + "Description":"Marine Industry", "BitLength":3, "BitOffset":13, "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -5922,121 +10026,154 @@ ] }, { - "PGN":65001, - "Id":"bus1PhaseCBasicAcQuantities", - "Description":"Bus #1 Phase C Basic AC Quantities", - "Priority":3, + "PGN":65280, + "Id":"navicoDeviceStatus", + "Description":"Navico: Device Status", + "Priority":7, + "Explanation":"Low-rate proprietary status broadcast seen from Navico/B&G/Simrad devices (MFDs, autopilots). The first payload byte distinguishes the sender's software platform - NOS-generation devices emit it at about 4 Hz, NEON-generation devices far less often. The remaining bytes are constant in all observed traffic, so their meaning is not yet known.", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":5, "Length":8, "Fields":[ { "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"V", + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Unit":"V", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, - "BitOffset":32, + "Order":4, + "Id":"reportType", + "Name":"Report Type", + "Description":"Tracks the emitting device's software platform: 4 = NOS, 5 = NEON. NOS devices broadcast this roughly four times a second, NEON devices at a much lower rate.", + "BitLength":8, + "BitOffset":16, "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"reserved", - "Name":"Reserved", - "BitLength":16, - "BitOffset":48, + "Order":5, + "Id":"data", + "Name":"Data", + "Description":"Payload; constant in all observed traffic", + "BitLength":40, + "BitOffset":24, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65002, - "Id":"bus1PhaseBBasicAcQuantities", - "Description":"Bus #1 Phase B Basic AC Quantities", + "PGN":65280, + "Id":"bepMarineCzoneCircuitControl", + "Description":"BEP Marine: CZone Circuit Control", "Priority":3, + "Explanation":"CZone circuit control command from a plotter (or other commander) to CZone modules. The plotter broadcasts; each module independently checks whether the 16-bit Circuit ID matches one of its own. Observed wire patterns: byte 6 = 0xF1 for ON commands, 0xF2 for OFF: Level Or Value = 1 (ON) or 2 (OFF) with Command Active and several flag bits asserted. The seven Unknown bits in bytes 6-7 have not yet been mapped to specific actions (likely candidates: dim direction, momentary vs latched, transient vs persistent, dim ramp-rate select, source priority).", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65280.md", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":14, "Length":8, "Fields":[ { "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine 2", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"V", + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"circuitId", + "Name":"Circuit ID", + "Description":"Low 16 bits of the .zcf-stored 32-bit circuit ID", "BitLength":16, "BitOffset":16, "BitStart":0, - "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, @@ -6044,1782 +10181,1436 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", + "Order":5, + "Id":"fieldB", + "Name":"Field B", + "Description":"Purpose unknown; observed 0x0000 in all known traffic", "BitLength":16, "BitOffset":32, "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, + "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"reserved", - "Name":"Reserved", - "BitLength":16, + "Order":6, + "Id":"levelOrValue", + "Name":"Level Or Value", + "Description":"0x1 for ON, 0x2 for OFF; possibly a control mode", + "BitLength":4, "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65003, - "Id":"bus1PhaseABasicAcQuantities", - "Description":"Bus #1 Phase A Basic AC Quantities", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" + }, { - "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, - "BitOffset":0, - "BitStart":0, - "Unit":"V", + "Order":7, + "Id":"unknownA", + "Name":"Unknown A", + "BitLength":1, + "BitOffset":52, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":1, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Unit":"V", + "Order":8, + "Id":"commandActive", + "Name":"Command Active", + "Description":"Receiver ignores frame if zero", + "BitLength":1, + "BitOffset":53, + "BitStart":5, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":1, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Order":9, + "Id":"unknownB", + "Name":"Unknown B", + "BitLength":2, + "BitOffset":54, + "BitStart":6, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"reserved", - "Name":"Reserved", - "BitLength":16, - "BitOffset":48, + "Order":10, + "Id":"unknownC", + "Name":"Unknown C", + "BitLength":1, + "BitOffset":56, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65004, - "Id":"bus1AverageBasicAcQuantities", - "Description":"Bus #1 Average Basic AC Quantities", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" + }, { - "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, - "BitOffset":0, - "BitStart":0, - "Unit":"V", + "Order":11, + "Id":"unknownD", + "Name":"Unknown D", + "BitLength":2, + "BitOffset":57, + "BitStart":1, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Unit":"V", + "Order":12, + "Id":"unknownE", + "Name":"Unknown E", + "BitLength":1, + "BitOffset":59, + "BitStart":3, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":1, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Order":13, + "Id":"unknownF", + "Name":"Unknown F", + "BitLength":1, + "BitOffset":60, + "BitStart":4, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":1, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"reserved", + "Order":14, + "Id":"reserved14", "Name":"Reserved", - "BitLength":16, - "BitOffset":48, - "BitStart":0, + "BitLength":3, + "BitOffset":61, + "BitStart":5, "Resolution":1, "FieldType":"RESERVED" } ] }, { - "PGN":65005, - "Id":"utilityTotalAcEnergy", - "Description":"Utility Total AC Energy", - "Priority":3, + "PGN":65281, + "Id":"yanmarEngineDataB", + "Description":"Yanmar: Engine Data B", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":2, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, - "Id":"totalEnergyExport", - "Name":"Total Energy Export", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Yanmar Marine", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"kWh", + "Match":172, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_ENERGY" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"totalEnergyImport", - "Name":"Total Energy Import", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Unit":"kWh", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_ENERGY" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":65006, - "Id":"utilityPhaseCAcReactivePower", - "Description":"Utility Phase C AC Reactive Power", - "Priority":3, + "PGN":65281, + "Id":"bepMarineProprietaryPgn65281", + "Description":"BEP Marine: Proprietary PGN 65281", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":4, "Length":8, "Fields":[ { "Order":1, - "Id":"reactivePower", - "Name":"Reactive Power", - "BitLength":16, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine 2", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"VAR", + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"powerFactor", - "Name":"Power factor", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Unit":"Cos Phi", - "Resolution":6.10352e-05, - "Signed":false, - "RangeMin":0, - "RangeMax":3.999755859375, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" }, { "Order":3, - "Id":"powerFactorLagging", - "Name":"Power Factor Lagging", - "BitLength":2, - "BitOffset":32, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"POWER_FACTOR" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"reserved", - "Name":"Reserved", - "BitLength":30, - "BitOffset":34, - "BitStart":2, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65007, - "Id":"utilityPhaseCAcPower", - "Description":"Utility Phase C AC Power", - "Priority":3, + "PGN":65282, + "Id":"maretronNumberOfChannels", + "Description":"Maretron: Number of Channels", + "Priority":6, "Type":"Single", "Complete":false, "Missing":["Interval" ], - "FieldCount":2, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, - "Id":"realPower", - "Name":"Real Power", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Maretron", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"W", + "Match":137, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"apparentPower", - "Name":"Apparent Power", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Unit":"VA", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" - } - ] - }, - { - "PGN":65008, - "Id":"utilityPhaseCBasicAcQuantities", - "Description":"Utility Phase C Basic AC Quantities", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "FieldType":"RESERVED" + }, { - "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, - "BitOffset":0, - "BitStart":0, - "Unit":"V", + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, + "Order":4, + "Id":"pgn", + "Name":"PGN", + "Description":"PGN for which the number of channels is reported", + "BitLength":24, "BitOffset":16, "BitStart":0, - "Unit":"V", "Resolution":1, - "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":262143, + "FieldType":"PGN" }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, - "BitOffset":32, + "Order":5, + "Id":"numberOfChannels", + "Name":"Number of Channels", + "BitLength":8, + "BitOffset":40, "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"acRmsCurrent", - "Name":"AC RMS Current", + "Order":6, + "Id":"reserved6", + "Name":"Reserved", "BitLength":16, "BitOffset":48, "BitStart":0, - "Unit":"A", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_CURRENT" + "FieldType":"RESERVED" } ] }, { - "PGN":65009, - "Id":"utilityPhaseBAcReactivePower", - "Description":"Utility Phase B AC Reactive Power", - "Priority":3, + "PGN":65282, + "Id":"bepMarineCzoneAlarmEvent", + "Description":"BEP Marine: CZone Alarm Event", + "Explanation":"CZone alarm-event PGN. A CZone module emits this single-frame PGN to assert or clear an alarm condition on the bus; the plotter's alarm engine routes it through a 3-sample debounce before raising or clearing the alarm in the UI. Modules originate this PGN themselves (the host CZone library is unpack-only). The byte at offset 2 is read by the unpacker but ignored by the alarm classifier; its per-source semantics are not yet observed in real captures (likely a sub-type / channel index, an alarm-state polarity flag, or a frame counter).", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65282.md", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, - "Id":"reactivePower", - "Name":"Reactive Power", - "BitLength":16, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine 2", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"VAR", + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"powerFactor", - "Name":"Power factor", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Unit":"Cos Phi", - "Resolution":6.10352e-05, - "Signed":false, - "RangeMin":0, - "RangeMax":3.999755859375, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" }, { "Order":3, - "Id":"powerFactorLagging", - "Name":"Power Factor Lagging", - "BitLength":2, - "BitOffset":32, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"POWER_FACTOR" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"reserved", + "Id":"reserved4", "Name":"Reserved", - "BitLength":30, - "BitOffset":34, - "BitStart":2, + "BitLength":8, + "BitOffset":16, + "BitStart":0, "Resolution":1, "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65010, - "Id":"utilityPhaseBAcPower", - "Description":"Utility Phase B AC Power", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":2, - "Length":8, - "Fields":[ + }, { - "Order":1, - "Id":"realPower", - "Name":"Real Power", - "BitLength":32, - "BitOffset":0, + "Order":5, + "Id":"dipswitch", + "Name":"Dipswitch", + "BitLength":8, + "BitOffset":24, "BitStart":0, - "Unit":"W", "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"apparentPower", - "Name":"Apparent Power", + "Order":6, + "Id":"reserved6", + "Name":"Reserved", "BitLength":32, "BitOffset":32, "BitStart":0, - "Unit":"VA", "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" + "FieldType":"RESERVED" } ] }, { - "PGN":65011, - "Id":"utilityPhaseBBasicAcQuantities", - "Description":"Utility Phase B Basic AC Quantities", - "Priority":3, + "PGN":65283, + "Id":"bepMarineCzoneChannelState", + "Description":"BEP Marine: CZone Channel State", + "Explanation":"Per-channel state report for one CZone module's six output channels. Each channel has a 2-bit Mode and a 4-bit Value; the reporting module emits this periodically or on state change so other devices on the bus can mirror its outputs. The Mode and Value field semantics are inferred from context (likely circuit-type/fault state for Mode and dim-level/state-code for Value) but have not yet been verified against captures with known channel states.", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65283.md", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":18, "Length":8, "Fields":[ { "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine 2", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"V", + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Unit":"V", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"acRmsCurrent", - "Name":"AC RMS Current", - "BitLength":16, - "BitOffset":48, + "Id":"dipswitch", + "Name":"Dipswitch", + "BitLength":8, + "BitOffset":16, "BitStart":0, - "Unit":"A", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_CURRENT" - } - ] - }, - { - "PGN":65012, - "Id":"utilityPhaseAAcReactivePower", - "Description":"Utility Phase A AC Reactive Power", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, { - "Order":1, - "Id":"reactivePower", - "Name":"Reactive Power", - "BitLength":32, - "BitOffset":0, + "Order":5, + "Id":"channel0Mode", + "Name":"Channel 0 Mode", + "Description":"Likely circuit type / fault state; per-bit semantics unverified", + "BitLength":2, + "BitOffset":24, "BitStart":0, - "Unit":"VAR", "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"powerFactor", - "Name":"Power factor", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"Cos Phi", - "Resolution":6.10352e-05, + "Order":6, + "Id":"channel1Mode", + "Name":"Channel 1 Mode", + "Description":"Likely circuit type / fault state; per-bit semantics unverified", + "BitLength":2, + "BitOffset":26, + "BitStart":2, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":3.999755859375, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":2, + "UnknownValue":3, "FieldType":"NUMBER" }, { - "Order":3, - "Id":"powerFactorLagging", - "Name":"Power Factor Lagging", + "Order":7, + "Id":"channel2Mode", + "Name":"Channel 2 Mode", + "Description":"Likely circuit type / fault state; per-bit semantics unverified", "BitLength":2, - "BitOffset":48, - "BitStart":0, + "BitOffset":28, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"POWER_FACTOR" + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"reserved", - "Name":"Reserved", - "BitLength":14, - "BitOffset":50, - "BitStart":2, + "Order":8, + "Id":"channel3Mode", + "Name":"Channel 3 Mode", + "Description":"Likely circuit type / fault state; per-bit semantics unverified", + "BitLength":2, + "BitOffset":30, + "BitStart":6, "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65013, - "Id":"utilityPhaseAAcPower", - "Description":"Utility Phase A AC Power", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":2, - "Length":8, - "Fields":[ + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, { - "Order":1, - "Id":"realPower", - "Name":"Real Power", - "BitLength":32, - "BitOffset":0, + "Order":9, + "Id":"channel4Mode", + "Name":"Channel 4 Mode", + "Description":"Likely circuit type / fault state; per-bit semantics unverified", + "BitLength":2, + "BitOffset":32, "BitStart":0, - "Unit":"W", "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"apparentPower", - "Name":"Apparent Power", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Unit":"VA", + "Order":10, + "Id":"channel5Mode", + "Name":"Channel 5 Mode", + "Description":"Likely circuit type / fault state; per-bit semantics unverified", + "BitLength":2, + "BitOffset":34, + "BitStart":2, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" - } - ] - }, - { - "PGN":65014, - "Id":"utilityPhaseABasicAcQuantities", - "Description":"Utility Phase A Basic AC Quantities", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, { - "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, - "BitOffset":0, - "BitStart":0, - "Unit":"V", + "Order":11, + "Id":"channel0Value", + "Name":"Channel 0 Value", + "Description":"4-bit per-channel value; likely dim level (0..15) or state code", + "BitLength":4, + "BitOffset":36, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, - "BitOffset":16, + "Order":12, + "Id":"channel1Value", + "Name":"Channel 1 Value", + "Description":"4-bit per-channel value; likely dim level (0..15) or state code", + "BitLength":4, + "BitOffset":40, "BitStart":0, - "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Order":13, + "Id":"channel2Value", + "Name":"Channel 2 Value", + "Description":"4-bit per-channel value; likely dim level (0..15) or state code", + "BitLength":4, + "BitOffset":44, + "BitStart":4, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"acRmsCurrent", - "Name":"AC RMS Current", - "BitLength":16, + "Order":14, + "Id":"channel3Value", + "Name":"Channel 3 Value", + "Description":"4-bit per-channel value; likely dim level (0..15) or state code", + "BitLength":4, "BitOffset":48, "BitStart":0, - "Unit":"A", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_CURRENT" - } - ] - }, - { - "PGN":65015, - "Id":"utilityTotalAcReactivePower", - "Description":"Utility Total AC Reactive Power", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" + }, { - "Order":1, - "Id":"reactivePower", - "Name":"Reactive Power", - "BitLength":32, - "BitOffset":0, - "BitStart":0, - "Unit":"VAR", + "Order":15, + "Id":"channel4Value", + "Name":"Channel 4 Value", + "Description":"4-bit per-channel value; likely dim level (0..15) or state code", + "BitLength":4, + "BitOffset":52, + "BitStart":4, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"powerFactor", - "Name":"Power factor", - "BitLength":16, - "BitOffset":32, + "Order":16, + "Id":"channel5Value", + "Name":"Channel 5 Value", + "Description":"4-bit per-channel value; likely dim level (0..15) or state code", + "BitLength":4, + "BitOffset":56, "BitStart":0, - "Unit":"Cos Phi", - "Resolution":6.10352e-05, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":3.999755859375, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"NUMBER" }, { - "Order":3, - "Id":"powerFactorLagging", - "Name":"Power Factor Lagging", - "BitLength":2, - "BitOffset":48, - "BitStart":0, + "Order":17, + "Id":"flag", + "Name":"Flag", + "Description":"Single boolean flag; purpose unverified", + "BitLength":1, + "BitOffset":60, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"POWER_FACTOR" + "RangeMax":1, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"reserved", + "Order":18, + "Id":"reserved18", "Name":"Reserved", - "BitLength":14, - "BitOffset":50, - "BitStart":2, + "BitLength":3, + "BitOffset":61, + "BitStart":5, "Resolution":1, "FieldType":"RESERVED" } ] }, { - "PGN":65016, - "Id":"utilityTotalAcPower", - "Description":"Utility Total AC Power", - "Priority":3, + "PGN":65284, + "Id":"maretronProprietaryDcBreakerCurrent", + "Description":"Maretron: Proprietary DC Breaker Current", + "Priority":6, "Type":"Single", "Complete":false, "Missing":["Interval" ], - "FieldCount":2, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, - "Id":"realPower", - "Name":"Real Power", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Maretron", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"W", + "Match":137, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"apparentPower", - "Name":"Apparent Power", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Unit":"VA", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" - } - ] - }, - { - "PGN":65017, - "Id":"utilityAverageBasicAcQuantities", - "Description":"Utility Average Basic AC Quantities", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "FieldType":"RESERVED" + }, { - "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, - "BitOffset":0, - "BitStart":0, - "Unit":"V", + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, + "Order":4, + "Id":"bankInstance", + "Name":"Bank Instance", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "PartOfPrimaryKey":true }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, - "BitOffset":32, + "Order":5, + "Id":"indicatorNumber", + "Name":"Indicator Number", + "BitLength":8, + "BitOffset":24, "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"acRmsCurrent", - "Name":"AC RMS Current", + "Order":6, + "Id":"breakerCurrent", + "Name":"Breaker Current", "BitLength":16, - "BitOffset":48, + "BitOffset":32, "BitStart":0, "Unit":"A", - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "Resolution":0.1, + "Signed":true, + "RangeMin":-3276.7, + "RangeMax":3276.4, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, "FieldType":"NUMBER", "PhysicalQuantity":"ELECTRICAL_CURRENT" - } - ] - }, - { - "PGN":65018, - "Id":"generatorTotalAcEnergy", - "Description":"Generator Total AC Energy", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":2, - "Length":8, - "Fields":[ - { - "Order":1, - "Id":"totalEnergyExport", - "Name":"Total Energy Export", - "BitLength":32, - "BitOffset":0, - "BitStart":0, - "Unit":"kWh", - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_ENERGY" }, { - "Order":2, - "Id":"totalEnergyImport", - "Name":"Total Energy Import", - "BitLength":32, - "BitOffset":32, + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, "BitStart":0, - "Unit":"kWh", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_ENERGY" + "FieldType":"RESERVED" } ] }, { - "PGN":65019, - "Id":"generatorPhaseCAcReactivePower", - "Description":"Generator Phase C AC Reactive Power", - "Priority":3, + "PGN":65284, + "Id":"hondaEngineAlerts", + "Description":"Honda: Engine Alerts", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], "FieldCount":4, "Length":8, "Fields":[ { "Order":1, - "Id":"reactivePower", - "Name":"Reactive Power", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Honda Marine", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"VAR", - "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" - }, - { - "Order":2, - "Id":"powerFactor", - "Name":"Power factor", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"Cos Phi", - "Resolution":6.10352e-05, - "Signed":false, - "RangeMin":0, - "RangeMax":3.999755859375, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":3, - "Id":"powerFactorLagging", - "Name":"Power Factor Lagging", - "BitLength":2, - "BitOffset":48, - "BitStart":0, + "Match":175, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"POWER_FACTOR" + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":4, + "Order":2, "Id":"reserved", "Name":"Reserved", - "BitLength":14, - "BitOffset":50, - "BitStart":2, + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65020, - "Id":"generatorPhaseCAcPower", - "Description":"Generator Phase C AC Power", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":2, - "Length":8, - "Fields":[ + }, { - "Order":1, - "Id":"realPower", - "Name":"Real Power", - "BitLength":32, - "BitOffset":0, - "BitStart":0, - "Unit":"W", + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":2, - "Id":"apparentPower", - "Name":"Apparent Power", - "BitLength":32, - "BitOffset":32, + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, "BitStart":0, - "Unit":"VAR", "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + "FieldType":"BINARY" } ] }, { - "PGN":65021, - "Id":"generatorPhaseCBasicAcQuantities", - "Description":"Generator Phase C Basic AC Quantities", - "Priority":3, + "PGN":65284, + "Id":"bepMarineCzoneCircuitStatus", + "Description":"BEP Marine: CZone Circuit Status", + "Explanation":"Periodic 'which of my circuits are currently on' report from a CZone module. Also serves as the module's heartbeat: the plotter's tLoadGroupMonitorCZone tracks a moving average of inter-arrival deltas (window of last 20 deltas, initial baseline 1000 ms) and removes the module from the CZone panel when an inter-arrival delta exceeds 3x the moving average. A reasonable broadcast cadence is 0.5 to 2 seconds. There is also a query form (third byte = 0xC8) by which a controller asks every module to report; the bitmap bytes are then unused.", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65284.md", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine 2", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"V", + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Unit":"V", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, - "BitOffset":32, + "Order":4, + "Id":"dipswitch", + "Name":"Dipswitch", + "BitLength":8, + "BitOffset":16, "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"acRmsCurrent", - "Name":"AC RMS Current", - "BitLength":16, - "BitOffset":48, + "Order":5, + "Id":"type", + "Name":"Type", + "Description":"Observed 0x0F for circuit-state reports", + "BitLength":8, + "BitOffset":24, "BitStart":0, - "Unit":"A", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_CURRENT" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"bitmap", + "Name":"Bitmap", + "Description":"32-bit bitmap of circuits, LSB-first; bit n set => circuit at slot n is ON", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":65022, - "Id":"generatorPhaseBAcReactivePower", - "Description":"Generator Phase B AC Reactive Power", - "Priority":3, + "PGN":65285, + "Id":"airmarBootStateAcknowledgment", + "Description":"Airmar: Boot State Acknowledgment", + "Priority":5, + "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", "Type":"Single", "Complete":false, "Missing":["Interval" ], - "FieldCount":4, + "FieldCount":5, "Length":8, "Fields":[ { "Order":1, - "Id":"reactivePower", - "Name":"Reactive Power", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Airmar", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"VAR", + "Match":135, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"powerFactor", - "Name":"Power factor", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"Cos Phi", - "Resolution":6.10352e-05, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":3.999755859375, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":3, - "Id":"powerFactorLagging", - "Name":"Power Factor Lagging", - "BitLength":2, - "BitOffset":48, + "Order":4, + "Id":"bootState", + "Name":"Boot State", + "BitLength":3, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", - "LookupEnumeration":"POWER_FACTOR" + "LookupEnumeration":"BOOT_STATE" }, { - "Order":4, - "Id":"reserved", + "Order":5, + "Id":"reserved5", "Name":"Reserved", - "BitLength":14, - "BitOffset":50, - "BitStart":2, + "BitLength":45, + "BitOffset":19, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" } ] }, { - "PGN":65023, - "Id":"generatorPhaseBAcPower", - "Description":"Generator Phase B AC Power", - "Priority":3, + "PGN":65285, + "Id":"lowranceTemperature", + "Description":"Lowrance: Temperature", "Type":"Single", "Complete":false, "Missing":["Interval" ], - "FieldCount":2, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, - "Id":"realPower", - "Name":"Real Power", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Lowrance", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"W", + "Match":140, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"apparentPower", - "Name":"Apparent Power", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Unit":"VA", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" - } - ] - }, - { - "PGN":65024, - "Id":"generatorPhaseBBasicAcQuantities", - "Description":"Generator Phase B Basic AC Quantities", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "FieldType":"RESERVED" + }, { - "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, - "BitOffset":0, - "BitStart":0, - "Unit":"V", + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, + "Order":4, + "Id":"temperatureSource", + "Name":"Temperature Source", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"TEMPERATURE_SOURCE", + "PartOfPrimaryKey":true }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", + "Order":5, + "Id":"actualTemperature", + "Name":"Actual Temperature", "BitLength":16, - "BitOffset":32, + "BitOffset":24, "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Unit":"K", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "PhysicalQuantity":"TEMPERATURE" }, { - "Order":4, - "Id":"acRmsCurrent", - "Name":"AC RMS Current", - "BitLength":16, - "BitOffset":48, + "Order":6, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":24, + "BitOffset":40, "BitStart":0, - "Unit":"A", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_CURRENT" + "FieldType":"RESERVED" } ] }, { - "PGN":65025, - "Id":"generatorPhaseAAcReactivePower", - "Description":"Generator Phase A AC Reactive Power", - "Priority":3, + "PGN":65285, + "Id":"maretronUniversalConfigurationSf", + "Description":"Maretron: Universal Configuration SF", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":4, "Length":8, "Fields":[ { "Order":1, - "Id":"reactivePower", - "Name":"Reactive Power", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Maretron", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"VAR", + "Match":137, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"powerFactor", - "Name":"Power factor", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"Cos Phi", - "Resolution":6.10352e-05, - "Signed":false, - "RangeMin":0, - "RangeMax":3.999755859375, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" }, { "Order":3, - "Id":"powerFactorLagging", - "Name":"Power Factor Lagging", - "BitLength":2, - "BitOffset":48, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"POWER_FACTOR" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"reserved", - "Name":"Reserved", - "BitLength":14, - "BitOffset":50, - "BitStart":2, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65026, - "Id":"generatorPhaseAAcPower", - "Description":"Generator Phase A AC Power", - "Priority":3, + "PGN":65286, + "Id":"chetcoDimmer", + "Description":"Chetco: Dimmer", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Lookups","Interval" ], - "FieldCount":2, + "FieldCount":9, "Length":8, "Fields":[ { "Order":1, - "Id":"realPower", - "Name":"Real Power", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Chetco", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"W", + "Match":409, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"apparentPower", - "Name":"Apparent Power", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Unit":"VA", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" - } - ] - }, - { - "PGN":65027, - "Id":"generatorPhaseABasicAcQuantities", - "Description":"Generator Phase A Basic AC Quantities", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "FieldType":"RESERVED" + }, { - "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, - "BitOffset":0, + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"instance", + "Name":"Instance", + "BitLength":8, + "BitOffset":16, "BitStart":0, - "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, - "BitOffset":16, + "Order":5, + "Id":"dimmer1", + "Name":"Dimmer1", + "BitLength":8, + "BitOffset":24, "BitStart":0, - "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, + "Order":6, + "Id":"dimmer2", + "Name":"Dimmer2", + "BitLength":8, "BitOffset":32, "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"acRmsCurrent", - "Name":"AC RMS Current", - "BitLength":16, + "Order":7, + "Id":"dimmer3", + "Name":"Dimmer3", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"dimmer4", + "Name":"Dimmer4", + "BitLength":8, "BitOffset":48, "BitStart":0, - "Unit":"A", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_CURRENT" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"control", + "Name":"Control", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":65028, - "Id":"generatorTotalAcReactivePower", - "Description":"Generator Total AC Reactive Power", - "Priority":3, + "PGN":65286, + "Id":"airmarBootStateRequest", + "Description":"Airmar: Boot State Request", + "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", "Type":"Single", "Complete":false, "Missing":["Interval" @@ -7829,235 +11620,210 @@ "Fields":[ { "Order":1, - "Id":"reactivePower", - "Name":"Reactive Power", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Airmar", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"VAR", + "Match":135, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"powerFactor", - "Name":"Power factor", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"Cos Phi", - "Resolution":6.10352e-05, - "Signed":false, - "RangeMin":0, - "RangeMax":3.999755859375, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" }, { "Order":3, - "Id":"powerFactorLagging", - "Name":"Power Factor Lagging", - "BitLength":2, - "BitOffset":48, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"POWER_FACTOR" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"reserved", + "Id":"reserved4", "Name":"Reserved", - "BitLength":14, - "BitOffset":50, - "BitStart":2, + "BitLength":48, + "BitOffset":16, + "BitStart":0, "Resolution":1, "FieldType":"RESERVED" } ] }, { - "PGN":65029, - "Id":"generatorTotalAcPower", - "Description":"Generator Total AC Power", - "Priority":3, + "PGN":65286, + "Id":"maretronFluidFlowRate", + "Description":"Maretron: Fluid Flow Rate", + "Priority":5, "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":2, + "FieldCount":8, "Length":8, "Fields":[ { "Order":1, - "Id":"realPower", - "Name":"Real Power", - "BitLength":32, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Maretron", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"W", + "Match":137, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_POWER" + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"apparentPower", - "Name":"Apparent Power", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Unit":"VA", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":true, - "Offset":-2000000000, - "RangeMin":-2000000000, - "RangeMax":2294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" - } - ] - }, - { - "PGN":65030, - "Id":"generatorAverageBasicAcQuantities", - "Description":"Generator Average Basic AC Quantities", - "Priority":3, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "FieldType":"RESERVED" + }, { - "Order":1, - "Id":"lineLineAcRmsVoltage", - "Name":"Line-Line AC RMS Voltage", - "BitLength":16, - "BitOffset":0, - "BitStart":0, - "Unit":"V", + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":2, - "Id":"lineNeutralAcRmsVoltage", - "Name":"Line-Neutral AC RMS Voltage", - "BitLength":16, + "Order":4, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Unit":"V", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"acFrequency", - "Name":"AC Frequency", - "BitLength":16, - "BitOffset":32, + "Order":5, + "Id":"flowRateInstance", + "Name":"Flow Rate Instance", + "BitLength":8, + "BitOffset":24, "BitStart":0, - "Unit":"Hz", - "Resolution":0.0078125, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":511.96875, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "PartOfPrimaryKey":true }, { - "Order":4, - "Id":"acRmsCurrent", - "Name":"AC RMS Current", - "BitLength":16, - "BitOffset":48, + "Order":6, + "Id":"fluidType", + "Name":"Fluid Type", + "BitLength":4, + "BitOffset":32, "BitStart":0, - "Unit":"A", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_CURRENT" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"TANK_TYPE" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":4, + "BitOffset":36, + "BitStart":4, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":8, + "Id":"fluidFlowRate", + "Name":"Fluid Flow Rate", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":0.0001, + "Signed":true, + "RangeMin":-838.8607, + "RangeMax":838.8604, + "UnknownValue":8388607, + "OutOfRangeValue":8388606, + "ReservedValue":8388605, + "FieldType":"NUMBER" } ] }, { - "PGN":65240, - "Id":"isoCommandedAddress", - "Description":"ISO Commanded Address", - "Priority":6, - "Explanation":"ISO 11783 defined this message to provide a mechanism for assigning a network address to a node. The NAME information in the data portion of the message must match the name information of the node whose network address is to be set. ISO 11783-5 requires that this mesage to be sent using the BAM Transport Protocol method. The appropriate response to this message is defined in section 5.2.3 of 11783-5.", - "Type":"ISO", + "PGN":65287, + "Id":"airmarAccessLevel", + "Description":"Airmar: Access Level", + "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", + "Type":"Single", "Complete":false, "Missing":["Interval" ], - "FieldCount":11, - "Length":9, + "FieldCount":7, + "Length":8, "Fields":[ { "Order":1, - "Id":"uniqueNumber", - "Name":"Unique Number", - "Description":"ISO Identity Number", - "BitLength":21, - "BitOffset":0, - "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" - }, - { - "Order":2, "Id":"manufacturerCode", "Name":"Manufacturer Code", + "Description":"Airmar", "BitLength":11, - "BitOffset":21, - "BitStart":5, + "BitOffset":0, + "BitStart":0, + "Match":135, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8065,97 +11831,138 @@ "FieldType":"LOOKUP", "LookupEnumeration":"MANUFACTURER_CODE" }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, { "Order":3, - "Id":"deviceInstanceLower", - "Name":"Device Instance Lower", - "Description":"ISO ECU Instance", + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", "BitLength":3, - "BitOffset":32, - "BitStart":0, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":7, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"deviceInstanceUpper", - "Name":"Device Instance Upper", - "Description":"ISO Function Instance", - "BitLength":5, - "BitOffset":35, - "BitStart":3, + "Id":"formatCode", + "Name":"Format Code", + "BitLength":8, + "BitOffset":16, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":31, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":5, - "Id":"deviceFunction", - "Name":"Device Function", - "Description":"ISO Function", - "BitLength":8, - "BitOffset":40, + "Id":"accessLevel", + "Name":"Access Level", + "BitLength":3, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"INDIRECT_LOOKUP", - "LookupIndirectEnumeration":"DEVICE_FUNCTION", - "LookupIndirectEnumerationFieldOrder":7 + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"ACCESS_LEVEL" }, { "Order":6, - "Id":"reserved", + "Id":"reserved6", "Name":"Reserved", - "BitLength":1, - "BitOffset":48, - "BitStart":0, + "BitLength":5, + "BitOffset":27, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" }, { "Order":7, - "Id":"deviceClass", - "Name":"Device Class", - "BitLength":7, - "BitOffset":49, - "BitStart":1, + "Id":"accessSeedKey", + "Name":"Access Seed/Key", + "Description":"When transmitted, it provides a seed for an unlock operation. It is used to provide the key during PGN 126208.", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":65287, + "Id":"simnetConfigureTemperatureSensor", + "Description":"Simnet: Configure Temperature Sensor", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Simrad", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":125, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"DEVICE_CLASS" + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":8, - "Id":"systemInstance", - "Name":"System Instance", - "Description":"ISO Device Class Instance", - "BitLength":4, - "BitOffset":56, - "BitStart":0, + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { - "Order":9, + "Order":3, "Id":"industryCode", "Name":"Industry Code", + "Description":"Marine Industry", "BitLength":3, - "BitOffset":60, - "BitStart":4, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8164,53 +11971,38 @@ "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":10, - "Id":"reserved10", + "Order":4, + "Id":"reserved4", "Name":"Reserved", - "BitLength":1, - "BitOffset":63, - "BitStart":7, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":11, - "Id":"newSourceAddress", - "Name":"New Source Address", - "BitLength":8, - "BitOffset":64, + "BitLength":48, + "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" } ] }, { - "PGN":65280, - "Id":"0xff000xffffManufacturerProprietarySingleFrameNonAddressed", - "Description":"0xFF00-0xFFFF: Manufacturer Proprietary single-frame non-addressed", - "Explanation":"Manufacturer proprietary PGNs in PDU2 (non-addressed) single-frame PGN range 0xFF00 to 0xFFFF (65280 - 65535). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "PGN":65287, + "Id":"maretronTripVolume", + "Description":"Maretron: Trip Volume", + "Priority":5, "Type":"Single", "Complete":false, - "Fallback":true, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":8, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8232,9 +12024,11 @@ "Order":3, "Id":"industryCode", "Name":"Industry Code", + "Description":"Marine Industry", "BitLength":3, "BitOffset":13, "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8244,37 +12038,102 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"volumeInstance", + "Name":"Volume Instance", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"fluidType", + "Name":"Fluid Type", + "BitLength":4, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"TANK_TYPE" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":4, + "BitOffset":36, + "BitStart":4, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":8, + "Id":"tripVolume", + "Name":"Trip Volume", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":0.001, + "Signed":false, + "RangeMin":0, + "RangeMax":16777.212, + "UnknownValue":16777215, + "OutOfRangeValue":16777214, + "ReservedValue":16777213, + "FieldType":"NUMBER" } ] }, { - "PGN":65280, - "Id":"furunoHeave", - "Description":"Furuno: Heave", - "Priority":2, + "PGN":65288, + "Id":"seatalkAlarm", + "Description":"Seatalk: Alarm", + "Priority":7, "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":5, + "FieldCount":8, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Furuno", + "Description":"Raymarine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1855, + "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8310,54 +12169,104 @@ }, { "Order":4, - "Id":"heave", - "Name":"Heave", - "BitLength":32, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Unit":"m", - "Resolution":0.001, - "Signed":true, - "RangeMin":-2147483.647, - "RangeMax":2147483.644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"DISTANCE" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"reserved5", - "Name":"Reserved", + "Id":"alarmStatus", + "Name":"Alarm Status", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SEATALK_ALARM_STATUS" + }, + { + "Order":6, + "Id":"alarmId", + "Name":"Alarm ID", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SEATALK_ALARM_ID" + }, + { + "Order":7, + "Id":"alarmGroup", + "Name":"Alarm Group", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SEATALK_ALARM_GROUP" + }, + { + "Order":8, + "Id":"alarmPriority", + "Name":"Alarm Priority", "BitLength":16, "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65280, - "Id":"hondaEngineData", - "Description":"Honda: Engine Data", + "PGN":65288, + "Id":"maretron420Ma", + "Description":"Maretron: 4-20 mA", + "Priority":5, "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Honda Marine", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":175, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8393,23 +12302,72 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"dataInstance", + "Name":"Data Instance", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"420MaData", + "Name":"4-20 mA Data", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65280, - "Id":"yanmarEngineDataA", - "Description":"Yanmar: Engine Data A", + "PGN":65289, + "Id":"simnetTrimTabSensorCalibration", + "Description":"Simnet: Trim Tab Sensor Calibration", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":4, "Length":8, @@ -8418,11 +12376,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Yanmar Marine", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":172, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8458,25 +12416,26 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", + "Id":"reserved4", + "Name":"Reserved", "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" } ] }, { - "PGN":65280, - "Id":"maretronKeelPosition", - "Description":"Maretron: Keel Position", + "PGN":65289, + "Id":"maretron010V", + "Description":"Maretron: 0-10 V", + "Priority":5, "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":7, "Length":8, "Fields":[ { @@ -8523,23 +12482,72 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"dataInstance", + "Name":"Data Instance", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"010VData", + "Name":"0-10 V Data", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":0.000244140625, + "Signed":false, + "RangeMin":0, + "RangeMax":15.9990234375, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65280, - "Id":"mercuryEngineData", - "Description":"Mercury: Engine Data", + "PGN":65290, + "Id":"simnetPaddleWheelSpeedConfiguration", + "Description":"Simnet: Paddle Wheel Speed Configuration", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":4, "Length":8, @@ -8548,11 +12556,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Mercury Marine", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":144, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8588,39 +12596,37 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", + "Id":"reserved4", + "Name":"Reserved", "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" } ] }, { - "PGN":65280, - "Id":"bepMarineCzoneCircuitControl", - "Description":"BEP Marine: CZone Circuit Control", - "Priority":3, - "Explanation":"CZone circuit control command from a plotter (or other commander) to CZone modules. The plotter broadcasts; each module independently checks whether the 16-bit Circuit ID matches one of its own. Observed wire patterns: byte 6 = 0xF1 for ON commands, 0xF2 for OFF: Level Or Value = 1 (ON) or 2 (OFF) with Command Active and several flag bits asserted. The seven Unknown bits in bytes 6-7 have not yet been mapped to specific actions (likely candidates: dim direction, momentary vs latched, transient vs persistent, dim ramp-rate select, source priority).", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65280.md", + "PGN":65290, + "Id":"maretronRotationalRate", + "Description":"Maretron: Rotational Rate", + "Priority":5, "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":14, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8656,115 +12662,162 @@ }, { "Order":4, - "Id":"circuitId", - "Name":"Circuit ID", - "Description":"Low 16 bits of the .zcf-stored 32-bit circuit ID", - "BitLength":16, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":5, - "Id":"fieldB", - "Name":"Field B", - "Description":"Purpose unknown; observed 0x0000 in all known traffic", - "BitLength":16, - "BitOffset":32, + "Id":"dataInstance", + "Name":"Data Instance", + "BitLength":8, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"levelOrValue", - "Name":"Level Or Value", - "Description":"0x1 for ON, 0x2 for OFF; possibly a control mode", - "BitLength":4, + "Id":"rotationalRate", + "Name":"Rotational Rate", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":0.25, + "Signed":true, + "RangeMin":-8191.75, + "RangeMax":8191, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":16, "BitOffset":48, "BitStart":0, "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65290, + "Id":"bepMarineCzoneModuleAnnounce", + "Description":"BEP Marine: CZone Module Announce", + "Explanation":"CZone module's 'I'm here' announce. A module sends one shortly after coming online. The plotter uses it to populate its list of CZone-recognised modules. The 20-bit Unique field should be stable across restarts of the same module so the plotter's 'have I seen this before' logic stays consistent. Field B (18 bits) and Field C (2 bits) have not been observed populated; semantics unknown. The Dipswitch byte order on the wire is direct (no bit-reverse): the binary string '00011000' shown in the CZone Configuration Tool corresponds to byte value 0x18 = 24.", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65290.md", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":7, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine 2", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":295, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":7, - "Id":"unknownA", - "Name":"Unknown A", - "BitLength":1, - "BitOffset":52, - "BitStart":4, + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":1, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { - "Order":8, - "Id":"commandActive", - "Name":"Command Active", - "Description":"Receiver ignores frame if zero", - "BitLength":1, - "BitOffset":53, + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":9, - "Id":"unknownB", - "Name":"Unknown B", - "BitLength":2, - "BitOffset":54, - "BitStart":6, + "Order":4, + "Id":"unique", + "Name":"Unique", + "Description":"Stable identifier set by the module; opaque to the plotter", + "BitLength":20, + "BitOffset":16, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, + "RangeMax":1048572, + "UnknownValue":1048575, + "OutOfRangeValue":1048574, + "ReservedValue":1048573, "FieldType":"NUMBER" }, { - "Order":10, - "Id":"unknownC", - "Name":"Unknown C", - "BitLength":1, - "BitOffset":56, - "BitStart":0, + "Order":5, + "Id":"fieldB", + "Name":"Field B", + "Description":"Purpose unknown; observed = 0 in YDAB-01", + "BitLength":18, + "BitOffset":36, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, + "RangeMax":262140, + "UnknownValue":262143, + "OutOfRangeValue":262142, + "ReservedValue":262141, "FieldType":"NUMBER" }, { - "Order":11, - "Id":"unknownD", - "Name":"Unknown D", + "Order":6, + "Id":"fieldC", + "Name":"Field C", + "Description":"Purpose unknown; observed = 0 in YDAB-01", "BitLength":2, - "BitOffset":57, - "BitStart":1, + "BitOffset":54, + "BitStart":6, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8773,63 +12826,45 @@ "FieldType":"NUMBER" }, { - "Order":12, - "Id":"unknownE", - "Name":"Unknown E", - "BitLength":1, - "BitOffset":59, - "BitStart":3, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":1, - "FieldType":"NUMBER" - }, - { - "Order":13, - "Id":"unknownF", - "Name":"Unknown F", - "BitLength":1, - "BitOffset":60, - "BitStart":4, + "Order":7, + "Id":"dipswitch", + "Name":"Dipswitch", + "Description":"8-bit dipswitch this module is claiming", + "BitLength":8, + "BitOffset":56, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" - }, - { - "Order":14, - "Id":"reserved14", - "Name":"Reserved", - "BitLength":3, - "BitOffset":61, - "BitStart":5, - "Resolution":1, - "FieldType":"RESERVED" } ] }, { - "PGN":65281, - "Id":"yanmarEngineDataB", - "Description":"Yanmar: Engine Data B", + "PGN":65291, + "Id":"maretronResistance", + "Description":"Maretron: Resistance", + "Priority":5, "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Yanmar Marine", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":172, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8865,20 +12900,69 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"dataInstance", + "Name":"Data Instance", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"resistance", + "Name":"Resistance", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65281, - "Id":"bepMarineProprietaryPgn65281", - "Description":"BEP Marine: Proprietary PGN 65281", + "PGN":65292, + "Id":"simnetClearFluidLevelWarnings", + "Description":"Simnet: Clear Fluid Level Warnings", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -8890,11 +12974,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -8930,26 +13014,25 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", + "Id":"reserved4", + "Name":"Reserved", "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" } ] }, { - "PGN":65282, - "Id":"maretronNumberOfChannels", - "Description":"Maretron: Number of Channels", - "Priority":6, + "PGN":65292, + "Id":"maretronAutomationFunctionMaster", + "Description":"Maretron: Automation Function Master", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, + "FieldCount":4, "Length":8, "Fields":[ { @@ -8996,67 +13079,36 @@ }, { "Order":4, - "Id":"pgn", - "Name":"PGN", - "Description":"PGN for which the number of channels is reported", - "BitLength":24, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" - }, - { - "Order":5, - "Id":"numberOfChannels", - "Name":"Number of Channels", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65282, - "Id":"bepMarineCzoneAlarmEvent", - "Description":"BEP Marine: CZone Alarm Event", - "Explanation":"CZone alarm-event PGN. A CZone module emits this single-frame PGN to assert or clear an alarm condition on the bus; the plotter's alarm engine routes it through a 3-sample debounce before raising or clearing the alarm in the UI. Modules originate this PGN themselves (the host CZone library is unpack-only). The byte at offset 2 is read by the unpacker but ignored by the alarm classifier; its per-source semantics are not yet observed in real captures (likely a sub-type / channel index, an alarm-state polarity flag, or a frame counter).", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65282.md", + "PGN":65293, + "Id":"simnetLgc2000Configuration", + "Description":"Simnet: LGC-2000 Configuration", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -9094,62 +13146,35 @@ "Order":4, "Id":"reserved4", "Name":"Reserved", - "BitLength":8, + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, "FieldType":"RESERVED" - }, - { - "Order":5, - "Id":"dipswitch", - "Name":"Dipswitch", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" } ] }, { - "PGN":65283, - "Id":"bepMarineCzoneChannelState", - "Description":"BEP Marine: CZone Channel State", - "Explanation":"Per-channel state report for one CZone module's six output channels. Each channel has a 2-bit Mode and a 4-bit Value; the reporting module emits this periodically or on state change so other devices on the bus can mirror its outputs. The Mode and Value field semantics are inferred from context (likely circuit-type/fault state for Mode and dim-level/state-code for Value) but have not yet been verified against captures with known channel states.", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65283.md", + "PGN":65293, + "Id":"lowranceGpsConfiguration", + "Description":"Lowrance: GPS Configuration", + "Explanation":"GPS antenna configuration broadcast by Navico GPS/navigation sources - the Lowrance-manufacturer counterpart of the Simnet LGC-2000 Configuration. The field boundaries are known but the individual settings are not yet identified. The first byte matches the sender's source address in the observed traffic.", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":18, + "FieldCount":14, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Lowrance", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":140, "Resolution":1, "Signed":false, "RangeMin":0, @@ -9185,8 +13210,8 @@ }, { "Order":4, - "Id":"dipswitch", - "Name":"Dipswitch", + "Id":"a", + "Name":"A", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -9201,41 +13226,41 @@ }, { "Order":5, - "Id":"channel0Mode", - "Name":"Channel 0 Mode", - "Description":"Likely circuit type / fault state; per-bit semantics unverified", - "BitLength":2, + "Id":"b", + "Name":"B", + "BitLength":8, "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":6, - "Id":"channel1Mode", - "Name":"Channel 1 Mode", - "Description":"Likely circuit type / fault state; per-bit semantics unverified", - "BitLength":2, - "BitOffset":26, - "BitStart":2, + "Id":"c", + "Name":"C", + "BitLength":4, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"NUMBER" }, { "Order":7, - "Id":"channel2Mode", - "Name":"Channel 2 Mode", - "Description":"Likely circuit type / fault state; per-bit semantics unverified", + "Id":"d", + "Name":"D", "BitLength":2, - "BitOffset":28, + "BitOffset":36, "BitStart":4, "Resolution":1, "Signed":false, @@ -9246,72 +13271,36 @@ }, { "Order":8, - "Id":"channel3Mode", - "Name":"Channel 3 Mode", - "Description":"Likely circuit type / fault state; per-bit semantics unverified", + "Id":"reserved8", + "Name":"Reserved", "BitLength":2, - "BitOffset":30, + "BitOffset":38, "BitStart":6, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":9, - "Id":"channel4Mode", - "Name":"Channel 4 Mode", - "Description":"Likely circuit type / fault state; per-bit semantics unverified", - "BitLength":2, - "BitOffset":32, + "Id":"e", + "Name":"E", + "BitLength":8, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":10, - "Id":"channel5Mode", - "Name":"Channel 5 Mode", - "Description":"Likely circuit type / fault state; per-bit semantics unverified", - "BitLength":2, - "BitOffset":34, - "BitStart":2, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":11, - "Id":"channel0Value", - "Name":"Channel 0 Value", - "Description":"4-bit per-channel value; likely dim level (0..15) or state code", - "BitLength":4, - "BitOffset":36, - "BitStart":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" - }, - { - "Order":12, - "Id":"channel1Value", - "Name":"Channel 1 Value", - "Description":"4-bit per-channel value; likely dim level (0..15) or state code", + "Id":"f", + "Name":"F", "BitLength":4, - "BitOffset":40, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -9322,58 +13311,32 @@ "FieldType":"NUMBER" }, { - "Order":13, - "Id":"channel2Value", - "Name":"Channel 2 Value", - "Description":"4-bit per-channel value; likely dim level (0..15) or state code", - "BitLength":4, - "BitOffset":44, + "Order":11, + "Id":"g", + "Name":"G", + "BitLength":1, + "BitOffset":52, "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" - }, - { - "Order":14, - "Id":"channel3Value", - "Name":"Channel 3 Value", - "Description":"4-bit per-channel value; likely dim level (0..15) or state code", - "BitLength":4, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, + "RangeMax":1, "FieldType":"NUMBER" }, { - "Order":15, - "Id":"channel4Value", - "Name":"Channel 4 Value", - "Description":"4-bit per-channel value; likely dim level (0..15) or state code", - "BitLength":4, - "BitOffset":52, - "BitStart":4, + "Order":12, + "Id":"reserved12", + "Name":"Reserved", + "BitLength":3, + "BitOffset":53, + "BitStart":5, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { - "Order":16, - "Id":"channel5Value", - "Name":"Channel 5 Value", - "Description":"4-bit per-channel value; likely dim level (0..15) or state code", + "Order":13, + "Id":"h", + "Name":"H", "BitLength":4, "BitOffset":56, "BitStart":0, @@ -9386,52 +13349,43 @@ "FieldType":"NUMBER" }, { - "Order":17, - "Id":"flag", - "Name":"Flag", - "Description":"Single boolean flag; purpose unverified", - "BitLength":1, - "BitOffset":60, - "BitStart":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":1, - "FieldType":"NUMBER" - }, - { - "Order":18, - "Id":"reserved18", - "Name":"Reserved", - "BitLength":3, - "BitOffset":61, - "BitStart":5, + "Order":14, + "Id":"i", + "Name":"I", + "BitLength":4, + "BitOffset":60, + "BitStart":4, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" } ] }, { - "PGN":65284, - "Id":"maretronProprietaryDcBreakerCurrent", - "Description":"Maretron: Proprietary DC Breaker Current", - "Priority":6, + "PGN":65293, + "Id":"diverseYachtServicesLoadCell", + "Description":"Diverse Yacht Services: Load Cell", + "Priority":2, "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Resolution","Interval" ], - "FieldCount":7, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Diverse Yacht Services", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":641, "Resolution":1, "Signed":false, "RangeMin":0, @@ -9467,8 +13421,8 @@ }, { "Order":4, - "Id":"bankInstance", - "Name":"Bank Instance", + "Id":"instance", + "Name":"Instance", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -9484,57 +13438,39 @@ }, { "Order":5, - "Id":"indicatorNumber", - "Name":"Indicator Number", + "Id":"reserved5", + "Name":"Reserved", "BitLength":8, "BitOffset":24, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":6, - "Id":"breakerCurrent", - "Name":"Breaker Current", - "BitLength":16, + "Id":"loadCell", + "Name":"Load Cell", + "BitLength":32, "BitOffset":32, "BitStart":0, - "Unit":"A", - "Resolution":0.1, - "Signed":true, - "RangeMin":-3276.7, - "RangeMax":3276.4, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_CURRENT" - }, - { - "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":16, - "BitOffset":48, - "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" } ] }, { - "PGN":65284, - "Id":"hondaEngineAlerts", - "Description":"Honda: Engine Alerts", + "PGN":65294, + "Id":"bepMarineProprietaryPgn65294", + "Description":"BEP Marine: Proprietary PGN 65294", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":4, "Length":8, @@ -9543,11 +13479,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Honda Marine", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":175, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -9594,16 +13530,15 @@ ] }, { - "PGN":65284, - "Id":"bepMarineCzoneCircuitStatus", - "Description":"BEP Marine: CZone Circuit Status", - "Explanation":"Periodic 'which of my circuits are currently on' report from a CZone module. Also serves as the module's heartbeat: the plotter's tLoadGroupMonitorCZone tracks a moving average of inter-arrival deltas (window of last 20 deltas, initial baseline 1000 ms) and removes the module from the CZone panel when an inter-arrival delta exceeds 3x the moving average. A reasonable broadcast cadence is 0.5 to 2 seconds. There is also a query form (third byte = 0xC8) by which a controller asks every module to report; the bitmap bytes are then unused.", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65284.md", + "PGN":65295, + "Id":"bepMarineCzoneAlarm", + "Description":"BEP Marine: CZone Alarm", + "Explanation":"CZone alarm/status/acknowledgement message. Payload byte 2 is the device/source module id, byte 3 is the channel/alarm id, bytes 4-5 are the little-endian alarm type, and byte 6 contains packed severity/state flags. Payload byte 7 is reserved.", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, + "FieldCount":11, "Length":8, "Fields":[ { @@ -9650,8 +13585,9 @@ }, { "Order":4, - "Id":"dipswitch", - "Name":"Dipswitch", + "Id":"deviceId", + "Name":"Device ID", + "Description":"Device / source module id", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -9666,9 +13602,9 @@ }, { "Order":5, - "Id":"type", - "Name":"Type", - "Description":"Observed 0x0F for circuit-state reports", + "Id":"channel", + "Name":"Channel", + "Description":"Channel / alarm id low byte", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -9683,118 +13619,107 @@ }, { "Order":6, - "Id":"bitmap", - "Name":"Bitmap", - "Description":"32-bit bitmap of circuits, LSB-first; bit n set => circuit at slot n is ON", - "BitLength":32, + "Id":"alarmType", + "Name":"Alarm Type", + "BitLength":16, "BitOffset":32, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" - } - ] - }, - { - "PGN":65285, - "Id":"airmarBootStateAcknowledgment", - "Description":"Airmar: Boot State Acknowledgment", - "Priority":5, - "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":5, - "Length":8, - "Fields":[ + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"LOOKUP", + "LookupEnumeration":"CZONE_ALARM_TYPE" + }, { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Airmar", - "BitLength":11, - "BitOffset":0, + "Order":7, + "Id":"severityCode", + "Name":"Severity Code", + "Description":"Raw CZone severity code; values 1..5 map to internal severities 4..0", + "BitLength":4, + "BitOffset":48, "BitStart":0, - "Match":135, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, + "Order":8, + "Id":"stateFlag", + "Name":"State Flag", + "Description":"State bit used by CZone to distinguish active vs cleared/acknowledged state", + "BitLength":1, + "BitOffset":52, + "BitStart":4, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, + "Order":9, + "Id":"ackFlag", + "Name":"Ack Flag", + "Description":"Packed and transmitted by CZone, but receive-side action is not confirmed", + "BitLength":1, + "BitOffset":53, "BitStart":5, - "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":1, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"bootState", - "Name":"Boot State", - "BitLength":3, - "BitOffset":16, - "BitStart":0, + "Order":10, + "Id":"reserved10", + "Name":"Reserved", + "BitLength":2, + "BitOffset":54, + "BitStart":6, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"BOOT_STATE" + "FieldType":"RESERVED" }, { - "Order":5, - "Id":"reserved5", + "Order":11, + "Id":"reserved11", "Name":"Reserved", - "BitLength":45, - "BitOffset":19, - "BitStart":3, + "BitLength":8, + "BitOffset":56, + "BitStart":0, "Resolution":1, "FieldType":"RESERVED" } ] }, { - "PGN":65285, - "Id":"lowranceTemperature", - "Description":"Lowrance: Temperature", + "PGN":65296, + "Id":"bepMarineProprietaryPgn65296", + "Description":"BEP Marine: Proprietary PGN 65296", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Lowrance", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":140, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -9830,53 +13755,20 @@ }, { "Order":4, - "Id":"temperatureSource", - "Name":"Temperature Source", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"TEMPERATURE_SOURCE", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"actualTemperature", - "Name":"Actual Temperature", - "BitLength":16, - "BitOffset":24, - "BitStart":0, - "Unit":"K", - "Resolution":0.01, - "Signed":false, - "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" - }, - { - "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":24, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65285, - "Id":"maretronUniversalConfigurationSf", - "Description":"Maretron: Universal Configuration SF", + "PGN":65297, + "Id":"bepMarineProprietaryPgn65297", + "Description":"BEP Marine: Proprietary PGN 65297", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -9888,11 +13780,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -9939,25 +13831,25 @@ ] }, { - "PGN":65286, - "Id":"chetcoDimmer", - "Description":"Chetco: Dimmer", + "PGN":65298, + "Id":"suzukiEngineDataA", + "Description":"Suzuki: Engine Data A", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Lookups","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":9, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Chetco", + "Description":"Suzuki Motor Corporation", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":409, + "Match":586, "Resolution":1, "Signed":false, "RangeMin":0, @@ -9993,111 +13885,23 @@ }, { "Order":4, - "Id":"instance", - "Name":"Instance", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"dimmer1", - "Name":"Dimmer1", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"dimmer2", - "Name":"Dimmer2", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"dimmer3", - "Name":"Dimmer3", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"dimmer4", - "Name":"Dimmer4", - "BitLength":8, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"control", - "Name":"Control", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { - "PGN":65286, - "Id":"airmarBootStateRequest", - "Description":"Airmar: Boot State Request", - "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", + "PGN":65299, + "Id":"suzukiEngineDataB", + "Description":"Suzuki: Engine Data B", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], "FieldCount":4, "Length":8, @@ -10106,11 +13910,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Airmar", + "Description":"Suzuki Motor Corporation", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":135, + "Match":586, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10146,37 +13950,37 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", + "Id":"data", + "Name":"Data", "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65286, - "Id":"maretronFluidFlowRate", - "Description":"Maretron: Fluid Flow Rate", - "Priority":5, + "PGN":65299, + "Id":"bepMarineCzoneAlarmStringRequest", + "Description":"BEP Marine: CZone Alarm String Request", + "Explanation":"CZone request for remote alarm string text. The request identifies the device and channel/alarm id; the remote device is expected to respond with the matching alarm string.", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10212,8 +14016,9 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", + "Id":"deviceId", + "Name":"Device ID", + "Description":"Device / destination module id associated with the alarm", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -10228,84 +14033,54 @@ }, { "Order":5, - "Id":"flowRateInstance", - "Name":"Flow Rate Instance", - "BitLength":8, + "Id":"channel", + "Name":"Channel", + "Description":"Channel / alarm id", + "BitLength":16, "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"fluidType", - "Name":"Fluid Type", - "BitLength":4, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"TANK_TYPE" - }, - { - "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":4, - "BitOffset":36, - "BitStart":4, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":8, - "Id":"fluidFlowRate", - "Name":"Fluid Flow Rate", + "Id":"padding", + "Name":"Padding", + "Description":"Set to FF FF FF", "BitLength":24, "BitOffset":40, "BitStart":0, - "Resolution":0.0001, - "Signed":true, - "RangeMin":-838.8607, - "RangeMax":838.8604, - "UnknownValue":8388607, - "OutOfRangeValue":8388606, - "ReservedValue":8388605, - "FieldType":"NUMBER" + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":65287, - "Id":"airmarAccessLevel", - "Description":"Airmar: Access Level", - "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", + "PGN":65300, + "Id":"suzukiEngineDataC", + "Description":"Suzuki: Engine Data C", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":7, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Airmar", + "Description":"Suzuki Motor Corporation", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":135, + "Match":586, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10341,83 +14116,102 @@ }, { "Order":4, - "Id":"formatCode", - "Name":"Format Code", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":65300, + "Id":"bepMarineProprietaryPgn65300", + "Description":"BEP Marine: Proprietary PGN 65300", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ { - "Order":5, - "Id":"accessLevel", - "Name":"Access Level", - "BitLength":3, - "BitOffset":24, + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine 2", + "BitLength":11, + "BitOffset":0, "BitStart":0, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"ACCESS_LEVEL" + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":6, - "Id":"reserved6", + "Order":2, + "Id":"reserved", "Name":"Reserved", - "BitLength":5, - "BitOffset":27, + "BitLength":2, + "BitOffset":11, "BitStart":3, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":7, - "Id":"accessSeedKey", - "Name":"Access Seed/Key", - "Description":"When transmitted, it provides a seed for an unlock operation. It is used to provide the key during PGN 126208.", - "BitLength":32, - "BitOffset":32, - "BitStart":0, + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":65287, - "Id":"simnetConfigureTemperatureSensor", - "Description":"Simnet: Configure Temperature Sensor", + "PGN":65300, + "Id":"carlingSwitchboardStatus", + "Description":"Carling: Switchboard Status", + "Explanation":"Multi-purpose Carling digital switching PGN with 16+ message types: box status, breaker status, configuration, power information, AC GenII status, uptime reports, and solenoid profiles. The Message Type field selects the variant.", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":5, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Carling Technologies Inc. (Moritz Aerospace)", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":176, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10453,37 +14247,55 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":48, + "Id":"messageType", + "Name":"Message Type", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"data", + "Name":"Data", + "Description":"Payload varies by Message Type.", + "BitLength":40, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":65287, - "Id":"maretronTripVolume", - "Description":"Maretron: Trip Volume", - "Priority":5, + "PGN":65301, + "Id":"bepMarineCzone65301", + "Description":"BEP Marine: CZone 65301", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65301.md", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10519,8 +14331,9 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", + "Id":"field1", + "Name":"Field 1", + "Description":"Pass-through byte; purpose unverified", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -10535,84 +14348,71 @@ }, { "Order":5, - "Id":"volumeInstance", - "Name":"Volume Instance", - "BitLength":8, + "Id":"field2", + "Name":"Field 2", + "Description":"5-bit field; purpose unverified", + "BitLength":5, "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"fluidType", - "Name":"Fluid Type", - "BitLength":4, - "BitOffset":32, - "BitStart":0, + "Id":"field3", + "Name":"Field 3", + "Description":"3-bit field; purpose unverified", + "BitLength":3, + "BitOffset":29, + "BitStart":5, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"TANK_TYPE" + "RangeMax":6, + "UnknownValue":7, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":4, - "BitOffset":36, - "BitStart":4, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":8, - "Id":"tripVolume", - "Name":"Trip Volume", - "BitLength":24, - "BitOffset":40, + "Id":"statusBitmap", + "Name":"Status Bitmap", + "Description":"32-bit bitmap, LSB-first; bit n set => item n active. Per-bit meaning unverified.", + "BitLength":32, + "BitOffset":32, "BitStart":0, - "Resolution":0.001, - "Signed":false, - "RangeMin":0, - "RangeMax":16777.212, - "UnknownValue":16777215, - "OutOfRangeValue":16777214, - "ReservedValue":16777213, - "FieldType":"NUMBER" + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":65288, - "Id":"seatalkAlarm", - "Description":"Seatalk: Alarm", + "PGN":65302, + "Id":"simnetApUnknown1", + "Description":"Simnet: AP Unknown 1", "Priority":7, + "Explanation":"Broadcast by the AC (AutoPilot Computer): a constant 0x0A followed by a single 32-bit value (purpose not yet identified) and a trailing 0xFF. Observed emitted by the AC-42; the newer NAC-3 does not emit it.", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":8, + "FieldCount":6, "Length":8, + "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Raymarine", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1851, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10648,8 +14448,9 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", + "Id":"type", + "Name":"Type", + "Description":"Always 0x0A", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -10664,52 +14465,91 @@ }, { "Order":5, - "Id":"alarmStatus", - "Name":"Alarm Status", - "BitLength":8, + "Id":"value", + "Name":"Value", + "BitLength":32, "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SEATALK_ALARM_STATUS" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"alarmId", - "Name":"Alarm ID", + "Id":"reserved6", + "Name":"Reserved", "BitLength":8, - "BitOffset":32, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65303, + "Id":"suzukiEngineDataD", + "Description":"Suzuki: Engine Data D", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Suzuki Motor Corporation", + "BitLength":11, + "BitOffset":0, "BitStart":0, + "Match":586, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"SEATALK_ALARM_ID" + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":7, - "Id":"alarmGroup", - "Name":"Alarm Group", - "BitLength":8, - "BitOffset":40, - "BitStart":0, + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"SEATALK_ALARM_GROUP" + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":8, - "Id":"alarmPriority", - "Name":"Alarm Priority", - "BitLength":16, - "BitOffset":48, + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, "BitStart":0, "Resolution":1, "FieldType":"BINARY" @@ -10717,13 +14557,13 @@ ] }, { - "PGN":65288, - "Id":"maretron420Ma", - "Description":"Maretron: 4-20 mA", - "Priority":5, + "PGN":65303, + "Id":"lowranceVesselSetupEngineAndTankConfiguration", + "Description":"Lowrance: Vessel Setup - Engine and Tank Configuration", + "Explanation":"Vessel-setup configuration sent by a Lowrance/Navico display when the operator changes the number of engines, number of fuel tanks, or total fuel capacity on the Vessel Setup page. Confirmed against a capture where the values were changed from (1 engine, 1 tank, 1200 L) to (2 engines, 3 tanks, 200 L).", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], "FieldCount":7, "Length":8, @@ -10732,11 +14572,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Lowrance", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":140, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10772,59 +14612,60 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", - "BitLength":8, + "Id":"numberOfEngines", + "Name":"Number of Engines", + "Description":"Engine count configured on the display's Vessel Setup page", + "BitLength":4, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"NUMBER" }, { "Order":5, - "Id":"dataInstance", - "Name":"Data Instance", - "BitLength":8, - "BitOffset":24, - "BitStart":0, + "Id":"numberOfFuelTanks", + "Name":"Number of Fuel Tanks", + "Description":"Fuel-tank count configured on the display's Vessel Setup page", + "BitLength":4, + "BitOffset":20, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"420MaData", - "Name":"4-20 mA Data", + "Id":"totalFuelCapacity", + "Name":"Total Fuel Capacity", "BitLength":16, - "BitOffset":32, + "BitOffset":24, "BitStart":0, - "Resolution":1, + "Unit":"L", + "Resolution":0.1, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":6553.2, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"VOLUME" }, { "Order":7, "Id":"reserved7", "Name":"Reserved", - "BitLength":16, - "BitOffset":48, + "BitLength":24, + "BitOffset":40, "BitStart":0, "Resolution":1, "FieldType":"RESERVED" @@ -10832,12 +14673,12 @@ ] }, { - "PGN":65289, - "Id":"simnetTrimTabSensorCalibration", - "Description":"Simnet: Trim Tab Sensor Calibration", + "PGN":65304, + "Id":"suzukiEngineDataE", + "Description":"Suzuki: Engine Data E", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], "FieldCount":4, "Length":8, @@ -10846,11 +14687,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Suzuki Motor Corporation", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":586, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10886,37 +14727,36 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", + "Id":"data", + "Name":"Data", "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65289, - "Id":"maretron010V", - "Description":"Maretron: 0-10 V", - "Priority":5, + "PGN":65304, + "Id":"bepMarineProprietaryPgn65304", + "Description":"BEP Marine: Proprietary PGN 65304", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10952,85 +14792,37 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":5, - "Id":"dataInstance", - "Name":"Data Instance", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":6, - "Id":"010VData", - "Name":"0-10 V Data", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Resolution":0.000244141, - "Signed":false, - "RangeMin":0, - "RangeMax":15.9990234375, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65290, - "Id":"simnetPaddleWheelSpeedConfiguration", - "Description":"Simnet: Paddle Wheel Speed Configuration", + "PGN":65304, + "Id":"lowranceVesselSetupEngineAndTankConfigurationBroadcast", + "Description":"Lowrance: Vessel Setup - Engine and Tank Configuration Broadcast", + "Explanation":"Periodic broadcast of the current vessel-setup configuration (number of engines, number of fuel tanks and total fuel capacity). Same layout as the on-change variant (PGN 65303); observed broadcast at the default (1 engine, 1 tank, 1200 L) by autopilot-computer and display devices.", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":4, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Lowrance", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":140, "Resolution":1, "Signed":false, "RangeMin":0, @@ -11066,10 +14858,60 @@ }, { "Order":4, - "Id":"reserved4", + "Id":"numberOfEngines", + "Name":"Number of Engines", + "Description":"Engine count configured on the display's Vessel Setup page", + "BitLength":4, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"numberOfFuelTanks", + "Name":"Number of Fuel Tanks", + "Description":"Fuel-tank count configured on the display's Vessel Setup page", + "BitLength":4, + "BitOffset":20, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"totalFuelCapacity", + "Name":"Total Fuel Capacity", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"L", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"VOLUME" + }, + { + "Order":7, + "Id":"reserved7", "Name":"Reserved", - "BitLength":48, - "BitOffset":16, + "BitLength":24, + "BitOffset":40, "BitStart":0, "Resolution":1, "FieldType":"RESERVED" @@ -11077,26 +14919,27 @@ ] }, { - "PGN":65290, - "Id":"maretronRotationalRate", - "Description":"Maretron: Rotational Rate", - "Priority":5, + "PGN":65305, + "Id":"simnetDeviceStatus", + "Description":"Simnet: Device Status", + "Explanation":"This PGN is reported by an Autopilot Computer (AC/NAC)", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Lookups" ], "FieldCount":7, "Length":8, + "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -11132,8 +14975,8 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", + "Id":"model", + "Name":"Model", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -11144,75 +14987,75 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_MODEL" }, { "Order":5, - "Id":"dataInstance", - "Name":"Data Instance", + "Id":"report", + "Name":"Report", + "Description":"Status", "BitLength":8, "BitOffset":24, "BitStart":0, + "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_REPORT", "PartOfPrimaryKey":true }, { "Order":6, - "Id":"rotationalRate", - "Name":"Rotational Rate", - "BitLength":16, + "Id":"status", + "Name":"Status", + "BitLength":8, "BitOffset":32, "BitStart":0, - "Resolution":0.25, - "Signed":true, - "RangeMin":-8191.75, - "RangeMax":8191, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_AP_STATUS" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":16, - "BitOffset":48, + "Id":"spare7", + "Name":"Spare", + "BitLength":24, + "BitOffset":40, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"SPARE" } ] }, { - "PGN":65290, - "Id":"bepMarineCzoneModuleAnnounce", - "Description":"BEP Marine: CZone Module Announce", - "Explanation":"CZone module's 'I'm here' announce. A module sends one shortly after coming online. The plotter uses it to populate its list of CZone-recognised modules. The 20-bit Unique field should be stable across restarts of the same module so the plotter's 'have I seen this before' logic stays consistent. Field B (18 bits) and Field C (2 bits) have not been observed populated; semantics unknown. The Dipswitch byte order on the wire is direct (no bit-reverse): the binary string '00011000' shown in the CZone Configuration Tool corresponds to byte value 0x18 = 24.", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65290.md", + "PGN":65305, + "Id":"simnetDeviceStatusRequest", + "Description":"Simnet: Device Status Request", + "Explanation":"This PGN is sent by an active AutoPilot head controller (AP, MFD, Triton2). It is used by the AC (AutoPilot Controller) to verify that there is an active controller. If this PGN is not sent regularly the AC may report an error and go to standby.", "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":7, + "Complete":true, + "FieldCount":6, "Length":8, + "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -11248,93 +15091,72 @@ }, { "Order":4, - "Id":"unique", - "Name":"Unique", - "Description":"Stable identifier set by the module; opaque to the plotter", - "BitLength":20, + "Id":"model", + "Name":"Model", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1048572, - "UnknownValue":1048575, - "OutOfRangeValue":1048574, - "ReservedValue":1048573, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_MODEL" }, { "Order":5, - "Id":"fieldB", - "Name":"Field B", - "Description":"Purpose unknown; observed = 0 in YDAB-01", - "BitLength":18, - "BitOffset":36, - "BitStart":4, + "Id":"report", + "Name":"Report", + "Description":"Send Status", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Match":3, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":262140, - "UnknownValue":262143, - "OutOfRangeValue":262142, - "ReservedValue":262141, - "FieldType":"NUMBER" + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_REPORT", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"fieldC", - "Name":"Field C", - "Description":"Purpose unknown; observed = 0 in YDAB-01", - "BitLength":2, - "BitOffset":54, - "BitStart":6, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"dipswitch", - "Name":"Dipswitch", - "Description":"8-bit dipswitch this module is claiming", - "BitLength":8, - "BitOffset":56, + "Id":"spare6", + "Name":"Spare", + "BitLength":32, + "BitOffset":32, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"SPARE" } ] }, { - "PGN":65291, - "Id":"maretronResistance", - "Description":"Maretron: Resistance", - "Priority":5, + "PGN":65305, + "Id":"simnetPilotMode", + "Description":"Simnet: Pilot Mode", + "Explanation":"This PGN is reported by an Autopilot Computer (AC/NAC)", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Lookups" ], "FieldCount":7, "Length":8, + "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -11370,8 +15192,8 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", + "Id":"model", + "Name":"Model", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -11382,63 +15204,61 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_MODEL" }, { "Order":5, - "Id":"dataInstance", - "Name":"Data Instance", + "Id":"report", + "Name":"Report", + "Description":"Mode", "BitLength":8, "BitOffset":24, "BitStart":0, + "Match":10, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_REPORT", "PartOfPrimaryKey":true }, { "Order":6, - "Id":"resistance", - "Name":"Resistance", + "Id":"mode", + "Name":"Mode", "BitLength":16, "BitOffset":32, "BitStart":0, - "Resolution":0.01, - "Signed":false, + "Resolution":1, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":65535, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"SIMNET_AP_MODE_BITFIELD" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", + "Id":"spare7", + "Name":"Spare", "BitLength":16, "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"SPARE" } ] }, { - "PGN":65292, - "Id":"simnetClearFluidLevelWarnings", - "Description":"Simnet: Clear Fluid Level Warnings", + "PGN":65305, + "Id":"simnetDeviceModeRequest", + "Description":"Simnet: Device Mode Request", + "Explanation":"This PGN is sent by an active AutoPilot head controller (AP, MFD, Triton2). It is used by the AC (AutoPilot Controller) to verify that there is an active controller. If this PGN is not sent regularly the AC may report an error and go to standby.", "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":4, + "Complete":true, + "FieldCount":6, "Length":8, + "TransmissionInterval":1000, "Fields":[ { "Order":1, @@ -11484,91 +15304,62 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":48, + "Id":"model", + "Name":"Model", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65292, - "Id":"maretronAutomationFunctionMaster", - "Description":"Maretron: Automation Function Master", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Maretron", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":137, - "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" + "LookupEnumeration":"SIMNET_DEVICE_MODEL" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":5, + "Id":"report", + "Name":"Report", + "Description":"Send Mode", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Match":11, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, + "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "LookupEnumeration":"SIMNET_DEVICE_REPORT", + "PartOfPrimaryKey":true }, { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, + "Order":6, + "Id":"spare6", + "Name":"Spare", + "BitLength":32, + "BitOffset":32, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"SPARE" } ] }, { - "PGN":65293, - "Id":"simnetLgc2000Configuration", - "Description":"Simnet: LGC-2000 Configuration", + "PGN":65305, + "Id":"simnetSailingProcessorStatus", + "Description":"Simnet: Sailing Processor Status", + "Explanation":"This PGN has been seen to be reported by a Sailing Processor.", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":4, + "FieldCount":6, "Length":8, + "TransmissionInterval":1000, "Fields":[ { "Order":1, @@ -11614,37 +15405,70 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":48, + "Id":"model", + "Name":"Model", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_MODEL" + }, + { + "Order":5, + "Id":"report", + "Name":"Report", + "Description":"Sailing Processor Status", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Match":23, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_REPORT", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"data", + "Name":"Data", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":65293, - "Id":"diverseYachtServicesLoadCell", - "Description":"Diverse Yacht Services: Load Cell", - "Priority":2, + "PGN":65306, + "Id":"bepMarineProprietaryPgn65306", + "Description":"BEP Marine: Proprietary PGN 65306", "Type":"Single", "Complete":false, - "Missing":["Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Diverse Yacht Services", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":641, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -11680,53 +15504,20 @@ }, { "Order":4, - "Id":"instance", - "Name":"Instance", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"reserved5", - "Name":"Reserved", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":6, - "Id":"loadCell", - "Name":"Load Cell", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { - "PGN":65294, - "Id":"bepMarineProprietaryPgn65294", - "Description":"BEP Marine: Proprietary PGN 65294", + "PGN":65308, + "Id":"bepMarineProprietaryPgn65308", + "Description":"BEP Marine: Proprietary PGN 65308", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -11789,26 +15580,26 @@ ] }, { - "PGN":65295, - "Id":"bepMarineCzoneAlarm", - "Description":"BEP Marine: CZone Alarm", - "Explanation":"CZone alarm/status/acknowledgement message. Payload byte 2 is the device/source module id, byte 3 is the channel/alarm id, bytes 4-5 are the little-endian alarm type, and byte 6 contains packed severity/state flags. Payload byte 7 is reserved.", + "PGN":65309, + "Id":"navicoWirelessBatteryStatus", + "Description":"Navico: Wireless Battery Status", + "Priority":7, "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":11, + "FieldCount":8, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -11844,9 +15635,8 @@ }, { "Order":4, - "Id":"deviceId", - "Name":"Device ID", - "Description":"Device / source module id", + "Id":"status", + "Name":"Status", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -11861,12 +15651,12 @@ }, { "Order":5, - "Id":"channel", - "Name":"Channel", - "Description":"Channel / alarm id low byte", + "Id":"batteryStatus", + "Name":"Battery Status", "BitLength":8, "BitOffset":24, "BitStart":0, + "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -11874,92 +15664,124 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { "Order":6, - "Id":"alarmType", - "Name":"Alarm Type", - "BitLength":16, + "Id":"batteryChargeStatus", + "Name":"Battery Charge Status", + "BitLength":8, "BitOffset":32, "BitStart":0, + "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"CZONE_ALARM_TYPE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { "Order":7, - "Id":"severityCode", - "Name":"Severity Code", - "Description":"Raw CZone severity code; values 1..5 map to internal severities 4..0", - "BitLength":4, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":8, + "Id":"a", + "Name":"A", + "BitLength":16, "BitOffset":48, "BitStart":0, "Resolution":1, + "Signed":true, + "RangeMin":-32767, + "RangeMax":32764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":65310, + "Id":"bepMarineProprietaryPgn65310", + "Description":"BEP Marine: Proprietary PGN 65310", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine 2", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":295, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":8, - "Id":"stateFlag", - "Name":"State Flag", - "Description":"State bit used by CZone to distinguish active vs cleared/acknowledged state", - "BitLength":1, - "BitOffset":52, - "BitStart":4, + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":1, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { - "Order":9, - "Id":"ackFlag", - "Name":"Ack Flag", - "Description":"Packed and transmitted by CZone, but receive-side action is not confirmed", - "BitLength":1, - "BitOffset":53, + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"NUMBER" - }, - { - "Order":10, - "Id":"reserved10", - "Name":"Reserved", - "BitLength":2, - "BitOffset":54, - "BitStart":6, - "Resolution":1, - "FieldType":"RESERVED" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":11, - "Id":"reserved11", - "Name":"Reserved", - "BitLength":8, - "BitOffset":56, + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65296, - "Id":"bepMarineProprietaryPgn65296", - "Description":"BEP Marine: Proprietary PGN 65296", + "PGN":65311, + "Id":"bepMarineProprietaryPgn65311", + "Description":"BEP Marine: Proprietary PGN 65311", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -12022,25 +15844,26 @@ ] }, { - "PGN":65297, - "Id":"bepMarineProprietaryPgn65297", - "Description":"BEP Marine: Proprietary PGN 65297", + "PGN":65312, + "Id":"navicoWirelessSignalStatus", + "Description":"Navico: Wireless Signal Status", + "Priority":7, "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","Interval" ], - "FieldCount":4, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12076,36 +15899,86 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"unknown", + "Name":"Unknown", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"signalStrength", + "Name":"Signal Strength", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Unit":"%", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":6, + "Id":"a", + "Name":"A", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65298, - "Id":"suzukiEngineDataA", - "Description":"Suzuki: Engine Data A", + "PGN":65313, + "Id":"navicoDepthQuality", + "Description":"Navico: Depth Quality", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Interval" ], - "FieldCount":4, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Suzuki Motor Corporation", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":586, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12141,23 +16014,56 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"instance", + "Name":"Instance", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"depthQuality", + "Name":"Depth Quality", + "Description":"Depth signal quality ratio (0 = no bottom lock .. ~1.0 = good)", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":0.01, + "Signed":true, + "RangeMin":-1.27, + "RangeMax":1.24, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65299, - "Id":"suzukiEngineDataB", - "Description":"Suzuki: Engine Data B", + "PGN":65314, + "Id":"bepMarineProprietaryPgn65314", + "Description":"BEP Marine: Proprietary PGN 65314", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":4, "Length":8, @@ -12166,11 +16072,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Suzuki Motor Corporation", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":586, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12217,26 +16123,26 @@ ] }, { - "PGN":65299, - "Id":"bepMarineCzoneAlarmStringRequest", - "Description":"BEP Marine: CZone Alarm String Request", - "Explanation":"CZone request for remote alarm string text. The request identifies the device and channel/alarm id; the remote device is expected to respond with the matching alarm string.", + "PGN":65314, + "Id":"yamahaGearStatus", + "Description":"Yamaha: Gear Status", + "URL":"https://github.com/canboat/canboat/issues/603", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":6, + "FieldCount":8, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Mystic Valley Communications", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":198, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12272,55 +16178,64 @@ }, { "Order":4, - "Id":"deviceId", - "Name":"Device ID", - "Description":"Device / destination module id associated with the alarm", - "BitLength":8, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":24, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"channel", - "Name":"Channel", - "Description":"Channel / alarm id", - "BitLength":16, - "BitOffset":24, + "Id":"reserved5", + "Name":"Reserved", + "BitLength":1, + "BitOffset":40, "BitStart":0, "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":6, + "Id":"neutral", + "Name":"Neutral", + "BitLength":1, + "BitOffset":41, + "BitStart":1, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":1, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO_1BIT" }, { - "Order":6, - "Id":"padding", - "Name":"Padding", - "Description":"Set to FF FF FF", - "BitLength":24, - "BitOffset":40, + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":6, + "BitOffset":42, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":8, + "Id":"reserved8", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" } ] }, { - "PGN":65300, - "Id":"suzukiEngineDataC", - "Description":"Suzuki: Engine Data C", + "PGN":65315, + "Id":"suzukiTrollModeControl", + "Description":"Suzuki: Troll Mode Control", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" @@ -12383,9 +16298,9 @@ ] }, { - "PGN":65300, - "Id":"bepMarineProprietaryPgn65300", - "Description":"BEP Marine: Proprietary PGN 65300", + "PGN":65316, + "Id":"bepMarineProprietaryPgn65316", + "Description":"BEP Marine: Proprietary PGN 65316", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -12448,26 +16363,25 @@ ] }, { - "PGN":65300, - "Id":"carlingSwitchboardStatus", - "Description":"Carling: Switchboard Status", - "Explanation":"Multi-purpose Carling digital switching PGN with 16+ message types: box status, breaker status, configuration, power information, AC GenII status, uptime reports, and solenoid profiles. The Message Type field selects the variant.", + "PGN":65317, + "Id":"navicoProprietary2", + "Description":"Navico: Proprietary 2", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":5, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Carling Technologies Inc. (Moritz Aerospace)", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":176, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12503,28 +16417,10 @@ }, { "Order":4, - "Id":"messageType", - "Name":"Message Type", - "BitLength":8, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":5, "Id":"data", "Name":"Data", - "Description":"Payload varies by Message Type.", - "BitLength":40, - "BitOffset":24, + "BitLength":48, + "BitOffset":16, "BitStart":0, "Resolution":1, "FieldType":"BINARY" @@ -12532,26 +16428,28 @@ ] }, { - "PGN":65301, - "Id":"bepMarineCzone65301", - "Description":"BEP Marine: CZone 65301", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65301.md", + "PGN":65323, + "Id":"simnetDataSourceSelectionRequest", + "Description":"Simnet: Data Source Selection Request", + "Priority":3, + "Explanation":"Single-frame poll/announce half of the Simnet source-selection subsystem; the fast-packet half is PGN 130840, which shares the same Data Type namespace. Data Type selects the quantity (heading, depth, wind, ...); Source Class tags the class of source for that quantity (1 = a direct sensor/navigation source, 100 = an autopilot-provided source) and is constant per Data Type - it does not identify the selected device. A node answers with a 130840 record naming the source (Source Address plus NAME) it has selected for that (Data Type, Source Class) channel. Emitted by autopilot heads and instruments (AP48, Triton2, ZEUS); the autopilot and MFDs receive it.", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution" ], "FieldCount":7, "Length":8, + "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12587,74 +16485,69 @@ }, { "Order":4, - "Id":"field1", - "Name":"Field 1", - "Description":"Pass-through byte; purpose unverified", + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"field2", - "Name":"Field 2", - "Description":"5-bit field; purpose unverified", - "BitLength":5, + "Id":"dataType", + "Name":"Data Type", + "BitLength":8, "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":29, - "UnknownValue":31, - "OutOfRangeValue":30, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DATA_SOURCE" }, { "Order":6, - "Id":"field3", - "Name":"Field 3", - "Description":"3-bit field; purpose unverified", - "BitLength":3, - "BitOffset":29, - "BitStart":5, + "Id":"sourceClass", + "Name":"Source Class", + "Description":"Class of source for this Data Type, constant per Data Type: observed as 1 for direct sensor/navigation sources and 100 for autopilot-provided sources", + "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "UnknownValue":7, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":7, - "Id":"statusBitmap", - "Name":"Status Bitmap", - "Description":"32-bit bitmap, LSB-first; bit n set => item n active. Per-bit meaning unverified.", - "BitLength":32, - "BitOffset":32, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":24, + "BitOffset":40, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" } ] }, { - "PGN":65302, - "Id":"simnetApUnknown1", - "Description":"Simnet: AP Unknown 1", - "Priority":7, - "Explanation":"Broadcast by the AC (AutoPilot Computer): a constant 0x0A followed by a single 32-bit value (purpose not yet identified) and a trailing 0xFF. Observed emitted by the AC-42; the newer NAC-3 does not emit it.", + "PGN":65324, + "Id":"simnetAnalogTelemetry", + "Description":"Simnet: Analog Telemetry", + "Priority":3, + "Explanation":"Diagnostic telemetry emitted by the AutoPilot Computer, one analog channel per frame in round-robin. The Channel field selects the quantity (drive/heatsink temperature, drive supply voltage, drive current, rudder-feedback angle, ...) and Value carries its raw reading. Used by commissioning and diagnostic tools; observed in live captures.", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" + "Missing":["Fields","FieldLengths","Resolution","SampleData" ], "FieldCount":6, "Length":8, @@ -12704,9 +16597,9 @@ }, { "Order":4, - "Id":"type", - "Name":"Type", - "Description":"Always 0x0A", + "Id":"subType", + "Name":"Sub-Type", + "Description":"0x40 = telemetry", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -12721,10 +16614,28 @@ }, { "Order":5, + "Id":"channel", + "Name":"Channel", + "Description":"Selects which analog quantity is reported (e.g. drive/heatsink temperature, drive supply voltage, drive current, rudder-feedback angle)", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, "Id":"value", "Name":"Value", + "Description":"Raw channel reading; 0x7FFF or 0xFFFF means not available", "BitLength":32, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -12734,23 +16645,78 @@ "OutOfRangeValue":4294967294, "ReservedValue":4294967293, "FieldType":"NUMBER" + } + ] + }, + { + "PGN":65325, + "Id":"bepMarineProprietaryPgn65325", + "Description":"BEP Marine: Proprietary PGN 65325", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine 2", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":295, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":6, - "Id":"reserved6", + "Order":2, + "Id":"reserved", "Name":"Reserved", - "BitLength":8, - "BitOffset":56, - "BitStart":0, + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":65303, - "Id":"suzukiEngineDataD", - "Description":"Suzuki: Engine Data D", + "PGN":65329, + "Id":"yamahaEngineDataA", + "Description":"Yamaha: Engine Data A", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" @@ -12762,11 +16728,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Suzuki Motor Corporation", + "Description":"Mystic Valley Communications", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":586, + "Match":198, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12813,9 +16779,9 @@ ] }, { - "PGN":65304, - "Id":"suzukiEngineDataE", - "Description":"Suzuki: Engine Data E", + "PGN":65330, + "Id":"bGProprietary", + "Description":"B&G: Proprietary", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" @@ -12827,11 +16793,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Suzuki Motor Corporation", + "Description":"B & G", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":586, + "Match":381, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12878,12 +16844,12 @@ ] }, { - "PGN":65304, - "Id":"bepMarineProprietaryPgn65304", - "Description":"BEP Marine: Proprietary PGN 65304", + "PGN":65332, + "Id":"yanmarEngineDataC", + "Description":"Yanmar: Engine Data C", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], "FieldCount":4, "Length":8, @@ -12892,11 +16858,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Yanmar Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":172, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12943,15 +16909,16 @@ ] }, { - "PGN":65305, - "Id":"simnetDeviceStatus", - "Description":"Simnet: Device Status", - "Explanation":"This PGN is reported by an Autopilot Computer (AC/NAC)", + "PGN":65340, + "Id":"simnetAutopilotModeState", + "Description":"Simnet: Autopilot Mode State", + "Priority":3, + "Explanation":"Autopilot mode/state broadcast by the AC (AutoPilot Computer). Field 1 is the standby/engaged class, field 2 the engaged mode. Observed emitted by the AC-42 (Standby = Mode Class 0 / Mode 0, Heading hold = Mode Class 16 / Mode 1); the newer NAC-3 does not emit this PGN and reports its mode/state on 65305 (Simnet: Pilot Mode) instead.", "Type":"Single", "Complete":false, - "Missing":["Lookups" + "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":7, + "FieldCount":9, "Length":8, "TransmissionInterval":1000, "Fields":[ @@ -12999,8 +16966,8 @@ }, { "Order":4, - "Id":"model", - "Name":"Model", + "Id":"modeClass", + "Name":"Mode Class", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -13008,29 +16975,33 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_MODEL" + "LookupEnumeration":"SIMNET_AUTOPILOT_MODE_CLASS" }, { "Order":5, - "Id":"report", - "Name":"Report", - "Description":"Status", + "Id":"mode", + "Name":"Mode", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_REPORT" + "LookupEnumeration":"SIMNET_AUTOPILOT_MODE" }, { "Order":6, - "Id":"status", - "Name":"Status", + "Id":"c", + "Name":"C", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -13038,31 +17009,66 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_STATUS" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"spare7", - "Name":"Spare", - "BitLength":24, + "Id":"d", + "Name":"D", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"spare8", + "Name":"Spare", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, "FieldType":"SPARE" + }, + { + "Order":9, + "Id":"flags", + "Name":"Flags", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":65305, - "Id":"simnetDeviceStatusRequest", - "Description":"Simnet: Device Status Request", - "Explanation":"This PGN is sent by an active AutoPilot head controller (AP, MFD, Triton2). It is used by the AC (AutoPilot Controller) to verify that there is an active controller. If this PGN is not sent regularly the AC may report an error and go to standby.", + "PGN":65341, + "Id":"simnetAutopilotAngle", + "Description":"Simnet: Autopilot Angle", + "Priority":6, "Type":"Single", - "Complete":true, - "FieldCount":6, + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":7, "Length":8, - "TransmissionInterval":1000, "Fields":[ { "Order":1, @@ -13108,68 +17114,81 @@ }, { "Order":4, - "Id":"model", - "Name":"Model", - "BitLength":8, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":16, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_MODEL" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"report", - "Name":"Report", - "Description":"Send Status", + "Id":"mode", + "Name":"Mode", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, - "Match":3, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_REPORT" + "LookupEnumeration":"SIMNET_AP_MODE" }, { "Order":6, - "Id":"spare6", - "Name":"Spare", - "BitLength":32, - "BitOffset":32, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":8, + "BitOffset":40, "BitStart":0, "Resolution":1, - "FieldType":"SPARE" + "FieldType":"RESERVED" + }, + { + "Order":7, + "Id":"angle", + "Name":"Angle", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" } ] }, { - "PGN":65305, - "Id":"simnetPilotMode", - "Description":"Simnet: Pilot Mode", - "Explanation":"This PGN is reported by an Autopilot Computer (AC/NAC)", + "PGN":65344, + "Id":"yamahaEngineDataB", + "Description":"Yamaha: Engine Data B", "Type":"Single", "Complete":false, - "Missing":["Lookups" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":7, + "FieldCount":4, "Length":8, - "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Mystic Valley Communications", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":198, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13205,79 +17224,36 @@ }, { "Order":4, - "Id":"model", - "Name":"Model", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_MODEL" - }, - { - "Order":5, - "Id":"report", - "Name":"Report", - "Description":"Mode", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Match":10, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_REPORT" - }, - { - "Order":6, - "Id":"mode", - "Name":"Mode", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":65535, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"SIMNET_AP_MODE_BITFIELD" - }, - { - "Order":7, - "Id":"spare7", - "Name":"Spare", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "FieldType":"SPARE" + "FieldType":"BINARY" } ] }, { - "PGN":65305, - "Id":"simnetDeviceModeRequest", - "Description":"Simnet: Device Mode Request", - "Explanation":"This PGN is sent by an active AutoPilot head controller (AP, MFD, Triton2). It is used by the AC (AutoPilot Controller) to verify that there is an active controller. If this PGN is not sent regularly the AC may report an error and go to standby.", + "PGN":65345, + "Id":"seatalkPilotWindDatum", + "Description":"Seatalk: Pilot Wind Datum", "Type":"Single", - "Complete":true, + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], "FieldCount":6, "Length":8, - "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Raymarine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13313,68 +17289,72 @@ }, { "Order":4, - "Id":"model", - "Name":"Model", - "BitLength":8, + "Id":"windDatum", + "Name":"Wind Datum", + "BitLength":16, "BitOffset":16, "BitStart":0, - "Resolution":1, + "Unit":"rad", + "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_MODEL" + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" }, { "Order":5, - "Id":"report", - "Name":"Report", - "Description":"Send Mode", - "BitLength":8, - "BitOffset":24, + "Id":"rollingAverageWindAngle", + "Name":"Rolling Average Wind Angle", + "BitLength":16, + "BitOffset":32, "BitStart":0, - "Match":11, - "Resolution":1, + "Unit":"rad", + "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_REPORT" + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" }, { "Order":6, - "Id":"spare6", - "Name":"Spare", - "BitLength":32, - "BitOffset":32, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"SPARE" + "FieldType":"RESERVED" } ] }, { - "PGN":65305, - "Id":"simnetSailingProcessorStatus", - "Description":"Simnet: Sailing Processor Status", - "Explanation":"This PGN has been seen to be reported by a Sailing Processor.", + "PGN":65346, + "Id":"yanmarEngineDataD", + "Description":"Yanmar: Engine Data D", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":6, + "FieldCount":4, "Length":8, - "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Yanmar Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":172, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13410,40 +17390,10 @@ }, { "Order":4, - "Id":"model", - "Name":"Model", - "BitLength":8, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_MODEL" - }, - { - "Order":5, - "Id":"report", - "Name":"Report", - "Description":"Sailing Processor Status", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Match":23, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_REPORT" - }, - { - "Order":6, "Id":"data", "Name":"Data", - "BitLength":32, - "BitOffset":32, + "BitLength":48, + "BitOffset":16, "BitStart":0, "Resolution":1, "FieldType":"BINARY" @@ -13451,12 +17401,12 @@ ] }, { - "PGN":65306, - "Id":"bepMarineProprietaryPgn65306", - "Description":"BEP Marine: Proprietary PGN 65306", + "PGN":65348, + "Id":"yanmarEngineDataE", + "Description":"Yanmar: Engine Data E", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], "FieldCount":4, "Length":8, @@ -13465,11 +17415,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Yanmar Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":172, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13516,12 +17466,12 @@ ] }, { - "PGN":65308, - "Id":"bepMarineProprietaryPgn65308", - "Description":"BEP Marine: Proprietary PGN 65308", + "PGN":65349, + "Id":"yanmarEngineDataF", + "Description":"Yanmar: Engine Data F", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], "FieldCount":4, "Length":8, @@ -13530,11 +17480,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Yanmar Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":172, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13581,9 +17531,96 @@ ] }, { - "PGN":65309, - "Id":"navicoWirelessBatteryStatus", - "Description":"Navico: Wireless Battery Status", + "PGN":65350, + "Id":"simnetMagneticField", + "Description":"Simnet: Magnetic Field", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval","MissingCompanyFields" + ], + "FieldCount":5, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"fieldX", + "Name":"Field X", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Resolution":0.0001, + "Signed":true, + "RangeMin":-3.2767, + "RangeMax":3.2764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + }, + { + "Order":2, + "Id":"fieldY", + "Name":"Field Y", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Resolution":0.0001, + "Signed":true, + "RangeMin":-3.2767, + "RangeMax":3.2764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + }, + { + "Order":3, + "Id":"fieldZ", + "Name":"Field Z", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":0.0001, + "Signed":true, + "RangeMin":-3.2767, + "RangeMax":3.2764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + }, + { + "Order":4, + "Id":"marker", + "Name":"Marker", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"reserved", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65359, + "Id":"seatalkPilotHeading", + "Description":"Seatalk: Pilot Heading", "Priority":7, "Type":"Single", "Complete":false, @@ -13596,11 +17633,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Raymarine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13636,8 +17673,8 @@ }, { "Order":4, - "Id":"status", - "Name":"Status", + "Id":"sid", + "Name":"SID", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -13652,46 +17689,46 @@ }, { "Order":5, - "Id":"batteryStatus", - "Name":"Battery Status", - "BitLength":8, + "Id":"headingTrue", + "Name":"Heading True", + "BitLength":16, "BitOffset":24, "BitStart":0, - "Unit":"%", - "Resolution":1, + "Unit":"rad", + "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "PhysicalQuantity":"ANGLE" }, { "Order":6, - "Id":"batteryChargeStatus", - "Name":"Battery Charge Status", - "BitLength":8, - "BitOffset":32, + "Id":"headingMagnetic", + "Name":"Heading Magnetic", + "BitLength":16, + "BitOffset":40, "BitStart":0, - "Unit":"%", - "Resolution":1, + "Unit":"rad", + "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "PhysicalQuantity":"ANGLE" }, { "Order":7, "Id":"reserved7", "Name":"Reserved", - "BitLength":24, - "BitOffset":40, + "BitLength":8, + "BitOffset":56, "BitStart":0, "Resolution":1, "FieldType":"RESERVED" @@ -13699,25 +17736,26 @@ ] }, { - "PGN":65310, - "Id":"bepMarineProprietaryPgn65310", - "Description":"BEP Marine: Proprietary PGN 65310", + "PGN":65360, + "Id":"seatalkPilotLockedHeading", + "Description":"Seatalk: Pilot Locked Heading", + "Priority":7, "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":4, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Raymarine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13753,36 +17791,88 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"targetHeadingTrue", + "Name":"Target Heading True", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":6, + "Id":"targetHeadingMagnetic", + "Name":"Target Heading Magnetic", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65311, - "Id":"bepMarineProprietaryPgn65311", - "Description":"BEP Marine: Proprietary PGN 65311", + "PGN":65361, + "Id":"seatalkSilenceAlarm", + "Description":"Seatalk: Silence Alarm", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":4, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Raymarine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13818,37 +17908,70 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"alarmId", + "Name":"Alarm ID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SEATALK_ALARM_ID" + }, + { + "Order":5, + "Id":"alarmGroup", + "Name":"Alarm Group", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SEATALK_ALARM_GROUP" + }, + { + "Order":6, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65312, - "Id":"navicoWirelessSignalStatus", - "Description":"Navico: Wireless Signal Status", - "Priority":7, + "PGN":65371, + "Id":"seatalkKeypadMessage", + "Description":"Seatalk: Keypad Message", "Type":"Single", "Complete":false, - "Missing":["Fields","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, + "FieldCount":11, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Raymarine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13884,8 +18007,8 @@ }, { "Order":4, - "Id":"unknown", - "Name":"Unknown", + "Id":"proprietaryId", + "Name":"Proprietary ID", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -13896,16 +18019,16 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"signalStrength", - "Name":"Signal Strength", + "Id":"firstKey", + "Name":"First key", "BitLength":8, "BitOffset":24, "BitStart":0, - "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -13913,41 +18036,110 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "FieldType":"NUMBER" }, { "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":32, + "Id":"secondKey", + "Name":"Second key", + "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"firstKeyState", + "Name":"First key state", + "BitLength":2, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"secondKeyState", + "Name":"Second key state", + "BitLength":2, + "BitOffset":42, + "BitStart":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"reserved9", + "Name":"Reserved", + "BitLength":4, + "BitOffset":44, + "BitStart":4, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":10, + "Id":"encoderPosition", + "Name":"Encoder Position", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":11, + "Id":"reserved11", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, "FieldType":"RESERVED" } ] }, { - "PGN":65313, - "Id":"navicoProprietary", - "Description":"Navico: Proprietary", + "PGN":65374, + "Id":"seatalkKeypadHeartbeat", + "Description":"SeaTalk: Keypad Heartbeat", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Raymarine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, @@ -13982,37 +18174,87 @@ "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, + "Order":4, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"variant", + "Name":"Variant", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"status", + "Name":"Status", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":24, + "BitOffset":40, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" } ] }, { - "PGN":65314, - "Id":"bepMarineProprietaryPgn65314", - "Description":"BEP Marine: Proprietary PGN 65314", + "PGN":65379, + "Id":"seatalkPilotMode", + "Description":"Seatalk: Pilot Mode", + "Priority":7, "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Raymarine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, @@ -14048,37 +18290,73 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"pilotMode", + "Name":"Pilot Mode", + "BitLength":16, "BitOffset":16, "BitStart":0, "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"LOOKUP", + "LookupEnumeration":"SEATALK_PILOT_MODE_16" + }, + { + "Order":5, + "Id":"subMode", + "Name":"Sub Mode", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":6, + "Id":"pilotModeData", + "Name":"Pilot Mode Data", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, "FieldType":"BINARY" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65314, - "Id":"yamahaGearStatus", - "Description":"Yamaha: Gear Status", - "URL":"https://github.com/canboat/canboat/issues/603", + "PGN":65403, + "Id":"lumishoreLightStatus", + "Description":"Lumishore: Light Status", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":8, + "FieldCount":9, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Mystic Valley Communications", + "Description":"Lumishore", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":198, + "Match":798, "Resolution":1, "Signed":false, "RangeMin":0, @@ -14114,80 +18392,125 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":24, + "Id":"zoneIndex", + "Name":"Zone Index", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"reserved5", - "Name":"Reserved", - "BitLength":1, - "BitOffset":40, + "Id":"red", + "Name":"Red", + "BitLength":8, + "BitOffset":24, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"neutral", - "Name":"Neutral", - "BitLength":1, - "BitOffset":41, - "BitStart":1, + "Id":"green", + "Name":"Green", + "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":6, - "BitOffset":42, - "BitStart":2, + "Id":"blue", + "Name":"Blue", + "BitLength":8, + "BitOffset":40, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"reserved8", - "Name":"Reserved", - "BitLength":16, + "Id":"coldWhite", + "Name":"Cold White", + "BitLength":8, "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"warmWhite", + "Name":"Warm White", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":65315, - "Id":"suzukiTrollModeControl", - "Description":"Suzuki: Troll Mode Control", + "PGN":65408, + "Id":"airmarDepthQualityFactor", + "Description":"Airmar: Depth Quality Factor", + "Priority":7, + "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Suzuki Motor Corporation", + "Description":"Airmar", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":586, + "Match":135, "Resolution":1, "Signed":false, "RangeMin":0, @@ -14223,36 +18546,70 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"depthQualityFactor", + "Name":"Depth Quality Factor", + "BitLength":4, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"AIRMAR_DEPTH_QUALITY_FACTOR" + }, + { + "Order":6, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":36, + "BitOffset":28, + "BitStart":4, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65316, - "Id":"bepMarineProprietaryPgn65316", - "Description":"BEP Marine: Proprietary PGN 65316", + "PGN":65409, + "Id":"airmarSpeedPulseCount", + "Description":"Airmar: Speed Pulse Count", + "Priority":7, + "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":4, + "FieldCount":7, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Airmar", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":135, "Resolution":1, "Signed":false, "RangeMin":0, @@ -14288,36 +18645,89 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"durationOfInterval", + "Name":"Duration of interval", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"s", + "Resolution":0.001, + "Signed":false, + "RangeMin":0, + "RangeMax":65.532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":6, + "Id":"numberOfPulsesReceived", + "Name":"Number of pulses received", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65317, - "Id":"navicoProprietary2", - "Description":"Navico: Proprietary 2", + "PGN":65410, + "Id":"airmarDeviceInformation", + "Description":"Airmar: Device Information", + "Priority":7, + "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":4, + "FieldCount":7, "Length":8, + "TransmissionIrregular":true, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Airmar", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":135, "Resolution":1, "Signed":false, "RangeMin":0, @@ -14353,27 +18763,79 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"internalDeviceTemperature", + "Name":"Internal Device Temperature", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" + }, + { + "Order":6, + "Id":"supplyVoltage", + "Name":"Supply Voltage", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Unit":"V", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":65323, - "Id":"simnetApUnknown5", - "Description":"Simnet: AP Unknown 5", - "Priority":3, - "Explanation":"Single-frame Simnet frame emitted by autopilot control heads (AP48, Triton2, ZEUS). The frame builder writes a fixed 0xFF, then two bytes A and B, then padding 0xFF; the meaning of A and B is not yet identified. The autopilot receives it. Observed in live captures.", + "PGN":65420, + "Id":"simnetApUnknown3", + "Description":"Simnet: AP Unknown 3", + "Priority":6, + "Explanation":"Broadcast by the AC (AutoPilot Computer): the low nibble of byte 6 is a sub-index selecting which internal variable is reported (sub-index 0 and 1 observed); the high nibble is always 0xF. Observed emitted by the AC-42; the newer NAC-3 does not emit it.", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":7, + "FieldCount":9, "Length":8, "TransmissionInterval":1000, "Fields":[ @@ -14421,20 +18883,26 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, + "Id":"value", + "Name":"Value", + "BitLength":16, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"a", - "Name":"A", + "Id":"c", + "Name":"C", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -14447,10 +18915,10 @@ }, { "Order":6, - "Id":"b", - "Name":"B", + "Id":"d", + "Name":"D", "BitLength":8, - "BitOffset":32, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -14463,85 +18931,46 @@ }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":24, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65325, - "Id":"bepMarineProprietaryPgn65325", - "Description":"BEP Marine: Proprietary PGN 65325", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"BEP Marine 2", - "BitLength":11, - "BitOffset":0, + "Id":"subIndex", + "Name":"Sub Index", + "Description":"Selects the reported variable (0 and 1 seen)", + "BitLength":4, + "BitOffset":48, "BitStart":0, - "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"reserved", + "Order":8, + "Id":"reserved8", "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, + "BitLength":4, + "BitOffset":52, + "BitStart":4, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, + "Order":9, + "Id":"reserved9", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" } ] }, { - "PGN":65329, - "Id":"yamahaEngineDataA", - "Description":"Yamaha: Engine Data A", + "PGN":65424, + "Id":"yamahaEngineDataC", + "Description":"Yamaha: Engine Data C", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" @@ -14604,9 +19033,9 @@ ] }, { - "PGN":65330, - "Id":"bGProprietary", - "Description":"B&G: Proprietary", + "PGN":65440, + "Id":"navicoNaviopSwitchStatus", + "Description":"Navico: Naviop Switch Status", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" @@ -14618,11 +19047,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"B & G", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":381, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -14669,9 +19098,9 @@ ] }, { - "PGN":65332, - "Id":"yanmarEngineDataC", - "Description":"Yanmar: Engine Data C", + "PGN":65441, + "Id":"navicoNaviopSwitchControl", + "Description":"Navico: Naviop Switch Control", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" @@ -14683,11 +19112,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Yanmar Marine", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":172, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -14734,28 +19163,25 @@ ] }, { - "PGN":65340, - "Id":"simnetAutopilotModeState", - "Description":"Simnet: Autopilot Mode State", - "Priority":3, - "Explanation":"Autopilot mode/state broadcast by the AC (AutoPilot Computer). Field 1 is the standby/engaged class, field 2 the engaged mode. Observed emitted by the AC-42 (Standby = Mode Class 0 / Mode 0, Heading hold = Mode Class 16 / Mode 1); the newer NAC-3 does not emit this PGN and reports its mode/state on 65305 (Simnet: Pilot Mode) instead.", + "PGN":65472, + "Id":"yamahaEngineDataD", + "Description":"Yamaha: Engine Data D", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":9, + "FieldCount":4, "Length":8, - "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Mystic Valley Communications", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":198, "Resolution":1, "Signed":false, "RangeMin":0, @@ -14791,102 +19217,25 @@ }, { "Order":4, - "Id":"modeClass", - "Name":"Mode Class", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AUTOPILOT_MODE_CLASS" - }, - { - "Order":5, - "Id":"mode", - "Name":"Mode", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AUTOPILOT_MODE" - }, - { - "Order":6, - "Id":"c", - "Name":"C", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"d", - "Name":"D", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"spare8", - "Name":"Spare", - "BitLength":8, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "FieldType":"SPARE" - }, - { - "Order":9, - "Id":"flags", - "Name":"Flags", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { - "PGN":65341, - "Id":"simnetAutopilotAngle", - "Description":"Simnet: Autopilot Angle", - "Priority":6, + "PGN":65480, + "Id":"simnetAutopilotMode", + "Description":"Simnet: Autopilot Mode", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, + "FieldCount":4, "Length":8, "Fields":[ { @@ -14935,454 +19284,523 @@ "Order":4, "Id":"reserved4", "Name":"Reserved", - "BitLength":16, + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, "FieldType":"RESERVED" - }, + } + ] + }, + { + "PGN":126208, + "Id":"0x1ed000x1ee00StandardizedFastPacketAddressed", + "Description":"0x1ED00 - 0x1EE00: Standardized fast-packet addressed", + "Priority":3, + "Explanation":"Standardized PGNs in PDU1 (addressed) fast-packet PGN range 0x1ED00 to 0x1EE00 (126208 - 126464). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "Type":"Fast", + "Complete":false, + "Fallback":true, + "Missing":["Fields","FieldLengths","Resolution","Lookups","Interval" + ], + "FieldCount":1, + "Length":223, + "Fields":[ { - "Order":5, - "Id":"mode", - "Name":"Mode", + "Order":1, + "Id":"data", + "Name":"Data", + "BitLength":1784, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":126208, + "Id":"nmeaRequestGroupFunction", + "Description":"NMEA - Request group function", + "Priority":3, + "Explanation":"This is the Request variation of this group function PGN. The receiver shall respond by sending the requested PGN, at the desired transmission interval.", + "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "Type":"Fast", + "Complete":true, + "FieldCount":7, + "MinLength":11, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":5, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"functionCode", + "Name":"Function Code", + "Description":"Request", "BitLength":8, - "BitOffset":32, + "BitOffset":0, "BitStart":0, + "Match":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_MODE" + "LookupEnumeration":"GROUP_FUNCTION" }, { - "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":8, - "BitOffset":40, + "Order":2, + "Id":"pgn", + "Name":"PGN", + "Description":"Requested PGN", + "BitLength":24, + "BitOffset":8, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" }, { - "Order":7, - "Id":"angle", - "Name":"Angle", + "Order":3, + "Id":"transmissionInterval", + "Name":"Transmission interval", + "Description":"0x0: Turn off transmission; 0xFFFF FFFE = Restore default interval, 0xFFFF FFFF in this field and 0xFFFF in field 4 = Transmit now without changing timing variables", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"s", + "Resolution":0.001, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967.292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":4, + "Id":"transmissionIntervalOffset", + "Name":"Transmission interval offset", "BitLength":16, - "BitOffset":48, + "BitOffset":64, "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Unit":"s", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" - } - ] - }, - { - "PGN":65344, - "Id":"yamahaEngineDataB", - "Description":"Yamaha: Engine Data B", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Mystic Valley Communications", - "BitLength":11, - "BitOffset":0, + "Order":5, + "Id":"numberOfParameters", + "Name":"Number of Parameters", + "Description":"How many parameter pairs will follow", + "BitLength":8, + "BitOffset":80, "BitStart":0, - "Match":198, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":6, + "Id":"parameter", + "Name":"Parameter", + "Description":"Parameter index", + "BitLength":8, + "BitOffset":88, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" }, { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, + "Order":7, + "Id":"value", + "Name":"Value", + "Description":"Parameter value", + "BitLengthVariable":true, + "BitOffset":96, "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" + "FieldType":"VARIABLE" } ] }, { - "PGN":65345, - "Id":"seatalkPilotWindDatum", - "Description":"Seatalk: Pilot Wind Datum", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":6, - "Length":8, + "PGN":126208, + "Id":"nmeaCommandGroupFunction", + "Description":"NMEA - Command group function", + "Priority":3, + "Explanation":"This is the Command variation of this group function PGN. This instructs the receiver to modify its internal state for the passed parameters. The receiver shall reply with an Acknowledge reply.", + "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "Type":"Fast", + "Complete":true, + "FieldCount":7, + "MinLength":6, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":5, + "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Raymarine", - "BitLength":11, + "Id":"functionCode", + "Name":"Function Code", + "Description":"Command", + "BitLength":8, "BitOffset":0, "BitStart":0, - "Match":1851, + "Match":1, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, + "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "LookupEnumeration":"GROUP_FUNCTION" }, { "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, + "Id":"pgn", + "Name":"PGN", + "Description":"Commanded PGN", + "BitLength":24, + "BitOffset":8, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" }, { "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Id":"priority", + "Name":"Priority", + "BitLength":4, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "LookupEnumeration":"PRIORITY" }, { "Order":4, - "Id":"windDatum", - "Name":"Wind Datum", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, - "Signed":false, - "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "Id":"reserved", + "Name":"Reserved", + "BitLength":4, + "BitOffset":36, + "BitStart":4, + "Resolution":1, + "FieldType":"RESERVED" }, { "Order":5, - "Id":"rollingAverageWindAngle", - "Name":"Rolling Average Wind Angle", - "BitLength":16, - "BitOffset":32, + "Id":"numberOfParameters", + "Name":"Number of Parameters", + "Description":"How many parameter pairs will follow", + "BitLength":8, + "BitOffset":40, "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":16, + "Id":"parameter", + "Name":"Parameter", + "Description":"Parameter index", + "BitLength":8, "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" + }, + { + "Order":7, + "Id":"value", + "Name":"Value", + "Description":"Parameter value", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"VARIABLE" } ] }, { - "PGN":65346, - "Id":"yanmarEngineDataD", - "Description":"Yanmar: Engine Data D", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":4, - "Length":8, + "PGN":126208, + "Id":"nmeaAcknowledgeGroupFunction", + "Description":"NMEA - Acknowledge group function", + "Priority":3, + "Explanation":"This is the Acknowledge variation of this group function PGN. When a device receives a Command, it will attempt to perform the command (change its parameters) and reply positively or negatively.", + "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "Type":"Fast", + "Complete":true, + "FieldCount":6, + "MinLength":6, + "RepeatingFieldSet1Size":1, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":5, + "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Yanmar Marine", - "BitLength":11, + "Id":"functionCode", + "Name":"Function Code", + "Description":"Acknowledge", + "BitLength":8, "BitOffset":0, "BitStart":0, - "Match":172, + "Match":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"GROUP_FUNCTION" + }, + { + "Order":2, + "Id":"pgn", + "Name":"PGN", + "Description":"Commanded PGN", + "BitLength":24, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + }, + { + "Order":3, + "Id":"pgnErrorCode", + "Name":"PGN error code", + "BitLength":4, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "LookupEnumeration":"PGN_ERROR_CODE" }, { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, + "Order":4, + "Id":"transmissionIntervalPriorityErrorCode", + "Name":"Transmission interval/Priority error code", + "BitLength":4, + "BitOffset":36, + "BitStart":4, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"TRANSMISSION_INTERVAL" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":5, + "Id":"numberOfParameters", + "Name":"Number of Parameters", + "BitLength":8, + "BitOffset":40, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, + "Order":6, + "Id":"parameter", + "Name":"Parameter", + "BitLength":4, + "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"PARAMETER_FIELD" } ] }, { - "PGN":65348, - "Id":"yanmarEngineDataE", - "Description":"Yanmar: Engine Data E", - "Type":"Single", + "PGN":126208, + "Id":"nmeaReadFieldsGroupFunction", + "Description":"NMEA - Read Fields group function", + "Priority":3, + "Explanation":"This is the Read Fields variation of this group function PGN. The receiver shall respond by sending a Read Reply variation of this PGN, containing the desired values. This PGN is special as it contains two sets of repeating fields, and the fields that contain the information how many repetitions there are do not have a fixed offset in the PGN as the fields 3 to 5 are only present if field 2 is for a proprietary PGN", + "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":4, - "Length":8, + "FieldCount":11, + "MinLength":9, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":9, + "RepeatingFieldSet1CountField":7, + "RepeatingFieldSet2Size":1, + "RepeatingFieldSet2StartField":11, + "RepeatingFieldSet2CountField":8, + "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Yanmar Marine", - "BitLength":11, + "Id":"functionCode", + "Name":"Function Code", + "Description":"Read Fields", + "BitLength":8, "BitOffset":0, "BitStart":0, - "Match":172, + "Match":3, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, + "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "LookupEnumeration":"GROUP_FUNCTION" }, { "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Id":"pgn", + "Name":"PGN", + "Description":"Commanded PGN", + "BitLength":24, + "BitOffset":8, + "BitStart":0, "Resolution":1, - "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":262143, + "FieldType":"PGN" }, { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" - } - ] - }, - { - "PGN":65349, - "Id":"yanmarEngineDataF", - "Description":"Yanmar: Engine Data F", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ - { - "Order":1, + "Order":3, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Yanmar Marine", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":11, - "BitOffset":0, + "BitOffset":32, "BitStart":0, - "Match":172, + "Condition":"PGNIsProprietary", "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, "FieldType":"LOOKUP", "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":2, + "Order":4, "Id":"reserved", "Name":"Reserved", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":2, - "BitOffset":11, - "BitStart":3, + "Condition":"PGNIsProprietary", "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, + "Order":5, "Id":"industryCode", "Name":"Industry Code", - "Description":"Marine Industry", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Condition":"PGNIsProprietary", "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, - "BitStart":0, + "Order":6, + "Id":"uniqueId", + "Name":"Unique ID", + "BitLength":8, "Resolution":1, - "FieldType":"BINARY" - } - ] - }, - { - "PGN":65350, - "Id":"simnetMagneticField", - "Description":"Simnet: Magnetic Field", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval","MissingCompanyFields" - ], - "FieldCount":5, - "Length":8, - "Fields":[ + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, { - "Order":1, - "Id":"a", - "Name":"A", - "BitLength":16, - "BitOffset":0, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, - "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "Order":7, + "Id":"numberOfSelectionPairs", + "Name":"Number of Selection Pairs", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"b", - "Name":"B", + "Order":8, + "Id":"numberOfParameters", + "Name":"Number of Parameters", "BitLength":8, - "BitOffset":16, - "BitStart":0, - "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -15390,118 +19808,144 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"c", - "Name":"C", - "BitLength":16, - "BitOffset":24, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, - "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "Order":9, + "Id":"selectionParameter", + "Name":"Selection Parameter", + "Description":"Parameter index", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" }, { - "Order":4, - "Id":"d", - "Name":"D", - "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, - "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "Order":10, + "Id":"selectionValue", + "Name":"Selection Value", + "BitLengthVariable":true, + "FieldType":"VARIABLE" }, { - "Order":5, - "Id":"reserved", - "Name":"Reserved", + "Order":11, + "Id":"parameter", + "Name":"Parameter", + "Description":"Parameter index", "BitLength":8, - "BitOffset":56, - "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" } ] }, { - "PGN":65359, - "Id":"seatalkPilotHeading", - "Description":"Seatalk: Pilot Heading", - "Priority":7, - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":7, - "Length":8, + "PGN":126208, + "Id":"nmeaReadFieldsReplyGroupFunction", + "Description":"NMEA - Read Fields reply group function", + "Priority":3, + "Explanation":"This is the Read Fields Reply variation of this group function PGN. The receiver is responding to a Read Fields request. This PGN is special as it contains two sets of repeating fields, and the fields that contain the information how many repetitions there are do not have a fixed offset in the PGN as the fields 3 to 5 are only present if field 2 is for a proprietary PGN", + "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "Type":"Fast", + "Complete":true, + "FieldCount":12, + "MinLength":9, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":9, + "RepeatingFieldSet1CountField":7, + "RepeatingFieldSet2Size":2, + "RepeatingFieldSet2StartField":11, + "RepeatingFieldSet2CountField":8, + "TransmissionIrregular":true, "Fields":[ { "Order":1, + "Id":"functionCode", + "Name":"Function Code", + "Description":"Read Fields Reply", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"GROUP_FUNCTION" + }, + { + "Order":2, + "Id":"pgn", + "Name":"PGN", + "Description":"Commanded PGN", + "BitLength":24, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + }, + { + "Order":3, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Raymarine", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":11, - "BitOffset":0, + "BitOffset":32, "BitStart":0, - "Match":1851, + "Condition":"PGNIsProprietary", "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, "FieldType":"LOOKUP", "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":2, + "Order":4, "Id":"reserved", "Name":"Reserved", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":2, - "BitOffset":11, - "BitStart":3, + "Condition":"PGNIsProprietary", "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, + "Order":5, "Id":"industryCode", "Name":"Industry Code", - "Description":"Marine Industry", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Condition":"PGNIsProprietary", "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":4, - "Id":"sid", - "Name":"SID", + "Order":6, + "Id":"uniqueId", + "Name":"Unique ID", "BitLength":8, - "BitOffset":16, - "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15512,114 +19956,176 @@ "FieldType":"NUMBER" }, { - "Order":5, - "Id":"headingTrue", - "Name":"Heading True", - "BitLength":16, - "BitOffset":24, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Order":7, + "Id":"numberOfSelectionPairs", + "Name":"Number of Selection Pairs", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"headingMagnetic", - "Name":"Heading Magnetic", - "BitLength":16, - "BitOffset":40, + "Order":8, + "Id":"numberOfParameters", + "Name":"Number of Parameters", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"selectionParameter", + "Name":"Selection Parameter", + "Description":"Parameter index", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" + }, + { + "Order":10, + "Id":"selectionValue", + "Name":"Selection Value", + "BitLengthVariable":true, + "FieldType":"VARIABLE" + }, + { + "Order":11, + "Id":"parameter", + "Name":"Parameter", + "Description":"Parameter index", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" + }, + { + "Order":12, + "Id":"value", + "Name":"Value", + "BitLengthVariable":true, + "FieldType":"VARIABLE" + } + ] + }, + { + "PGN":126208, + "Id":"nmeaWriteFieldsGroupFunction", + "Description":"NMEA - Write Fields group function", + "Priority":3, + "Explanation":"This is the Write Fields variation of this group function PGN. The receiver shall modify internal state and reply with a Write Fields Reply message. This PGN is special as it contains two sets of repeating fields, and the fields that contain the information how many repetitions there are do not have a fixed offset in the PGN as the fields 3 to 5 are only present if field 2 is for a proprietary PGN", + "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "Type":"Fast", + "Complete":true, + "FieldCount":12, + "MinLength":9, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":9, + "RepeatingFieldSet1CountField":7, + "RepeatingFieldSet2Size":2, + "RepeatingFieldSet2StartField":11, + "RepeatingFieldSet2CountField":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"functionCode", + "Name":"Function Code", + "Description":"Write Fields", + "BitLength":8, + "BitOffset":0, "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Match":5, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"GROUP_FUNCTION" }, { - "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":8, - "BitOffset":56, + "Order":2, + "Id":"pgn", + "Name":"PGN", + "Description":"Commanded PGN", + "BitLength":24, + "BitOffset":8, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65360, - "Id":"seatalkPilotLockedHeading", - "Description":"Seatalk: Pilot Locked Heading", - "Priority":7, - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":7, - "Length":8, - "Fields":[ + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + }, { - "Order":1, + "Order":3, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Raymarine", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":11, - "BitOffset":0, + "BitOffset":32, "BitStart":0, - "Match":1851, + "Condition":"PGNIsProprietary", "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, "FieldType":"LOOKUP", "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":2, + "Order":4, "Id":"reserved", "Name":"Reserved", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":2, - "BitOffset":11, - "BitStart":3, + "Condition":"PGNIsProprietary", "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, + "Order":5, "Id":"industryCode", "Name":"Industry Code", - "Description":"Marine Industry", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Condition":"PGNIsProprietary", "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":4, - "Id":"sid", - "Name":"SID", + "Order":6, + "Id":"uniqueId", + "Name":"Unique ID", "BitLength":8, - "BitOffset":16, - "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15630,206 +20136,176 @@ "FieldType":"NUMBER" }, { - "Order":5, - "Id":"targetHeadingTrue", - "Name":"Target Heading True", - "BitLength":16, - "BitOffset":24, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Order":7, + "Id":"numberOfSelectionPairs", + "Name":"Number of Selection Pairs", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"targetHeadingMagnetic", - "Name":"Target Heading Magnetic", - "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Order":8, + "Id":"numberOfParameters", + "Name":"Number of Parameters", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":7, - "Id":"reserved7", - "Name":"Reserved", + "Order":9, + "Id":"selectionParameter", + "Name":"Selection Parameter", + "Description":"Parameter index", "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65361, - "Id":"seatalkSilenceAlarm", - "Description":"Seatalk: Silence Alarm", - "Type":"Single", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":6, - "Length":8, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Raymarine", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "Order":10, + "Id":"selectionValue", + "Name":"Selection Value", + "BitLengthVariable":true, + "FieldType":"VARIABLE" }, { - "Order":4, - "Id":"alarmId", - "Name":"Alarm ID", + "Order":11, + "Id":"parameter", + "Name":"Parameter", + "Description":"Parameter index", "BitLength":8, - "BitOffset":16, - "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SEATALK_ALARM_ID" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" }, { - "Order":5, - "Id":"alarmGroup", - "Name":"Alarm Group", + "Order":12, + "Id":"value", + "Name":"Value", + "BitLengthVariable":true, + "FieldType":"VARIABLE" + } + ] + }, + { + "PGN":126208, + "Id":"nmeaWriteFieldsReplyGroupFunction", + "Description":"NMEA - Write Fields reply group function", + "Priority":3, + "Explanation":"This is the Write Fields Reply variation of this group function PGN. The receiver is responding to a Write Fields request. This PGN is special as it contains two sets of repeating fields, and the fields that contain the information how many repetitions there are do not have a fixed offset in the PGN as the fields 3 to 5 are only present if field 2 is for a proprietary PGN", + "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "Type":"Fast", + "Complete":true, + "FieldCount":12, + "MinLength":9, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":9, + "RepeatingFieldSet1CountField":7, + "RepeatingFieldSet2Size":2, + "RepeatingFieldSet2StartField":11, + "RepeatingFieldSet2CountField":8, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"functionCode", + "Name":"Function Code", + "Description":"Write Fields Reply", "BitLength":8, - "BitOffset":24, + "BitOffset":0, "BitStart":0, + "Match":6, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"SEATALK_ALARM_GROUP" + "LookupEnumeration":"GROUP_FUNCTION" }, { - "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":32, - "BitOffset":32, + "Order":2, + "Id":"pgn", + "Name":"PGN", + "Description":"Commanded PGN", + "BitLength":24, + "BitOffset":8, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65371, - "Id":"seatalkKeypadMessage", - "Description":"Seatalk: Keypad Message", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":11, - "Length":8, - "Fields":[ + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + }, { - "Order":1, + "Order":3, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Raymarine", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":11, - "BitOffset":0, + "BitOffset":32, "BitStart":0, - "Match":1851, + "Condition":"PGNIsProprietary", "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, "FieldType":"LOOKUP", "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":2, + "Order":4, "Id":"reserved", "Name":"Reserved", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":2, - "BitOffset":11, - "BitStart":3, + "Condition":"PGNIsProprietary", "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, + "Order":5, "Id":"industryCode", "Name":"Industry Code", - "Description":"Marine Industry", + "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Condition":"PGNIsProprietary", "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":4, - "Id":"proprietaryId", - "Name":"Proprietary ID", + "Order":6, + "Id":"uniqueId", + "Name":"Unique ID", "BitLength":8, - "BitOffset":16, - "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15837,16 +20313,13 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"firstKey", - "Name":"First key", + "Order":7, + "Id":"numberOfSelectionPairs", + "Name":"Number of Selection Pairs", "BitLength":8, - "BitOffset":24, - "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15857,12 +20330,10 @@ "FieldType":"NUMBER" }, { - "Order":6, - "Id":"secondKey", - "Name":"Second key", + "Order":8, + "Id":"numberOfParameters", + "Name":"Number of Parameters", "BitLength":8, - "BitOffset":32, - "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15873,49 +20344,70 @@ "FieldType":"NUMBER" }, { - "Order":7, - "Id":"firstKeyState", - "Name":"First key state", - "BitLength":2, - "BitOffset":40, - "BitStart":0, + "Order":9, + "Id":"selectionParameter", + "Name":"Selection Parameter", + "Description":"Parameter index", + "BitLength":8, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" }, { - "Order":8, - "Id":"secondKeyState", - "Name":"Second key state", - "BitLength":2, - "BitOffset":42, - "BitStart":2, + "Order":10, + "Id":"selectionValue", + "Name":"Selection Value", + "BitLengthVariable":true, + "FieldType":"VARIABLE" + }, + { + "Order":11, + "Id":"parameter", + "Name":"Parameter", + "Description":"Parameter index", + "BitLength":8, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"FIELD_INDEX" }, { - "Order":9, - "Id":"reserved9", - "Name":"Reserved", - "BitLength":4, - "BitOffset":44, - "BitStart":4, - "Resolution":1, - "FieldType":"RESERVED" - }, + "Order":12, + "Id":"value", + "Name":"Value", + "BitLengthVariable":true, + "FieldType":"VARIABLE" + } + ] + }, + { + "PGN":126464, + "Id":"pgnListTransmitAndReceive", + "Description":"PGN List (Transmit and Receive)", + "Priority":6, + "Type":"Fast", + "Complete":true, + "FieldCount":2, + "MinLength":1, + "RepeatingFieldSet1Size":1, + "RepeatingFieldSet1StartField":2, + "TransmissionIrregular":true, + "Fields":[ { - "Order":10, - "Id":"encoderPosition", - "Name":"Encoder Position", + "Order":1, + "Id":"functionCode", + "Name":"Function Code", "BitLength":8, - "BitOffset":48, + "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, @@ -15924,44 +20416,51 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"PGN_LIST_FUNCTION", + "PartOfPrimaryKey":true }, { - "Order":11, - "Id":"reserved11", - "Name":"Reserved", - "BitLength":8, - "BitOffset":56, + "Order":2, + "Id":"pgn", + "Name":"PGN", + "BitLength":24, + "BitOffset":8, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" } ] }, { - "PGN":65374, - "Id":"seatalkKeypadHeartbeat", - "Description":"SeaTalk: Keypad Heartbeat", - "Type":"Single", + "PGN":126720, + "Id":"0x1ef00ManufacturerProprietaryFastPacketAddressed", + "Description":"0x1EF00: Manufacturer Proprietary fast-packet addressed", + "Explanation":"Manufacturer Proprietary PGNs in PDU1 (addressed) fast-packet PGN 0x1EF00 (126720).When this is shown during analysis it means the PGN is not reverse engineered yet.", + "Type":"Fast", "Complete":false, + "Fallback":true, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "Length":8, + "FieldCount":4, + "Length":223, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Raymarine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1851, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, "FieldType":"LOOKUP", "LookupEnumeration":"MANUFACTURER_CODE" }, @@ -15979,100 +20478,49 @@ "Order":3, "Id":"industryCode", "Name":"Industry Code", - "Description":"Marine Industry", "BitLength":3, "BitOffset":13, "BitStart":5, - "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "BitLength":8, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"variant", - "Name":"Variant", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"status", - "Name":"Status", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":24, - "BitOffset":40, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":1768, + "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":65379, - "Id":"seatalkPilotMode", - "Description":"Seatalk: Pilot Mode", - "Priority":7, - "Type":"Single", + "PGN":126720, + "Id":"garminAhrsAttCogSourceValidFlag", + "Description":"Garmin AHRS ATT: COG Source Valid Flag", + "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "Length":8, + "FieldCount":8, + "Length":12, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Raymarine", + "Description":"Garmin", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1851, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -16108,70 +20556,106 @@ }, { "Order":4, - "Id":"pilotMode", - "Name":"Pilot Mode", + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"AHRS ATT transport", "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":1900, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"SEATALK_PILOT_MODE_16" + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"subMode", - "Name":"Sub Mode", - "BitLength":16, + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":1, + "BitLength":8, "BitOffset":32, "BitStart":0, + "Match":2, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"pilotModeData", - "Name":"Pilot Mode Data", + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":2, "BitLength":8, - "BitOffset":48, + "BitOffset":40, "BitStart":0, + "Match":2, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":8, - "BitOffset":56, + "Id":"attMessageId", + "Name":"ATT Message ID", + "Description":"COG Source Valid Flag", + "BitLength":16, + "BitOffset":48, "BitStart":0, + "Match":67, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_ATT_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":8, + "Id":"cogSourceFlags", + "Name":"COG Source Flags", + "BitLength":32, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" } ] }, { - "PGN":65403, - "Id":"lumishoreLightStatus", - "Description":"Lumishore: Light Status", - "Type":"Single", + "PGN":126720, + "Id":"garminAhrsAttDeviceFlags", + "Description":"Garmin AHRS ATT: Device Flags", + "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":9, - "Length":8, + "FieldCount":8, + "Length":12, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Lumishore", + "Description":"Garmin", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":798, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -16207,125 +20691,106 @@ }, { "Order":4, - "Id":"zoneIndex", - "Name":"Zone Index", - "BitLength":8, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"AHRS ATT transport", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":1900, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", "PartOfPrimaryKey":true }, { "Order":5, - "Id":"red", - "Name":"Red", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"green", - "Name":"Green", + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":1, "BitLength":8, "BitOffset":32, "BitStart":0, + "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":7, - "Id":"blue", - "Name":"Blue", + "Order":6, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":2, "BitLength":8, "BitOffset":40, "BitStart":0, + "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":8, - "Id":"coldWhite", - "Name":"Cold White", - "BitLength":8, + "Order":7, + "Id":"attMessageId", + "Name":"ATT Message ID", + "Description":"Device Flags", + "BitLength":16, "BitOffset":48, "BitStart":0, + "Match":65, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_ATT_MESSAGE_ID", + "PartOfPrimaryKey":true }, { - "Order":9, - "Id":"warmWhite", - "Name":"Warm White", - "BitLength":8, - "BitOffset":56, + "Order":8, + "Id":"deviceFlags", + "Name":"Device Flags", + "BitLength":32, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"NUMBER" } ] }, { - "PGN":65408, - "Id":"airmarDepthQualityFactor", - "Description":"Airmar: Depth Quality Factor", - "Priority":7, - "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", - "Type":"Single", + "PGN":126720, + "Id":"garminAhrsAttNonDefaultCalibrationMatrixPresent", + "Description":"Garmin AHRS ATT: Non-default Calibration Matrix Present", + "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, - "Length":8, + "FieldCount":8, + "Length":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Airmar", + "Description":"Garmin", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":135, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -16361,68 +20826,106 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", - "BitLength":8, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"AHRS ATT transport", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":1900, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":1, + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":5, - "Id":"depthQualityFactor", - "Name":"Depth Quality Factor", - "BitLength":4, - "BitOffset":24, + "Order":6, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":2, + "BitLength":8, + "BitOffset":40, "BitStart":0, + "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, + "RangeMax":252, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"attMessageId", + "Name":"ATT Message ID", + "Description":"Calibration Matrix Present", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Match":40, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"AIRMAR_DEPTH_QUALITY_FACTOR" + "LookupEnumeration":"GARMIN_ATT_MESSAGE_ID", + "PartOfPrimaryKey":true }, { - "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":36, - "BitOffset":28, - "BitStart":4, + "Order":8, + "Id":"calibrationMatrixPresent", + "Name":"Calibration Matrix Present", + "BitLength":8, + "BitOffset":64, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":65409, - "Id":"airmarSpeedPulseCount", - "Description":"Airmar: Speed Pulse Count", - "Priority":7, - "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", - "Type":"Single", + "PGN":126720, + "Id":"garminAhrsAttSetNorthState", + "Description":"Garmin AHRS ATT: Set North State", + "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "Length":8, + "FieldCount":8, + "Length":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Airmar", + "Description":"Garmin", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":135, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -16458,89 +20961,107 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", - "BitLength":8, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"AHRS ATT transport", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":1900, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"durationOfInterval", - "Name":"Duration of interval", - "BitLength":16, - "BitOffset":24, + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":1, + "BitLength":8, + "BitOffset":32, "BitStart":0, - "Unit":"s", - "Resolution":0.001, + "Match":2, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65.532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":252, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"numberOfPulsesReceived", - "Name":"Number of pulses received", - "BitLength":16, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":2, + "BitLength":8, "BitOffset":40, "BitStart":0, + "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, "FieldType":"NUMBER" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", + "Id":"attMessageId", + "Name":"ATT Message ID", + "Description":"Set North State", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Match":52, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_ATT_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":8, + "Id":"setNorthState", + "Name":"Set North State", "BitLength":8, - "BitOffset":56, + "BitOffset":64, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":65410, - "Id":"airmarDeviceInformation", - "Description":"Airmar: Device Information", + "PGN":126720, + "Id":"garminAutopilotHeadingToSteer", + "Description":"Garmin Autopilot: Heading to Steer", "Priority":7, - "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", - "Type":"Single", + "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "Length":8, - "TransmissionIrregular":true, + "FieldCount":10, + "Length":13, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Airmar", + "Description":"Garmin", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":135, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -16576,91 +21097,132 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", - "BitLength":8, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"internalDeviceTemperature", - "Name":"Internal Device Temperature", - "BitLength":16, - "BitOffset":24, + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, + "BitLength":8, + "BitOffset":32, "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Match":4, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "RangeMax":252, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"supplyVoltage", - "Name":"Supply Voltage", - "BitLength":16, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, + "BitLength":8, "BitOffset":40, "BitStart":0, - "Unit":"V", - "Resolution":0.01, + "Match":4, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + "RangeMax":252, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", + "Id":"fieldGroup", + "Name":"Field Group", + "Description":0, + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Match":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"field", + "Name":"Field", + "Description":"Heading to Steer", "BitLength":8, "BitOffset":56, "BitStart":0, + "Match":11, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true + }, + { + "Order":9, + "Id":"reserved9", + "Name":"Reserved", + "BitLength":8, + "BitOffset":64, + "BitStart":0, "Resolution":1, "FieldType":"RESERVED" + }, + { + "Order":10, + "Id":"headingToSteer", + "Name":"Heading to Steer", + "Description":"Values at or above 1000 rad signal no active order", + "BitLength":32, + "BitOffset":72, + "BitStart":0, + "Unit":"rad", + "Resolution":1, + "Signed":true, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, + "FieldType":"FLOAT", + "PhysicalQuantity":"ANGLE" } ] }, { - "PGN":65420, - "Id":"simnetApUnknown3", - "Description":"Simnet: AP Unknown 3", - "Priority":6, - "Explanation":"Broadcast by the AC (AutoPilot Computer): the low nibble of byte 6 is a sub-index selecting which internal variable is reported (sub-index 0 and 1 observed); the high nibble is always 0xF. Observed emitted by the AC-42; the newer NAC-3 does not emit it.", - "Type":"Single", + "PGN":126720, + "Id":"garminAutopilotRateOfTurn", + "Description":"Garmin Autopilot: Rate of Turn", + "Priority":7, + "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":9, - "Length":8, - "TransmissionInterval":1000, + "FieldCount":10, + "Length":13, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Garmin", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -16696,175 +21258,131 @@ }, { "Order":4, - "Id":"value", - "Name":"Value", + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"c", - "Name":"C", + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":6, - "Id":"d", - "Name":"D", + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":7, - "Id":"subIndex", - "Name":"Sub Index", - "Description":"Selects the reported variable (0 and 1 seen)", - "BitLength":4, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":0, + "BitLength":8, "BitOffset":48, "BitStart":0, + "Match":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, + "RangeMax":252, "FieldType":"NUMBER" }, { "Order":8, - "Id":"reserved8", - "Name":"Reserved", - "BitLength":4, - "BitOffset":52, - "BitStart":4, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":9, - "Id":"reserved9", - "Name":"Reserved", + "Id":"field", + "Name":"Field", + "Description":"Rate of Turn", "BitLength":8, "BitOffset":56, "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":65424, - "Id":"yamahaEngineDataC", - "Description":"Yamaha: Engine Data C", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Mystic Valley Communications", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":198, + "Match":114, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, + "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"reserved", + "Order":9, + "Id":"reserved9", "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, + "BitLength":8, + "BitOffset":64, + "BitStart":0, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, + "Order":10, + "Id":"rateOfTurn", + "Name":"Rate of Turn", + "BitLength":32, + "BitOffset":72, "BitStart":0, + "Unit":"rad/s", "Resolution":1, - "FieldType":"BINARY" + "Signed":true, + "RangeMin":-3.40282346638529e+38, + "RangeMax":3.40282346638529e+38, + "FieldType":"FLOAT", + "PhysicalQuantity":"ANGULAR_VELOCITY" } ] }, { - "PGN":65440, - "Id":"navicoNaviopSwitchStatus", - "Description":"Navico: Naviop Switch Status", - "Type":"Single", + "PGN":126720, + "Id":"garminAutopilotRateOfTurnOrder", + "Description":"Garmin Autopilot: Rate of Turn Order", + "Priority":7, + "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, - "Length":8, + "FieldCount":10, + "Length":13, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Garmin", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -16900,166 +21418,131 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", + "BitLength":16, "BitOffset":16, "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" - } - ] - }, - { - "PGN":65441, - "Id":"navicoNaviopSwitchControl", - "Description":"Navico: Naviop Switch Control", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Navico", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":275, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, + "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, + "Order":5, + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Match":4, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, + "Order":6, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, + "BitLength":8, + "BitOffset":40, + "BitStart":0, "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, + "Order":7, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":0, + "BitLength":8, + "BitOffset":48, "BitStart":0, + "Match":0, "Resolution":1, - "FieldType":"BINARY" - } - ] - }, - { - "PGN":65472, - "Id":"yamahaEngineDataD", - "Description":"Yamaha: Engine Data D", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER" + }, { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Mystic Valley Communications", - "BitLength":11, - "BitOffset":0, + "Order":8, + "Id":"field", + "Name":"Field", + "Description":"Rate of Turn Order", + "BitLength":8, + "BitOffset":56, "BitStart":0, - "Match":198, + "Match":115, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, + "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"reserved", + "Order":9, + "Id":"reserved9", "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, + "BitLength":8, + "BitOffset":64, + "BitStart":0, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, + "Order":10, + "Id":"rateOfTurnOrder", + "Name":"Rate of Turn Order", + "BitLength":32, + "BitOffset":72, "BitStart":0, + "Unit":"rad/s", "Resolution":1, - "FieldType":"BINARY" + "Signed":true, + "RangeMin":-3.40282346638529e+38, + "RangeMax":3.40282346638529e+38, + "FieldType":"FLOAT", + "PhysicalQuantity":"ANGULAR_VELOCITY" } ] }, { - "PGN":65480, - "Id":"simnetAutopilotMode", - "Description":"Simnet: Autopilot Mode", - "Type":"Single", + "PGN":126720, + "Id":"garminAutopilotSpeed", + "Description":"Garmin Autopilot: Speed", + "Priority":7, + "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, - "Length":8, + "FieldCount":10, + "Length":13, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Garmin", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -17095,443 +21578,453 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":48, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", + "BitLength":16, "BitOffset":16, "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":126208, - "Id":"0x1ed000x1ee00StandardizedFastPacketAddressed", - "Description":"0x1ED00 - 0x1EE00: Standardized fast-packet addressed", - "Priority":3, - "Explanation":"Standardized PGNs in PDU1 (addressed) fast-packet PGN range 0x1ED00 to 0x1EE00 (126208 - 126464). When this is shown during analysis it means the PGN is not reverse engineered yet.", - "Type":"Fast", - "Complete":false, - "Fallback":true, - "Missing":["Fields","FieldLengths","Resolution","Lookups","Interval" - ], - "FieldCount":1, - "Length":223, - "Fields":[ - { - "Order":1, - "Id":"data", - "Name":"Data", - "BitLength":1784, - "BitOffset":0, - "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" - } - ] - }, - { - "PGN":126208, - "Id":"nmeaRequestGroupFunction", - "Description":"NMEA - Request group function", - "Priority":3, - "Explanation":"This is the Request variation of this group function PGN. The receiver shall respond by sending the requested PGN, at the desired transmission interval.", - "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", - "Type":"Fast", - "Complete":true, - "FieldCount":7, - "MinLength":11, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":5, - "TransmissionIrregular":true, - "Fields":[ - { - "Order":1, - "Id":"functionCode", - "Name":"Function Code", - "Description":"Request", - "BitLength":8, - "BitOffset":0, - "BitStart":0, - "Match":0, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"GROUP_FUNCTION" - }, - { - "Order":2, - "Id":"pgn", - "Name":"PGN", - "Description":"Requested PGN", - "BitLength":24, - "BitOffset":8, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { - "Order":3, - "Id":"transmissionInterval", - "Name":"Transmission interval", - "Description":"0x0: Turn off transmission; 0xFFFF FFFE = Restore default interval, 0xFFFF FFFF in this field and 0xFFFF in field 4 = Transmit now without changing timing variables", - "BitLength":32, + "Order":5, + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, + "BitLength":8, "BitOffset":32, "BitStart":0, - "Unit":"s", - "Resolution":0.001, + "Match":4, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967.292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":252, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"transmissionIntervalOffset", - "Name":"Transmission interval offset", - "BitLength":16, - "BitOffset":64, + "Order":6, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, + "BitLength":8, + "BitOffset":40, "BitStart":0, - "Unit":"s", - "Resolution":0.01, + "Match":4, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":252, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"numberOfParameters", - "Name":"Number of Parameters", - "Description":"How many parameter pairs will follow", + "Order":7, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":0, "BitLength":8, - "BitOffset":80, + "BitOffset":48, "BitStart":0, + "Match":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":6, - "Id":"parameter", - "Name":"Parameter", - "Description":"Parameter index", + "Order":8, + "Id":"field", + "Name":"Field", + "Description":"Speed", "BitLength":8, - "BitOffset":88, + "BitOffset":56, "BitStart":0, + "Match":246, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"FIELD_INDEX" + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true }, { - "Order":7, - "Id":"value", - "Name":"Value", - "Description":"Parameter value", - "BitLengthVariable":true, - "BitOffset":96, + "Order":9, + "Id":"reserved9", + "Name":"Reserved", + "BitLength":8, + "BitOffset":64, "BitStart":0, - "FieldType":"VARIABLE" + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":10, + "Id":"speed", + "Name":"Speed", + "BitLength":32, + "BitOffset":72, + "BitStart":0, + "Unit":"m/s", + "Resolution":1, + "Signed":true, + "RangeMin":-3.40282346638529e+38, + "RangeMax":3.40282346638529e+38, + "FieldType":"FLOAT", + "PhysicalQuantity":"SPEED" } ] }, { - "PGN":126208, - "Id":"nmeaCommandGroupFunction", - "Description":"NMEA - Command group function", - "Priority":3, - "Explanation":"This is the Command variation of this group function PGN. This instructs the receiver to modify its internal state for the passed parameters. The receiver shall reply with an Acknowledge reply.", - "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "PGN":126720, + "Id":"garminAutopilotSystemVoltage", + "Description":"Garmin Autopilot: System Voltage", + "Priority":7, "Type":"Fast", - "Complete":true, - "FieldCount":7, - "MinLength":6, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":5, - "TransmissionIrregular":true, + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":10, + "Length":11, "Fields":[ { "Order":1, - "Id":"functionCode", - "Name":"Function Code", - "Description":"Command", - "BitLength":8, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Garmin", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"GROUP_FUNCTION" + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"pgn", - "Name":"PGN", - "Description":"Commanded PGN", - "BitLength":24, - "BitOffset":8, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"priority", - "Name":"Priority", - "BitLength":4, - "BitOffset":32, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"PRIORITY" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"reserved", - "Name":"Reserved", - "BitLength":4, - "BitOffset":36, - "BitStart":4, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":5904, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"numberOfParameters", - "Name":"Number of Parameters", - "Description":"How many parameter pairs will follow", + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, "BitLength":8, - "BitOffset":40, + "BitOffset":32, "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":6, - "Id":"parameter", - "Name":"Parameter", - "Description":"Parameter index", + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, "BitLength":8, - "BitOffset":48, + "BitOffset":40, "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"FIELD_INDEX" + "FieldType":"NUMBER" }, { "Order":7, - "Id":"value", - "Name":"Value", - "Description":"Parameter value", - "BitLengthVariable":true, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":2, + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Match":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"field", + "Name":"Field", + "Description":"System Voltage", + "BitLength":8, "BitOffset":56, "BitStart":0, - "FieldType":"VARIABLE" + "Match":158, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true + }, + { + "Order":9, + "Id":"reserved9", + "Name":"Reserved", + "BitLength":8, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":10, + "Id":"systemVoltage", + "Name":"System Voltage", + "BitLength":16, + "BitOffset":72, + "BitStart":0, + "Unit":"V", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" } ] }, { - "PGN":126208, - "Id":"nmeaAcknowledgeGroupFunction", - "Description":"NMEA - Acknowledge group function", - "Priority":3, - "Explanation":"This is the Acknowledge variation of this group function PGN. When a device receives a Command, it will attempt to perform the command (change its parameters) and reply positively or negatively.", - "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "PGN":126720, + "Id":"garminAutopilotTurnAngleOrder", + "Description":"Garmin Autopilot: Turn Angle Order", + "Priority":7, "Type":"Fast", - "Complete":true, - "FieldCount":6, - "MinLength":6, - "RepeatingFieldSet1Size":1, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":5, - "TransmissionIrregular":true, + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":10, + "Length":11, "Fields":[ { "Order":1, - "Id":"functionCode", - "Name":"Function Code", - "Description":"Acknowledge", - "BitLength":8, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Garmin", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":2, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"GROUP_FUNCTION" + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"pgn", - "Name":"PGN", - "Description":"Commanded PGN", - "BitLength":24, - "BitOffset":8, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"pgnErrorCode", - "Name":"PGN error code", - "BitLength":4, - "BitOffset":32, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"PGN_ERROR_CODE" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"transmissionIntervalPriorityErrorCode", - "Name":"Transmission interval/Priority error code", - "BitLength":4, - "BitOffset":36, - "BitStart":4, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, + "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"TRANSMISSION_INTERVAL" + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"numberOfParameters", - "Name":"Number of Parameters", + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, "BitLength":8, - "BitOffset":40, + "BitOffset":32, "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":6, - "Id":"parameter", - "Name":"Parameter", - "BitLength":4, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":2, + "BitLength":8, "BitOffset":48, "BitStart":0, + "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"PARAMETER_FIELD" - } - ] - }, - { - "PGN":126208, - "Id":"nmeaReadFieldsGroupFunction", - "Description":"NMEA - Read Fields group function", - "Priority":3, - "Explanation":"This is the Read Fields variation of this group function PGN. The receiver shall respond by sending a Read Reply variation of this PGN, containing the desired values. This PGN is special as it contains two sets of repeating fields, and the fields that contain the information how many repetitions there are do not have a fixed offset in the PGN as the fields 3 to 5 are only present if field 2 is for a proprietary PGN", - "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", - "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" - ], - "FieldCount":11, - "MinLength":9, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":9, - "RepeatingFieldSet1CountField":7, - "RepeatingFieldSet2Size":1, - "RepeatingFieldSet2StartField":11, - "RepeatingFieldSet2CountField":8, - "TransmissionIrregular":true, - "Fields":[ + "RangeMax":252, + "FieldType":"NUMBER" + }, { - "Order":1, - "Id":"functionCode", - "Name":"Function Code", - "Description":"Read Fields", + "Order":8, + "Id":"field", + "Name":"Field", + "Description":"Turn Angle Order", "BitLength":8, - "BitOffset":0, + "BitOffset":56, "BitStart":0, - "Match":3, + "Match":116, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"GROUP_FUNCTION" + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"pgn", - "Name":"PGN", - "Description":"Commanded PGN", - "BitLength":24, - "BitOffset":8, + "Order":9, + "Id":"reserved9", + "Name":"Reserved", + "BitLength":8, + "BitOffset":64, "BitStart":0, "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "FieldType":"RESERVED" }, { - "Order":3, + "Order":10, + "Id":"turnAngleOrder", + "Name":"Turn Angle Order", + "Description":"Full-circle angle, wraps 0..2*pi (2*pi/65536 rad per bit)", + "BitLength":16, + "BitOffset":72, + "BitStart":0, + "Unit":"rad", + "Resolution":9.587379924285257e-05, + "Signed":false, + "RangeMax":6.28318530717959, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":126720, + "Id":"garminAutopilotTurnAngleMeasured", + "Description":"Garmin Autopilot: Turn Angle Measured", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":10, + "Length":11, + "Fields":[ + { + "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Only in PGN when Commanded PGN is proprietary", + "Description":"Garmin", "BitLength":11, - "BitOffset":32, + "BitOffset":0, "BitStart":0, - "Condition":"PGNIsProprietary", + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -17540,22 +22033,24 @@ "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":4, + "Order":2, "Id":"reserved", "Name":"Reserved", - "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":2, - "Condition":"PGNIsProprietary", + "BitOffset":11, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":5, + "Order":3, "Id":"industryCode", "Name":"Industry Code", - "Description":"Only in PGN when Commanded PGN is proprietary", + "Description":"Marine Industry", "BitLength":3, - "Condition":"PGNIsProprietary", + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -17564,307 +22059,293 @@ "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":6, - "Id":"uniqueId", - "Name":"Unique ID", + "Order":4, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":5904, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":7, - "Id":"numberOfSelectionPairs", - "Name":"Number of Selection Pairs", + "Order":6, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":8, - "Id":"numberOfParameters", - "Name":"Number of Parameters", + "Order":7, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":2, "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":9, - "Id":"selectionParameter", - "Name":"Selection Parameter", - "Description":"Parameter index", + "Order":8, + "Id":"field", + "Name":"Field", + "Description":"Turn Angle Measured", "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Match":161, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"FIELD_INDEX" - }, - { - "Order":10, - "Id":"selectionValue", - "Name":"Selection Value", - "BitLengthVariable":true, - "FieldType":"VARIABLE" + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true }, { - "Order":11, - "Id":"parameter", - "Name":"Parameter", - "Description":"Parameter index", + "Order":9, + "Id":"reserved9", + "Name":"Reserved", "BitLength":8, + "BitOffset":64, + "BitStart":0, "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":10, + "Id":"turnAngleMeasured", + "Name":"Turn Angle Measured", + "Description":"Full-circle angle, wraps 0..2*pi (2*pi/65536 rad per bit)", + "BitLength":16, + "BitOffset":72, + "BitStart":0, + "Unit":"rad", + "Resolution":9.587379924285257e-05, "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"FIELD_INDEX" + "RangeMax":6.28318530717959, + "FieldType":"NUMBER" } ] }, { - "PGN":126208, - "Id":"nmeaReadFieldsReplyGroupFunction", - "Description":"NMEA - Read Fields reply group function", - "Priority":3, - "Explanation":"This is the Read Fields Reply variation of this group function PGN. The receiver is responding to a Read Fields request. This PGN is special as it contains two sets of repeating fields, and the fields that contain the information how many repetitions there are do not have a fixed offset in the PGN as the fields 3 to 5 are only present if field 2 is for a proprietary PGN", - "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "PGN":126720, + "Id":"garminAutopilotEngineRpmA", + "Description":"Garmin Autopilot: Engine RPM A", + "Priority":7, "Type":"Fast", - "Complete":true, - "FieldCount":12, - "MinLength":9, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":9, - "RepeatingFieldSet1CountField":7, - "RepeatingFieldSet2Size":2, - "RepeatingFieldSet2StartField":11, - "RepeatingFieldSet2CountField":8, - "TransmissionIrregular":true, + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":10, + "Length":11, "Fields":[ { "Order":1, - "Id":"functionCode", - "Name":"Function Code", - "Description":"Read Fields Reply", - "BitLength":8, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Garmin", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":4, + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"GROUP_FUNCTION" + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"pgn", - "Name":"PGN", - "Description":"Commanded PGN", - "BitLength":24, - "BitOffset":8, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Only in PGN when Commanded PGN is proprietary", - "BitLength":11, - "BitOffset":32, - "BitStart":0, - "Condition":"PGNIsProprietary", + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"reserved", - "Name":"Reserved", - "Description":"Only in PGN when Commanded PGN is proprietary", - "BitLength":2, - "Condition":"PGNIsProprietary", + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":5904, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Only in PGN when Commanded PGN is proprietary", - "BitLength":3, - "Condition":"PGNIsProprietary", + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"uniqueId", - "Name":"Unique ID", + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":7, - "Id":"numberOfSelectionPairs", - "Name":"Number of Selection Pairs", + "Id":"fieldGroup", + "Name":"Field Group", + "Description":5, "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Match":5, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":8, - "Id":"numberOfParameters", - "Name":"Number of Parameters", + "Id":"field", + "Name":"Field", + "Description":"Engine RPM A", "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Match":240, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true }, { "Order":9, - "Id":"selectionParameter", - "Name":"Selection Parameter", - "Description":"Parameter index", + "Id":"reserved9", + "Name":"Reserved", "BitLength":8, + "BitOffset":64, + "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"FIELD_INDEX" + "FieldType":"RESERVED" }, { "Order":10, - "Id":"selectionValue", - "Name":"Selection Value", - "BitLengthVariable":true, - "FieldType":"VARIABLE" - }, - { - "Order":11, - "Id":"parameter", - "Name":"Parameter", - "Description":"Parameter index", - "BitLength":8, + "Id":"engineSpeed", + "Name":"Engine Speed", + "BitLength":16, + "BitOffset":72, + "BitStart":0, + "Unit":"rpm", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"FIELD_INDEX" - }, - { - "Order":12, - "Id":"value", - "Name":"Value", - "BitLengthVariable":true, - "FieldType":"VARIABLE" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" } ] }, { - "PGN":126208, - "Id":"nmeaWriteFieldsGroupFunction", - "Description":"NMEA - Write Fields group function", - "Priority":3, - "Explanation":"This is the Write Fields variation of this group function PGN. The receiver shall modify internal state and reply with a Write Fields Reply message. This PGN is special as it contains two sets of repeating fields, and the fields that contain the information how many repetitions there are do not have a fixed offset in the PGN as the fields 3 to 5 are only present if field 2 is for a proprietary PGN", - "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", + "PGN":126720, + "Id":"garminAutopilotEngineRpmB", + "Description":"Garmin Autopilot: Engine RPM B", + "Priority":7, "Type":"Fast", - "Complete":true, - "FieldCount":12, - "MinLength":9, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":9, - "RepeatingFieldSet1CountField":7, - "RepeatingFieldSet2Size":2, - "RepeatingFieldSet2StartField":11, - "RepeatingFieldSet2CountField":8, - "TransmissionIrregular":true, + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":10, + "Length":11, "Fields":[ { "Order":1, - "Id":"functionCode", - "Name":"Function Code", - "Description":"Write Fields", - "BitLength":8, - "BitOffset":0, - "BitStart":0, - "Match":5, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"GROUP_FUNCTION" - }, - { - "Order":2, - "Id":"pgn", - "Name":"PGN", - "Description":"Commanded PGN", - "BitLength":24, - "BitOffset":8, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" - }, - { - "Order":3, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Only in PGN when Commanded PGN is proprietary", + "Description":"Garmin", "BitLength":11, - "BitOffset":32, + "BitOffset":0, "BitStart":0, - "Condition":"PGNIsProprietary", + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -17873,22 +22354,24 @@ "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":4, + "Order":2, "Id":"reserved", "Name":"Reserved", - "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":2, - "Condition":"PGNIsProprietary", + "BitOffset":11, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":5, + "Order":3, "Id":"industryCode", "Name":"Industry Code", - "Description":"Only in PGN when Commanded PGN is proprietary", + "Description":"Marine Industry", "BitLength":3, - "Condition":"PGNIsProprietary", + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -17897,144 +22380,134 @@ "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":6, - "Id":"uniqueId", - "Name":"Unique ID", - "BitLength":8, + "Order":4, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { - "Order":7, - "Id":"numberOfSelectionPairs", - "Name":"Number of Selection Pairs", + "Order":5, + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":8, - "Id":"numberOfParameters", - "Name":"Number of Parameters", + "Order":6, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":9, - "Id":"selectionParameter", - "Name":"Selection Parameter", - "Description":"Parameter index", + "Order":7, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":5, "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Match":5, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"FIELD_INDEX" - }, - { - "Order":10, - "Id":"selectionValue", - "Name":"Selection Value", - "BitLengthVariable":true, - "FieldType":"VARIABLE" + "FieldType":"NUMBER" }, { - "Order":11, - "Id":"parameter", - "Name":"Parameter", - "Description":"Parameter index", + "Order":8, + "Id":"field", + "Name":"Field", + "Description":"Engine RPM B", "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Match":239, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"FIELD_INDEX" + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true }, { - "Order":12, - "Id":"value", - "Name":"Value", - "BitLengthVariable":true, - "FieldType":"VARIABLE" - } - ] - }, - { - "PGN":126208, - "Id":"nmeaWriteFieldsReplyGroupFunction", - "Description":"NMEA - Write Fields reply group function", - "Priority":3, - "Explanation":"This is the Write Fields Reply variation of this group function PGN. The receiver is responding to a Write Fields request. This PGN is special as it contains two sets of repeating fields, and the fields that contain the information how many repetitions there are do not have a fixed offset in the PGN as the fields 3 to 5 are only present if field 2 is for a proprietary PGN", - "URL":"https://web.archive.org/web/20160408085901/http://www.nmea.org/Assets/20140109%20nmea-2000-corrigendum-tc201401031%20pgn%20126208.pdf", - "Type":"Fast", - "Complete":true, - "FieldCount":12, - "MinLength":9, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":9, - "RepeatingFieldSet1CountField":7, - "RepeatingFieldSet2Size":2, - "RepeatingFieldSet2StartField":11, - "RepeatingFieldSet2CountField":8, - "TransmissionIrregular":true, - "Fields":[ - { - "Order":1, - "Id":"functionCode", - "Name":"Function Code", - "Description":"Write Fields Reply", + "Order":9, + "Id":"reserved9", + "Name":"Reserved", "BitLength":8, - "BitOffset":0, + "BitOffset":64, "BitStart":0, - "Match":6, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"GROUP_FUNCTION" + "FieldType":"RESERVED" }, { - "Order":2, - "Id":"pgn", - "Name":"PGN", - "Description":"Commanded PGN", - "BitLength":24, - "BitOffset":8, + "Order":10, + "Id":"engineSpeed", + "Name":"Engine Speed", + "BitLength":16, + "BitOffset":72, "BitStart":0, + "Unit":"rpm", "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" - }, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":126720, + "Id":"garminAutopilotResponseSetting", + "Description":"Garmin Autopilot: Response Setting", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":10, + "Length":10, + "Fields":[ { - "Order":3, + "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Only in PGN when Commanded PGN is proprietary", + "Description":"Garmin", "BitLength":11, - "BitOffset":32, + "BitOffset":0, "BitStart":0, - "Condition":"PGNIsProprietary", + "Match":229, "Resolution":1, "Signed":false, "RangeMin":0, @@ -18043,22 +22516,24 @@ "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":4, + "Order":2, "Id":"reserved", "Name":"Reserved", - "Description":"Only in PGN when Commanded PGN is proprietary", "BitLength":2, - "Condition":"PGNIsProprietary", + "BitOffset":11, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":5, + "Order":3, "Id":"industryCode", "Name":"Industry Code", - "Description":"Only in PGN when Commanded PGN is proprietary", + "Description":"Marine Industry", "BitLength":3, - "Condition":"PGNIsProprietary", + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -18067,138 +22542,123 @@ "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":6, - "Id":"uniqueId", - "Name":"Unique ID", - "BitLength":8, + "Order":4, + "Id":"subProtocolId", + "Name":"Sub-protocol ID", + "Description":"Autopilot transport", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", + "PartOfPrimaryKey":true }, { - "Order":7, - "Id":"numberOfSelectionPairs", - "Name":"Number of Selection Pairs", + "Order":5, + "Id":"wrapperByte1", + "Name":"Wrapper Byte 1", + "Description":4, "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":8, - "Id":"numberOfParameters", - "Name":"Number of Parameters", + "Order":6, + "Id":"wrapperByte2", + "Name":"Wrapper Byte 2", + "Description":4, "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":9, - "Id":"selectionParameter", - "Name":"Selection Parameter", - "Description":"Parameter index", + "Order":7, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":1, "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Match":1, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"FIELD_INDEX" - }, - { - "Order":10, - "Id":"selectionValue", - "Name":"Selection Value", - "BitLengthVariable":true, - "FieldType":"VARIABLE" + "FieldType":"NUMBER" }, { - "Order":11, - "Id":"parameter", - "Name":"Parameter", - "Description":"Parameter index", + "Order":8, + "Id":"field", + "Name":"Field", + "Description":"Response Setting", "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Match":62, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"FIELD_INDEX" + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true }, { - "Order":12, - "Id":"value", - "Name":"Value", - "BitLengthVariable":true, - "FieldType":"VARIABLE" - } - ] - }, - { - "PGN":126464, - "Id":"pgnListTransmitAndReceive", - "Description":"PGN List (Transmit and Receive)", - "Priority":6, - "Type":"Fast", - "Complete":true, - "FieldCount":2, - "MinLength":1, - "RepeatingFieldSet1Size":1, - "RepeatingFieldSet1StartField":2, - "TransmissionIrregular":true, - "Fields":[ - { - "Order":1, - "Id":"functionCode", - "Name":"Function Code", + "Order":9, + "Id":"reserved9", + "Name":"Reserved", "BitLength":8, - "BitOffset":0, + "BitOffset":64, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"PGN_LIST_FUNCTION" + "FieldType":"RESERVED" }, { - "Order":2, - "Id":"pgn", - "Name":"PGN", - "BitLength":24, - "BitOffset":8, + "Order":10, + "Id":"responseSetting", + "Name":"Response Setting", + "BitLength":8, + "BitOffset":72, "BitStart":0, "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER" } ] }, { "PGN":126720, - "Id":"garminAhrsAttCogSourceValidFlag", - "Description":"Garmin AHRS ATT: COG Source Valid Flag", + "Id":"garminAutopilotModeState", + "Description":"Garmin Autopilot: Mode State", + "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":12, + "FieldCount":10, + "Length":10, "Fields":[ { "Order":1, @@ -18246,27 +22706,28 @@ "Order":4, "Id":"subProtocolId", "Name":"Sub-protocol ID", - "Description":"Garmin ATT transport", + "Description":"Autopilot transport", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":1900, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, - "FieldType":"NUMBER", + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", "PartOfPrimaryKey":true }, { "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":1, + "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":2, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -18277,11 +22738,11 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":2, + "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, - "Match":2, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -18290,47 +22751,75 @@ }, { "Order":7, - "Id":"attMessageId", - "Name":"ATT Message ID", - "Description":"ID", - "BitLength":16, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":5, + "BitLength":8, "BitOffset":48, "BitStart":0, - "Match":67, + "Match":5, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "RangeMax":252, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"cogSourceFlags", - "Name":"COG Source Flags", - "BitLength":32, + "Id":"field", + "Name":"Field", + "Description":"Mode State", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Match":10, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", + "PartOfPrimaryKey":true + }, + { + "Order":9, + "Id":"reserved9", + "Name":"Reserved", + "BitLength":8, "BitOffset":64, "BitStart":0, "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":10, + "Id":"modeState", + "Name":"Mode State", + "BitLength":8, + "BitOffset":72, + "BitStart":0, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_MODE_STATE" } ] }, { "PGN":126720, - "Id":"garminAhrsAttDeviceFlags", - "Description":"Garmin AHRS ATT: Device Flags", + "Id":"garminAutopilotHeartbeat", + "Description":"Garmin Autopilot: Heartbeat", + "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, + "FieldCount":9, "Length":12, "Fields":[ { @@ -18379,27 +22868,28 @@ "Order":4, "Id":"subProtocolId", "Name":"Sub-protocol ID", - "Description":"Garmin ATT transport", + "Description":"Autopilot transport", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":1900, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, - "FieldType":"NUMBER", + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", "PartOfPrimaryKey":true }, { "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":1, + "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":2, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -18410,11 +22900,11 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":2, + "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, - "Match":2, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -18423,116 +22913,13 @@ }, { "Order":7, - "Id":"attMessageId", - "Name":"ATT Message ID", - "Description":"ID", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Match":65, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":8, - "Id":"deviceFlags", - "Name":"Device Flags", - "BitLength":32, - "BitOffset":64, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" - } - ] - }, - { - "PGN":126720, - "Id":"garminAhrsAttNonDefaultCalibrationMatrixPresent", - "Description":"Garmin AHRS ATT: Non-default Calibration Matrix Present", - "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":8, - "Length":9, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Garmin", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":229, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"subProtocolId", - "Name":"Sub-protocol ID", - "Description":"Garmin ATT transport", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Match":1900, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"wrapperByte1", - "Name":"Wrapper Byte 1", - "Description":1, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":21, "BitLength":8, - "BitOffset":32, + "BitOffset":48, "BitStart":0, - "Match":2, + "Match":21, "Resolution":1, "Signed":false, "RangeMin":0, @@ -18540,64 +22927,46 @@ "FieldType":"NUMBER" }, { - "Order":6, - "Id":"wrapperByte2", - "Name":"Wrapper Byte 2", - "Description":2, + "Order":8, + "Id":"field", + "Name":"Field", + "Description":"Heartbeat", "BitLength":8, - "BitOffset":40, + "BitOffset":56, "BitStart":0, - "Match":2, + "Match":3, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"attMessageId", - "Name":"ATT Message ID", - "Description":"ID", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Match":40, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"NUMBER", + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_FIELD", "PartOfPrimaryKey":true }, { - "Order":8, - "Id":"calibrationMatrixPresent", - "Name":"Calibration Matrix Present", - "BitLength":8, + "Order":9, + "Id":"heartbeatData", + "Name":"Heartbeat Data", + "Description":"Fixed helm heartbeat payload (observed 01 00 c8 00)", + "BitLength":32, "BitOffset":64, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { "PGN":126720, - "Id":"garminAhrsAttSetNorthState", - "Description":"Garmin AHRS ATT: Set North State", + "Id":"garminAutopilotManeuver", + "Description":"Garmin Autopilot: Maneuver", + "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":9, + "FieldCount":10, + "Length":10, "Fields":[ { "Order":1, @@ -18645,27 +23014,28 @@ "Order":4, "Id":"subProtocolId", "Name":"Sub-protocol ID", - "Description":"Garmin ATT transport", + "Description":"Autopilot transport", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":1900, + "Match":5904, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, - "FieldType":"NUMBER", + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_MESSAGE_ID", "PartOfPrimaryKey":true }, { "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":1, + "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":2, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -18676,11 +23046,11 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":2, + "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, - "Match":2, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -18689,26 +23059,26 @@ }, { "Order":7, - "Id":"attMessageId", - "Name":"ATT Message ID", - "Description":"ID", - "BitLength":16, + "Id":"fieldGroup", + "Name":"Field Group", + "Description":38, + "BitLength":8, "BitOffset":48, "BitStart":0, - "Match":52, + "Match":38, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "RangeMax":252, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"setNorthState", - "Name":"Set North State", + "Id":"maneuverCode", + "Name":"Maneuver Code", + "Description":"Maneuver button event code (observed 0..9)", "BitLength":8, - "BitOffset":64, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, @@ -18718,69 +23088,32 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - } - ] - }, - { - "PGN":126720, - "Id":"0x1ef00ManufacturerProprietaryFastPacketAddressed", - "Description":"0x1EF00: Manufacturer Proprietary fast-packet addressed", - "Explanation":"Manufacturer Proprietary PGNs in PDU1 (addressed) fast-packet PGN 0x1EF00 (126720).When this is shown during analysis it means the PGN is not reverse engineered yet.", - "Type":"Fast", - "Complete":false, - "Fallback":true, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":4, - "Length":223, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":2, - "Id":"reserved", + "Order":9, + "Id":"reserved9", "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, + "BitLength":8, + "BitOffset":64, + "BitStart":0, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "BitLength":3, - "BitOffset":13, - "BitStart":5, + "Order":10, + "Id":"value", + "Name":"Value", + "BitLength":8, + "BitOffset":72, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":1768, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, @@ -18909,6 +23242,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SEATALK_PILOT_MODE" }, @@ -19058,6 +23394,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SEATALK_PILOT_HULL_TYPE" }, @@ -19181,6 +23520,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -19195,6 +23537,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -19335,6 +23680,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SEATALK_DEVICE_ID" } @@ -19438,6 +23786,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SEATALK_NETWORK_GROUP" }, @@ -19452,6 +23803,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SEATALK_SHARED" }, @@ -19598,6 +23952,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SEATALK_NETWORK_GROUP" }, @@ -19637,6 +23994,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SEATALK_DISPLAY_COLOR" }, @@ -19783,6 +24143,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SEATALK_KEYSTROKE" }, @@ -19912,6 +24275,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"FUSION_COMMAND" } @@ -20014,6 +24380,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"FUSION_SIRIUS_COMMAND" }, @@ -20276,6 +24645,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"FUSION_MUTE_COMMAND" } @@ -20602,6 +24974,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"FUSION_POWER_STATE" } @@ -20688,8 +25063,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -20707,8 +25082,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -20726,8 +25101,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -20819,6 +25194,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"AIRMAR_CALIBRATE_FUNCTION" }, @@ -20833,6 +25211,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"AIRMAR_CALIBRATE_STATUS" }, @@ -21100,6 +25481,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -21196,6 +25578,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -21521,6 +25904,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"AIRMAR_TEMPERATURE_INSTANCE", "PartOfPrimaryKey":true @@ -22137,6 +26521,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"AIRMAR_TRANSMISSION_INTERVAL" }, @@ -22289,6 +26674,9 @@ "Signed":false, "RangeMin":0, "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"LOOKUP", "LookupEnumeration":"MARETRON_PRODUCT_CODE" }, @@ -22324,123 +26712,6 @@ "FieldType":"LOOKUP", "LookupEnumeration":"MARETRON_COMMAND" }, - { - "Order":7, - "Id":"status", - "Name":"Status", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"MARETRON_STATUS_DEVIATION" - } - ] - }, - { - "PGN":126720, - "Id":"maretronSlaveResponse", - "Description":"Maretron: Slave Response", - "Type":"Fast", - "Complete":false, - "Missing":["Lookups","Interval" - ], - "FieldCount":7, - "Length":8, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Maretron", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":137, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"productCode", - "Name":"Product code", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":5, - "Id":"softwareCode", - "Name":"Software code", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"command", - "Name":"Command", - "BitLength":8, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, { "Order":7, "Id":"status", @@ -22455,7 +26726,8 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"MARETRON_STATUS_DEVIATION" } ] }, @@ -22523,6 +26795,9 @@ "Signed":false, "RangeMin":0, "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"LOOKUP", "LookupEnumeration":"MARETRON_PRODUCT_CODE" }, @@ -22553,6 +26828,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"MARETRON_OPCODE" }, @@ -23074,6 +27352,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"GARMIN_BACKLIGHT_LEVEL" } @@ -23239,6 +27520,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"GARMIN_BACKLIGHT_LEVEL" } @@ -23404,6 +27688,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"GARMIN_COLOR" } @@ -23456,6 +27743,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_TYPE" }, @@ -23470,6 +27759,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_CATEGORY" }, @@ -23529,8 +27820,9 @@ "BitOffset":40, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -23594,7 +27886,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":11, @@ -23608,7 +27900,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":12, @@ -23622,7 +27914,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":13, @@ -23636,7 +27928,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":14, @@ -23650,7 +27942,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":15, @@ -23664,7 +27956,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":16, @@ -23684,8 +27976,9 @@ "BitOffset":136, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -23699,6 +27992,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_TRIGGER_CONDITION" }, @@ -23713,6 +28008,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_THRESHOLD_STATUS" }, @@ -23743,6 +28040,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_STATE" } @@ -23770,6 +28070,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_TYPE" }, @@ -23784,6 +28086,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_CATEGORY" }, @@ -23843,8 +28147,9 @@ "BitOffset":40, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -23904,8 +28209,9 @@ "BitOffset":128, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -23956,6 +28262,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_TYPE" }, @@ -23970,6 +28278,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_CATEGORY" }, @@ -24029,8 +28339,9 @@ "BitOffset":40, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -24093,6 +28404,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_LANGUAGE_ID" }, @@ -24136,6 +28450,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_TYPE" }, @@ -24150,6 +28466,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_CATEGORY" }, @@ -24209,8 +28527,9 @@ "BitOffset":40, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -24375,6 +28694,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_TYPE" }, @@ -24389,6 +28710,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_CATEGORY" }, @@ -24448,8 +28771,9 @@ "BitOffset":40, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -24606,6 +28930,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_TYPE" }, @@ -24620,6 +28946,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_CATEGORY" }, @@ -24679,8 +29007,9 @@ "BitOffset":40, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -24836,6 +29165,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"SYSTEM_TIME", "PartOfPrimaryKey":true @@ -24910,10 +29241,10 @@ "BitOffset":0, "BitStart":0, "Unit":"s", - "Resolution":0.01, + "Resolution":0.001, "Signed":false, "RangeMin":0, - "RangeMax":655.32, + "RangeMax":65.532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -24947,6 +29278,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"CONTROLLER_STATE" }, @@ -24961,6 +29293,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"CONTROLLER_STATE" }, @@ -24975,6 +29308,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"EQUIPMENT_STATUS" }, @@ -25082,6 +29416,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"CERTIFICATION_LEVEL" }, @@ -25197,6 +29534,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"MOB_STATUS" }, @@ -25239,6 +29577,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"MOB_POSITION_SOURCE" }, @@ -25335,6 +29674,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_REFERENCE" }, @@ -25359,7 +29699,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -25409,6 +29749,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"LOW_BATTERY" }, @@ -25446,6 +29787,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -25460,6 +29802,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -25474,6 +29817,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -25488,6 +29832,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -25502,6 +29847,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"STEERING_MODE" }, @@ -25516,6 +29862,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"TURN_MODE" }, @@ -25530,6 +29877,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_REFERENCE" }, @@ -25554,6 +29902,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_RUDDER" }, @@ -25567,8 +29916,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -25586,7 +29935,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -25604,7 +29953,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -25622,7 +29971,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -25640,7 +29989,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -25712,7 +30061,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -25760,6 +30109,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_RUDDER" }, @@ -25783,8 +30133,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -25801,8 +30151,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -25859,7 +30209,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -25876,8 +30226,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -25894,8 +30244,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -25913,6 +30263,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_REFERENCE" }, @@ -26080,8 +30431,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -26098,8 +30449,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -26116,8 +30467,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -26174,6 +30525,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"MAGNETIC_VARIATION", "PartOfPrimaryKey":true @@ -26216,8 +30569,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -26258,6 +30611,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"ENGINE_INSTANCE", "PartOfPrimaryKey":true @@ -26350,6 +30706,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"ENGINE_INSTANCE", "PartOfPrimaryKey":true @@ -26926,6 +31285,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"ENGINE_INSTANCE", "PartOfPrimaryKey":true @@ -26941,6 +31303,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"GEAR_STATUS" }, @@ -27620,6 +31983,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"ENGINE_INSTANCE", "PartOfPrimaryKey":true @@ -27720,6 +32086,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"ENGINE_INSTANCE", "PartOfPrimaryKey":true @@ -27942,6 +32311,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -27956,6 +32326,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -27970,6 +32341,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -27984,6 +32356,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -27998,6 +32371,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28012,6 +32386,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28026,6 +32401,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28040,6 +32416,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28054,6 +32431,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28068,6 +32446,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28082,6 +32461,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28096,6 +32476,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28110,6 +32491,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28124,6 +32506,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28138,6 +32521,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28152,6 +32536,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28166,6 +32551,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28180,6 +32566,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28194,6 +32581,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28208,6 +32596,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28222,6 +32611,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28236,6 +32626,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28250,6 +32641,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28264,6 +32656,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28278,6 +32671,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28292,6 +32686,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28306,6 +32701,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -28320,6 +32716,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" } @@ -28807,6 +33204,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"AC_LINE" }, @@ -29020,6 +33418,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"LINE" }, @@ -29034,6 +33433,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"WAVEFORM" }, @@ -29213,6 +33613,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"TANK_TYPE" }, @@ -29319,6 +33721,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"DC_SOURCE", "PartOfPrimaryKey":true @@ -29472,6 +33877,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"CHARGER_STATE" }, @@ -29486,6 +33893,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"CHARGER_MODE" }, @@ -29500,6 +33909,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -29514,6 +33924,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -29722,6 +34133,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"INVERTER_STATE" }, @@ -29736,6 +34149,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -29807,6 +34221,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -29849,6 +34264,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"CHARGING_ALGORITHM" }, @@ -29863,6 +34280,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"CHARGER_MODE" }, @@ -29878,6 +34297,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"DEVICE_TEMP_STATE" }, @@ -29892,6 +34313,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -29906,6 +34328,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -30002,6 +34425,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -30016,6 +34440,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"INVERTER_MODE" }, @@ -30030,6 +34456,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -30129,6 +34556,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"AGS_MODE" }, @@ -30183,6 +34612,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"BATTERY_TYPE" }, @@ -30197,6 +34628,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -30221,6 +34653,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"BATTERY_VOLTAGE" }, @@ -30235,6 +34669,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"BATTERY_CHEMISTRY" }, @@ -30366,6 +34802,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"AGS_OPERATING_STATE" }, @@ -30380,6 +34818,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"AGS_GENERATING_STATE" }, @@ -30394,6 +34834,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"AGS_ON_REASON" }, @@ -30408,6 +34851,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"AGS_OFF_REASON" } @@ -31007,6 +35453,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"CONVERTER_STATE" }, @@ -31021,6 +35470,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"GOOD_WARNING_ERROR" }, @@ -31035,6 +35485,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"GOOD_WARNING_ERROR" }, @@ -31049,6 +35500,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"GOOD_WARNING_ERROR" }, @@ -31063,6 +35515,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"GOOD_WARNING_ERROR" }, @@ -31209,8 +35662,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -31612,6 +36065,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"THRUSTER_DIRECTION_CONTROL" }, @@ -31626,6 +36081,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -31640,6 +36096,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"THRUSTER_RETRACT_CONTROL" }, @@ -31703,7 +36160,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -31750,6 +36207,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"THRUSTER_MOTOR_TYPE" }, @@ -32005,6 +36464,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"WATER_REFERENCE" }, @@ -32280,7 +36742,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":5, @@ -32307,6 +36769,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_REFERENCE" }, @@ -32331,7 +36794,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -32367,7 +36830,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -32465,6 +36928,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -33212,6 +37676,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"WINDLASS_DIRECTION" }, @@ -33226,6 +37691,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -33240,6 +37706,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"SPEED_TYPE" }, @@ -33275,6 +37742,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -33289,6 +37757,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -33303,6 +37772,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -33317,6 +37787,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -33419,6 +37890,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"WINDLASS_DIRECTION" }, @@ -33433,6 +37905,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"WINDLASS_MOTION" }, @@ -33447,6 +37920,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"RODE_TYPE" }, @@ -33507,6 +37981,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DOCKING_STATUS" }, @@ -33840,6 +38315,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_REFERENCE" }, @@ -33864,7 +38340,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -33956,7 +38432,7 @@ "BitOffset":16, "BitStart":0, "Unit":"deg", - "Resolution":2.77778e-09, + "Resolution":2.777777777777778e-09, "Signed":true, "RangeMin":-0.0233016861111111, "RangeMax":0.0233016777777778, @@ -33973,7 +38449,7 @@ "BitOffset":40, "BitStart":0, "Unit":"deg", - "Resolution":2.77778e-09, + "Resolution":2.777777777777778e-09, "Signed":true, "RangeMin":-0.0233016861111111, "RangeMax":0.0233016777777778, @@ -34042,6 +38518,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"GNS_METHOD" }, @@ -34056,6 +38534,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_REFERENCE" }, @@ -34080,7 +38559,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -34230,6 +38709,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"GNS" }, @@ -34244,6 +38725,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"GNS_METHOD" }, @@ -34369,6 +38852,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"GNS" }, @@ -34498,6 +38983,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -34619,7 +39106,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -34666,6 +39153,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -34681,7 +39170,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -34717,6 +39206,7 @@ "Signed":false, "RangeMin":0, "RangeMax":14, + "UnknownValue":15, "FieldType":"LOOKUP", "LookupEnumeration":"NAV_STATUS" }, @@ -34805,6 +39295,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -34925,7 +39417,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -34972,6 +39464,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -34987,7 +39481,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -35041,7 +39535,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":18, @@ -35055,7 +39549,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":19, @@ -35083,7 +39577,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":21, @@ -35150,6 +39644,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -35270,7 +39766,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -35336,6 +39832,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SHIP_TYPE" }, @@ -35350,7 +39849,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -35378,6 +39877,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"POSITION_FIX_DEVICE" }, @@ -35511,6 +40012,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -35549,6 +40052,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -35756,7 +40261,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":15, @@ -35770,7 +40275,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":16, @@ -35807,6 +40312,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"POSITION_FIX_DEVICE" }, @@ -35842,6 +40349,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -36032,8 +40541,8 @@ "Unit":"rad", "Resolution":1, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "FieldType":"FLOAT", "PhysicalQuantity":"ANGLE" }, @@ -36048,8 +40557,8 @@ "Unit":"rad", "Resolution":1, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "FieldType":"FLOAT", "PhysicalQuantity":"ANGLE" }, @@ -36064,8 +40573,8 @@ "Unit":"rad", "Resolution":1, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "FieldType":"FLOAT", "PhysicalQuantity":"ANGLE" }, @@ -36167,6 +40676,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"RESIDUAL_MODE" }, @@ -36191,6 +40702,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -36280,6 +40792,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_REFERENCE" }, @@ -36294,6 +40807,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -36308,6 +40822,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -36322,6 +40837,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"BEARING_MODE" }, @@ -36372,7 +40888,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -36390,7 +40906,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -36574,6 +41090,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION" }, @@ -36588,6 +41105,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -36711,6 +41229,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_REFERENCE" }, @@ -36735,7 +41254,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -36829,6 +41348,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"MARK_TYPE" }, @@ -36899,6 +41420,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"DIRECTION_REFERENCE" }, @@ -36913,6 +41435,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"BEARING_MODE" }, @@ -36937,7 +41460,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -36973,6 +41496,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"MARK_TYPE" }, @@ -36987,6 +41512,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"MARK_TYPE" }, @@ -37046,8 +41573,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -37118,6 +41645,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"GNSS_MODE" }, @@ -37132,6 +41660,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"DGNSS_MODE" }, @@ -37146,6 +41675,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -37196,6 +41726,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -37249,6 +41780,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"GNSS_MODE" }, @@ -37263,6 +41795,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"GNSS_MODE" }, @@ -37370,6 +41903,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"RANGE_RESIDUAL_MODE" }, @@ -37425,8 +41959,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -37444,7 +41978,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -37498,18 +42032,27 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"SATELLITE_STATUS" }, { "Order":11, - "Id":"reserved11", - "Name":"Reserved", + "Id":"gnssSystem", + "Name":"GNSS System", + "Description":"Constellation the PRN belongs to; PRN alone is not unique across systems", "BitLength":4, "BitOffset":116, "BitStart":4, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"GNSS_SYSTEM" } ] }, @@ -37578,7 +42121,7 @@ "BitOffset":32, "BitStart":0, "Unit":"m/m", - "Resolution":4.76837e-07, + "Resolution":4.76837158203125e-07, "Signed":false, "RangeMin":0, "RangeMax":0.0312480926513672, @@ -37616,7 +42159,7 @@ "BitOffset":56, "BitStart":0, "Unit":"semi-circle", - "Resolution":1.90735e-06, + "Resolution":1.9073486328125e-06, "Signed":true, "RangeMin":-0.0624980926513672, "RangeMax":0.0624923706054688, @@ -37635,7 +42178,7 @@ "BitOffset":72, "BitStart":0, "Unit":"semi-circle/s", - "Resolution":3.63798e-12, + "Resolution":3.637978807091713e-12, "Signed":true, "RangeMin":-1.19205651571974e-07, "RangeMax":1.19194737635553e-07, @@ -37654,7 +42197,7 @@ "BitOffset":88, "BitStart":0, "Unit":"sqrt(m)", - "Resolution":0.000488281, + "Resolution":0.00048828125, "Signed":false, "RangeMin":0, "RangeMax":8191.998046875, @@ -37673,7 +42216,7 @@ "BitOffset":112, "BitStart":0, "Unit":"semi-circle", - "Resolution":1.19209e-07, + "Resolution":1.1920928955078125e-07, "Signed":true, "RangeMin":-0.99999988079071, "RangeMax":0.999999523162842, @@ -37692,7 +42235,7 @@ "BitOffset":136, "BitStart":0, "Unit":"semi-circle", - "Resolution":1.19209e-07, + "Resolution":1.1920928955078125e-07, "Signed":true, "RangeMin":-0.99999988079071, "RangeMax":0.999999523162842, @@ -37711,7 +42254,7 @@ "BitOffset":160, "BitStart":0, "Unit":"semi-circle", - "Resolution":1.19209e-07, + "Resolution":1.1920928955078125e-07, "Signed":true, "RangeMin":-0.99999988079071, "RangeMax":0.999999523162842, @@ -37730,7 +42273,7 @@ "BitOffset":184, "BitStart":0, "Unit":"s", - "Resolution":9.53674e-07, + "Resolution":9.5367431640625e-07, "Signed":true, "RangeMin":-0.000975608825683594, "RangeMax":0.000972747802734375, @@ -37749,7 +42292,7 @@ "BitOffset":195, "BitStart":3, "Unit":"s/s", - "Resolution":3.63798e-12, + "Resolution":3.637978807091713e-12, "Signed":true, "RangeMin":-3.72165231965482e-09, "RangeMax":3.71073838323355e-09, @@ -37865,7 +42408,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -38294,7 +42837,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -38411,6 +42954,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"GNS" }, @@ -38443,6 +42988,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"STATION_HEALTH" }, @@ -38600,6 +43147,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"SERIAL_BIT_RATE" }, @@ -38614,6 +43163,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"SERIAL_DETECTION_MODE" }, @@ -38628,6 +43178,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"DIFFERENTIAL_SOURCE" }, @@ -38642,6 +43194,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"DIFFERENTIAL_MODE" }, @@ -38766,6 +43320,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"GNS" }, @@ -38796,6 +43352,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"SERIAL_BIT_RATE" }, @@ -38810,6 +43368,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"SERIAL_DETECTION_MODE" }, @@ -38824,6 +43383,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -38848,6 +43408,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"DIFFERENTIAL_SOURCE" }, @@ -39155,6 +43717,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -39207,6 +43771,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -39328,6 +43894,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -39473,6 +44041,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -39515,6 +44085,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"POSITION_FIX_DEVICE" } @@ -39543,6 +44115,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -39619,6 +44193,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SHIP_TYPE" }, @@ -39782,6 +44359,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"POSITION_FIX_DEVICE" }, @@ -39820,6 +44399,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -39858,6 +44439,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -39910,6 +44493,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -39962,7 +44547,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":10, @@ -40028,6 +44613,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -40080,6 +44667,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -40155,6 +44744,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -40207,6 +44798,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -40274,6 +44867,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -40394,7 +44989,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -40442,6 +45037,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -40596,6 +45193,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"TELEPHONE_MODE" }, @@ -40644,6 +45244,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -40696,6 +45298,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -40750,6 +45354,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -40802,6 +45408,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -40854,7 +45462,7 @@ "RangeMin":0, "RangeMax":1, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"YES_NO_1BIT" }, { "Order":10, @@ -40902,6 +45510,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -40954,6 +45564,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -41003,6 +45615,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -41055,6 +45669,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -41103,6 +45719,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -41143,6 +45761,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -41217,6 +45837,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -41299,6 +45921,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -41351,6 +45975,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -41509,6 +46135,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -41561,6 +46189,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -41669,6 +46299,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -41721,6 +46353,8 @@ "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, @@ -41801,6 +46435,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"TX_RX_MODE" }, @@ -41949,6 +46585,7 @@ "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", "LookupEnumeration":"ZONE_SIZE" }, @@ -41999,6 +46636,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -42051,6 +46690,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"TX_RX_MODE" }, @@ -42147,6 +46788,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"STATION_TYPE" }, @@ -42171,6 +46814,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SHIP_TYPE" }, @@ -42205,6 +46851,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"REPORTING_INTERVAL" }, @@ -42275,6 +46923,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"DSC_FORMAT" }, @@ -42286,11 +46937,314 @@ "BitLength":8, "BitOffset":8, "BitStart":0, - "Match":112, + "Match":112, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"DSC_CATEGORY" + }, + { + "Order":3, + "Id":"dscMessageAddress", + "Name":"DSC Message Address", + "Description":"MMSI, Geographic Area or blank", + "BitLength":40, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":9999999999, + "FieldType":"DECIMAL" + }, + { + "Order":4, + "Id":"natureOfDistress", + "Name":"Nature of Distress", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"DSC_NATURE" + }, + { + "Order":5, + "Id":"subsequentCommunicationModeOr2ndTelecommand", + "Name":"Subsequent Communication Mode or 2nd Telecommand", + "BitLength":8, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"DSC_SECOND_TELECOMMAND" + }, + { + "Order":6, + "Id":"proposedRxFrequencyChannel", + "Name":"Proposed Rx Frequency/Channel", + "BitLength":48, + "BitOffset":72, + "BitStart":0, + "FieldType":"STRING_FIX" + }, + { + "Order":7, + "Id":"proposedTxFrequencyChannel", + "Name":"Proposed Tx Frequency/Channel", + "BitLength":48, + "BitOffset":120, + "BitStart":0, + "FieldType":"STRING_FIX" + }, + { + "Order":8, + "Id":"telephoneNumber", + "Name":"Telephone Number", + "BitLengthVariable":true, + "BitOffset":168, + "BitStart":0, + "FieldType":"STRING_LAU" + }, + { + "Order":9, + "Id":"latitudeOfVesselReported", + "Name":"Latitude of Vessel Reported", + "BitLength":32, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-90, + "RangeMax":90, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + }, + { + "Order":10, + "Id":"longitudeOfVesselReported", + "Name":"Longitude of Vessel Reported", + "BitLength":32, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-180, + "RangeMax":180, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + }, + { + "Order":11, + "Id":"timeOfPosition", + "Name":"Time of Position", + "Description":"Seconds since midnight", + "BitLength":32, + "Unit":"s", + "Resolution":0.0001, + "RangeMin":0, + "RangeMax":86401, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"TIME", + "PhysicalQuantity":"TIME" + }, + { + "Order":12, + "Id":"mmsiOfShipInDistress", + "Name":"MMSI of Ship In Distress", + "BitLength":40, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":9999999999, + "FieldType":"DECIMAL" + }, + { + "Order":13, + "Id":"dscEosSymbol", + "Name":"DSC EOS Symbol", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":14, + "Id":"expansionEnabled", + "Name":"Expansion Enabled", + "BitLength":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" + }, + { + "Order":15, + "Id":"reserved", + "Name":"Reserved", + "BitLength":6, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":16, + "Id":"callingRxFrequencyChannel", + "Name":"Calling Rx Frequency/Channel", + "BitLength":48, + "FieldType":"STRING_FIX" + }, + { + "Order":17, + "Id":"callingTxFrequencyChannel", + "Name":"Calling Tx Frequency/Channel", + "BitLength":48, + "FieldType":"STRING_FIX" + }, + { + "Order":18, + "Id":"timeOfReceipt", + "Name":"Time of Receipt", + "Description":"Seconds since midnight", + "BitLength":32, + "Unit":"s", + "Resolution":0.0001, + "RangeMin":0, + "RangeMax":86401, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"TIME", + "PhysicalQuantity":"TIME" + }, + { + "Order":19, + "Id":"dateOfReceipt", + "Name":"Date of Receipt", + "BitLength":16, + "Unit":"d", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DATE", + "PhysicalQuantity":"DATE" + }, + { + "Order":20, + "Id":"dscEquipmentAssignedMessageId", + "Name":"DSC Equipment Assigned Message ID", + "BitLength":16, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":21, + "Id":"dscExpansionFieldSymbol", + "Name":"DSC Expansion Field Symbol", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"DSC_EXPANSION_DATA" + }, + { + "Order":22, + "Id":"dscExpansionFieldData", + "Name":"DSC Expansion Field Data", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" + } + ] + }, + { + "PGN":129808, + "Id":"dscCallInformation", + "Description":"DSC Call Information", + "Priority":4, + "URL":"https://web.archive.org/web/20160408121445/http://www.nmea.org/Assets/20150328%20dsc%20technical%20corrigendum%20v2.database%20version%202.100.pdf", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","SampleData" + ], + "FieldCount":22, + "MinLength":60, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":21, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"dscFormatSymbol", + "Name":"DSC Format Symbol", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"DSC_FORMAT" + }, + { + "Order":2, + "Id":"dscCategorySymbol", + "Name":"DSC Category Symbol", + "BitLength":8, + "BitOffset":8, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"DSC_CATEGORY" }, @@ -42310,8 +47264,8 @@ }, { "Order":4, - "Id":"natureOfDistress", - "Name":"Nature of Distress", + "Id":"1stTelecommand", + "Name":"1st Telecommand", "BitLength":8, "BitOffset":56, "BitStart":0, @@ -42319,8 +47273,11 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"DSC_NATURE" + "LookupEnumeration":"DSC_FIRST_TELECOMMAND" }, { "Order":5, @@ -42333,6 +47290,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"DSC_SECOND_TELECOMMAND" }, @@ -42445,6 +47405,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, @@ -42525,6 +47486,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"DSC_EXPANSION_DATA" }, @@ -42538,182 +47502,390 @@ ] }, { - "PGN":129808, - "Id":"dscCallInformation", - "Description":"DSC Call Information", - "Priority":4, - "URL":"https://web.archive.org/web/20160408121445/http://www.nmea.org/Assets/20150328%20dsc%20technical%20corrigendum%20v2.database%20version%202.100.pdf", + "PGN":129809, + "Id":"aisClassBStaticDataMsg24PartA", + "Description":"AIS Class B static data (msg 24 Part A)", + "Priority":6, + "URL":"https://web.archive.org/web/20251212005646/www.itu.int/rec/R-REC-M.1371-5-201402-I/en", "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData" - ], - "FieldCount":22, - "MinLength":60, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":21, + "Complete":true, + "FieldCount":7, + "Length":27, "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"dscFormatSymbol", - "Name":"DSC Format Symbol", - "BitLength":8, + "Id":"messageId", + "Name":"Message ID", + "BitLength":6, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", - "LookupEnumeration":"DSC_FORMAT" + "LookupEnumeration":"AIS_MESSAGE_ID" }, { "Order":2, - "Id":"dscCategorySymbol", - "Name":"DSC Category Symbol", - "BitLength":8, - "BitOffset":8, - "BitStart":0, + "Id":"repeatIndicator", + "Name":"Repeat Indicator", + "BitLength":2, + "BitOffset":6, + "BitStart":6, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":3, "FieldType":"LOOKUP", - "LookupEnumeration":"DSC_CATEGORY" + "LookupEnumeration":"REPEAT_INDICATOR" }, { "Order":3, - "Id":"dscMessageAddress", - "Name":"DSC Message Address", - "Description":"MMSI, Geographic Area or blank", - "BitLength":40, - "BitOffset":16, + "Id":"userId", + "Name":"User ID", + "BitLength":32, + "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, - "RangeMin":0, - "RangeMax":9999999999, - "FieldType":"DECIMAL" + "RangeMin":2000000, + "RangeMax":999999999, + "FieldType":"MMSI", + "PartOfPrimaryKey":true }, { "Order":4, - "Id":"1stTelecommand", - "Name":"1st Telecommand", + "Id":"name", + "Name":"Name", + "BitLength":160, + "BitOffset":40, + "BitStart":0, + "FieldType":"STRING_FIX" + }, + { + "Order":5, + "Id":"aisTransceiverInformation", + "Name":"AIS Transceiver information", + "BitLength":5, + "BitOffset":200, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, + "FieldType":"LOOKUP", + "LookupEnumeration":"AIS_TRANSCEIVER" + }, + { + "Order":6, + "Id":"reserved", + "Name":"Reserved", + "BitLength":3, + "BitOffset":205, + "BitStart":5, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":7, + "Id":"sequenceId", + "Name":"Sequence ID", "BitLength":8, - "BitOffset":56, + "BitOffset":208, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":129810, + "Id":"aisClassBStaticDataMsg24PartB", + "Description":"AIS Class B static data (msg 24 Part B)", + "Priority":6, + "URL":"https://web.archive.org/web/20251212005646/www.itu.int/rec/R-REC-M.1371-5-201402-I/en", + "Type":"Fast", + "Complete":true, + "FieldCount":17, + "Length":35, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"messageId", + "Name":"Message ID", + "BitLength":6, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", - "LookupEnumeration":"DSC_FIRST_TELECOMMAND" + "LookupEnumeration":"AIS_MESSAGE_ID" }, { - "Order":5, - "Id":"subsequentCommunicationModeOr2ndTelecommand", - "Name":"Subsequent Communication Mode or 2nd Telecommand", + "Order":2, + "Id":"repeatIndicator", + "Name":"Repeat Indicator", + "BitLength":2, + "BitOffset":6, + "BitStart":6, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"REPEAT_INDICATOR" + }, + { + "Order":3, + "Id":"userId", + "Name":"User ID", + "BitLength":32, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":2000000, + "RangeMax":999999999, + "FieldType":"MMSI", + "PartOfPrimaryKey":true + }, + { + "Order":4, + "Id":"typeOfShip", + "Name":"Type of ship", "BitLength":8, - "BitOffset":64, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"DSC_SECOND_TELECOMMAND" + "LookupEnumeration":"SHIP_TYPE" + }, + { + "Order":5, + "Id":"vendorId", + "Name":"Vendor ID", + "BitLength":56, + "BitOffset":48, + "BitStart":0, + "FieldType":"STRING_FIX" }, { "Order":6, - "Id":"proposedRxFrequencyChannel", - "Name":"Proposed Rx Frequency/Channel", - "BitLength":48, - "BitOffset":72, + "Id":"callsign", + "Name":"Callsign", + "BitLength":56, + "BitOffset":104, "BitStart":0, "FieldType":"STRING_FIX" }, { "Order":7, - "Id":"proposedTxFrequencyChannel", - "Name":"Proposed Tx Frequency/Channel", - "BitLength":48, - "BitOffset":120, + "Id":"length", + "Name":"Length", + "BitLength":16, + "BitOffset":160, "BitStart":0, - "FieldType":"STRING_FIX" + "Unit":"m", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"LENGTH" }, { "Order":8, - "Id":"telephoneNumber", - "Name":"Telephone Number", - "BitLengthVariable":true, - "BitOffset":168, + "Id":"beam", + "Name":"Beam", + "BitLength":16, + "BitOffset":176, "BitStart":0, - "FieldType":"STRING_LAU" + "Unit":"m", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"LENGTH" }, { "Order":9, - "Id":"latitudeOfVesselReported", - "Name":"Latitude of Vessel Reported", - "BitLength":32, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-90, - "RangeMax":90, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, + "Id":"positionReferenceFromStarboard", + "Name":"Position reference from Starboard", + "BitLength":16, + "BitOffset":192, + "BitStart":0, + "Unit":"m", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + "PhysicalQuantity":"LENGTH" }, { "Order":10, - "Id":"longitudeOfVesselReported", - "Name":"Longitude of Vessel Reported", - "BitLength":32, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-180, - "RangeMax":180, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, + "Id":"positionReferenceFromBow", + "Name":"Position reference from Bow", + "BitLength":16, + "BitOffset":208, + "BitStart":0, + "Unit":"m", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + "PhysicalQuantity":"LENGTH" }, { "Order":11, - "Id":"timeOfPosition", - "Name":"Time of Position", - "Description":"Seconds since midnight", + "Id":"mothershipUserId", + "Name":"Mothership User ID", "BitLength":32, - "Unit":"s", - "Resolution":0.0001, - "RangeMin":0, - "RangeMax":86401, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"TIME", - "PhysicalQuantity":"TIME" + "BitOffset":224, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":2000000, + "RangeMax":999999999, + "FieldType":"MMSI", + "PartOfPrimaryKey":true }, { "Order":12, - "Id":"mmsiOfShipInDistress", - "Name":"MMSI of Ship In Distress", - "BitLength":40, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":256, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":13, + "Id":"spare13", + "Name":"Spare", + "BitLength":2, + "BitOffset":258, + "BitStart":2, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":14, + "Id":"gnssType", + "Name":"GNSS type", + "BitLength":4, + "BitOffset":260, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":9999999999, - "FieldType":"DECIMAL" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"POSITION_FIX_DEVICE" }, { - "Order":13, - "Id":"dscEosSymbol", - "Name":"DSC EOS Symbol", + "Order":15, + "Id":"aisTransceiverInformation", + "Name":"AIS Transceiver information", + "BitLength":5, + "BitOffset":264, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, + "FieldType":"LOOKUP", + "LookupEnumeration":"AIS_TRANSCEIVER" + }, + { + "Order":16, + "Id":"reserved16", + "Name":"Reserved", + "BitLength":3, + "BitOffset":269, + "BitStart":5, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":17, + "Id":"sequenceId", + "Name":"Sequence ID", + "BitLength":8, + "BitOffset":272, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":129811, + "Id":"aisSingleSlotBinaryMessageDeprecated", + "Description":"AIS Single Slot Binary Message (Deprecated)", + "Explanation":"Deprecated single-slot addressed binary message (AIS message 25). Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", + "Type":"Fast", + "Complete":false, + "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" + ], + "FieldCount":11, + "MinLength":13, + "Fields":[ + { + "Order":1, + "Id":"sequenceId", + "Name":"Sequence ID", "BitLength":8, + "BitOffset":0, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -42724,76 +47896,123 @@ "FieldType":"NUMBER" }, { - "Order":14, - "Id":"expansionEnabled", - "Name":"Expansion Enabled", + "Order":2, + "Id":"messageId", + "Name":"Message ID", + "BitLength":6, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, + "FieldType":"LOOKUP", + "LookupEnumeration":"AIS_MESSAGE_ID" + }, + { + "Order":3, + "Id":"repeatIndicator", + "Name":"Repeat Indicator", "BitLength":2, + "BitOffset":14, + "BitStart":6, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":3, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"REPEAT_INDICATOR" }, { - "Order":15, - "Id":"reserved", - "Name":"Reserved", - "BitLength":6, + "Order":4, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":32, + "BitOffset":16, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":2000000, + "RangeMax":999999999, + "FieldType":"MMSI", + "PartOfPrimaryKey":true }, { - "Order":16, - "Id":"callingRxFrequencyChannel", - "Name":"Calling Rx Frequency/Channel", - "BitLength":48, - "FieldType":"STRING_FIX" + "Order":5, + "Id":"destinationIndicator", + "Name":"Destination Indicator", + "BitLength":1, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"LOOKUP", + "LookupEnumeration":"BROADCAST_INDICATOR" }, { - "Order":17, - "Id":"callingTxFrequencyChannel", - "Name":"Calling Tx Frequency/Channel", - "BitLength":48, - "FieldType":"STRING_FIX" + "Order":6, + "Id":"binaryDataFlag", + "Name":"Binary data flag", + "BitLength":1, + "BitOffset":49, + "BitStart":1, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"spare", + "Name":"Spare", + "BitLength":1, + "BitOffset":50, + "BitStart":2, + "Resolution":1, + "FieldType":"SPARE" }, { - "Order":18, - "Id":"timeOfReceipt", - "Name":"Time of Receipt", - "Description":"Seconds since midnight", - "BitLength":32, - "Unit":"s", - "Resolution":0.0001, + "Order":8, + "Id":"aisTransceiverInformation", + "Name":"AIS Transceiver information", + "BitLength":5, + "BitOffset":51, + "BitStart":3, + "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":86401, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"TIME", - "PhysicalQuantity":"TIME" + "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, + "FieldType":"LOOKUP", + "LookupEnumeration":"AIS_TRANSCEIVER" }, { - "Order":19, - "Id":"dateOfReceipt", - "Name":"Date of Receipt", - "BitLength":16, - "Unit":"d", + "Order":9, + "Id":"destinationId", + "Name":"Destination ID", + "BitLength":32, + "BitOffset":56, + "BitStart":0, "Resolution":1, "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DATE", - "PhysicalQuantity":"DATE" + "RangeMin":2000000, + "RangeMax":999999999, + "FieldType":"MMSI", + "PartOfPrimaryKey":true }, { - "Order":20, - "Id":"dscEquipmentAssignedMessageId", - "Name":"DSC Equipment Assigned Message ID", + "Order":10, + "Id":"numberOfBitsInBinaryDataField", + "Name":"Number of bits in Binary Data Field", "BitLength":16, + "BitOffset":88, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -42804,58 +48023,70 @@ "FieldType":"NUMBER" }, { - "Order":21, - "Id":"dscExpansionFieldSymbol", - "Name":"DSC Expansion Field Symbol", - "BitLength":8, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"DSC_EXPANSION_DATA" - }, - { - "Order":22, - "Id":"dscExpansionFieldData", - "Name":"DSC Expansion Field Data", + "Order":11, + "Id":"binaryData", + "Name":"Binary Data", "BitLengthVariable":true, - "FieldType":"STRING_LAU" + "BitLengthField":10, + "BitOffset":104, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":129809, - "Id":"aisClassBStaticDataMsg24PartA", - "Description":"AIS Class B static data (msg 24 Part A)", - "Priority":6, - "URL":"https://web.archive.org/web/20251212005646/www.itu.int/rec/R-REC-M.1371-5-201402-I/en", + "PGN":129812, + "Id":"aisMultiSlotBinaryMessageDeprecated", + "Description":"AIS Multi Slot Binary Message (Deprecated)", + "Explanation":"Deprecated multi-slot addressed binary message (AIS message 26): a binary-data slot (number of bits + data) repeats. Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", "Type":"Fast", - "Complete":true, - "FieldCount":7, - "Length":27, - "TransmissionIrregular":true, + "Complete":false, + "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" + ], + "FieldCount":16, + "MinLength":15, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":15, "Fields":[ { "Order":1, + "Id":"sequenceId", + "Name":"Sequence ID", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":2, "Id":"messageId", "Name":"Message ID", "BitLength":6, - "BitOffset":0, + "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, { - "Order":2, + "Order":3, "Id":"repeatIndicator", "Name":"Repeat Indicator", "BitLength":2, - "BitOffset":6, + "BitOffset":14, "BitStart":6, "Resolution":1, "Signed":false, @@ -42865,11 +48096,11 @@ "LookupEnumeration":"REPEAT_INDICATOR" }, { - "Order":3, - "Id":"userId", - "Name":"User ID", + "Order":4, + "Id":"sourceId", + "Name":"Source ID", "BitLength":32, - "BitOffset":8, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, @@ -42879,88 +48110,204 @@ "PartOfPrimaryKey":true }, { - "Order":4, - "Id":"name", - "Name":"Name", - "BitLength":160, - "BitOffset":40, + "Order":5, + "Id":"destinationIndicator", + "Name":"Destination Indicator", + "BitLength":1, + "BitOffset":48, "BitStart":0, - "FieldType":"STRING_FIX" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"LOOKUP", + "LookupEnumeration":"BROADCAST_INDICATOR" }, { - "Order":5, + "Order":6, + "Id":"binaryDataFlag", + "Name":"Binary data flag", + "BitLength":1, + "BitOffset":49, + "BitStart":1, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":50, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":8, "Id":"aisTransceiverInformation", "Name":"AIS Transceiver information", "BitLength":5, - "BitOffset":200, - "BitStart":0, + "BitOffset":52, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, { - "Order":6, - "Id":"reserved", - "Name":"Reserved", + "Order":9, + "Id":"destinationId", + "Name":"Destination ID", + "BitLength":32, + "BitOffset":57, + "BitStart":1, + "Resolution":1, + "Signed":false, + "RangeMin":2000000, + "RangeMax":999999999, + "FieldType":"MMSI", + "PartOfPrimaryKey":true + }, + { + "Order":10, + "Id":"spare10", + "Name":"Spare", "BitLength":3, - "BitOffset":205, + "BitOffset":89, + "BitStart":1, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":11, + "Id":"communicationStateSelectorFlag", + "Name":"Communication state selector flag", + "BitLength":1, + "BitOffset":92, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" + }, + { + "Order":12, + "Id":"communicationState", + "Name":"Communication State", + "BitLength":19, + "BitOffset":93, "BitStart":5, "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":13, + "Id":"spare13", + "Name":"Spare", + "BitLength":3, + "BitOffset":112, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":14, + "Id":"reserved14", + "Name":"Reserved", + "BitLength":5, + "BitOffset":115, + "BitStart":3, + "Resolution":1, "FieldType":"RESERVED" }, { - "Order":7, - "Id":"sequenceId", - "Name":"Sequence ID", - "BitLength":8, - "BitOffset":208, + "Order":15, + "Id":"numberOfBitsInBinaryDataField", + "Name":"Number of Bits in Binary Data Field", + "BitLength":16, + "BitOffset":120, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" + }, + { + "Order":16, + "Id":"binaryData", + "Name":"Binary Data", + "BitLengthVariable":true, + "BitLengthField":15, + "BitOffset":136, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":129810, - "Id":"aisClassBStaticDataMsg24PartB", - "Description":"AIS Class B static data (msg 24 Part B)", - "Priority":6, - "URL":"https://web.archive.org/web/20251212005646/www.itu.int/rec/R-REC-M.1371-5-201402-I/en", + "PGN":129813, + "Id":"aisLongRangeBroadcastMessage", + "Description":"AIS Long-Range Broadcast Message", + "Explanation":"Long-range broadcast (AIS message 27). Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", "Type":"Fast", - "Complete":true, - "FieldCount":17, - "Length":35, - "TransmissionIrregular":true, + "Complete":false, + "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" + ], + "FieldCount":15, + "Length":20, "Fields":[ { "Order":1, + "Id":"sequenceId", + "Name":"Sequence ID", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":2, "Id":"messageId", "Name":"Message ID", "BitLength":6, - "BitOffset":0, + "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, { - "Order":2, + "Order":3, "Id":"repeatIndicator", "Name":"Repeat Indicator", "BitLength":2, - "BitOffset":6, + "BitOffset":14, "BitStart":6, "Resolution":1, "Signed":false, @@ -42970,11 +48317,11 @@ "LookupEnumeration":"REPEAT_INDICATOR" }, { - "Order":3, + "Order":4, "Id":"userId", "Name":"User ID", "BitLength":32, - "BitOffset":8, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, @@ -42983,211 +48330,183 @@ "FieldType":"MMSI", "PartOfPrimaryKey":true }, - { - "Order":4, - "Id":"typeOfShip", - "Name":"Type of ship", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SHIP_TYPE" - }, { "Order":5, - "Id":"vendorId", - "Name":"Vendor ID", - "BitLength":56, + "Id":"longitude", + "Name":"Longitude", + "BitLength":32, "BitOffset":48, "BitStart":0, - "FieldType":"STRING_FIX" + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-180, + "RangeMax":180, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" }, { "Order":6, - "Id":"callsign", - "Name":"Callsign", - "BitLength":56, - "BitOffset":104, + "Id":"latitude", + "Name":"Latitude", + "BitLength":32, + "BitOffset":80, "BitStart":0, - "FieldType":"STRING_FIX" + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-90, + "RangeMax":90, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" }, { "Order":7, - "Id":"length", - "Name":"Length", - "BitLength":16, - "BitOffset":160, + "Id":"positionAccuracy", + "Name":"Position Accuracy", + "BitLength":1, + "BitOffset":112, "BitStart":0, - "Unit":"m", - "Resolution":0.1, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6553.2, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"LENGTH" + "RangeMax":1, + "FieldType":"LOOKUP", + "LookupEnumeration":"POSITION_ACCURACY" }, { "Order":8, - "Id":"beam", - "Name":"Beam", - "BitLength":16, - "BitOffset":176, - "BitStart":0, - "Unit":"m", - "Resolution":0.1, + "Id":"raim", + "Name":"RAIM", + "BitLength":1, + "BitOffset":113, + "BitStart":1, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6553.2, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"LENGTH" + "RangeMax":1, + "FieldType":"LOOKUP", + "LookupEnumeration":"RAIM_FLAG" }, { "Order":9, - "Id":"positionReferenceFromStarboard", - "Name":"Position reference from Starboard", - "BitLength":16, - "BitOffset":192, - "BitStart":0, - "Unit":"m", - "Resolution":0.1, + "Id":"navStatus", + "Name":"Nav Status", + "BitLength":4, + "BitOffset":114, + "BitStart":2, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6553.2, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"LENGTH" + "RangeMax":14, + "UnknownValue":15, + "FieldType":"LOOKUP", + "LookupEnumeration":"NAV_STATUS" }, { "Order":10, - "Id":"positionReferenceFromBow", - "Name":"Position reference from Bow", - "BitLength":16, - "BitOffset":208, - "BitStart":0, - "Unit":"m", - "Resolution":0.1, + "Id":"positionLatency", + "Name":"Position Latency", + "BitLength":1, + "BitOffset":118, + "BitStart":6, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6553.2, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"LENGTH" + "RangeMax":1, + "FieldType":"NUMBER" }, { "Order":11, - "Id":"mothershipUserId", - "Name":"Mothership User ID", - "BitLength":32, - "BitOffset":224, - "BitStart":0, + "Id":"spare", + "Name":"Spare", + "BitLength":1, + "BitOffset":119, + "BitStart":7, "Resolution":1, - "Signed":false, - "RangeMin":2000000, - "RangeMax":999999999, - "FieldType":"MMSI", - "PartOfPrimaryKey":true + "FieldType":"SPARE" }, { "Order":12, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":256, + "Id":"sog", + "Name":"SOG", + "BitLength":16, + "BitOffset":120, "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "Unit":"m/s", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"SPEED" }, { "Order":13, - "Id":"spare13", - "Name":"Spare", - "BitLength":2, - "BitOffset":258, - "BitStart":2, - "Resolution":1, - "FieldType":"SPARE" - }, - { - "Order":14, - "Id":"gnssType", - "Name":"GNSS type", - "BitLength":4, - "BitOffset":260, - "BitStart":4, - "Resolution":1, + "Id":"cog", + "Name":"COG", + "BitLength":16, + "BitOffset":136, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"POSITION_FIX_DEVICE" + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" }, { - "Order":15, + "Order":14, "Id":"aisTransceiverInformation", "Name":"AIS Transceiver information", "BitLength":5, - "BitOffset":264, + "BitOffset":152, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, { - "Order":16, - "Id":"reserved16", + "Order":15, + "Id":"reserved15", "Name":"Reserved", "BitLength":3, - "BitOffset":269, + "BitOffset":157, "BitStart":5, "Resolution":1, "FieldType":"RESERVED" - }, - { - "Order":17, - "Id":"sequenceId", - "Name":"Sequence ID", - "BitLength":8, - "BitOffset":272, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" } ] }, { - "PGN":129811, - "Id":"aisSingleSlotBinaryMessageDeprecated", - "Description":"AIS Single Slot Binary Message (Deprecated)", - "Explanation":"Deprecated single-slot addressed binary message (AIS message 25). Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", + "PGN":129814, + "Id":"aisSingleSlotBinaryMessage", + "Description":"AIS Single Slot Binary Message", + "Explanation":"Single-slot addressed binary message (AIS message 25). Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", "Type":"Fast", "Complete":false, "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" ], - "FieldCount":11, - "MinLength":13, + "FieldCount":12, + "MinLength":14, "Fields":[ { "Order":1, @@ -43216,6 +48535,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -43286,24 +48607,36 @@ }, { "Order":8, + "Id":"reserved8", + "Name":"Reserved", + "BitLength":8, + "BitOffset":51, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":9, "Id":"aisTransceiverInformation", "Name":"AIS Transceiver information", "BitLength":5, - "BitOffset":51, + "BitOffset":59, "BitStart":3, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, { - "Order":9, + "Order":10, "Id":"destinationId", "Name":"Destination ID", "BitLength":32, - "BitOffset":56, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, @@ -43313,11 +48646,11 @@ "PartOfPrimaryKey":true }, { - "Order":10, + "Order":11, "Id":"numberOfBitsInBinaryDataField", "Name":"Number of bits in Binary Data Field", "BitLength":16, - "BitOffset":88, + "BitOffset":96, "BitStart":0, "Resolution":1, "Signed":false, @@ -43329,12 +48662,12 @@ "FieldType":"NUMBER" }, { - "Order":11, + "Order":12, "Id":"binaryData", "Name":"Binary Data", "BitLengthVariable":true, - "BitLengthField":10, - "BitOffset":104, + "BitLengthField":11, + "BitOffset":112, "BitStart":0, "Resolution":1, "FieldType":"BINARY" @@ -43342,18 +48675,16 @@ ] }, { - "PGN":129812, - "Id":"aisMultiSlotBinaryMessageDeprecated", - "Description":"AIS Multi Slot Binary Message (Deprecated)", - "Explanation":"Deprecated multi-slot addressed binary message (AIS message 26): a binary-data slot (number of bits + data) repeats. Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", + "PGN":129815, + "Id":"aisMultiSlotBinaryMessage", + "Description":"AIS Multi Slot Binary Message", + "Explanation":"Multi-slot addressed binary message (AIS message 26). Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", "Type":"Fast", "Complete":false, "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" ], "FieldCount":16, - "MinLength":15, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":15, + "MinLength":17, "Fields":[ { "Order":1, @@ -43382,6 +48713,8 @@ "Signed":false, "RangeMin":0, "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_MESSAGE_ID" }, @@ -43452,363 +48785,883 @@ }, { "Order":8, + "Id":"destinationId", + "Name":"Destination ID", + "BitLength":32, + "BitOffset":52, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":2000000, + "RangeMax":999999999, + "FieldType":"MMSI", + "PartOfPrimaryKey":true + }, + { + "Order":9, + "Id":"spare9", + "Name":"Spare", + "BitLength":3, + "BitOffset":84, + "BitStart":4, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":10, + "Id":"communicationStateSelectorFlag", + "Name":"Communication state selector flag", + "BitLength":1, + "BitOffset":87, + "BitStart":7, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" + }, + { + "Order":11, + "Id":"communicationState", + "Name":"Communication State", + "BitLength":19, + "BitOffset":88, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":12, + "Id":"spare12", + "Name":"Spare", + "BitLength":3, + "BitOffset":107, + "BitStart":3, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":13, "Id":"aisTransceiverInformation", "Name":"AIS Transceiver information", "BitLength":5, - "BitOffset":52, - "BitStart":4, + "BitOffset":110, + "BitStart":6, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, + "FieldType":"LOOKUP", + "LookupEnumeration":"AIS_TRANSCEIVER" + }, + { + "Order":14, + "Id":"reserved14", + "Name":"Reserved", + "BitLength":5, + "BitOffset":115, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":15, + "Id":"numberOfBitsInBinaryDataField", + "Name":"Number of Bits in Binary Data Field", + "BitLength":16, + "BitOffset":120, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":16, + "Id":"binaryData", + "Name":"Binary Data", + "BitLengthVariable":true, + "BitLengthField":15, + "BitOffset":136, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":129816, + "Id":"aisAcknowledgeBinary", + "Description":"AIS Acknowledge (Binary)", + "Explanation":"Acknowledgment of received addressed binary messages; the destination/sequence triple repeats per acknowledgment. Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", + "Type":"Fast", + "Complete":false, + "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" + ], + "FieldCount":11, + "MinLength":8, + "RepeatingFieldSet1Size":3, + "RepeatingFieldSet1StartField":9, + "RepeatingFieldSet1CountField":8, + "Fields":[ + { + "Order":1, + "Id":"sequenceId", + "Name":"Sequence ID", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":2, + "Id":"messageId", + "Name":"Message ID", + "BitLength":6, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, + "FieldType":"LOOKUP", + "LookupEnumeration":"AIS_MESSAGE_ID" + }, + { + "Order":3, + "Id":"repeatIndicator", + "Name":"Repeat Indicator", + "BitLength":2, + "BitOffset":14, + "BitStart":6, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"REPEAT_INDICATOR" + }, + { + "Order":4, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":32, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":2000000, + "RangeMax":999999999, + "FieldType":"MMSI", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":6, + "Id":"aisTransceiverInformation", + "Name":"AIS Transceiver information", + "BitLength":5, + "BitOffset":50, + "BitStart":2, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, "FieldType":"LOOKUP", "LookupEnumeration":"AIS_TRANSCEIVER" }, + { + "Order":7, + "Id":"spare7", + "Name":"Spare", + "BitLength":1, + "BitOffset":55, + "BitStart":7, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":8, + "Id":"numberOfAcknowledgments", + "Name":"Number of Acknowledgments", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"destinationId", + "Name":"Destination ID", + "BitLength":32, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":2000000, + "RangeMax":999999999, + "FieldType":"MMSI", + "PartOfPrimaryKey":true + }, + { + "Order":10, + "Id":"sequenceNumber", + "Name":"Sequence Number", + "BitLength":2, + "BitOffset":96, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":3, + "FieldType":"NUMBER" + }, + { + "Order":11, + "Id":"reserved11", + "Name":"Reserved", + "BitLength":6, + "BitOffset":98, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130052, + "Id":"loranCTdData", + "Description":"Loran-C TD Data", + "Priority":3, + "Type":"Fast", + "Complete":false, + "Missing":["SampleData" + ], + "FieldCount":15, + "Length":32, + "TransmissionInterval":1000, + "Fields":[ + { + "Order":1, + "Id":"groupRepetitionIntervalGri", + "Name":"Group Repetition Interval (GRI)", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":2, + "Id":"masterRange", + "Name":"Master Range", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":3, + "Id":"vSecondaryTd", + "Name":"V Secondary TD", + "BitLength":32, + "BitOffset":64, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":4, + "Id":"wSecondaryTd", + "Name":"W Secondary TD", + "BitLength":32, + "BitOffset":96, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":5, + "Id":"xSecondaryTd", + "Name":"X Secondary TD", + "BitLength":32, + "BitOffset":128, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":6, + "Id":"ySecondaryTd", + "Name":"Y Secondary TD", + "BitLength":32, + "BitOffset":160, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":7, + "Id":"zSecondaryTd", + "Name":"Z Secondary TD", + "BitLength":32, + "BitOffset":192, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":8, + "Id":"stationStatusMaster", + "Name":"Station status: Master", + "BitLength":4, + "BitOffset":224, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" + }, { "Order":9, - "Id":"destinationId", - "Name":"Destination ID", - "BitLength":32, - "BitOffset":57, - "BitStart":1, + "Id":"stationStatusV", + "Name":"Station status: V", + "BitLength":4, + "BitOffset":228, + "BitStart":4, "Resolution":1, - "Signed":false, - "RangeMin":2000000, - "RangeMax":999999999, - "FieldType":"MMSI", - "PartOfPrimaryKey":true + "RangeMin":0, + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":10, - "Id":"spare10", - "Name":"Spare", - "BitLength":3, - "BitOffset":89, - "BitStart":1, + "Id":"stationStatusW", + "Name":"Station status: W", + "BitLength":4, + "BitOffset":232, + "BitStart":0, "Resolution":1, - "FieldType":"SPARE" + "RangeMin":0, + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":11, - "Id":"communicationStateSelectorFlag", - "Name":"Communication state selector flag", - "BitLength":1, - "BitOffset":92, + "Id":"stationStatusX", + "Name":"Station status: X", + "BitLength":4, + "BitOffset":236, "BitStart":4, "Resolution":1, - "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"NUMBER" + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":12, - "Id":"communicationState", - "Name":"Communication State", - "BitLength":19, - "BitOffset":93, - "BitStart":5, + "Id":"stationStatusY", + "Name":"Station status: Y", + "BitLength":4, + "BitOffset":240, + "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "RangeMin":0, + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":13, - "Id":"spare13", - "Name":"Spare", - "BitLength":3, - "BitOffset":112, - "BitStart":0, + "Id":"stationStatusZ", + "Name":"Station status: Z", + "BitLength":4, + "BitOffset":244, + "BitStart":4, "Resolution":1, - "FieldType":"SPARE" + "RangeMin":0, + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":14, - "Id":"reserved14", - "Name":"Reserved", - "BitLength":5, - "BitOffset":115, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":15, - "Id":"numberOfBitsInBinaryDataField", - "Name":"Number of Bits in Binary Data Field", - "BitLength":16, - "BitOffset":120, + "Id":"mode", + "Name":"Mode", + "BitLength":4, + "BitOffset":248, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"RESIDUAL_MODE" }, { - "Order":16, - "Id":"binaryData", - "Name":"Binary Data", - "BitLengthVariable":true, - "BitLengthField":15, - "BitOffset":136, - "BitStart":0, + "Order":15, + "Id":"reserved", + "Name":"Reserved", + "BitLength":4, + "BitOffset":252, + "BitStart":4, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" } ] }, { - "PGN":129813, - "Id":"aisLongRangeBroadcastMessage", - "Description":"AIS Long-Range Broadcast Message", - "Explanation":"Long-range broadcast (AIS message 27). Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", + "PGN":130053, + "Id":"loranCRangeData", + "Description":"Loran-C Range Data", + "Priority":3, "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" + "Missing":["SampleData" ], "FieldCount":15, - "Length":20, + "Length":32, + "TransmissionInterval":1000, "Fields":[ { "Order":1, - "Id":"sequenceId", - "Name":"Sequence ID", - "BitLength":8, + "Id":"groupRepetitionIntervalGri", + "Name":"Group Repetition Interval (GRI)", + "BitLength":32, "BitOffset":0, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { "Order":2, - "Id":"messageId", - "Name":"Message ID", - "BitLength":6, - "BitOffset":8, + "Id":"masterRange", + "Name":"Master Range", + "BitLength":32, + "BitOffset":32, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":61, - "FieldType":"LOOKUP", - "LookupEnumeration":"AIS_MESSAGE_ID" + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { "Order":3, - "Id":"repeatIndicator", - "Name":"Repeat Indicator", - "BitLength":2, - "BitOffset":14, - "BitStart":6, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":3, - "FieldType":"LOOKUP", - "LookupEnumeration":"REPEAT_INDICATOR" + "Id":"vSecondaryRange", + "Name":"V Secondary Range", + "BitLength":32, + "BitOffset":64, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { "Order":4, - "Id":"userId", - "Name":"User ID", + "Id":"wSecondaryRange", + "Name":"W Secondary Range", "BitLength":32, - "BitOffset":16, + "BitOffset":96, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":2000000, - "RangeMax":999999999, - "FieldType":"MMSI", - "PartOfPrimaryKey":true + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { "Order":5, - "Id":"longitude", - "Name":"Longitude", + "Id":"xSecondaryRange", + "Name":"X Secondary Range", "BitLength":32, - "BitOffset":48, + "BitOffset":128, "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, + "Unit":"s", + "Resolution":1e-09, "Signed":true, - "RangeMin":-180, - "RangeMax":180, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, "UnknownValue":2147483647, "OutOfRangeValue":2147483646, "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { "Order":6, - "Id":"latitude", - "Name":"Latitude", + "Id":"ySecondaryRange", + "Name":"Y Secondary Range", "BitLength":32, - "BitOffset":80, + "BitOffset":160, "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, + "Unit":"s", + "Resolution":1e-09, "Signed":true, - "RangeMin":-90, - "RangeMax":90, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, "UnknownValue":2147483647, "OutOfRangeValue":2147483646, "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { "Order":7, - "Id":"positionAccuracy", - "Name":"Position Accuracy", - "BitLength":1, - "BitOffset":112, + "Id":"zSecondaryRange", + "Name":"Z Secondary Range", + "BitLength":32, + "BitOffset":192, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":1, - "FieldType":"LOOKUP", - "LookupEnumeration":"POSITION_ACCURACY" + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { "Order":8, - "Id":"raim", - "Name":"RAIM", - "BitLength":1, - "BitOffset":113, - "BitStart":1, + "Id":"stationStatusMaster", + "Name":"Station status: Master", + "BitLength":4, + "BitOffset":224, + "BitStart":0, "Resolution":1, - "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"LOOKUP", - "LookupEnumeration":"RAIM_FLAG" + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":9, - "Id":"navStatus", - "Name":"Nav Status", + "Id":"stationStatusV", + "Name":"Station status: V", "BitLength":4, - "BitOffset":114, - "BitStart":2, + "BitOffset":228, + "BitStart":4, "Resolution":1, - "Signed":false, "RangeMin":0, - "RangeMax":14, - "FieldType":"LOOKUP", - "LookupEnumeration":"NAV_STATUS" + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":10, - "Id":"positionLatency", - "Name":"Position Latency", - "BitLength":1, - "BitOffset":118, - "BitStart":6, + "Id":"stationStatusW", + "Name":"Station status: W", + "BitLength":4, + "BitOffset":232, + "BitStart":0, "Resolution":1, - "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"NUMBER" + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":11, - "Id":"spare", - "Name":"Spare", - "BitLength":1, - "BitOffset":119, - "BitStart":7, + "Id":"stationStatusX", + "Name":"Station status: X", + "BitLength":4, + "BitOffset":236, + "BitStart":4, "Resolution":1, - "FieldType":"SPARE" + "RangeMin":0, + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":12, - "Id":"sog", - "Name":"SOG", - "BitLength":16, - "BitOffset":120, + "Id":"stationStatusY", + "Name":"Station status: Y", + "BitLength":4, + "BitOffset":240, "BitStart":0, - "Unit":"m/s", - "Resolution":0.01, - "Signed":false, + "Resolution":1, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":13, - "Id":"cog", - "Name":"COG", - "BitLength":16, - "BitOffset":136, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, - "Signed":false, + "Id":"stationStatusZ", + "Name":"Station status: Z", + "BitLength":4, + "BitOffset":244, + "BitStart":4, + "Resolution":1, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":15, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"STATION_STATUS" }, { "Order":14, - "Id":"aisTransceiverInformation", - "Name":"AIS Transceiver information", - "BitLength":5, - "BitOffset":152, + "Id":"mode", + "Name":"Mode", + "BitLength":4, + "BitOffset":248, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":29, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"AIS_TRANSCEIVER" + "LookupEnumeration":"RESIDUAL_MODE" }, { "Order":15, - "Id":"reserved15", + "Id":"reserved", "Name":"Reserved", - "BitLength":3, - "BitOffset":157, - "BitStart":5, + "BitLength":4, + "BitOffset":252, + "BitStart":4, "Resolution":1, "FieldType":"RESERVED" } ] }, { - "PGN":129814, - "Id":"aisSingleSlotBinaryMessage", - "Description":"AIS Single Slot Binary Message", - "Explanation":"Single-slot addressed binary message (AIS message 25). Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", + "PGN":130054, + "Id":"loranCSignalData", + "Description":"Loran-C Signal Data", + "Priority":3, + "Type":"Fast", + "Complete":false, + "Missing":["SampleData" + ], + "FieldCount":5, + "Length":15, + "TransmissionInterval":1000, + "Fields":[ + { + "Order":1, + "Id":"groupRepetitionIntervalGri", + "Name":"Group Repetition Interval (GRI)", + "BitLength":32, + "BitOffset":0, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":2, + "Id":"stationIdentifier", + "Name":"Station identifier", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "FieldType":"STRING_FIX" + }, + { + "Order":3, + "Id":"stationSnr", + "Name":"Station SNR", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Unit":"dB", + "Resolution":0.01, + "Signed":true, + "RangeMin":-327.67, + "RangeMax":327.64, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"SIGNAL_TO_NOISE_RATIO" + }, + { + "Order":4, + "Id":"stationEcd", + "Name":"Station ECD", + "BitLength":32, + "BitOffset":56, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":5, + "Id":"stationAsf", + "Name":"Station ASF", + "BitLength":32, + "BitOffset":88, + "BitStart":0, + "Unit":"s", + "Resolution":1e-09, + "Signed":true, + "RangeMin":-2.147483647, + "RangeMax":2.147483644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + } + ] + }, + { + "PGN":130060, + "Id":"label", + "Description":"Label", "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":12, - "MinLength":14, + "FieldCount":8, + "MinLength":9, "Fields":[ { "Order":1, - "Id":"sequenceId", - "Name":"Sequence ID", + "Id":"hardwareChannelId", + "Name":"Hardware Channel ID", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -43823,166 +49676,122 @@ }, { "Order":2, - "Id":"messageId", - "Name":"Message ID", - "BitLength":6, + "Id":"pgn", + "Name":"PGN", + "BitLength":24, "BitOffset":8, "BitStart":0, "Resolution":1, - "Signed":false, "RangeMin":0, - "RangeMax":61, - "FieldType":"LOOKUP", - "LookupEnumeration":"AIS_MESSAGE_ID" + "RangeMax":262143, + "FieldType":"PGN" }, { "Order":3, - "Id":"repeatIndicator", - "Name":"Repeat Indicator", - "BitLength":2, - "BitOffset":14, - "BitStart":6, + "Id":"dataSourceInstanceFieldNumber", + "Name":"Data Source Instance Field Number", + "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":3, - "FieldType":"LOOKUP", - "LookupEnumeration":"REPEAT_INDICATOR" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":4, - "Id":"sourceId", - "Name":"Source ID", - "BitLength":32, - "BitOffset":16, + "Id":"dataSourceInstanceValue", + "Name":"Data Source Instance Value", + "BitLength":8, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, - "RangeMin":2000000, - "RangeMax":999999999, - "FieldType":"MMSI", - "PartOfPrimaryKey":true + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"destinationIndicator", - "Name":"Destination Indicator", - "BitLength":1, + "Id":"secondaryEnumerationFieldNumber", + "Name":"Secondary Enumeration Field Number", + "BitLength":8, "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"LOOKUP", - "LookupEnumeration":"BROADCAST_INDICATOR" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"binaryDataFlag", - "Name":"Binary data flag", - "BitLength":1, - "BitOffset":49, - "BitStart":1, + "Id":"secondaryEnumerationFieldValue", + "Name":"Secondary Enumeration Field Value", + "BitLength":8, + "BitOffset":56, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":7, - "Id":"spare", - "Name":"Spare", - "BitLength":1, - "BitOffset":50, - "BitStart":2, - "Resolution":1, - "FieldType":"SPARE" - }, - { - "Order":8, - "Id":"reserved8", - "Name":"Reserved", + "Id":"parameterFieldNumber", + "Name":"Parameter Field Number", "BitLength":8, - "BitOffset":51, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":9, - "Id":"aisTransceiverInformation", - "Name":"AIS Transceiver information", - "BitLength":5, - "BitOffset":59, - "BitStart":3, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":29, - "FieldType":"LOOKUP", - "LookupEnumeration":"AIS_TRANSCEIVER" - }, - { - "Order":10, - "Id":"destinationId", - "Name":"Destination ID", - "BitLength":32, "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, - "RangeMin":2000000, - "RangeMax":999999999, - "FieldType":"MMSI", - "PartOfPrimaryKey":true - }, - { - "Order":11, - "Id":"numberOfBitsInBinaryDataField", - "Name":"Number of bits in Binary Data Field", - "BitLength":16, - "BitOffset":96, - "BitStart":0, - "Resolution":1, - "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":12, - "Id":"binaryData", - "Name":"Binary Data", + "Order":8, + "Id":"label", + "Name":"Label", "BitLengthVariable":true, - "BitLengthField":11, - "BitOffset":112, + "BitOffset":72, "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" + "FieldType":"STRING_LAU" } ] }, { - "PGN":129815, - "Id":"aisMultiSlotBinaryMessage", - "Description":"AIS Multi Slot Binary Message", - "Explanation":"Multi-slot addressed binary message (AIS message 26). Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", + "PGN":130061, + "Id":"channelSourceConfiguration", + "Description":"Channel Source Configuration", "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" + "Missing":["Resolution","SampleData","Interval" ], - "FieldCount":16, - "MinLength":17, + "FieldCount":11, + "Length":19, "Fields":[ { "Order":1, - "Id":"sequenceId", - "Name":"Sequence ID", + "Id":"dataSourceChannelId", + "Name":"Data Source Channel ID", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -43997,1252 +49806,940 @@ }, { "Order":2, - "Id":"messageId", - "Name":"Message ID", - "BitLength":6, + "Id":"sourceSelectionStatus", + "Name":"Source Selection Status", + "BitLength":2, "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":61, - "FieldType":"LOOKUP", - "LookupEnumeration":"AIS_MESSAGE_ID" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { "Order":3, - "Id":"repeatIndicator", - "Name":"Repeat Indicator", + "Id":"reserved", + "Name":"Reserved", "BitLength":2, - "BitOffset":14, - "BitStart":6, + "BitOffset":10, + "BitStart":2, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":3, - "FieldType":"LOOKUP", - "LookupEnumeration":"REPEAT_INDICATOR" + "FieldType":"RESERVED" }, { "Order":4, - "Id":"sourceId", - "Name":"Source ID", - "BitLength":32, - "BitOffset":16, - "BitStart":0, + "Id":"nameSelectionCriteriaMask", + "Name":"NAME Selection Criteria Mask", + "BitLength":12, + "BitOffset":12, + "BitStart":4, "Resolution":1, - "Signed":false, - "RangeMin":2000000, - "RangeMax":999999999, - "FieldType":"MMSI", - "PartOfPrimaryKey":true + "FieldType":"BINARY" }, { "Order":5, - "Id":"destinationIndicator", - "Name":"Destination Indicator", - "BitLength":1, - "BitOffset":48, + "Id":"sourceName", + "Name":"Source NAME", + "BitLength":64, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"LOOKUP", - "LookupEnumeration":"BROADCAST_INDICATOR" + "RangeMax":18446744073709551615, + "FieldType":"ISO_NAME" }, { "Order":6, - "Id":"binaryDataFlag", - "Name":"Binary data flag", - "BitLength":1, - "BitOffset":49, - "BitStart":1, + "Id":"pgn", + "Name":"PGN", + "BitLength":24, + "BitOffset":88, + "BitStart":0, "Resolution":1, - "Signed":false, "RangeMin":0, - "RangeMax":1, - "FieldType":"NUMBER" + "RangeMax":262143, + "FieldType":"PGN" }, { "Order":7, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":50, - "BitStart":2, + "Id":"dataSourceInstanceFieldNumber", + "Name":"Data Source Instance Field Number", + "BitLength":8, + "BitOffset":112, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"destinationId", - "Name":"Destination ID", - "BitLength":32, - "BitOffset":52, - "BitStart":4, + "Id":"dataSourceInstanceValue", + "Name":"Data Source Instance Value", + "BitLength":8, + "BitOffset":120, + "BitStart":0, "Resolution":1, "Signed":false, - "RangeMin":2000000, - "RangeMax":999999999, - "FieldType":"MMSI", - "PartOfPrimaryKey":true + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":9, - "Id":"spare9", - "Name":"Spare", - "BitLength":3, - "BitOffset":84, - "BitStart":4, - "Resolution":1, - "FieldType":"SPARE" - }, - { - "Order":10, - "Id":"communicationStateSelectorFlag", - "Name":"Communication state selector flag", - "BitLength":1, - "BitOffset":87, - "BitStart":7, + "Id":"secondaryEnumerationFieldNumber", + "Name":"Secondary Enumeration Field Number", + "BitLength":8, + "BitOffset":128, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":1, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":11, - "Id":"communicationState", - "Name":"Communication State", - "BitLength":19, - "BitOffset":88, + "Order":10, + "Id":"secondaryEnumerationFieldValue", + "Name":"Secondary Enumeration Field Value", + "BitLength":8, + "BitOffset":136, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" - }, - { - "Order":12, - "Id":"spare12", - "Name":"Spare", - "BitLength":3, - "BitOffset":107, - "BitStart":3, - "Resolution":1, - "FieldType":"SPARE" - }, - { - "Order":13, - "Id":"aisTransceiverInformation", - "Name":"AIS Transceiver information", - "BitLength":5, - "BitOffset":110, - "BitStart":6, - "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":29, - "FieldType":"LOOKUP", - "LookupEnumeration":"AIS_TRANSCEIVER" - }, - { - "Order":14, - "Id":"reserved14", - "Name":"Reserved", - "BitLength":5, - "BitOffset":115, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":15, - "Id":"numberOfBitsInBinaryDataField", - "Name":"Number of Bits in Binary Data Field", - "BitLength":16, - "BitOffset":120, + "Order":11, + "Id":"parameterFieldNumber", + "Name":"Parameter Field Number", + "BitLength":8, + "BitOffset":144, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" - }, - { - "Order":16, - "Id":"binaryData", - "Name":"Binary Data", - "BitLengthVariable":true, - "BitLengthField":15, - "BitOffset":136, - "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" } ] }, { - "PGN":129816, - "Id":"aisAcknowledgeBinary", - "Description":"AIS Acknowledge (Binary)", - "Explanation":"Acknowledgment of received addressed binary messages; the destination/sequence triple repeats per acknowledgment. Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", + "PGN":130064, + "Id":"routeAndWpServiceDatabaseList", + "Description":"Route and WP Service - Database List", + "Priority":7, "Type":"Fast", - "Complete":false, - "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" - ], - "FieldCount":11, - "MinLength":8, - "RepeatingFieldSet1Size":3, - "RepeatingFieldSet1StartField":9, - "RepeatingFieldSet1CountField":8, + "Complete":true, + "FieldCount":12, + "MinLength":6, + "RepeatingFieldSet1Size":9, + "RepeatingFieldSet1StartField":4, + "RepeatingFieldSet1CountField":2, + "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"sequenceId", - "Name":"Sequence ID", - "BitLength":8, + "Id":"startDatabaseId", + "Name":"Start Database ID", + "BitLength":16, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":2, - "Id":"messageId", - "Name":"Message ID", - "BitLength":6, - "BitOffset":8, + "Id":"nitems", + "Name":"nItems", + "BitLength":16, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":61, - "FieldType":"LOOKUP", - "LookupEnumeration":"AIS_MESSAGE_ID" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":3, - "Id":"repeatIndicator", - "Name":"Repeat Indicator", - "BitLength":2, - "BitOffset":14, - "BitStart":6, + "Id":"numberOfDatabasesAvailable", + "Name":"Number of Databases Available", + "BitLength":16, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":3, - "FieldType":"LOOKUP", - "LookupEnumeration":"REPEAT_INDICATOR" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":4, - "Id":"sourceId", - "Name":"Source ID", - "BitLength":32, - "BitOffset":16, + "Id":"databaseId", + "Name":"Database ID", + "BitLength":16, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, - "RangeMin":2000000, - "RangeMax":999999999, - "FieldType":"MMSI", - "PartOfPrimaryKey":true + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"databaseName", + "Name":"Database Name", + "BitLengthVariable":true, + "BitOffset":64, + "BitStart":0, + "FieldType":"STRING_LAU" + }, + { + "Order":6, + "Id":"databaseTimestamp", + "Name":"Database Timestamp", + "Description":"Seconds since midnight", + "BitLength":32, + "Unit":"s", + "Resolution":0.0001, + "RangeMin":0, + "RangeMax":86401, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"TIME", + "PhysicalQuantity":"TIME" }, { - "Order":5, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":48, - "BitStart":0, + "Order":7, + "Id":"databaseDatestamp", + "Name":"Database Datestamp", + "BitLength":16, + "Unit":"d", "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DATE", + "PhysicalQuantity":"DATE" }, { - "Order":6, - "Id":"aisTransceiverInformation", - "Name":"AIS Transceiver information", - "BitLength":5, - "BitOffset":50, - "BitStart":2, + "Order":8, + "Id":"wpPositionResolution", + "Name":"WP Position Resolution", + "BitLength":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":29, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"AIS_TRANSCEIVER" + "LookupEnumeration":"WP_POSITION_RESOLUTION" }, { - "Order":7, - "Id":"spare7", - "Name":"Spare", - "BitLength":1, - "BitOffset":55, - "BitStart":7, + "Order":9, + "Id":"reserved", + "Name":"Reserved", + "BitLength":4, "Resolution":1, - "FieldType":"SPARE" + "FieldType":"RESERVED" }, { - "Order":8, - "Id":"numberOfAcknowledgments", - "Name":"Number of Acknowledgments", - "BitLength":8, - "BitOffset":56, - "BitStart":0, + "Order":10, + "Id":"numberOfRoutesInDatabase", + "Name":"Number of Routes in Database", + "BitLength":16, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { - "Order":9, - "Id":"destinationId", - "Name":"Destination ID", + "Order":11, + "Id":"numberOfWpsInDatabase", + "Name":"Number of WPs in Database", "BitLength":32, - "BitOffset":64, - "BitStart":0, "Resolution":1, "Signed":false, - "RangeMin":2000000, - "RangeMax":999999999, - "FieldType":"MMSI", - "PartOfPrimaryKey":true + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { - "Order":10, - "Id":"sequenceNumber", - "Name":"Sequence Number", - "BitLength":2, - "BitOffset":96, - "BitStart":0, + "Order":12, + "Id":"numberOfBytesInDatabase", + "Name":"Number of Bytes in Database", + "BitLength":32, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":3, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"NUMBER" - }, - { - "Order":11, - "Id":"reserved11", - "Name":"Reserved", - "BitLength":6, - "BitOffset":98, - "BitStart":2, - "Resolution":1, - "FieldType":"RESERVED" } ] }, { - "PGN":130052, - "Id":"loranCTdData", - "Description":"Loran-C TD Data", - "Priority":3, + "PGN":130065, + "Id":"routeAndWpServiceRouteList", + "Description":"Route and WP Service - Route List", + "Priority":7, "Type":"Fast", - "Complete":false, - "Missing":["SampleData" - ], - "FieldCount":15, - "Length":32, - "TransmissionInterval":1000, + "Complete":true, + "FieldCount":9, + "MinLength":8, + "RepeatingFieldSet1Size":5, + "RepeatingFieldSet1StartField":5, + "RepeatingFieldSet1CountField":2, + "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"groupRepetitionIntervalGri", - "Name":"Group Repetition Interval (GRI)", - "BitLength":32, + "Id":"startRouteId", + "Name":"Start Route ID", + "BitLength":16, "BitOffset":0, "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":2, - "Id":"masterRange", - "Name":"Master Range", - "BitLength":32, - "BitOffset":32, + "Id":"nitems", + "Name":"nItems", + "BitLength":16, + "BitOffset":16, "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":3, - "Id":"vSecondaryTd", - "Name":"V Secondary TD", - "BitLength":32, - "BitOffset":64, + "Id":"numberOfRoutesInDatabase", + "Name":"Number of Routes in Database", + "BitLength":16, + "BitOffset":32, "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":4, - "Id":"wSecondaryTd", - "Name":"W Secondary TD", - "BitLength":32, - "BitOffset":96, + "Id":"databaseId", + "Name":"Database ID", + "BitLength":16, + "BitOffset":48, "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"xSecondaryTd", - "Name":"X Secondary TD", - "BitLength":32, - "BitOffset":128, + "Id":"routeId", + "Name":"Route ID", + "BitLength":16, + "BitOffset":64, "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"ySecondaryTd", - "Name":"Y Secondary TD", - "BitLength":32, - "BitOffset":160, + "Id":"routeName", + "Name":"Route Name", + "BitLengthVariable":true, + "BitOffset":80, "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "FieldType":"STRING_LAU" }, { "Order":7, - "Id":"zSecondaryTd", - "Name":"Z Secondary TD", - "BitLength":32, - "BitOffset":192, - "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "Resolution":1, + "FieldType":"RESERVED" }, { "Order":8, - "Id":"stationStatusMaster", - "Name":"Station status: Master", - "BitLength":4, - "BitOffset":224, - "BitStart":0, + "Id":"wpIdentificationMethod", + "Name":"WP Identification Method", + "BitLength":2, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"WP_IDENTIFICATION_METHOD" }, { "Order":9, - "Id":"stationStatusV", - "Name":"Station status: V", - "BitLength":4, - "BitOffset":228, - "BitStart":4, - "Resolution":1, - "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" - }, - { - "Order":10, - "Id":"stationStatusW", - "Name":"Station status: W", - "BitLength":4, - "BitOffset":232, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" - }, - { - "Order":11, - "Id":"stationStatusX", - "Name":"Station status: X", - "BitLength":4, - "BitOffset":236, - "BitStart":4, - "Resolution":1, - "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" - }, - { - "Order":12, - "Id":"stationStatusY", - "Name":"Station status: Y", - "BitLength":4, - "BitOffset":240, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" - }, - { - "Order":13, - "Id":"stationStatusZ", - "Name":"Station status: Z", - "BitLength":4, - "BitOffset":244, - "BitStart":4, - "Resolution":1, - "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" - }, - { - "Order":14, - "Id":"mode", - "Name":"Mode", + "Id":"routeStatus", + "Name":"Route Status", "BitLength":4, - "BitOffset":248, - "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"RESIDUAL_MODE" - }, - { - "Order":15, - "Id":"reserved", - "Name":"Reserved", - "BitLength":4, - "BitOffset":252, - "BitStart":4, - "Resolution":1, - "FieldType":"RESERVED" + "LookupEnumeration":"WP_ROUTE_STATUS" } ] }, { - "PGN":130053, - "Id":"loranCRangeData", - "Description":"Loran-C Range Data", - "Priority":3, + "PGN":130066, + "Id":"routeAndWpServiceRouteWpListAttributes", + "Description":"Route and WP Service - Route/WP-List Attributes", + "Priority":7, "Type":"Fast", - "Complete":false, - "Missing":["SampleData" - ], - "FieldCount":15, - "Length":32, - "TransmissionInterval":1000, + "Complete":true, + "FieldCount":12, + "MinLength":17, + "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"groupRepetitionIntervalGri", - "Name":"Group Repetition Interval (GRI)", - "BitLength":32, + "Id":"databaseId", + "Name":"Database ID", + "BitLength":16, "BitOffset":0, "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" - }, - { - "Order":2, - "Id":"masterRange", - "Name":"Master Range", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" - }, - { - "Order":3, - "Id":"vSecondaryRange", - "Name":"V Secondary Range", - "BitLength":32, - "BitOffset":64, - "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" - }, - { - "Order":4, - "Id":"wSecondaryRange", - "Name":"W Secondary Range", - "BitLength":32, - "BitOffset":96, - "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"xSecondaryRange", - "Name":"X Secondary Range", - "BitLength":32, - "BitOffset":128, - "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "Order":2, + "Id":"routeId", + "Name":"Route ID", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"ySecondaryRange", - "Name":"Y Secondary Range", - "BitLength":32, - "BitOffset":160, + "Order":3, + "Id":"routeWpListName", + "Name":"Route/WP-List Name", + "BitLengthVariable":true, + "BitOffset":32, "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "FieldType":"STRING_LAU" }, { - "Order":7, - "Id":"zSecondaryRange", - "Name":"Z Secondary Range", + "Order":4, + "Id":"routeWpListTimestamp", + "Name":"Route/WP-List Timestamp", + "Description":"Seconds since midnight", "BitLength":32, - "BitOffset":192, - "BitStart":0, "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "Resolution":0.0001, + "RangeMin":0, + "RangeMax":86401, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"TIME", + "PhysicalQuantity":"TIME" }, { - "Order":8, - "Id":"stationStatusMaster", - "Name":"Station status: Master", - "BitLength":4, - "BitOffset":224, - "BitStart":0, + "Order":5, + "Id":"routeWpListDatestamp", + "Name":"Route/WP-List Datestamp", + "BitLength":16, + "Unit":"d", "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DATE", + "PhysicalQuantity":"DATE" }, { - "Order":9, - "Id":"stationStatusV", - "Name":"Station status: V", - "BitLength":4, - "BitOffset":228, - "BitStart":4, + "Order":6, + "Id":"changeAtLastTimestamp", + "Name":"Change at Last Timestamp", + "BitLength":8, "Resolution":1, "RangeMin":0, - "RangeMax":15, + "RangeMax":255, "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" + "LookupBitEnumeration":"WP_CHANGE" }, { - "Order":10, - "Id":"stationStatusW", - "Name":"Station status: W", - "BitLength":4, - "BitOffset":232, - "BitStart":0, + "Order":7, + "Id":"numberOfWpsInTheRouteWpList", + "Name":"Number of WPs in the Route/WP-List", + "BitLength":16, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":11, - "Id":"stationStatusX", - "Name":"Station status: X", - "BitLength":4, - "BitOffset":236, - "BitStart":4, + "Order":8, + "Id":"criticalSupplementaryParameters", + "Name":"Critical supplementary parameters", + "BitLength":8, "Resolution":1, "RangeMin":0, - "RangeMax":15, + "RangeMax":255, "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" + "LookupBitEnumeration":"WP_CRITICAL_PARAMETERS" }, { - "Order":12, - "Id":"stationStatusY", - "Name":"Station status: Y", - "BitLength":4, - "BitOffset":240, - "BitStart":0, + "Order":9, + "Id":"navigationMethod", + "Name":"Navigation Method", + "BitLength":2, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"WP_NAVIGATION_METHOD" }, { - "Order":13, - "Id":"stationStatusZ", - "Name":"Station status: Z", - "BitLength":4, - "BitOffset":244, - "BitStart":4, + "Order":10, + "Id":"wpIdentificationMethod", + "Name":"WP Identification Method", + "BitLength":2, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":15, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"STATION_STATUS" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"WP_IDENTIFICATION_METHOD" }, { - "Order":14, - "Id":"mode", - "Name":"Mode", + "Order":11, + "Id":"routeStatus", + "Name":"Route Status", "BitLength":4, - "BitOffset":248, - "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"RESIDUAL_MODE" - }, - { - "Order":15, - "Id":"reserved", - "Name":"Reserved", - "BitLength":4, - "BitOffset":252, - "BitStart":4, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":130054, - "Id":"loranCSignalData", - "Description":"Loran-C Signal Data", - "Priority":3, - "Type":"Fast", - "Complete":false, - "Missing":["SampleData" - ], - "FieldCount":5, - "Length":15, - "TransmissionInterval":1000, - "Fields":[ - { - "Order":1, - "Id":"groupRepetitionIntervalGri", - "Name":"Group Repetition Interval (GRI)", - "BitLength":32, - "BitOffset":0, - "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" - }, - { - "Order":2, - "Id":"stationIdentifier", - "Name":"Station identifier", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "FieldType":"STRING_FIX" + "LookupEnumeration":"WP_ROUTE_STATUS" }, { - "Order":3, - "Id":"stationSnr", - "Name":"Station SNR", + "Order":12, + "Id":"xteLimitForTheRoute", + "Name":"XTE Limit for the Route", "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Unit":"dB", - "Resolution":0.01, + "Unit":"m", + "Resolution":1, "Signed":true, - "RangeMin":-327.67, - "RangeMax":327.64, + "RangeMin":-32767, + "RangeMax":32764, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, "FieldType":"NUMBER", - "PhysicalQuantity":"SIGNAL_TO_NOISE_RATIO" - }, - { - "Order":4, - "Id":"stationEcd", - "Name":"Station ECD", - "BitLength":32, - "BitOffset":56, - "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" - }, - { - "Order":5, - "Id":"stationAsf", - "Name":"Station ASF", - "BitLength":32, - "BitOffset":88, - "BitStart":0, - "Unit":"s", - "Resolution":1e-09, - "Signed":true, - "RangeMin":-2.147483647, - "RangeMax":2.147483644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "PhysicalQuantity":"DISTANCE" } ] }, { - "PGN":130060, - "Id":"label", - "Description":"Label", + "PGN":130067, + "Id":"routeAndWpServiceRouteWpNamePosition", + "Description":"Route and WP Service - Route - WP Name & Position", + "Priority":7, "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":8, - "MinLength":9, + "Complete":true, + "FieldCount":9, + "MinLength":10, + "RepeatingFieldSet1Size":4, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":2, + "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"hardwareChannelId", - "Name":"Hardware Channel ID", - "BitLength":8, + "Id":"startRps", + "Name":"Start RPS#", + "BitLength":16, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":2, - "Id":"pgn", - "Name":"PGN", - "BitLength":24, - "BitOffset":8, + "Id":"nitems", + "Name":"nItems", + "BitLength":16, + "BitOffset":16, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":3, - "Id":"dataSourceInstanceFieldNumber", - "Name":"Data Source Instance Field Number", - "BitLength":8, + "Id":"numberOfWpsInTheRouteWpList", + "Name":"Number of WPs in the Route/WP-List", + "BitLength":16, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":4, - "Id":"dataSourceInstanceValue", - "Name":"Data Source Instance Value", - "BitLength":8, - "BitOffset":40, + "Id":"databaseId", + "Name":"Database ID", + "BitLength":16, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":5, - "Id":"secondaryEnumerationFieldNumber", - "Name":"Secondary Enumeration Field Number", - "BitLength":8, - "BitOffset":48, + "Id":"routeId", + "Name":"Route ID", + "BitLength":16, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":6, - "Id":"secondaryEnumerationFieldValue", - "Name":"Secondary Enumeration Field Value", - "BitLength":8, - "BitOffset":56, + "Id":"wpId", + "Name":"WP ID", + "BitLength":16, + "BitOffset":80, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":7, - "Id":"parameterFieldNumber", - "Name":"Parameter Field Number", - "BitLength":8, - "BitOffset":64, + "Id":"wpName", + "Name":"WP Name", + "BitLengthVariable":true, + "BitOffset":96, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"STRING_LAU" }, { "Order":8, - "Id":"label", - "Name":"Label", - "BitLengthVariable":true, - "BitOffset":72, - "BitStart":0, - "FieldType":"STRING_LAU" + "Id":"wpLatitude", + "Name":"WP Latitude", + "BitLength":32, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-90, + "RangeMax":90, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + }, + { + "Order":9, + "Id":"wpLongitude", + "Name":"WP Longitude", + "BitLength":32, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-180, + "RangeMax":180, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" } ] }, { - "PGN":130061, - "Id":"channelSourceConfiguration", - "Description":"Channel Source Configuration", + "PGN":130068, + "Id":"routeAndWpServiceRouteWpName", + "Description":"Route and WP Service - Route - WP Name", + "Priority":7, "Type":"Fast", - "Complete":false, - "Missing":["Resolution","SampleData","Interval" - ], - "FieldCount":11, - "Length":19, - "Fields":[ - { - "Order":1, - "Id":"dataSourceChannelId", - "Name":"Data Source Channel ID", - "BitLength":8, - "BitOffset":0, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":2, - "Id":"sourceSelectionStatus", - "Name":"Source Selection Status", - "BitLength":2, - "BitOffset":8, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":3, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":10, - "BitStart":2, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":4, - "Id":"nameSelectionCriteriaMask", - "Name":"NAME Selection Criteria Mask", - "BitLength":12, - "BitOffset":12, - "BitStart":4, - "Resolution":1, - "FieldType":"BINARY" - }, + "Complete":true, + "FieldCount":7, + "MinLength":10, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":2, + "TransmissionIrregular":true, + "Fields":[ { - "Order":5, - "Id":"sourceName", - "Name":"Source NAME", - "BitLength":64, - "BitOffset":24, + "Order":1, + "Id":"startRps", + "Name":"Start RPS#", + "BitLength":16, + "BitOffset":0, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, - "FieldType":"ISO_NAME" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"pgn", - "Name":"PGN", - "BitLength":24, - "BitOffset":88, + "Order":2, + "Id":"nitems", + "Name":"nItems", + "BitLength":16, + "BitOffset":16, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":7, - "Id":"dataSourceInstanceFieldNumber", - "Name":"Data Source Instance Field Number", - "BitLength":8, - "BitOffset":112, + "Order":3, + "Id":"numberOfWpsInTheRouteWpList", + "Name":"Number of WPs in the Route/WP-List", + "BitLength":16, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { - "Order":8, - "Id":"dataSourceInstanceValue", - "Name":"Data Source Instance Value", - "BitLength":8, - "BitOffset":120, + "Order":4, + "Id":"databaseId", + "Name":"Database ID", + "BitLength":16, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { - "Order":9, - "Id":"secondaryEnumerationFieldNumber", - "Name":"Secondary Enumeration Field Number", - "BitLength":8, - "BitOffset":128, + "Order":5, + "Id":"routeId", + "Name":"Route ID", + "BitLength":16, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { - "Order":10, - "Id":"secondaryEnumerationFieldValue", - "Name":"Secondary Enumeration Field Value", - "BitLength":8, - "BitOffset":136, + "Order":6, + "Id":"wpId", + "Name":"WP ID", + "BitLength":16, + "BitOffset":80, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { - "Order":11, - "Id":"parameterFieldNumber", - "Name":"Parameter Field Number", - "BitLength":8, - "BitOffset":144, + "Order":7, + "Id":"wpName", + "Name":"WP Name", + "BitLengthVariable":true, + "BitOffset":96, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"STRING_LAU" } ] }, { - "PGN":130064, - "Id":"routeAndWpServiceDatabaseList", - "Description":"Route and WP Service - Database List", + "PGN":130069, + "Id":"routeAndWpServiceXteLimitNavigationMethod", + "Description":"Route and WP Service - XTE Limit & Navigation Method", "Priority":7, "Type":"Fast", "Complete":true, - "FieldCount":12, + "FieldCount":9, "MinLength":6, - "RepeatingFieldSet1Size":9, + "RepeatingFieldSet1Size":6, "RepeatingFieldSet1StartField":4, "RepeatingFieldSet1CountField":2, "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"startDatabaseId", - "Name":"Start Database ID", + "Id":"startRps", + "Name":"Start RPS#", "BitLength":16, "BitOffset":0, "BitStart":0, @@ -45273,8 +50770,8 @@ }, { "Order":3, - "Id":"numberOfDatabasesAvailable", - "Name":"Number of Databases Available", + "Id":"numberOfWpsWithASpecificXteLimitOrNavMethod", + "Name":"Number of WPs with a specific XTE Limit or Nav. Method", "BitLength":16, "BitOffset":32, "BitStart":0, @@ -45305,35 +50802,27 @@ }, { "Order":5, - "Id":"databaseName", - "Name":"Database Name", - "BitLengthVariable":true, + "Id":"routeId", + "Name":"Route ID", + "BitLength":16, "BitOffset":64, "BitStart":0, - "FieldType":"STRING_LAU" - }, - { - "Order":6, - "Id":"databaseTimestamp", - "Name":"Database Timestamp", - "Description":"Seconds since midnight", - "BitLength":32, - "Unit":"s", - "Resolution":0.0001, + "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":86401, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"TIME", - "PhysicalQuantity":"TIME" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":7, - "Id":"databaseDatestamp", - "Name":"Database Datestamp", + "Order":6, + "Id":"rps", + "Name":"RPS#", "BitLength":16, - "Unit":"d", + "BitOffset":80, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -45341,34 +50830,90 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"DATE", - "PhysicalQuantity":"DATE" + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"xteLimitInTheLegAfterWp", + "Name":"XTE Limit in the leg after WP", + "BitLength":16, + "BitOffset":96, + "BitStart":0, + "Unit":"m", + "Resolution":1, + "Signed":true, + "RangeMin":-32767, + "RangeMax":32764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"DISTANCE" }, { "Order":8, - "Id":"wpPositionResolution", - "Name":"WP Position Resolution", - "BitLength":4, + "Id":"navMethodInTheLegAfterWp", + "Name":"Nav. Method in the leg after WP", + "BitLength":2, + "BitOffset":112, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, + "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", - "LookupEnumeration":"WP_POSITION_RESOLUTION" + "LookupEnumeration":"WP_NAVIGATION_METHOD" }, { "Order":9, "Id":"reserved", "Name":"Reserved", - "BitLength":4, + "BitLength":6, + "BitOffset":114, + "BitStart":2, "Resolution":1, "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130070, + "Id":"routeAndWpServiceWpComment", + "Description":"Route and WP Service - WP Comment", + "Priority":7, + "Type":"Fast", + "Complete":true, + "FieldCount":7, + "MinLength":10, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":2, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"startId", + "Name":"Start ID", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":10, - "Id":"numberOfRoutesInDatabase", - "Name":"Number of Routes in Database", + "Order":2, + "Id":"nitems", + "Name":"nItems", "BitLength":16, + "BitOffset":16, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -45379,45 +50924,90 @@ "FieldType":"NUMBER" }, { - "Order":11, - "Id":"numberOfWpsInDatabase", - "Name":"Number of WPs in Database", - "BitLength":32, + "Order":3, + "Id":"numberOfWpsWithComments", + "Name":"Number of WPs with Comments", + "BitLength":16, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { - "Order":12, - "Id":"numberOfBytesInDatabase", - "Name":"Number of Bytes in Database", - "BitLength":32, + "Order":4, + "Id":"databaseId", + "Name":"Database ID", + "BitLength":16, + "BitOffset":48, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"routeId", + "Name":"Route ID", + "BitLength":16, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"wpIdRps", + "Name":"WP ID / RPS#", + "BitLength":16, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"comment", + "Name":"Comment", + "BitLengthVariable":true, + "BitOffset":96, + "BitStart":0, + "FieldType":"STRING_LAU" } ] }, { - "PGN":130065, - "Id":"routeAndWpServiceRouteList", - "Description":"Route and WP Service - Route List", + "PGN":130071, + "Id":"routeAndWpServiceRouteComment", + "Description":"Route and WP Service - Route Comment", "Priority":7, "Type":"Fast", "Complete":true, - "FieldCount":9, + "FieldCount":6, "MinLength":8, - "RepeatingFieldSet1Size":5, + "RepeatingFieldSet1Size":2, "RepeatingFieldSet1StartField":5, "RepeatingFieldSet1CountField":2, "TransmissionIrregular":true, @@ -45456,8 +51046,8 @@ }, { "Order":3, - "Id":"numberOfRoutesInDatabase", - "Name":"Number of Routes in Database", + "Id":"numberOfRoutesWithComments", + "Name":"Number of Routes with Comments", "BitLength":16, "BitOffset":32, "BitStart":0, @@ -45504,62 +51094,33 @@ }, { "Order":6, - "Id":"routeName", - "Name":"Route Name", + "Id":"comment", + "Name":"Comment", "BitLengthVariable":true, "BitOffset":80, "BitStart":0, "FieldType":"STRING_LAU" - }, - { - "Order":7, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":8, - "Id":"wpIdentificationMethod", - "Name":"WP Identification Method", - "BitLength":2, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"WP_IDENTIFICATION_METHOD" - }, - { - "Order":9, - "Id":"routeStatus", - "Name":"Route Status", - "BitLength":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"WP_ROUTE_STATUS" } ] }, { - "PGN":130066, - "Id":"routeAndWpServiceRouteWpListAttributes", - "Description":"Route and WP Service - Route/WP-List Attributes", + "PGN":130072, + "Id":"routeAndWpServiceDatabaseComment", + "Description":"Route and WP Service - Database Comment", "Priority":7, "Type":"Fast", "Complete":true, - "FieldCount":12, - "MinLength":17, + "FieldCount":5, + "MinLength":6, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":4, + "RepeatingFieldSet1CountField":2, "TransmissionIrregular":true, "Fields":[ { "Order":1, - "Id":"databaseId", - "Name":"Database ID", + "Id":"startDatabaseId", + "Name":"Start Database ID", "BitLength":16, "BitOffset":0, "BitStart":0, @@ -45574,8 +51135,8 @@ }, { "Order":2, - "Id":"routeId", - "Name":"Route ID", + "Id":"nitems", + "Name":"nItems", "BitLength":16, "BitOffset":16, "BitStart":0, @@ -45590,35 +51151,68 @@ }, { "Order":3, - "Id":"routeWpListName", - "Name":"Route/WP-List Name", - "BitLengthVariable":true, + "Id":"numberOfDatabasesWithComments", + "Name":"Number of Databases with Comments", + "BitLength":16, "BitOffset":32, "BitStart":0, - "FieldType":"STRING_LAU" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":4, - "Id":"routeWpListTimestamp", - "Name":"Route/WP-List Timestamp", - "Description":"Seconds since midnight", - "BitLength":32, - "Unit":"s", - "Resolution":0.0001, + "Id":"databaseId", + "Name":"Database ID", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":86401, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"TIME", - "PhysicalQuantity":"TIME" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"routeWpListDatestamp", - "Name":"Route/WP-List Datestamp", + "Id":"comment", + "Name":"Comment", + "BitLengthVariable":true, + "BitOffset":64, + "BitStart":0, + "FieldType":"STRING_LAU" + } + ] + }, + { + "PGN":130073, + "Id":"routeAndWpServiceRadiusOfTurn", + "Description":"Route and WP Service - Radius of Turn", + "Priority":7, + "Type":"Fast", + "Complete":true, + "FieldCount":7, + "MinLength":10, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":2, + "TransmissionIrregular":true, + "Fields":[ + { + "Order":1, + "Id":"startRps", + "Name":"Start RPS#", "BitLength":16, - "Unit":"d", + "BitOffset":0, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -45626,25 +51220,31 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"DATE", - "PhysicalQuantity":"DATE" + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"changeAtLastTimestamp", - "Name":"Change at Last Timestamp", - "BitLength":8, + "Order":2, + "Id":"nitems", + "Name":"nItems", + "BitLength":16, + "BitOffset":16, + "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":255, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"WP_CHANGE" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":7, - "Id":"numberOfWpsInTheRouteWpList", - "Name":"Number of WPs in the Route/WP-List", + "Order":3, + "Id":"numberOfWpsWithASpecificRadiusOfTurn", + "Name":"Number of WPs with a specific Radius of Turn", "BitLength":16, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -45655,57 +51255,60 @@ "FieldType":"NUMBER" }, { - "Order":8, - "Id":"criticalSupplementaryParameters", - "Name":"Critical supplementary parameters", - "BitLength":8, - "Resolution":1, - "RangeMin":0, - "RangeMax":255, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"WP_CRITICAL_PARAMETERS" - }, - { - "Order":9, - "Id":"navigationMethod", - "Name":"Navigation Method", - "BitLength":2, + "Order":4, + "Id":"databaseId", + "Name":"Database ID", + "BitLength":16, + "BitOffset":48, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"WP_NAVIGATION_METHOD" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":10, - "Id":"wpIdentificationMethod", - "Name":"WP Identification Method", - "BitLength":2, + "Order":5, + "Id":"routeId", + "Name":"Route ID", + "BitLength":16, + "BitOffset":64, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"WP_IDENTIFICATION_METHOD" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":11, - "Id":"routeStatus", - "Name":"Route Status", - "BitLength":4, + "Order":6, + "Id":"rps", + "Name":"RPS#", + "BitLength":16, + "BitOffset":80, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"WP_ROUTE_STATUS" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":12, - "Id":"xteLimitForTheRoute", - "Name":"XTE Limit for the Route", + "Order":7, + "Id":"radiusOfTurn", + "Name":"Radius of Turn", "BitLength":16, + "BitOffset":96, + "BitStart":0, "Unit":"m", "Resolution":1, "Signed":true, @@ -45720,9 +51323,9 @@ ] }, { - "PGN":130067, - "Id":"routeAndWpServiceRouteWpNamePosition", - "Description":"Route and WP Service - Route - WP Name & Position", + "PGN":130074, + "Id":"routeAndWpServiceWpListWpNamePosition", + "Description":"Route and WP Service - WP List - WP Name & Position", "Priority":7, "Type":"Fast", "Complete":true, @@ -45735,8 +51338,8 @@ "Fields":[ { "Order":1, - "Id":"startRps", - "Name":"Start RPS#", + "Id":"startWpId", + "Name":"Start WP ID", "BitLength":16, "BitOffset":0, "BitStart":0, @@ -45767,8 +51370,8 @@ }, { "Order":3, - "Id":"numberOfWpsInTheRouteWpList", - "Name":"Number of WPs in the Route/WP-List", + "Id":"numberOfValidWpsInTheWpList", + "Name":"Number of valid WPs in the WP-List", "BitLength":16, "BitOffset":32, "BitStart":0, @@ -45799,19 +51402,13 @@ }, { "Order":5, - "Id":"routeId", - "Name":"Route ID", + "Id":"reserved", + "Name":"Reserved", "BitLength":16, "BitOffset":64, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":6, @@ -45873,470 +51470,872 @@ ] }, { - "PGN":130068, - "Id":"routeAndWpServiceRouteWpName", - "Description":"Route and WP Service - Route - WP Name", - "Priority":7, - "Type":"Fast", + "PGN":130306, + "Id":"windData", + "Description":"Wind Data", + "Priority":2, + "URL":"https://web.archive.org/web/20181024132013/www.maretron.com/support/manuals/WSO100UM_1.0.pdf#page=15", + "Type":"Single", + "Complete":true, + "FieldCount":5, + "Length":8, + "TransmissionInterval":100, + "Fields":[ + { + "Order":1, + "Id":"sid", + "Name":"SID", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":2, + "Id":"windSpeed", + "Name":"Wind Speed", + "BitLength":16, + "BitOffset":8, + "BitStart":0, + "Unit":"m/s", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"SPEED" + }, + { + "Order":3, + "Id":"windAngle", + "Name":"Wind Angle", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":4, + "Id":"reference", + "Name":"Reference", + "BitLength":3, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"WIND_REFERENCE", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"reserved", + "Name":"Reserved", + "BitLength":21, + "BitOffset":43, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130310, + "Id":"environmentalParametersObsolete", + "Description":"Environmental Parameters (obsolete)", + "Priority":5, + "Explanation":"This PGN was succeeded by PGN 130310, but it should no longer be generated and separate PGNs in range 130312..130315 should be used", + "Type":"Single", + "Complete":true, + "FieldCount":5, + "Length":8, + "TransmissionInterval":500, + "Fields":[ + { + "Order":1, + "Id":"sid", + "Name":"SID", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":2, + "Id":"waterTemperature", + "Name":"Water Temperature", + "BitLength":16, + "BitOffset":8, + "BitStart":0, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" + }, + { + "Order":3, + "Id":"outsideAmbientAirTemperature", + "Name":"Outside Ambient Air Temperature", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" + }, + { + "Order":4, + "Id":"atmosphericPressure", + "Name":"Atmospheric Pressure", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Unit":"Pa", + "Resolution":100, + "Signed":false, + "RangeMin":0, + "RangeMax":6553200, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"PRESSURE" + }, + { + "Order":5, + "Id":"reserved", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130311, + "Id":"environmentalParameters", + "Description":"Environmental Parameters", + "Priority":5, + "Explanation":"This PGN was introduced as a better version of PGN 130310, but it should no longer be generated and separate PGNs in range 130312..130315 should be used", + "Type":"Single", + "Complete":true, + "FieldCount":6, + "Length":8, + "TransmissionInterval":500, + "Fields":[ + { + "Order":1, + "Id":"sid", + "Name":"SID", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":2, + "Id":"temperatureSource", + "Name":"Temperature Source", + "BitLength":6, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, + "FieldType":"LOOKUP", + "LookupEnumeration":"TEMPERATURE_SOURCE", + "PartOfPrimaryKey":true + }, + { + "Order":3, + "Id":"humiditySource", + "Name":"Humidity Source", + "BitLength":2, + "BitOffset":14, + "BitStart":6, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"HUMIDITY_SOURCE" + }, + { + "Order":4, + "Id":"temperature", + "Name":"Temperature", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" + }, + { + "Order":5, + "Id":"humidity", + "Name":"Humidity", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"%", + "Resolution":0.004, + "Signed":true, + "RangeMin":-131.068, + "RangeMax":131.056, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":6, + "Id":"atmosphericPressure", + "Name":"Atmospheric Pressure", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Unit":"Pa", + "Resolution":100, + "Signed":false, + "RangeMin":0, + "RangeMax":6553200, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"PRESSURE" + } + ] + }, + { + "PGN":130312, + "Id":"temperature", + "Description":"Temperature", + "Priority":5, + "Type":"Single", + "Complete":true, + "FieldCount":6, + "Length":8, + "TransmissionInterval":2000, + "Fields":[ + { + "Order":1, + "Id":"sid", + "Name":"SID", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":2, + "Id":"instance", + "Name":"Instance", + "BitLength":8, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":3, + "Id":"source", + "Name":"Source", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"TEMPERATURE_SOURCE", + "PartOfPrimaryKey":true + }, + { + "Order":4, + "Id":"actualTemperature", + "Name":"Actual Temperature", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" + }, + { + "Order":5, + "Id":"setTemperature", + "Name":"Set Temperature", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" + }, + { + "Order":6, + "Id":"reserved", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130313, + "Id":"humidity", + "Description":"Humidity", + "Priority":5, + "Type":"Single", "Complete":true, - "FieldCount":7, - "MinLength":10, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":2, - "TransmissionIrregular":true, + "FieldCount":6, + "Length":8, + "TransmissionInterval":2000, "Fields":[ { "Order":1, - "Id":"startRps", - "Name":"Start RPS#", - "BitLength":16, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":2, - "Id":"nitems", - "Name":"nItems", - "BitLength":16, - "BitOffset":16, + "Id":"instance", + "Name":"Instance", + "BitLength":8, + "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":3, - "Id":"numberOfWpsInTheRouteWpList", - "Name":"Number of WPs in the Route/WP-List", - "BitLength":16, - "BitOffset":32, + "Id":"source", + "Name":"Source", + "BitLength":8, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"HUMIDITY_SOURCE", + "PartOfPrimaryKey":true }, { "Order":4, - "Id":"databaseId", - "Name":"Database ID", + "Id":"actualHumidity", + "Name":"Actual Humidity", "BitLength":16, - "BitOffset":48, + "BitOffset":24, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "Unit":"%", + "Resolution":0.004, + "Signed":true, + "RangeMin":-131.068, + "RangeMax":131.056, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { "Order":5, - "Id":"routeId", - "Name":"Route ID", + "Id":"setHumidity", + "Name":"Set Humidity", "BitLength":16, - "BitOffset":64, + "BitOffset":40, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "Unit":"%", + "Resolution":0.004, + "Signed":true, + "RangeMin":-131.068, + "RangeMax":131.056, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { "Order":6, - "Id":"wpId", - "Name":"WP ID", - "BitLength":16, - "BitOffset":80, + "Id":"reserved", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"wpName", - "Name":"WP Name", - "BitLengthVariable":true, - "BitOffset":96, - "BitStart":0, - "FieldType":"STRING_LAU" + "FieldType":"RESERVED" } ] }, { - "PGN":130069, - "Id":"routeAndWpServiceXteLimitNavigationMethod", - "Description":"Route and WP Service - XTE Limit & Navigation Method", - "Priority":7, - "Type":"Fast", + "PGN":130314, + "Id":"actualPressure", + "Description":"Actual Pressure", + "Priority":5, + "Type":"Single", "Complete":true, - "FieldCount":9, - "MinLength":6, - "RepeatingFieldSet1Size":6, - "RepeatingFieldSet1StartField":4, - "RepeatingFieldSet1CountField":2, - "TransmissionIrregular":true, + "FieldCount":5, + "Length":8, + "TransmissionInterval":2000, "Fields":[ { "Order":1, - "Id":"startRps", - "Name":"Start RPS#", - "BitLength":16, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":2, - "Id":"nitems", - "Name":"nItems", - "BitLength":16, - "BitOffset":16, + "Id":"instance", + "Name":"Instance", + "BitLength":8, + "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":3, - "Id":"numberOfWpsWithASpecificXteLimitOrNavMethod", - "Name":"Number of WPs with a specific XTE Limit or Nav. Method", - "BitLength":16, - "BitOffset":32, + "Id":"source", + "Name":"Source", + "BitLength":8, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"PRESSURE_SOURCE", + "PartOfPrimaryKey":true }, { "Order":4, - "Id":"databaseId", - "Name":"Database ID", - "BitLength":16, - "BitOffset":48, + "Id":"pressure", + "Name":"Pressure", + "BitLength":32, + "BitOffset":24, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "Unit":"Pa", + "Resolution":0.1, + "Signed":true, + "RangeMin":-214748364.7, + "RangeMax":214748364.4, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"PRESSURE" }, { "Order":5, - "Id":"routeId", - "Name":"Route ID", - "BitLength":16, - "BitOffset":64, + "Id":"reserved", + "Name":"Reserved", + "BitLength":8, + "BitOffset":56, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130315, + "Id":"setPressure", + "Description":"Set Pressure", + "Priority":5, + "Type":"Single", + "Complete":true, + "FieldCount":5, + "Length":8, + "TransmissionIrregular":true, + "Fields":[ { - "Order":6, - "Id":"rps", - "Name":"RPS#", - "BitLength":16, - "BitOffset":80, + "Order":1, + "Id":"sid", + "Name":"SID", + "BitLength":8, + "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":7, - "Id":"xteLimitInTheLegAfterWp", - "Name":"XTE Limit in the leg after WP", - "BitLength":16, - "BitOffset":96, + "Order":2, + "Id":"instance", + "Name":"Instance", + "BitLength":8, + "BitOffset":8, "BitStart":0, - "Unit":"m", "Resolution":1, - "Signed":true, - "RangeMin":-32767, - "RangeMax":32764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER", - "PhysicalQuantity":"DISTANCE" + "PartOfPrimaryKey":true }, { - "Order":8, - "Id":"navMethodInTheLegAfterWp", - "Name":"Nav. Method in the leg after WP", - "BitLength":2, - "BitOffset":112, + "Order":3, + "Id":"source", + "Name":"Source", + "BitLength":8, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"WP_NAVIGATION_METHOD" + "LookupEnumeration":"PRESSURE_SOURCE", + "PartOfPrimaryKey":true }, { - "Order":9, + "Order":4, + "Id":"pressure", + "Name":"Pressure", + "BitLength":32, + "BitOffset":24, + "BitStart":0, + "Unit":"Pa", + "Resolution":0.1, + "Signed":true, + "RangeMin":-214748364.7, + "RangeMax":214748364.4, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"PRESSURE" + }, + { + "Order":5, "Id":"reserved", "Name":"Reserved", - "BitLength":6, - "BitOffset":114, - "BitStart":2, + "BitLength":8, + "BitOffset":56, + "BitStart":0, "Resolution":1, "FieldType":"RESERVED" } ] }, { - "PGN":130070, - "Id":"routeAndWpServiceWpComment", - "Description":"Route and WP Service - WP Comment", - "Priority":7, - "Type":"Fast", + "PGN":130316, + "Id":"temperatureExtendedRange", + "Description":"Temperature Extended Range", + "Priority":5, + "URL":"https://web.archive.org/web/20220516160001/https://www.nmea.org/Assets/nmea%202000%20pgn%20130316%20corrigenda%20nmd%20version%202.100%20feb%202015.pdf", + "Type":"Single", "Complete":true, - "FieldCount":7, - "MinLength":10, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":2, - "TransmissionIrregular":true, + "FieldCount":5, + "Length":8, + "TransmissionInterval":2000, "Fields":[ { "Order":1, - "Id":"startId", - "Name":"Start ID", - "BitLength":16, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":2, - "Id":"nitems", - "Name":"nItems", - "BitLength":16, - "BitOffset":16, + "Id":"instance", + "Name":"Instance", + "BitLength":8, + "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":3, - "Id":"numberOfWpsWithComments", - "Name":"Number of WPs with Comments", - "BitLength":16, - "BitOffset":32, + "Id":"source", + "Name":"Source", + "BitLength":8, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"TEMPERATURE_SOURCE", + "PartOfPrimaryKey":true }, { "Order":4, - "Id":"databaseId", - "Name":"Database ID", - "BitLength":16, - "BitOffset":48, + "Id":"temperature", + "Name":"Temperature", + "BitLength":24, + "BitOffset":24, "BitStart":0, - "Resolution":1, + "Unit":"K", + "Resolution":0.001, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":16777.212, + "UnknownValue":16777215, + "OutOfRangeValue":16777214, + "ReservedValue":16777213, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" }, { "Order":5, - "Id":"routeId", - "Name":"Route ID", - "BitLength":16, - "BitOffset":64, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"wpIdRps", - "Name":"WP ID / RPS#", + "Id":"setTemperature", + "Name":"Set Temperature", "BitLength":16, - "BitOffset":80, + "BitOffset":48, "BitStart":0, - "Resolution":1, + "Unit":"K", + "Resolution":0.1, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":6553.2, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"comment", - "Name":"Comment", - "BitLengthVariable":true, - "BitOffset":96, - "BitStart":0, - "FieldType":"STRING_LAU" + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" } ] }, { - "PGN":130071, - "Id":"routeAndWpServiceRouteComment", - "Description":"Route and WP Service - Route Comment", - "Priority":7, + "PGN":130320, + "Id":"tideStationData", + "Description":"Tide Station Data", + "Priority":6, "Type":"Fast", "Complete":true, - "FieldCount":6, - "MinLength":8, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":5, - "RepeatingFieldSet1CountField":2, - "TransmissionIrregular":true, + "FieldCount":11, + "MinLength":19, + "TransmissionInterval":1000, "Fields":[ { "Order":1, - "Id":"startRouteId", - "Name":"Start Route ID", - "BitLength":16, + "Id":"mode", + "Name":"Mode", + "BitLength":4, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"RESIDUAL_MODE" }, { "Order":2, - "Id":"nitems", - "Name":"nItems", - "BitLength":16, - "BitOffset":16, - "BitStart":0, + "Id":"tideTendency", + "Name":"Tide Tendency", + "BitLength":2, + "BitOffset":4, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"TIDE" }, { "Order":3, - "Id":"numberOfRoutesWithComments", - "Name":"Number of Routes with Comments", - "BitLength":16, - "BitOffset":32, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":6, + "BitStart":6, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":4, - "Id":"databaseId", - "Name":"Database ID", + "Id":"measurementDate", + "Name":"Measurement Date", "BitLength":16, - "BitOffset":48, + "BitOffset":8, "BitStart":0, + "Unit":"d", "Resolution":1, "Signed":false, "RangeMin":0, @@ -46344,88 +52343,166 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"DATE", + "PhysicalQuantity":"DATE" }, { "Order":5, - "Id":"routeId", - "Name":"Route ID", + "Id":"measurementTime", + "Name":"Measurement Time", + "Description":"Seconds since midnight", + "BitLength":32, + "BitOffset":24, + "BitStart":0, + "Unit":"s", + "Resolution":0.0001, + "RangeMin":0, + "RangeMax":86401, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"TIME", + "PhysicalQuantity":"TIME" + }, + { + "Order":6, + "Id":"stationLatitude", + "Name":"Station Latitude", + "BitLength":32, + "BitOffset":56, + "BitStart":0, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-90, + "RangeMax":90, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + }, + { + "Order":7, + "Id":"stationLongitude", + "Name":"Station Longitude", + "BitLength":32, + "BitOffset":88, + "BitStart":0, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-180, + "RangeMax":180, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + }, + { + "Order":8, + "Id":"tideLevel", + "Name":"Tide Level", + "Description":"Relative to MLLW", "BitLength":16, - "BitOffset":64, + "BitOffset":120, "BitStart":0, - "Resolution":1, + "Unit":"m", + "Resolution":0.001, + "Signed":true, + "RangeMin":-32.767, + "RangeMax":32.764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"DISTANCE" + }, + { + "Order":9, + "Id":"tideLevelStandardDeviation", + "Name":"Tide Level standard deviation", + "BitLength":16, + "BitOffset":136, + "BitStart":0, + "Unit":"m", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"LENGTH" }, { - "Order":6, - "Id":"comment", - "Name":"Comment", + "Order":10, + "Id":"stationId", + "Name":"Station ID", "BitLengthVariable":true, - "BitOffset":80, + "BitOffset":152, "BitStart":0, + "FieldType":"STRING_LAU", + "PartOfPrimaryKey":true + }, + { + "Order":11, + "Id":"stationName", + "Name":"Station Name", + "BitLengthVariable":true, "FieldType":"STRING_LAU" } ] }, { - "PGN":130072, - "Id":"routeAndWpServiceDatabaseComment", - "Description":"Route and WP Service - Database Comment", - "Priority":7, + "PGN":130321, + "Id":"salinityStationData", + "Description":"Salinity Station Data", + "Priority":6, "Type":"Fast", - "Complete":true, - "FieldCount":5, - "MinLength":6, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":4, - "RepeatingFieldSet1CountField":2, - "TransmissionIrregular":true, + "Complete":false, + "Missing":["SampleData" + ], + "FieldCount":10, + "MinLength":21, + "TransmissionInterval":1000, "Fields":[ { "Order":1, - "Id":"startDatabaseId", - "Name":"Start Database ID", - "BitLength":16, + "Id":"mode", + "Name":"Mode", + "BitLength":4, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"RESIDUAL_MODE" }, { "Order":2, - "Id":"nitems", - "Name":"nItems", - "BitLength":16, - "BitOffset":16, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":4, + "BitOffset":4, + "BitStart":4, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"numberOfDatabasesWithComments", - "Name":"Number of Databases with Comments", + "Id":"measurementDate", + "Name":"Measurement Date", "BitLength":16, - "BitOffset":32, + "BitOffset":8, "BitStart":0, + "Unit":"d", "Resolution":1, "Signed":false, "RangeMin":0, @@ -46433,104 +52510,176 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"DATE", + "PhysicalQuantity":"DATE" }, { "Order":4, - "Id":"databaseId", - "Name":"Database ID", - "BitLength":16, - "BitOffset":48, + "Id":"measurementTime", + "Name":"Measurement Time", + "Description":"Seconds since midnight", + "BitLength":32, + "BitOffset":24, + "BitStart":0, + "Unit":"s", + "Resolution":0.0001, + "RangeMin":0, + "RangeMax":86401, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"TIME", + "PhysicalQuantity":"TIME" + }, + { + "Order":5, + "Id":"stationLatitude", + "Name":"Station Latitude", + "BitLength":32, + "BitOffset":56, + "BitStart":0, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-90, + "RangeMax":90, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + }, + { + "Order":6, + "Id":"stationLongitude", + "Name":"Station Longitude", + "BitLength":32, + "BitOffset":88, + "BitStart":0, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-180, + "RangeMax":180, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + }, + { + "Order":7, + "Id":"salinity", + "Name":"Salinity", + "BitLength":32, + "BitOffset":120, "BitStart":0, + "Unit":"ppt", "Resolution":1, + "Signed":true, + "RangeMin":-3.40282346638529e+38, + "RangeMax":3.40282346638529e+38, + "FieldType":"FLOAT", + "PhysicalQuantity":"CONCENTRATION" + }, + { + "Order":8, + "Id":"waterTemperature", + "Name":"Water Temperature", + "BitLength":16, + "BitOffset":152, + "BitStart":0, + "Unit":"K", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" }, { - "Order":5, - "Id":"comment", - "Name":"Comment", + "Order":9, + "Id":"stationId", + "Name":"Station ID", "BitLengthVariable":true, - "BitOffset":64, + "BitOffset":168, "BitStart":0, "FieldType":"STRING_LAU" + }, + { + "Order":10, + "Id":"stationName", + "Name":"Station Name", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" } ] }, { - "PGN":130073, - "Id":"routeAndWpServiceRadiusOfTurn", - "Description":"Route and WP Service - Radius of Turn", - "Priority":7, + "PGN":130322, + "Id":"currentStationData", + "Description":"Current Station Data", + "Priority":6, "Type":"Fast", - "Complete":true, - "FieldCount":7, - "MinLength":10, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":2, - "TransmissionIrregular":true, + "Complete":false, + "Missing":["SampleData" + ], + "FieldCount":13, + "MinLength":25, + "TransmissionInterval":1000, "Fields":[ { "Order":1, - "Id":"startRps", - "Name":"Start RPS#", - "BitLength":16, + "Id":"mode", + "Name":"Mode", + "BitLength":4, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"RESIDUAL_MODE" }, { "Order":2, - "Id":"nitems", - "Name":"nItems", - "BitLength":16, - "BitOffset":16, - "BitStart":0, + "Id":"state", + "Name":"State", + "BitLength":3, + "BitOffset":4, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"FLOOD_STATE" }, { "Order":3, - "Id":"numberOfWpsWithASpecificRadiusOfTurn", - "Name":"Number of WPs with a specific Radius of Turn", - "BitLength":16, - "BitOffset":32, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":1, + "BitOffset":7, + "BitStart":7, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":4, - "Id":"databaseId", - "Name":"Database ID", + "Id":"measurementDate", + "Name":"Measurement Date", "BitLength":16, - "BitOffset":48, + "BitOffset":8, "BitStart":0, + "Unit":"d", "Resolution":1, "Signed":false, "RangeMin":0, @@ -46538,155 +52687,202 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"DATE", + "PhysicalQuantity":"DATE" }, { "Order":5, - "Id":"routeId", - "Name":"Route ID", - "BitLength":16, - "BitOffset":64, + "Id":"measurementTime", + "Name":"Measurement Time", + "Description":"Seconds since midnight", + "BitLength":32, + "BitOffset":24, "BitStart":0, - "Resolution":1, - "Signed":false, + "Unit":"s", + "Resolution":0.0001, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":86401, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"TIME", + "PhysicalQuantity":"TIME" }, { "Order":6, - "Id":"rps", - "Name":"RPS#", - "BitLength":16, - "BitOffset":80, + "Id":"stationLatitude", + "Name":"Station Latitude", + "BitLength":32, + "BitOffset":56, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-90, + "RangeMax":90, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" }, { "Order":7, - "Id":"radiusOfTurn", - "Name":"Radius of Turn", - "BitLength":16, - "BitOffset":96, + "Id":"stationLongitude", + "Name":"Station Longitude", + "BitLength":32, + "BitOffset":88, "BitStart":0, - "Unit":"m", - "Resolution":1, + "Unit":"deg", + "Resolution":1e-07, "Signed":true, - "RangeMin":-32767, - "RangeMax":32764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, + "RangeMin":-180, + "RangeMax":180, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, "FieldType":"NUMBER", - "PhysicalQuantity":"DISTANCE" - } - ] - }, - { - "PGN":130074, - "Id":"routeAndWpServiceWpListWpNamePosition", - "Description":"Route and WP Service - WP List - WP Name & Position", - "Priority":7, - "Type":"Fast", - "Complete":true, - "FieldCount":9, - "MinLength":10, - "RepeatingFieldSet1Size":4, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":2, - "TransmissionIrregular":true, - "Fields":[ + "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + }, + { + "Order":8, + "Id":"measurementDepth", + "Name":"Measurement Depth", + "Description":"Depth below transducer", + "BitLength":32, + "BitOffset":120, + "BitStart":0, + "Unit":"m", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":42949672.92, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"LENGTH" + }, { - "Order":1, - "Id":"startWpId", - "Name":"Start WP ID", + "Order":9, + "Id":"currentSpeed", + "Name":"Current speed", "BitLength":16, - "BitOffset":0, + "BitOffset":152, "BitStart":0, - "Resolution":1, + "Unit":"m/s", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"SPEED" }, { - "Order":2, - "Id":"nitems", - "Name":"nItems", + "Order":10, + "Id":"currentFlowDirection", + "Name":"Current flow direction", "BitLength":16, - "BitOffset":16, + "BitOffset":168, "BitStart":0, - "Resolution":1, + "Unit":"rad", + "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" }, { - "Order":3, - "Id":"numberOfValidWpsInTheWpList", - "Name":"Number of valid WPs in the WP-List", + "Order":11, + "Id":"waterTemperature", + "Name":"Water Temperature", "BitLength":16, - "BitOffset":32, + "BitOffset":184, "BitStart":0, - "Resolution":1, + "Unit":"K", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" }, { - "Order":4, - "Id":"databaseId", - "Name":"Database ID", - "BitLength":16, - "BitOffset":48, + "Order":12, + "Id":"stationId", + "Name":"Station ID", + "BitLengthVariable":true, + "BitOffset":200, + "BitStart":0, + "FieldType":"STRING_LAU", + "PartOfPrimaryKey":true + }, + { + "Order":13, + "Id":"stationName", + "Name":"Station Name", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" + } + ] + }, + { + "PGN":130323, + "Id":"meteorologicalStationData", + "Description":"Meteorological Station Data", + "Priority":6, + "Type":"Fast", + "Complete":false, + "Missing":["SampleData" + ], + "FieldCount":15, + "MinLength":26, + "TransmissionInterval":1000, + "Fields":[ + { + "Order":1, + "Id":"mode", + "Name":"Mode", + "BitLength":4, + "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"RESIDUAL_MODE" }, { - "Order":5, + "Order":2, "Id":"reserved", "Name":"Reserved", - "BitLength":16, - "BitOffset":64, - "BitStart":0, + "BitLength":4, + "BitOffset":4, + "BitStart":4, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":6, - "Id":"wpId", - "Name":"WP ID", + "Order":3, + "Id":"measurementDate", + "Name":"Measurement Date", "BitLength":16, - "BitOffset":80, + "BitOffset":8, "BitStart":0, + "Unit":"d", "Resolution":1, "Signed":false, "RangeMin":0, @@ -46694,22 +52890,34 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"DATE", + "PhysicalQuantity":"DATE" }, { - "Order":7, - "Id":"wpName", - "Name":"WP Name", - "BitLengthVariable":true, - "BitOffset":96, + "Order":4, + "Id":"measurementTime", + "Name":"Measurement Time", + "Description":"Seconds since midnight", + "BitLength":32, + "BitOffset":24, "BitStart":0, - "FieldType":"STRING_LAU" + "Unit":"s", + "Resolution":0.0001, + "RangeMin":0, + "RangeMax":86401, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"TIME", + "PhysicalQuantity":"TIME" }, { - "Order":8, - "Id":"wpLatitude", - "Name":"WP Latitude", + "Order":5, + "Id":"stationLatitude", + "Name":"Station Latitude", "BitLength":32, + "BitOffset":56, + "BitStart":0, "Unit":"deg", "Resolution":1e-07, "Signed":true, @@ -46722,10 +52930,12 @@ "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" }, { - "Order":9, - "Id":"wpLongitude", - "Name":"WP Longitude", + "Order":6, + "Id":"stationLongitude", + "Name":"Station Longitude", "BitLength":32, + "BitOffset":88, + "BitStart":0, "Unit":"deg", "Resolution":1e-07, "Signed":true, @@ -46736,43 +52946,13 @@ "ReservedValue":2147483645, "FieldType":"NUMBER", "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" - } - ] - }, - { - "PGN":130306, - "Id":"windData", - "Description":"Wind Data", - "Priority":2, - "URL":"https://web.archive.org/web/20181024132013/www.maretron.com/support/manuals/WSO100UM_1.0.pdf#page=15", - "Type":"Single", - "Complete":true, - "FieldCount":5, - "Length":8, - "TransmissionInterval":100, - "Fields":[ - { - "Order":1, - "Id":"sid", - "Name":"SID", - "BitLength":8, - "BitOffset":0, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" }, { - "Order":2, + "Order":7, "Id":"windSpeed", "Name":"Wind Speed", "BitLength":16, - "BitOffset":8, + "BitOffset":120, "BitStart":0, "Unit":"m/s", "Resolution":0.01, @@ -46786,17 +52966,17 @@ "PhysicalQuantity":"SPEED" }, { - "Order":3, - "Id":"windAngle", - "Name":"Wind Angle", + "Order":8, + "Id":"windDirection", + "Name":"Wind Direction", "BitLength":16, - "BitOffset":24, + "BitOffset":136, "BitStart":0, "Unit":"rad", "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -46804,68 +52984,38 @@ "PhysicalQuantity":"ANGLE" }, { - "Order":4, - "Id":"reference", - "Name":"Reference", + "Order":9, + "Id":"windReference", + "Name":"Wind Reference", "BitLength":3, - "BitOffset":40, + "BitOffset":152, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", - "LookupEnumeration":"WIND_REFERENCE", - "PartOfPrimaryKey":true + "LookupEnumeration":"WIND_REFERENCE" }, { - "Order":5, - "Id":"reserved", + "Order":10, + "Id":"reserved10", "Name":"Reserved", - "BitLength":21, - "BitOffset":43, + "BitLength":5, + "BitOffset":155, "BitStart":3, "Resolution":1, "FieldType":"RESERVED" - } - ] - }, - { - "PGN":130310, - "Id":"environmentalParametersObsolete", - "Description":"Environmental Parameters (obsolete)", - "Priority":5, - "Explanation":"This PGN was succeeded by PGN 130310, but it should no longer be generated and separate PGNs in range 130312..130315 should be used", - "Type":"Single", - "Complete":true, - "FieldCount":5, - "Length":8, - "TransmissionInterval":500, - "Fields":[ - { - "Order":1, - "Id":"sid", - "Name":"SID", - "BitLength":8, - "BitOffset":0, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" }, { - "Order":2, - "Id":"waterTemperature", - "Name":"Water Temperature", + "Order":11, + "Id":"windGusts", + "Name":"Wind Gusts", "BitLength":16, - "BitOffset":8, + "BitOffset":160, "BitStart":0, - "Unit":"K", + "Unit":"m/s", "Resolution":0.01, "Signed":false, "RangeMin":0, @@ -46874,121 +53024,261 @@ "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "PhysicalQuantity":"SPEED" }, { - "Order":3, - "Id":"outsideAmbientAirTemperature", - "Name":"Outside Ambient Air Temperature", + "Order":12, + "Id":"atmosphericPressure", + "Name":"Atmospheric Pressure", "BitLength":16, - "BitOffset":24, + "BitOffset":176, "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Unit":"Pa", + "Resolution":100, "Signed":false, "RangeMin":0, - "RangeMax":655.32, + "RangeMax":6553200, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "PhysicalQuantity":"PRESSURE" }, { - "Order":4, - "Id":"atmosphericPressure", - "Name":"Atmospheric Pressure", + "Order":13, + "Id":"ambientTemperature", + "Name":"Ambient Temperature", "BitLength":16, - "BitOffset":40, + "BitOffset":192, "BitStart":0, - "Unit":"Pa", - "Resolution":100, + "Unit":"K", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":6553200, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE" + "PhysicalQuantity":"TEMPERATURE" }, { - "Order":5, - "Id":"reserved", - "Name":"Reserved", - "BitLength":8, - "BitOffset":56, + "Order":14, + "Id":"stationId", + "Name":"Station ID", + "BitLengthVariable":true, + "BitOffset":208, "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"STRING_LAU", + "PartOfPrimaryKey":true + }, + { + "Order":15, + "Id":"stationName", + "Name":"Station Name", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" } ] }, { - "PGN":130311, - "Id":"environmentalParameters", - "Description":"Environmental Parameters", - "Priority":5, - "Explanation":"This PGN was introduced as a better version of PGN 130310, but it should no longer be generated and separate PGNs in range 130312..130315 should be used", - "Type":"Single", - "Complete":true, - "FieldCount":6, - "Length":8, - "TransmissionInterval":500, + "PGN":130324, + "Id":"mooredBuoyStationData", + "Description":"Moored Buoy Station Data", + "Priority":6, + "Type":"Fast", + "Complete":false, + "Missing":["SampleData" + ], + "FieldCount":18, + "MinLength":34, + "TransmissionInterval":1000, "Fields":[ { "Order":1, - "Id":"sid", - "Name":"SID", - "BitLength":8, + "Id":"mode", + "Name":"Mode", + "BitLength":4, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"RESIDUAL_MODE" }, { "Order":2, - "Id":"temperatureSource", - "Name":"Temperature Source", - "BitLength":6, + "Id":"reserved", + "Name":"Reserved", + "BitLength":4, + "BitOffset":4, + "BitStart":4, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"measurementDate", + "Name":"Measurement Date", + "BitLength":16, "BitOffset":8, "BitStart":0, + "Unit":"d", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":61, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DATE", + "PhysicalQuantity":"DATE" + }, + { + "Order":4, + "Id":"measurementTime", + "Name":"Measurement Time", + "Description":"Seconds since midnight", + "BitLength":32, + "BitOffset":24, + "BitStart":0, + "Unit":"s", + "Resolution":0.0001, + "RangeMin":0, + "RangeMax":86401, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"TIME", + "PhysicalQuantity":"TIME" + }, + { + "Order":5, + "Id":"stationLatitude", + "Name":"Station Latitude", + "BitLength":32, + "BitOffset":56, + "BitStart":0, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-90, + "RangeMax":90, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + }, + { + "Order":6, + "Id":"stationLongitude", + "Name":"Station Longitude", + "BitLength":32, + "BitOffset":88, + "BitStart":0, + "Unit":"deg", + "Resolution":1e-07, + "Signed":true, + "RangeMin":-180, + "RangeMax":180, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + }, + { + "Order":7, + "Id":"windSpeed", + "Name":"Wind Speed", + "BitLength":16, + "BitOffset":120, + "BitStart":0, + "Unit":"m/s", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"SPEED" + }, + { + "Order":8, + "Id":"windDirection", + "Name":"Wind Direction", + "BitLength":16, + "BitOffset":136, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":9, + "Id":"windReference", + "Name":"Wind Reference", + "BitLength":3, + "BitOffset":152, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", - "LookupEnumeration":"TEMPERATURE_SOURCE", - "PartOfPrimaryKey":true + "LookupEnumeration":"WIND_REFERENCE" }, { - "Order":3, - "Id":"humiditySource", - "Name":"Humidity Source", - "BitLength":2, - "BitOffset":14, - "BitStart":6, + "Order":10, + "Id":"reserved10", + "Name":"Reserved", + "BitLength":5, + "BitOffset":155, + "BitStart":3, "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":11, + "Id":"windGusts", + "Name":"Wind Gusts", + "BitLength":16, + "BitOffset":160, + "BitStart":0, + "Unit":"m/s", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"HUMIDITY_SOURCE" + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"SPEED" }, { - "Order":4, - "Id":"temperature", - "Name":"Temperature", + "Order":12, + "Id":"waveHeight", + "Name":"Wave Height", "BitLength":16, - "BitOffset":16, + "BitOffset":176, "BitStart":0, - "Unit":"K", + "Unit":"m", "Resolution":0.01, "Signed":false, "RangeMin":0, @@ -46997,32 +53287,32 @@ "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "PhysicalQuantity":"LENGTH" }, { - "Order":5, - "Id":"humidity", - "Name":"Humidity", + "Order":13, + "Id":"dominantWavePeriod", + "Name":"Dominant Wave Period", "BitLength":16, - "BitOffset":32, + "BitOffset":192, "BitStart":0, - "Unit":"%", - "Resolution":0.004, - "Signed":true, - "RangeMin":-131.068, - "RangeMax":131.056, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "Unit":"s", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { - "Order":6, + "Order":14, "Id":"atmosphericPressure", "Name":"Atmospheric Pressure", "BitLength":16, - "BitOffset":48, + "BitOffset":208, "BitStart":0, "Unit":"Pa", "Resolution":100, @@ -47034,74 +53324,31 @@ "ReservedValue":65533, "FieldType":"NUMBER", "PhysicalQuantity":"PRESSURE" - } - ] - }, - { - "PGN":130312, - "Id":"temperature", - "Description":"Temperature", - "Priority":5, - "Type":"Single", - "Complete":true, - "FieldCount":6, - "Length":8, - "TransmissionInterval":2000, - "Fields":[ - { - "Order":1, - "Id":"sid", - "Name":"SID", - "BitLength":8, - "BitOffset":0, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" }, { - "Order":2, - "Id":"instance", - "Name":"Instance", - "BitLength":8, - "BitOffset":8, + "Order":15, + "Id":"pressureTendencyRate", + "Name":"Pressure Tendency Rate", + "BitLength":16, + "BitOffset":224, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "Unit":"Pa/hr", + "Resolution":10, + "Signed":true, + "RangeMin":-327670, + "RangeMax":327640, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":3, - "Id":"source", - "Name":"Source", - "BitLength":8, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"TEMPERATURE_SOURCE", - "PartOfPrimaryKey":true + "PhysicalQuantity":"PRESSURE_RATE" }, { - "Order":4, - "Id":"actualTemperature", - "Name":"Actual Temperature", + "Order":16, + "Id":"airTemperature", + "Name":"Air Temperature", "BitLength":16, - "BitOffset":24, + "BitOffset":240, "BitStart":0, "Unit":"K", "Resolution":0.01, @@ -47115,11 +53362,11 @@ "PhysicalQuantity":"TEMPERATURE" }, { - "Order":5, - "Id":"setTemperature", - "Name":"Set Temperature", + "Order":17, + "Id":"waterTemperature", + "Name":"Water Temperature", "BitLength":16, - "BitOffset":40, + "BitOffset":256, "BitStart":0, "Unit":"K", "Resolution":0.01, @@ -47133,32 +53380,34 @@ "PhysicalQuantity":"TEMPERATURE" }, { - "Order":6, - "Id":"reserved", - "Name":"Reserved", - "BitLength":8, - "BitOffset":56, + "Order":18, + "Id":"stationId", + "Name":"Station ID", + "BitLengthVariable":true, + "BitOffset":272, "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"STRING_LAU", + "PartOfPrimaryKey":true } ] }, { - "PGN":130313, - "Id":"humidity", - "Description":"Humidity", - "Priority":5, - "Type":"Single", - "Complete":true, - "FieldCount":6, - "Length":8, - "TransmissionInterval":2000, + "PGN":130329, + "Id":"hvacStatus", + "Description":"HVAC Status", + "Priority":6, + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution" + ], + "FieldCount":26, + "Length":28, + "TransmissionInterval":5000, "Fields":[ { "Order":1, - "Id":"sid", - "Name":"SID", + "Id":"hvacIdentifier", + "Name":"HVAC Identifier", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -47169,12 +53418,13 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":2, - "Id":"instance", - "Name":"Instance", + "Id":"location", + "Name":"Location", "BitLength":8, "BitOffset":8, "BitStart":0, @@ -47185,268 +53435,101 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { "Order":3, - "Id":"source", - "Name":"Source", - "BitLength":8, + "Id":"operatingMode", + "Name":"Operating Mode", + "BitLength":4, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"HUMIDITY_SOURCE", - "PartOfPrimaryKey":true + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { "Order":4, - "Id":"actualHumidity", - "Name":"Actual Humidity", - "BitLength":16, - "BitOffset":24, - "BitStart":0, - "Unit":"%", - "Resolution":0.004, - "Signed":true, - "RangeMin":-131.068, - "RangeMax":131.056, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" - }, - { - "Order":5, - "Id":"setHumidity", - "Name":"Set Humidity", - "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Unit":"%", - "Resolution":0.004, - "Signed":true, - "RangeMin":-131.068, - "RangeMax":131.056, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" - }, - { - "Order":6, - "Id":"reserved", - "Name":"Reserved", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":130314, - "Id":"actualPressure", - "Description":"Actual Pressure", - "Priority":5, - "Type":"Single", - "Complete":true, - "FieldCount":5, - "Length":8, - "TransmissionInterval":2000, - "Fields":[ - { - "Order":1, - "Id":"sid", - "Name":"SID", - "BitLength":8, - "BitOffset":0, - "BitStart":0, + "Id":"controlOperatingState", + "Name":"Control Operating State", + "BitLength":4, + "BitOffset":20, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"NUMBER" }, { - "Order":2, - "Id":"instance", - "Name":"Instance", - "BitLength":8, - "BitOffset":8, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":3, - "Id":"source", - "Name":"Source", - "BitLength":8, - "BitOffset":16, + "Order":5, + "Id":"power", + "Name":"Power", + "BitLength":2, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", - "LookupEnumeration":"PRESSURE_SOURCE", - "PartOfPrimaryKey":true - }, - { - "Order":4, - "Id":"pressure", - "Name":"Pressure", - "BitLength":32, - "BitOffset":24, - "BitStart":0, - "Unit":"Pa", - "Resolution":0.1, - "Signed":true, - "RangeMin":-214748364.7, - "RangeMax":214748364.4, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE" + "LookupEnumeration":"OFF_ON" }, { - "Order":5, - "Id":"reserved", - "Name":"Reserved", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":130315, - "Id":"setPressure", - "Description":"Set Pressure", - "Priority":5, - "Type":"Single", - "Complete":true, - "FieldCount":5, - "Length":8, - "TransmissionIrregular":true, - "Fields":[ - { - "Order":1, - "Id":"sid", - "Name":"SID", - "BitLength":8, - "BitOffset":0, - "BitStart":0, + "Order":6, + "Id":"fanSpeedModeChangeable", + "Name":"Fan Speed Mode Changeable", + "BitLength":2, + "BitOffset":26, + "BitStart":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":2, + "UnknownValue":3, "FieldType":"NUMBER" }, { - "Order":2, - "Id":"instance", - "Name":"Instance", - "BitLength":8, - "BitOffset":8, - "BitStart":0, + "Order":7, + "Id":"fanSpeedMode", + "Name":"Fan Speed Mode", + "BitLength":2, + "BitOffset":28, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"source", - "Name":"Source", - "BitLength":8, - "BitOffset":16, - "BitStart":0, + "Order":8, + "Id":"fanOperationMode", + "Name":"Fan Operation Mode", + "BitLength":2, + "BitOffset":30, + "BitStart":6, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"PRESSURE_SOURCE", - "PartOfPrimaryKey":true - }, - { - "Order":4, - "Id":"pressure", - "Name":"Pressure", - "BitLength":32, - "BitOffset":24, - "BitStart":0, - "Unit":"Pa", - "Resolution":0.1, - "Signed":true, - "RangeMin":-214748364.7, - "RangeMax":214748364.4, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"reserved", - "Name":"Reserved", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":130316, - "Id":"temperatureExtendedRange", - "Description":"Temperature Extended Range", - "Priority":5, - "URL":"https://web.archive.org/web/20220516160001/https://www.nmea.org/Assets/nmea%202000%20pgn%20130316%20corrigenda%20nmd%20version%202.100%20feb%202015.pdf", - "Type":"Single", - "Complete":true, - "FieldCount":5, - "Length":8, - "TransmissionInterval":2000, - "Fields":[ - { - "Order":1, - "Id":"sid", - "Name":"SID", + "Order":9, + "Id":"fanSpeedAvailable", + "Name":"Fan Speed Available", "BitLength":8, - "BitOffset":0, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -47458,11 +53541,11 @@ "FieldType":"NUMBER" }, { - "Order":2, - "Id":"instance", - "Name":"Instance", + "Order":10, + "Id":"fanSpeed", + "Name":"Fan Speed", "BitLength":8, - "BitOffset":8, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -47471,210 +53554,229 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"source", - "Name":"Source", + "Order":11, + "Id":"setpointType", + "Name":"Setpoint Type", "BitLength":8, - "BitOffset":16, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"TEMPERATURE_SOURCE", - "PartOfPrimaryKey":true + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"temperature", - "Name":"Temperature", - "BitLength":24, - "BitOffset":24, + "Order":12, + "Id":"lowerTemperatureSetpoint", + "Name":"Lower Temperature Setpoint", + "BitLength":16, + "BitOffset":56, "BitStart":0, "Unit":"K", - "Resolution":0.001, + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":16777.212, - "UnknownValue":16777215, - "OutOfRangeValue":16777214, - "ReservedValue":16777213, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER", "PhysicalQuantity":"TEMPERATURE" }, - { - "Order":5, - "Id":"setTemperature", - "Name":"Set Temperature", + { + "Order":13, + "Id":"upperTemperatureSetpoint", + "Name":"Upper Temperature Setpoint", "BitLength":16, - "BitOffset":48, + "BitOffset":72, "BitStart":0, "Unit":"K", - "Resolution":0.1, + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":6553.2, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", "PhysicalQuantity":"TEMPERATURE" - } - ] - }, - { - "PGN":130320, - "Id":"tideStationData", - "Description":"Tide Station Data", - "Priority":6, - "Type":"Fast", - "Complete":true, - "FieldCount":11, - "MinLength":19, - "TransmissionInterval":1000, - "Fields":[ + }, { - "Order":1, - "Id":"mode", - "Name":"Mode", + "Order":14, + "Id":"lowerHumiditySetpoint", + "Name":"Lower Humidity Setpoint", + "BitLength":8, + "BitOffset":88, + "BitStart":0, + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER" + }, + { + "Order":15, + "Id":"upperHumiditySetpoint", + "Name":"Upper Humidity Setpoint", + "BitLength":8, + "BitOffset":96, + "BitStart":0, + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER" + }, + { + "Order":16, + "Id":"auxiliaryHeatControlSupported", + "Name":"Auxiliary Heat Control Supported", "BitLength":4, - "BitOffset":0, + "BitOffset":104, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"RESIDUAL_MODE" + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"tideTendency", - "Name":"Tide Tendency", + "Order":17, + "Id":"auxiliaryHeatAutomaticMode", + "Name":"Auxiliary Heat Automatic Mode", "BitLength":2, - "BitOffset":4, + "BitOffset":108, "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"TIDE" + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"reserved", - "Name":"Reserved", + "Order":18, + "Id":"auxiliaryHeatState", + "Name":"Auxiliary Heat State", "BitLength":2, - "BitOffset":6, + "BitOffset":110, "BitStart":6, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"measurementDate", - "Name":"Measurement Date", + "Order":19, + "Id":"currentTemperature", + "Name":"Current Temperature", "BitLength":16, - "BitOffset":8, + "BitOffset":112, "BitStart":0, - "Unit":"d", - "Resolution":1, + "Unit":"K", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"DATE", - "PhysicalQuantity":"DATE" + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" }, { - "Order":5, - "Id":"measurementTime", - "Name":"Measurement Time", - "Description":"Seconds since midnight", - "BitLength":32, - "BitOffset":24, + "Order":20, + "Id":"currentHumidity", + "Name":"Current Humidity", + "BitLength":8, + "BitOffset":128, "BitStart":0, - "Unit":"s", - "Resolution":0.0001, - "RangeMin":0, - "RangeMax":86401, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"TIME", - "PhysicalQuantity":"TIME" + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"stationLatitude", - "Name":"Station Latitude", - "BitLength":32, - "BitOffset":56, + "Order":21, + "Id":"supportedModes", + "Name":"Supported Modes", + "BitLength":16, + "BitOffset":136, "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-90, - "RangeMax":90, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":7, - "Id":"stationLongitude", - "Name":"Station Longitude", - "BitLength":32, - "BitOffset":88, + "Order":22, + "Id":"seaWaterTemperature", + "Name":"Sea Water Temperature", + "BitLength":16, + "BitOffset":152, "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-180, - "RangeMax":180, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + "PhysicalQuantity":"TEMPERATURE" }, { - "Order":8, - "Id":"tideLevel", - "Name":"Tide Level", - "Description":"Relative to MLLW", + "Order":23, + "Id":"loopTemperature", + "Name":"Loop Temperature", "BitLength":16, - "BitOffset":120, + "BitOffset":168, "BitStart":0, - "Unit":"m", - "Resolution":0.001, - "Signed":true, - "RangeMin":-32.767, - "RangeMax":32.764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"DISTANCE" + "PhysicalQuantity":"TEMPERATURE" }, { - "Order":9, - "Id":"tideLevelStandardDeviation", - "Name":"Tide Level standard deviation", + "Order":24, + "Id":"evaporatorTemperature", + "Name":"Evaporator Temperature", "BitLength":16, - "BitOffset":136, + "BitOffset":184, "BitStart":0, - "Unit":"m", + "Unit":"K", "Resolution":0.01, "Signed":false, "RangeMin":0, @@ -47683,968 +53785,1075 @@ "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"LENGTH" + "PhysicalQuantity":"TEMPERATURE" }, { - "Order":10, - "Id":"stationId", - "Name":"Station ID", - "BitLengthVariable":true, - "BitOffset":152, + "Order":25, + "Id":"inletTemperature", + "Name":"Inlet Temperature", + "BitLength":16, + "BitOffset":200, "BitStart":0, - "FieldType":"STRING_LAU", - "PartOfPrimaryKey":true + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" }, { - "Order":11, - "Id":"stationName", - "Name":"Station Name", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" + "Order":26, + "Id":"inletHumidity", + "Name":"Inlet Humidity", + "BitLength":8, + "BitOffset":216, + "BitStart":0, + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER" } ] }, { - "PGN":130321, - "Id":"salinityStationData", - "Description":"Salinity Station Data", - "Priority":6, + "PGN":130330, + "Id":"lightingSystemSettings", + "Description":"Lighting System Settings", + "Priority":7, + "Explanation":"This PGN provides a lighting controller settings and number of supported capabilities.", "Type":"Fast", "Complete":false, - "Missing":["SampleData" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":10, - "MinLength":21, - "TransmissionInterval":1000, + "FieldCount":12, + "MinLength":12, "Fields":[ { "Order":1, - "Id":"mode", - "Name":"Mode", - "BitLength":4, + "Id":"globalEnable", + "Name":"Global Enable", + "BitLength":2, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"RESIDUAL_MODE" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":4, - "BitOffset":4, - "BitStart":4, + "Id":"defaultSettingsCommand", + "Name":"Default Settings/Command", + "BitLength":3, + "BitOffset":2, + "BitStart":2, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"LIGHTING_COMMAND" }, { "Order":3, - "Id":"measurementDate", - "Name":"Measurement Date", - "BitLength":16, - "BitOffset":8, - "BitStart":0, - "Unit":"d", + "Id":"reserved", + "Name":"Reserved", + "BitLength":3, + "BitOffset":5, + "BitStart":5, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DATE", - "PhysicalQuantity":"DATE" + "FieldType":"RESERVED" }, { "Order":4, - "Id":"measurementTime", - "Name":"Measurement Time", - "Description":"Seconds since midnight", - "BitLength":32, - "BitOffset":24, + "Id":"nameOfTheLightingController", + "Name":"Name of the lighting controller", + "BitLengthVariable":true, + "BitOffset":8, "BitStart":0, - "Unit":"s", - "Resolution":0.0001, - "RangeMin":0, - "RangeMax":86401, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"TIME", - "PhysicalQuantity":"TIME" + "FieldType":"STRING_LAU" }, { "Order":5, - "Id":"stationLatitude", - "Name":"Station Latitude", - "BitLength":32, - "BitOffset":56, - "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-90, - "RangeMax":90, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + "Id":"maxScenes", + "Name":"Max Scenes", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"stationLongitude", - "Name":"Station Longitude", - "BitLength":32, - "BitOffset":88, - "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-180, - "RangeMax":180, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + "Id":"maxSceneConfigurationCount", + "Name":"Max Scene Configuration Count", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"salinity", - "Name":"Salinity", - "BitLength":32, - "BitOffset":120, - "BitStart":0, - "Unit":"ppt", + "Id":"maxZones", + "Name":"Max Zones", + "BitLength":8, "Resolution":1, - "Signed":true, - "RangeMin":-3.40282346638529e+38, - "RangeMax":3.40282346638529e+38, - "FieldType":"FLOAT", - "PhysicalQuantity":"CONCENTRATION" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"waterTemperature", - "Name":"Water Temperature", - "BitLength":16, - "BitOffset":152, - "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Id":"maxColorSequences", + "Name":"Max Color Sequences", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":9, - "Id":"stationId", - "Name":"Station ID", - "BitLengthVariable":true, - "BitOffset":168, - "BitStart":0, - "FieldType":"STRING_LAU" + "Id":"maxColorSequenceColorCount", + "Name":"Max Color Sequence Color Count", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":10, - "Id":"stationName", - "Name":"Station Name", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" + "Id":"numberOfPrograms", + "Name":"Number of Programs", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":11, + "Id":"controllerCapabilities", + "Name":"Controller Capabilities", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":12, + "Id":"identifyDevice", + "Name":"Identify Device", + "BitLength":32, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" } ] }, { - "PGN":130322, - "Id":"currentStationData", - "Description":"Current Station Data", - "Priority":6, - "Type":"Fast", + "PGN":130560, + "Id":"payloadMass", + "Description":"Payload Mass", + "Type":"Single", "Complete":false, - "Missing":["SampleData" + "Missing":["Resolution","SampleData","Interval" ], - "FieldCount":13, - "MinLength":25, - "TransmissionInterval":1000, + "FieldCount":6, + "Length":8, "Fields":[ { "Order":1, - "Id":"mode", - "Name":"Mode", - "BitLength":4, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"RESIDUAL_MODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":2, - "Id":"state", - "Name":"State", + "Id":"measurementStatus", + "Name":"Measurement Status", "BitLength":3, - "BitOffset":4, - "BitStart":4, + "BitOffset":8, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"FLOOD_STATE" + "UnknownValue":7, + "FieldType":"NUMBER" }, { "Order":3, "Id":"reserved", "Name":"Reserved", - "BitLength":1, - "BitOffset":7, - "BitStart":7, + "BitLength":5, + "BitOffset":11, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" }, { "Order":4, - "Id":"measurementDate", - "Name":"Measurement Date", - "BitLength":16, - "BitOffset":8, + "Id":"measurementId", + "Name":"Measurement ID", + "BitLength":8, + "BitOffset":16, "BitStart":0, - "Unit":"d", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DATE", - "PhysicalQuantity":"DATE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"measurementTime", - "Name":"Measurement Time", - "Description":"Seconds since midnight", + "Id":"payloadMass", + "Name":"Payload Mass", "BitLength":32, "BitOffset":24, "BitStart":0, - "Unit":"s", - "Resolution":0.0001, + "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":86401, + "RangeMax":4294967292, "UnknownValue":4294967295, "OutOfRangeValue":4294967294, "ReservedValue":4294967293, - "FieldType":"TIME", - "PhysicalQuantity":"TIME" + "FieldType":"NUMBER" }, { "Order":6, - "Id":"stationLatitude", - "Name":"Station Latitude", - "BitLength":32, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":8, "BitOffset":56, "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-90, - "RangeMax":90, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" - }, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130561, + "Id":"lightingZone", + "Description":"Lighting Zone", + "Explanation":"This PGN is used to report or configure a name for a given zone. A zone is a grouping of devices that are controlled by a Scene. This PGN is only sent upon request.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution" + ], + "FieldCount":14, + "MinLength":13, + "TransmissionIrregular":true, + "Fields":[ { - "Order":7, - "Id":"stationLongitude", - "Name":"Station Longitude", - "BitLength":32, - "BitOffset":88, + "Order":1, + "Id":"zoneIndex", + "Name":"Zone Index", + "BitLength":8, + "BitOffset":0, "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-180, - "RangeMax":180, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":8, - "Id":"measurementDepth", - "Name":"Measurement Depth", - "Description":"Depth below transducer", - "BitLength":32, - "BitOffset":120, + "Order":2, + "Id":"zoneName", + "Name":"Zone Name", + "BitLengthVariable":true, + "BitOffset":8, "BitStart":0, - "Unit":"m", - "Resolution":0.01, + "FieldType":"STRING_LAU" + }, + { + "Order":3, + "Id":"redComponent", + "Name":"Red Component", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":42949672.92, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"LENGTH" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":9, - "Id":"currentSpeed", - "Name":"Current speed", + "Order":4, + "Id":"greenComponent", + "Name":"Green Component", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"blueComponent", + "Name":"Blue Component", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"colorTemperature", + "Name":"Color Temperature", "BitLength":16, - "BitOffset":152, - "BitStart":0, - "Unit":"m/s", - "Resolution":0.01, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, + "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"intensity", + "Name":"Intensity", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"programId", + "Name":"Program ID", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"programColorSequenceIndex", + "Name":"Program Color Sequence Index", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":10, - "Id":"currentFlowDirection", - "Name":"Current flow direction", - "BitLength":16, - "BitOffset":168, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Id":"programIntensity", + "Name":"Program Intensity", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":11, - "Id":"waterTemperature", - "Name":"Water Temperature", - "BitLength":16, - "BitOffset":184, - "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Id":"programRate", + "Name":"Program Rate", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":12, - "Id":"stationId", - "Name":"Station ID", - "BitLengthVariable":true, - "BitOffset":200, - "BitStart":0, - "FieldType":"STRING_LAU", - "PartOfPrimaryKey":true + "Id":"programColorSequence", + "Name":"Program Color Sequence", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":13, - "Id":"stationName", - "Name":"Station Name", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" + "Id":"zoneEnabled", + "Name":"Zone Enabled", + "BitLength":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"OFF_ON" + }, + { + "Order":14, + "Id":"reserved", + "Name":"Reserved", + "BitLength":6, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":130323, - "Id":"meteorologicalStationData", - "Description":"Meteorological Station Data", - "Priority":6, + "PGN":130562, + "Id":"lightingScene", + "Description":"Lighting Scene", + "Explanation":"A Lighting Scene is a sequence of zone program configurations.", "Type":"Fast", "Complete":false, - "Missing":["SampleData" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":15, - "MinLength":26, - "TransmissionInterval":1000, + "FieldCount":12, + "MinLength":3, + "RepeatingFieldSet1Size":8, + "RepeatingFieldSet1StartField":5, + "RepeatingFieldSet1CountField":4, "Fields":[ { "Order":1, - "Id":"mode", - "Name":"Mode", - "BitLength":4, + "Id":"sceneIndex", + "Name":"Scene Index", + "BitLength":8, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"RESIDUAL_MODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":4, - "BitOffset":4, - "BitStart":4, - "Resolution":1, - "FieldType":"RESERVED" + "Id":"zoneName", + "Name":"Zone Name", + "BitLengthVariable":true, + "BitOffset":8, + "BitStart":0, + "FieldType":"STRING_LAU" }, { "Order":3, - "Id":"measurementDate", - "Name":"Measurement Date", - "BitLength":16, - "BitOffset":8, - "BitStart":0, - "Unit":"d", + "Id":"control", + "Name":"Control", + "BitLength":8, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DATE", - "PhysicalQuantity":"DATE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":4, - "Id":"measurementTime", - "Name":"Measurement Time", - "Description":"Seconds since midnight", - "BitLength":32, - "BitOffset":24, - "BitStart":0, - "Unit":"s", - "Resolution":0.0001, + "Id":"configurationCount", + "Name":"Configuration Count", + "BitLength":8, + "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":86401, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"TIME", - "PhysicalQuantity":"TIME" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"stationLatitude", - "Name":"Station Latitude", - "BitLength":32, - "BitOffset":56, - "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-90, - "RangeMax":90, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + "Id":"configurationIndex", + "Name":"Configuration Index", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"stationLongitude", - "Name":"Station Longitude", - "BitLength":32, - "BitOffset":88, - "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-180, - "RangeMax":180, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + "Id":"zoneIndex", + "Name":"Zone Index", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"windSpeed", - "Name":"Wind Speed", - "BitLength":16, - "BitOffset":120, - "BitStart":0, - "Unit":"m/s", - "Resolution":0.01, + "Id":"devicesId", + "Name":"Devices ID", + "BitLength":32, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"windDirection", - "Name":"Wind Direction", - "BitLength":16, - "BitOffset":136, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Id":"programIndex", + "Name":"Program Index", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":9, - "Id":"windReference", - "Name":"Wind Reference", - "BitLength":3, - "BitOffset":152, - "BitStart":0, + "Id":"programColorSequenceIndex", + "Name":"Program Color Sequence Index", + "BitLength":8, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"WIND_REFERENCE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":10, - "Id":"reserved10", - "Name":"Reserved", - "BitLength":5, - "BitOffset":155, - "BitStart":3, + "Id":"programIntensity", + "Name":"Program Intensity", + "BitLength":8, "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":11, - "Id":"windGusts", - "Name":"Wind Gusts", - "BitLength":16, - "BitOffset":160, - "BitStart":0, - "Unit":"m/s", - "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":12, - "Id":"atmosphericPressure", - "Name":"Atmospheric Pressure", - "BitLength":16, - "BitOffset":176, - "BitStart":0, - "Unit":"Pa", - "Resolution":100, + "Order":11, + "Id":"programRate", + "Name":"Program Rate", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6553200, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":13, - "Id":"ambientTemperature", - "Name":"Ambient Temperature", - "BitLength":16, - "BitOffset":192, - "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Order":12, + "Id":"programColorSequenceRate", + "Name":"Program Color Sequence Rate", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" - }, - { - "Order":14, - "Id":"stationId", - "Name":"Station ID", - "BitLengthVariable":true, - "BitOffset":208, - "BitStart":0, - "FieldType":"STRING_LAU", - "PartOfPrimaryKey":true - }, - { - "Order":15, - "Id":"stationName", - "Name":"Station Name", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":130324, - "Id":"mooredBuoyStationData", - "Description":"Moored Buoy Station Data", - "Priority":6, + "PGN":130563, + "Id":"lightingDevice", + "Description":"Lighting Device", + "Explanation":"This PGN is used to provide status and capabilities of a lighting device. A lighting device may be a virtual device connected to a lighting controller or physical device on the network.", "Type":"Fast", "Complete":false, - "Missing":["SampleData" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":18, - "MinLength":34, - "TransmissionInterval":1000, + "MinLength":20, "Fields":[ { "Order":1, - "Id":"mode", - "Name":"Mode", - "BitLength":4, + "Id":"deviceId", + "Name":"Device ID", + "BitLength":32, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"RESIDUAL_MODE" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":4, - "BitOffset":4, - "BitStart":4, + "Id":"deviceCapabilities", + "Name":"Device Capabilities", + "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":3, - "Id":"measurementDate", - "Name":"Measurement Date", - "BitLength":16, - "BitOffset":8, + "Id":"colorCapabilities", + "Name":"Color Capabilities", + "BitLength":8, + "BitOffset":40, "BitStart":0, - "Unit":"d", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DATE", - "PhysicalQuantity":"DATE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":4, - "Id":"measurementTime", - "Name":"Measurement Time", - "Description":"Seconds since midnight", - "BitLength":32, - "BitOffset":24, + "Id":"zoneIndex", + "Name":"Zone Index", + "BitLength":8, + "BitOffset":48, "BitStart":0, - "Unit":"s", - "Resolution":0.0001, + "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":86401, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"TIME", - "PhysicalQuantity":"TIME" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"stationLatitude", - "Name":"Station Latitude", - "BitLength":32, + "Id":"nameOfLightingDevice", + "Name":"Name of Lighting Device", + "BitLengthVariable":true, "BitOffset":56, "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-90, - "RangeMax":90, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LATITUDE" + "FieldType":"STRING_LAU" }, { "Order":6, - "Id":"stationLongitude", - "Name":"Station Longitude", - "BitLength":32, - "BitOffset":88, - "BitStart":0, - "Unit":"deg", - "Resolution":1e-07, - "Signed":true, - "RangeMin":-180, - "RangeMax":180, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"NUMBER", - "PhysicalQuantity":"GEOGRAPHICAL_LONGITUDE" + "Id":"status", + "Name":"Status", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"windSpeed", - "Name":"Wind Speed", - "BitLength":16, - "BitOffset":120, - "BitStart":0, - "Unit":"m/s", - "Resolution":0.01, + "Id":"redComponent", + "Name":"Red Component", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"windDirection", - "Name":"Wind Direction", - "BitLength":16, - "BitOffset":136, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Id":"greenComponent", + "Name":"Green Component", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":9, - "Id":"windReference", - "Name":"Wind Reference", - "BitLength":3, - "BitOffset":152, - "BitStart":0, + "Id":"blueComponent", + "Name":"Blue Component", + "BitLength":8, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"WIND_REFERENCE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":10, - "Id":"reserved10", - "Name":"Reserved", - "BitLength":5, - "BitOffset":155, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":11, - "Id":"windGusts", - "Name":"Wind Gusts", + "Id":"colorTemperature", + "Name":"Color Temperature", "BitLength":16, - "BitOffset":160, - "BitStart":0, - "Unit":"m/s", - "Resolution":0.01, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, + "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "FieldType":"NUMBER" + }, + { + "Order":11, + "Id":"intensity", + "Name":"Intensity", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":12, - "Id":"waveHeight", - "Name":"Wave Height", - "BitLength":16, - "BitOffset":176, - "BitStart":0, - "Unit":"m", - "Resolution":0.01, + "Id":"programId", + "Name":"Program ID", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"LENGTH" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":13, - "Id":"dominantWavePeriod", - "Name":"Dominant Wave Period", - "BitLength":16, - "BitOffset":192, - "BitStart":0, - "Unit":"s", - "Resolution":0.01, + "Id":"programColorSequenceIndex", + "Name":"Program Color Sequence Index", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":14, - "Id":"atmosphericPressure", - "Name":"Atmospheric Pressure", - "BitLength":16, - "BitOffset":208, - "BitStart":0, - "Unit":"Pa", - "Resolution":100, + "Id":"programIntensity", + "Name":"Program Intensity", + "BitLength":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6553200, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":15, - "Id":"pressureTendencyRate", - "Name":"Pressure Tendency Rate", + "Id":"programRate", + "Name":"Program Rate", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":16, + "Id":"programColorSequenceRate", + "Name":"Program Color Sequence Rate", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":17, + "Id":"enabled", + "Name":"Enabled", + "BitLength":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"OFF_ON" + }, + { + "Order":18, + "Id":"reserved", + "Name":"Reserved", + "BitLength":6, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130564, + "Id":"lightingDeviceEnumeration", + "Description":"Lighting Device Enumeration", + "Explanation":"This PGN allows for enumeration of the lighting devices on the controller.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":5, + "MinLength":6, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":4, + "RepeatingFieldSet1CountField":3, + "Fields":[ + { + "Order":1, + "Id":"indexOfFirstDevice", + "Name":"Index of First Device", "BitLength":16, - "BitOffset":224, - "BitStart":0, - "Unit":"Pa/hr", - "Resolution":10, - "Signed":true, - "RangeMin":-327670, - "RangeMax":327640, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE_RATE" + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":16, - "Id":"airTemperature", - "Name":"Air Temperature", + "Order":2, + "Id":"totalNumberOfDevices", + "Name":"Total Number of Devices", "BitLength":16, - "BitOffset":240, + "BitOffset":16, "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, + "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "FieldType":"NUMBER" }, { - "Order":17, - "Id":"waterTemperature", - "Name":"Water Temperature", + "Order":3, + "Id":"numberOfDevices", + "Name":"Number of Devices", "BitLength":16, - "BitOffset":256, + "BitOffset":32, "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, + "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "FieldType":"NUMBER" }, { - "Order":18, - "Id":"stationId", - "Name":"Station ID", - "BitLengthVariable":true, - "BitOffset":272, + "Order":4, + "Id":"deviceId", + "Name":"Device ID", + "BitLength":32, + "BitOffset":48, "BitStart":0, - "FieldType":"STRING_LAU", - "PartOfPrimaryKey":true + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"status", + "Name":"Status", + "BitLength":8, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":130329, - "Id":"hvacStatus", - "Description":"HVAC Status", - "Priority":6, + "PGN":130565, + "Id":"lightingColorSequence", + "Description":"Lighting Color Sequence", + "Explanation":"Sequences could be 1 to (PGN Lighting - System Configuration) Max Color Sequence Color Count colors.", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":26, - "Length":28, - "TransmissionInterval":5000, + "FieldCount":8, + "MinLength":2, + "RepeatingFieldSet1Size":6, + "RepeatingFieldSet1StartField":3, + "RepeatingFieldSet1CountField":2, "Fields":[ { "Order":1, - "Id":"hvacIdentifier", - "Name":"HVAC Identifier", + "Id":"sequenceIndex", + "Name":"Sequence Index", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -48655,13 +54864,12 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { "Order":2, - "Id":"location", - "Name":"Location", + "Id":"colorCount", + "Name":"Color Count", "BitLength":8, "BitOffset":8, "BitStart":0, @@ -48676,96 +54884,90 @@ }, { "Order":3, - "Id":"operatingMode", - "Name":"Operating Mode", - "BitLength":4, + "Id":"colorIndex", + "Name":"Color Index", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":4, - "Id":"controlOperatingState", - "Name":"Control Operating State", - "BitLength":4, - "BitOffset":20, - "BitStart":4, + "Id":"redComponent", + "Name":"Red Component", + "BitLength":8, + "BitOffset":24, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":5, - "Id":"power", - "Name":"Power", - "BitLength":2, - "BitOffset":24, + "Id":"greenComponent", + "Name":"Green Component", + "BitLength":8, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"OFF_ON" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"fanSpeedModeChangeable", - "Name":"Fan Speed Mode Changeable", - "BitLength":2, - "BitOffset":26, - "BitStart":2, + "Id":"blueComponent", + "Name":"Blue Component", + "BitLength":8, + "BitOffset":40, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":7, - "Id":"fanSpeedMode", - "Name":"Fan Speed Mode", - "BitLength":2, - "BitOffset":28, - "BitStart":4, + "Id":"colorTemperature", + "Name":"Color Temperature", + "BitLength":16, + "BitOffset":48, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":8, - "Id":"fanOperationMode", - "Name":"Fan Operation Mode", - "BitLength":2, - "BitOffset":30, - "BitStart":6, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"fanSpeedAvailable", - "Name":"Fan Speed Available", + "Id":"intensity", + "Name":"Intensity", "BitLength":8, - "BitOffset":32, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, @@ -48775,13 +54977,27 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - }, + } + ] + }, + { + "PGN":130566, + "Id":"lightingProgram", + "Description":"Lighting Program", + "Explanation":"This PGN describes an available program on the controller. Can be a built in required NMEA one or a custom vendor program.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":5, + "MinLength":2, + "Fields":[ { - "Order":10, - "Id":"fanSpeed", - "Name":"Fan Speed", + "Order":1, + "Id":"programId", + "Name":"Program ID", "BitLength":8, - "BitOffset":40, + "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, @@ -48793,173 +55009,270 @@ "FieldType":"NUMBER" }, { - "Order":11, - "Id":"setpointType", - "Name":"Setpoint Type", - "BitLength":8, - "BitOffset":48, + "Order":2, + "Id":"nameOfProgram", + "Name":"Name of Program", + "BitLengthVariable":true, + "BitOffset":8, "BitStart":0, + "FieldType":"STRING_LAU" + }, + { + "Order":3, + "Id":"description", + "Name":"Description", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" + }, + { + "Order":4, + "Id":"programCapabilities", + "Name":"Program Capabilities", + "BitLength":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"NUMBER" }, { - "Order":12, - "Id":"lowerTemperatureSetpoint", - "Name":"Lower Temperature Setpoint", - "BitLength":16, - "BitOffset":56, + "Order":5, + "Id":"reserved", + "Name":"Reserved", + "BitLength":4, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130567, + "Id":"watermakerInputSettingAndStatus", + "Description":"Watermaker Input Setting and Status", + "URL":"https://web.archive.org/web/20170609065450/https://www.nmea.org/Assets/20130905%20amendment%20at%202000%20201309051%20watermaker%20input%20setting%20and%20status%20pgn%20130567.pdf", + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":23, + "Length":24, + "Fields":[ + { + "Order":1, + "Id":"watermakerOperatingState", + "Name":"Watermaker Operating State", + "BitLength":6, + "BitOffset":0, "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "RangeMax":61, + "UnknownValue":63, + "OutOfRangeValue":62, + "FieldType":"LOOKUP", + "LookupEnumeration":"WATERMAKER_STATE" }, { - "Order":13, - "Id":"upperTemperatureSetpoint", - "Name":"Upper Temperature Setpoint", - "BitLength":16, - "BitOffset":72, - "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Order":2, + "Id":"productionStartStop", + "Name":"Production Start/Stop", + "BitLength":2, + "BitOffset":6, + "BitStart":6, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" }, { - "Order":14, - "Id":"lowerHumiditySetpoint", - "Name":"Lower Humidity Setpoint", - "BitLength":8, - "BitOffset":88, + "Order":3, + "Id":"rinseStartStop", + "Name":"Rinse Start/Stop", + "BitLength":2, + "BitOffset":8, "BitStart":0, "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER" + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" }, { - "Order":15, - "Id":"upperHumiditySetpoint", - "Name":"Upper Humidity Setpoint", - "BitLength":8, - "BitOffset":96, - "BitStart":0, + "Order":4, + "Id":"lowPressurePumpStatus", + "Name":"Low Pressure Pump Status", + "BitLength":2, + "BitOffset":10, + "BitStart":2, "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER" + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" }, { - "Order":16, - "Id":"auxiliaryHeatControlSupported", - "Name":"Auxiliary Heat Control Supported", - "BitLength":4, - "BitOffset":104, + "Order":5, + "Id":"highPressurePumpStatus", + "Name":"High Pressure Pump Status", + "BitLength":2, + "BitOffset":12, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" + }, + { + "Order":6, + "Id":"emergencyStop", + "Name":"Emergency Stop", + "BitLength":2, + "BitOffset":14, + "BitStart":6, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" + }, + { + "Order":7, + "Id":"productSolenoidValveStatus", + "Name":"Product Solenoid Valve Status", + "BitLength":2, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"OK_WARNING" }, { - "Order":17, - "Id":"auxiliaryHeatAutomaticMode", - "Name":"Auxiliary Heat Automatic Mode", + "Order":8, + "Id":"flushModeStatus", + "Name":"Flush Mode Status", "BitLength":2, - "BitOffset":108, + "BitOffset":18, + "BitStart":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" + }, + { + "Order":9, + "Id":"salinityStatus", + "Name":"Salinity Status", + "BitLength":2, + "BitOffset":20, "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2, "UnknownValue":3, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"OK_WARNING" }, { - "Order":18, - "Id":"auxiliaryHeatState", - "Name":"Auxiliary Heat State", + "Order":10, + "Id":"sensorStatus", + "Name":"Sensor Status", "BitLength":2, - "BitOffset":110, + "BitOffset":22, "BitStart":6, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2, "UnknownValue":3, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"OK_WARNING" }, { - "Order":19, - "Id":"currentTemperature", - "Name":"Current Temperature", - "BitLength":16, - "BitOffset":112, + "Order":11, + "Id":"oilChangeIndicatorStatus", + "Name":"Oil Change Indicator Status", + "BitLength":2, + "BitOffset":24, "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"OK_WARNING" + }, + { + "Order":12, + "Id":"filterStatus", + "Name":"Filter Status", + "BitLength":2, + "BitOffset":26, + "BitStart":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"OK_WARNING" + }, + { + "Order":13, + "Id":"systemStatus", + "Name":"System Status", + "BitLength":2, + "BitOffset":28, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"OK_WARNING" }, { - "Order":20, - "Id":"currentHumidity", - "Name":"Current Humidity", - "BitLength":8, - "BitOffset":128, - "BitStart":0, + "Order":14, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":30, + "BitStart":6, "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { - "Order":21, - "Id":"supportedModes", - "Name":"Supported Modes", + "Order":15, + "Id":"salinity", + "Name":"Salinity", "BitLength":16, - "BitOffset":136, + "BitOffset":32, "BitStart":0, + "Unit":"ppm", "Resolution":1, "Signed":false, "RangeMin":0, @@ -48967,14 +55280,15 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"CONCENTRATION" }, { - "Order":22, - "Id":"seaWaterTemperature", - "Name":"Sea Water Temperature", + "Order":16, + "Id":"productWaterTemperature", + "Name":"Product Water Temperature", "BitLength":16, - "BitOffset":152, + "BitOffset":48, "BitStart":0, "Unit":"K", "Resolution":0.01, @@ -48988,198 +55302,170 @@ "PhysicalQuantity":"TEMPERATURE" }, { - "Order":23, - "Id":"loopTemperature", - "Name":"Loop Temperature", + "Order":17, + "Id":"preFilterPressure", + "Name":"Pre-filter Pressure", "BitLength":16, - "BitOffset":168, + "BitOffset":64, "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Unit":"Pa", + "Resolution":100, "Signed":false, "RangeMin":0, - "RangeMax":655.32, + "RangeMax":6553200, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "PhysicalQuantity":"PRESSURE" }, { - "Order":24, - "Id":"evaporatorTemperature", - "Name":"Evaporator Temperature", + "Order":18, + "Id":"postFilterPressure", + "Name":"Post-filter Pressure", "BitLength":16, - "BitOffset":184, + "BitOffset":80, "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Unit":"Pa", + "Resolution":100, "Signed":false, "RangeMin":0, - "RangeMax":655.32, + "RangeMax":6553200, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "PhysicalQuantity":"PRESSURE" }, { - "Order":25, - "Id":"inletTemperature", - "Name":"Inlet Temperature", + "Order":19, + "Id":"feedPressure", + "Name":"Feed Pressure", "BitLength":16, - "BitOffset":200, + "BitOffset":96, "BitStart":0, - "Unit":"K", - "Resolution":0.01, + "Unit":"Pa", + "Resolution":1000, + "Signed":true, + "RangeMin":-32767000, + "RangeMax":32764000, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"PRESSURE" + }, + { + "Order":20, + "Id":"systemHighPressure", + "Name":"System High Pressure", + "BitLength":16, + "BitOffset":112, + "BitStart":0, + "Unit":"Pa", + "Resolution":1000, "Signed":false, "RangeMin":0, - "RangeMax":655.32, + "RangeMax":65532000, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "PhysicalQuantity":"PRESSURE" }, { - "Order":26, - "Id":"inletHumidity", - "Name":"Inlet Humidity", - "BitLength":8, - "BitOffset":216, + "Order":21, + "Id":"productWaterFlow", + "Name":"Product Water Flow", + "BitLength":16, + "BitOffset":128, "BitStart":0, - "Resolution":1, + "Unit":"L/h", + "Resolution":0.1, "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER" + "RangeMin":-3276.7, + "RangeMax":3276.4, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"VOLUMETRIC_FLOW" + }, + { + "Order":22, + "Id":"brineWaterFlow", + "Name":"Brine Water Flow", + "BitLength":16, + "BitOffset":144, + "BitStart":0, + "Unit":"L/h", + "Resolution":0.1, + "Signed":true, + "RangeMin":-3276.7, + "RangeMax":3276.4, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"VOLUMETRIC_FLOW" + }, + { + "Order":23, + "Id":"runTime", + "Name":"Run Time", + "BitLength":32, + "BitOffset":160, + "BitStart":0, + "Unit":"s", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" } ] }, { - "PGN":130330, - "Id":"lightingSystemSettings", - "Description":"Lighting System Settings", - "Priority":7, - "Explanation":"This PGN provides a lighting controller settings and number of supported capabilities.", + "PGN":130568, + "Id":"entertainmentDiagnosticStatus", + "Description":"Entertainment - Diagnostic Status", + "Explanation":"Audio/video source diagnostic status. Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" ], - "FieldCount":12, - "MinLength":12, + "FieldCount":5, + "MinLength":4, "Fields":[ { "Order":1, - "Id":"globalEnable", - "Name":"Global Enable", - "BitLength":2, + "Id":"source", + "Name":"Source", + "BitLength":8, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":2, - "Id":"defaultSettingsCommand", - "Name":"Default Settings/Command", - "BitLength":3, - "BitOffset":2, - "BitStart":2, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"LIGHTING_COMMAND" - }, - { - "Order":3, - "Id":"reserved", - "Name":"Reserved", - "BitLength":3, - "BitOffset":5, - "BitStart":5, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":4, - "Id":"nameOfTheLightingController", - "Name":"Name of the lighting controller", - "BitLengthVariable":true, - "BitOffset":8, - "BitStart":0, - "FieldType":"STRING_LAU" - }, - { - "Order":5, - "Id":"maxScenes", - "Name":"Max Scenes", - "BitLength":8, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"maxSceneConfigurationCount", - "Name":"Max Scene Configuration Count", - "BitLength":8, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"maxZones", - "Name":"Max Zones", - "BitLength":8, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"maxColorSequences", - "Name":"Max Color Sequences", - "BitLength":8, - "Resolution":1, - "Signed":false, - "RangeMin":0, "RangeMax":252, "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_SOURCE" }, { - "Order":9, - "Id":"maxColorSequenceColorCount", - "Name":"Max Color Sequence Color Count", + "Order":2, + "Id":"number", + "Name":"Number", + "Description":"Source number per type", "BitLength":8, + "BitOffset":8, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49190,10 +55476,12 @@ "FieldType":"NUMBER" }, { - "Order":10, - "Id":"numberOfPrograms", - "Name":"Number of Programs", + "Order":3, + "Id":"diagnosticMode", + "Name":"Diagnostic Mode", "BitLength":8, + "BitOffset":16, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49204,50 +55492,42 @@ "FieldType":"NUMBER" }, { - "Order":11, - "Id":"controllerCapabilities", - "Name":"Controller Capabilities", + "Order":4, + "Id":"reserved", + "Name":"Reserved", "BitLength":8, + "BitOffset":24, + "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { - "Order":12, - "Id":"identifyDevice", - "Name":"Identify Device", - "BitLength":32, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "Order":5, + "Id":"diagnosticData", + "Name":"Diagnostic Data", + "BitLengthVariable":true, + "BitOffset":32, + "BitStart":0, + "FieldType":"STRING_LAU" } ] }, { - "PGN":130560, - "Id":"payloadMass", - "Description":"Payload Mass", - "Type":"Single", + "PGN":130569, + "Id":"currentStatusAndFile", + "Description":"Current Status and File", + "URL":"https://web.archive.org/web/20170609024809/https://www.nmea.org/Assets/20160725%20corrigenda%20pgn%20130569%20published.pdf", + "Type":"Fast", "Complete":false, - "Missing":["Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":6, - "Length":8, + "FieldCount":17, + "Length":26, "Fields":[ { "Order":1, - "Id":"sid", - "Name":"SID", + "Id":"zone", + "Name":"Zone", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -49258,36 +55538,31 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_ZONE" }, { "Order":2, - "Id":"measurementStatus", - "Name":"Measurement Status", - "BitLength":3, + "Id":"source", + "Name":"Source", + "BitLength":8, "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "UnknownValue":7, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_SOURCE" }, { "Order":3, - "Id":"reserved", - "Name":"Reserved", - "BitLength":5, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":4, - "Id":"measurementId", - "Name":"Measurement ID", + "Id":"number", + "Name":"Number", + "Description":"Source number per type", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -49301,9 +55576,10 @@ "FieldType":"NUMBER" }, { - "Order":5, - "Id":"payloadMass", - "Name":"Payload Mass", + "Order":4, + "Id":"id", + "Name":"ID", + "Description":"Unique file ID", "BitLength":32, "BitOffset":24, "BitStart":0, @@ -49317,88 +55593,98 @@ "FieldType":"NUMBER" }, { - "Order":6, - "Id":"reserved6", - "Name":"Reserved", + "Order":5, + "Id":"playStatus", + "Name":"Play status", "BitLength":8, "BitOffset":56, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":130561, - "Id":"lightingZone", - "Description":"Lighting Zone", - "Explanation":"This PGN is used to report or configure a name for a given zone. A zone is a grouping of devices that are controlled by a Scene. This PGN is only sent upon request.", - "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" - ], - "FieldCount":14, - "MinLength":13, - "TransmissionIrregular":true, - "Fields":[ - { - "Order":1, - "Id":"zoneIndex", - "Name":"Zone Index", - "BitLength":8, - "BitOffset":0, - "BitStart":0, - "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_PLAY_STATUS" }, { - "Order":2, - "Id":"zoneName", - "Name":"Zone Name", - "BitLengthVariable":true, - "BitOffset":8, + "Order":6, + "Id":"elapsedTrackTime", + "Name":"Elapsed Track Time", + "BitLength":16, + "BitOffset":64, "BitStart":0, - "FieldType":"STRING_LAU" + "Unit":"s", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { - "Order":3, - "Id":"redComponent", - "Name":"Red Component", - "BitLength":8, + "Order":7, + "Id":"trackTime", + "Name":"Track Time", + "BitLength":16, + "BitOffset":80, + "BitStart":0, + "Unit":"s", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { - "Order":4, - "Id":"greenComponent", - "Name":"Green Component", - "BitLength":8, + "Order":8, + "Id":"repeatStatus", + "Name":"Repeat Status", + "BitLength":4, + "BitOffset":96, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_REPEAT_STATUS" }, { - "Order":5, - "Id":"blueComponent", - "Name":"Blue Component", + "Order":9, + "Id":"shuffleStatus", + "Name":"Shuffle Status", + "BitLength":4, + "BitOffset":100, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_SHUFFLE_STATUS" + }, + { + "Order":10, + "Id":"saveFavoriteNumber", + "Name":"Save Favorite Number", + "Description":"Used to command AV to save current station as favorite", "BitLength":8, + "BitOffset":104, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49409,10 +55695,13 @@ "FieldType":"NUMBER" }, { - "Order":6, - "Id":"colorTemperature", - "Name":"Color Temperature", + "Order":11, + "Id":"playFavoriteNumber", + "Name":"Play Favorite Number", + "Description":"Used to command AV to play indicated favorite station", "BitLength":16, + "BitOffset":112, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49423,10 +55712,12 @@ "FieldType":"NUMBER" }, { - "Order":7, - "Id":"intensity", - "Name":"Intensity", + "Order":12, + "Id":"thumbsUpDown", + "Name":"Thumbs Up/Down", "BitLength":8, + "BitOffset":128, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49434,13 +55725,17 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_LIKE_STATUS" }, { - "Order":8, - "Id":"programId", - "Name":"Program ID", + "Order":13, + "Id":"signalStrength", + "Name":"Signal Strength", "BitLength":8, + "BitOffset":136, + "BitStart":0, + "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -49448,27 +55743,35 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { - "Order":9, - "Id":"programColorSequenceIndex", - "Name":"Program Color Sequence Index", - "BitLength":8, - "Resolution":1, + "Order":14, + "Id":"radioFrequency", + "Name":"Radio Frequency", + "BitLength":32, + "BitOffset":144, + "BitStart":0, + "Unit":"Hz", + "Resolution":10, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":42949672920, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { - "Order":10, - "Id":"programIntensity", - "Name":"Program Intensity", + "Order":15, + "Id":"hdFrequencyMulticast", + "Name":"HD Frequency Multicast", + "Description":"Digital sub channel", "BitLength":8, + "BitOffset":176, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49479,10 +55782,13 @@ "FieldType":"NUMBER" }, { - "Order":11, - "Id":"programRate", - "Name":"Program Rate", + "Order":16, + "Id":"deleteFavoriteNumber", + "Name":"Delete Favorite Number", + "Description":"Used to command AV to delete current station as favorite", "BitLength":8, + "BitOffset":184, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49493,60 +55799,39 @@ "FieldType":"NUMBER" }, { - "Order":12, - "Id":"programColorSequence", - "Name":"Program Color Sequence", - "BitLength":8, + "Order":17, + "Id":"totalNumberOfTracks", + "Name":"Total Number of Tracks", + "BitLength":16, + "BitOffset":192, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" - }, - { - "Order":13, - "Id":"zoneEnabled", - "Name":"Zone Enabled", - "BitLength":2, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"OFF_ON" - }, - { - "Order":14, - "Id":"reserved", - "Name":"Reserved", - "BitLength":6, - "Resolution":1, - "FieldType":"RESERVED" } ] }, { - "PGN":130562, - "Id":"lightingScene", - "Description":"Lighting Scene", - "Explanation":"A Lighting Scene is a sequence of zone program configurations.", + "PGN":130570, + "Id":"libraryDataFile", + "Description":"Library Data File", + "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":12, - "MinLength":3, - "RepeatingFieldSet1Size":8, - "RepeatingFieldSet1StartField":5, - "RepeatingFieldSet1CountField":4, + "FieldCount":17, + "MinLength":19, "Fields":[ { "Order":1, - "Id":"sceneIndex", - "Name":"Scene Index", + "Id":"source", + "Name":"Source", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -49557,22 +55842,17 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_SOURCE" }, { "Order":2, - "Id":"zoneName", - "Name":"Zone Name", - "BitLengthVariable":true, + "Id":"number", + "Name":"Number", + "Description":"Source number per type", + "BitLength":8, "BitOffset":8, "BitStart":0, - "FieldType":"STRING_LAU" - }, - { - "Order":3, - "Id":"control", - "Name":"Control", - "BitLength":8, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49583,24 +55863,29 @@ "FieldType":"NUMBER" }, { - "Order":4, - "Id":"configurationCount", - "Name":"Configuration Count", - "BitLength":8, + "Order":3, + "Id":"id", + "Name":"ID", + "Description":"Unique file ID", + "BitLength":32, + "BitOffset":16, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"NUMBER" }, { - "Order":5, - "Id":"configurationIndex", - "Name":"Configuration Index", + "Order":4, + "Id":"type", + "Name":"Type", "BitLength":8, + "BitOffset":48, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49608,40 +55893,50 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_TYPE" + }, + { + "Order":5, + "Id":"name", + "Name":"Name", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LAU" }, { "Order":6, - "Id":"zoneIndex", - "Name":"Zone Index", - "BitLength":8, + "Id":"track", + "Name":"Track", + "BitLength":16, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":7, - "Id":"devicesId", - "Name":"Devices ID", - "BitLength":32, + "Id":"station", + "Name":"Station", + "BitLength":16, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":8, - "Id":"programIndex", - "Name":"Program Index", + "Id":"favorite", + "Name":"Favorite", "BitLength":8, "Resolution":1, "Signed":false, @@ -49654,22 +55949,24 @@ }, { "Order":9, - "Id":"programColorSequenceIndex", - "Name":"Program Color Sequence Index", - "BitLength":8, - "Resolution":1, + "Id":"radioFrequency", + "Name":"Radio Frequency", + "BitLength":32, + "Unit":"Hz", + "Resolution":10, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":42949672920, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { "Order":10, - "Id":"programIntensity", - "Name":"Program Intensity", + "Id":"hdFrequency", + "Name":"HD Frequency", "BitLength":8, "Resolution":1, "Signed":false, @@ -49682,8 +55979,8 @@ }, { "Order":11, - "Id":"programRate", - "Name":"Program Rate", + "Id":"zone", + "Name":"Zone", "BitLength":8, "Resolution":1, "Signed":false, @@ -49692,58 +55989,105 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_ZONE" }, { "Order":12, - "Id":"programColorSequenceRate", - "Name":"Program Color Sequence Rate", - "BitLength":8, + "Id":"inPlayQueue", + "Name":"In play queue", + "BitLength":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" + }, + { + "Order":13, + "Id":"locked", + "Name":"Locked", + "BitLength":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" + }, + { + "Order":14, + "Id":"reserved", + "Name":"Reserved", + "BitLength":4, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":15, + "Id":"artistName", + "Name":"Artist Name", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" + }, + { + "Order":16, + "Id":"albumName", + "Name":"Album Name", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" + }, + { + "Order":17, + "Id":"stationName", + "Name":"Station Name", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" } ] }, { - "PGN":130563, - "Id":"lightingDevice", - "Description":"Lighting Device", - "Explanation":"This PGN is used to provide status and capabilities of a lighting device. A lighting device may be a virtual device connected to a lighting controller or physical device on the network.", + "PGN":130571, + "Id":"libraryDataGroup", + "Description":"Library Data Group", + "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":18, - "MinLength":20, + "FieldCount":12, + "MinLength":15, + "RepeatingFieldSet1Size":3, + "RepeatingFieldSet1StartField":9, + "RepeatingFieldSet1CountField":7, "Fields":[ { "Order":1, - "Id":"deviceId", - "Name":"Device ID", - "BitLength":32, + "Id":"source", + "Name":"Source", + "BitLength":8, "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_SOURCE" }, { "Order":2, - "Id":"deviceCapabilities", - "Name":"Device Capabilities", + "Id":"number", + "Name":"Number", + "Description":"Source number per type", "BitLength":8, - "BitOffset":32, + "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, @@ -49756,10 +56100,10 @@ }, { "Order":3, - "Id":"colorCapabilities", - "Name":"Color Capabilities", + "Id":"type", + "Name":"Type", "BitLength":8, - "BitOffset":40, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, @@ -49768,14 +56112,15 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_TYPE" }, { "Order":4, - "Id":"zoneIndex", - "Name":"Zone Index", + "Id":"zone", + "Name":"Zone", "BitLength":8, - "BitOffset":48, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, @@ -49784,64 +56129,84 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_ZONE" }, { "Order":5, - "Id":"nameOfLightingDevice", - "Name":"Name of Lighting Device", - "BitLengthVariable":true, - "BitOffset":56, + "Id":"groupId", + "Name":"Group ID", + "Description":"Unique group ID", + "BitLength":32, + "BitOffset":32, "BitStart":0, - "FieldType":"STRING_LAU" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"status", - "Name":"Status", - "BitLength":8, + "Id":"idOffset", + "Name":"ID offset", + "Description":"First ID in this PGN", + "BitLength":16, + "BitOffset":64, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":7, - "Id":"redComponent", - "Name":"Red Component", - "BitLength":8, + "Id":"idCount", + "Name":"ID count", + "Description":"Number of IDs in this PGN", + "BitLength":16, + "BitOffset":80, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":8, - "Id":"greenComponent", - "Name":"Green Component", - "BitLength":8, + "Id":"totalIdCount", + "Name":"Total ID count", + "Description":"Total IDs in group", + "BitLength":16, + "BitOffset":96, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":9, - "Id":"blueComponent", - "Name":"Blue Component", + "Id":"idType", + "Name":"ID type", "BitLength":8, + "BitOffset":112, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49849,27 +56214,62 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_ID_TYPE" }, { "Order":10, - "Id":"colorTemperature", - "Name":"Color Temperature", - "BitLength":16, + "Id":"id", + "Name":"ID", + "BitLength":32, + "BitOffset":120, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"NUMBER" }, { "Order":11, - "Id":"intensity", - "Name":"Intensity", + "Id":"name", + "Name":"Name", + "BitLengthVariable":true, + "BitOffset":152, + "BitStart":0, + "FieldType":"STRING_LAU" + }, + { + "Order":12, + "Id":"artist", + "Name":"Artist", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" + } + ] + }, + { + "PGN":130572, + "Id":"libraryDataSearch", + "Description":"Library Data Search", + "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + ], + "FieldCount":9, + "MinLength":9, + "Fields":[ + { + "Order":1, + "Id":"source", + "Name":"Source", "BitLength":8, + "BitOffset":0, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49877,13 +56277,17 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_SOURCE" }, { - "Order":12, - "Id":"programId", - "Name":"Program ID", + "Order":2, + "Id":"number", + "Name":"Number", + "Description":"Source number per type", "BitLength":8, + "BitOffset":8, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49894,24 +56298,29 @@ "FieldType":"NUMBER" }, { - "Order":13, - "Id":"programColorSequenceIndex", - "Name":"Program Color Sequence Index", - "BitLength":8, + "Order":3, + "Id":"groupId", + "Name":"Group ID", + "Description":"Unique group ID", + "BitLength":32, + "BitOffset":16, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"NUMBER" }, { - "Order":14, - "Id":"programIntensity", - "Name":"Program Intensity", + "Order":4, + "Id":"groupType1", + "Name":"Group type 1", "BitLength":8, + "BitOffset":48, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -49919,12 +56328,22 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_GROUP" }, { - "Order":15, - "Id":"programRate", - "Name":"Program Rate", + "Order":5, + "Id":"groupName1", + "Name":"Group name 1", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LAU" + }, + { + "Order":6, + "Id":"groupType2", + "Name":"Group type 2", "BitLength":8, "Resolution":1, "Signed":false, @@ -49933,12 +56352,20 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_GROUP" }, { - "Order":16, - "Id":"programColorSequenceRate", - "Name":"Program Color Sequence Rate", + "Order":7, + "Id":"groupName2", + "Name":"Group name 2", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" + }, + { + "Order":8, + "Id":"groupType3", + "Name":"Group type 3", "BitLength":8, "Resolution":1, "Signed":false, @@ -49947,49 +56374,38 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":17, - "Id":"enabled", - "Name":"Enabled", - "BitLength":2, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, "FieldType":"LOOKUP", - "LookupEnumeration":"OFF_ON" + "LookupEnumeration":"ENTERTAINMENT_GROUP" }, { - "Order":18, - "Id":"reserved", - "Name":"Reserved", - "BitLength":6, - "Resolution":1, - "FieldType":"RESERVED" + "Order":9, + "Id":"groupName3", + "Name":"Group name 3", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" } ] }, { - "PGN":130564, - "Id":"lightingDeviceEnumeration", - "Description":"Lighting Device Enumeration", - "Explanation":"This PGN allows for enumeration of the lighting devices on the controller.", + "PGN":130573, + "Id":"supportedSourceData", + "Description":"Supported Source Data", + "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":5, + "FieldCount":13, "MinLength":6, - "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1Size":10, "RepeatingFieldSet1StartField":4, - "RepeatingFieldSet1CountField":3, + "RepeatingFieldSet1CountField":2, "Fields":[ { "Order":1, - "Id":"indexOfFirstDevice", - "Name":"Index of First Device", + "Id":"idOffset", + "Name":"ID offset", + "Description":"First ID in this PGN", "BitLength":16, "BitOffset":0, "BitStart":0, @@ -50004,8 +56420,9 @@ }, { "Order":2, - "Id":"totalNumberOfDevices", - "Name":"Total Number of Devices", + "Id":"idCount", + "Name":"ID count", + "Description":"Number of IDs in this PGN", "BitLength":16, "BitOffset":16, "BitStart":0, @@ -50020,8 +56437,9 @@ }, { "Order":3, - "Id":"numberOfDevices", - "Name":"Number of Devices", + "Id":"totalIdCount", + "Name":"Total ID count", + "Description":"Total IDs in group", "BitLength":16, "BitOffset":32, "BitStart":0, @@ -50036,26 +56454,27 @@ }, { "Order":4, - "Id":"deviceId", - "Name":"Device ID", - "BitLength":32, + "Id":"id", + "Name":"ID", + "Description":"Source ID", + "BitLength":8, "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":5, - "Id":"status", - "Name":"Status", + "Id":"source", + "Name":"Source", "BitLength":8, - "BitOffset":80, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, @@ -50064,31 +56483,16 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" - } - ] - }, - { - "PGN":130565, - "Id":"lightingColorSequence", - "Description":"Lighting Color Sequence", - "Explanation":"Sequences could be 1 to (PGN Lighting - System Configuration) Max Color Sequence Color Count colors.", - "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":8, - "MinLength":2, - "RepeatingFieldSet1Size":6, - "RepeatingFieldSet1StartField":3, - "RepeatingFieldSet1CountField":2, - "Fields":[ + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_SOURCE" + }, { - "Order":1, - "Id":"sequenceIndex", - "Name":"Sequence Index", + "Order":6, + "Id":"number", + "Name":"Number", + "Description":"Source number per type", "BitLength":8, - "BitOffset":0, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, @@ -50100,43 +56504,110 @@ "FieldType":"NUMBER" }, { - "Order":2, - "Id":"colorCount", - "Name":"Color Count", - "BitLength":8, - "BitOffset":8, + "Order":7, + "Id":"name", + "Name":"Name", + "BitLengthVariable":true, + "BitOffset":72, "BitStart":0, + "FieldType":"STRING_LAU" + }, + { + "Order":8, + "Id":"playSupport", + "Name":"Play support", + "BitLength":32, + "Resolution":1, + "RangeMin":0, + "RangeMax":4294967295, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"ENTERTAINMENT_PLAY_STATUS_BITFIELD" + }, + { + "Order":9, + "Id":"browseSupport", + "Name":"Browse support", + "BitLength":16, + "Resolution":1, + "RangeMin":0, + "RangeMax":65535, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"ENTERTAINMENT_GROUP_BITFIELD" + }, + { + "Order":10, + "Id":"thumbsSupport", + "Name":"Thumbs support", + "BitLength":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" }, { - "Order":3, - "Id":"colorIndex", - "Name":"Color Index", - "BitLength":8, - "BitOffset":16, - "BitStart":0, + "Order":11, + "Id":"connected", + "Name":"Connected", + "BitLength":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" }, { - "Order":4, - "Id":"redComponent", - "Name":"Red Component", + "Order":12, + "Id":"repeatSupport", + "Name":"Repeat support", + "BitLength":2, + "Resolution":1, + "RangeMin":0, + "RangeMax":3, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"ENTERTAINMENT_REPEAT_BITFIELD" + }, + { + "Order":13, + "Id":"shuffleSupport", + "Name":"Shuffle support", + "BitLength":2, + "Resolution":1, + "RangeMin":0, + "RangeMax":3, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"ENTERTAINMENT_SHUFFLE_BITFIELD" + } + ] + }, + { + "PGN":130574, + "Id":"supportedZoneData", + "Description":"Supported Zone Data", + "Priority":6, + "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","SampleData" + ], + "FieldCount":5, + "MinLength":3, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":4, + "RepeatingFieldSet1CountField":2, + "TransmissionInterval":500, + "Fields":[ + { + "Order":1, + "Id":"firstZoneId", + "Name":"First zone ID", + "Description":"First Zone in this PGN", "BitLength":8, - "BitOffset":24, + "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, @@ -50148,11 +56619,12 @@ "FieldType":"NUMBER" }, { - "Order":5, - "Id":"greenComponent", - "Name":"Green Component", + "Order":2, + "Id":"zoneCount", + "Name":"Zone count", + "Description":"Number of Zones in this PGN", "BitLength":8, - "BitOffset":32, + "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, @@ -50164,11 +56636,12 @@ "FieldType":"NUMBER" }, { - "Order":6, - "Id":"blueComponent", - "Name":"Blue Component", + "Order":3, + "Id":"totalZoneCount", + "Name":"Total zone count", + "Description":"Total Zones supported by this device", "BitLength":8, - "BitOffset":40, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, @@ -50180,27 +56653,11 @@ "FieldType":"NUMBER" }, { - "Order":7, - "Id":"colorTemperature", - "Name":"Color Temperature", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"intensity", - "Name":"Intensity", + "Order":4, + "Id":"zoneId", + "Name":"Zone ID", "BitLength":8, - "BitOffset":64, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, @@ -50209,26 +56666,36 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_ZONE" + }, + { + "Order":5, + "Id":"name", + "Name":"Name", + "BitLengthVariable":true, + "BitOffset":32, + "BitStart":0, + "FieldType":"STRING_LAU" } ] }, { - "PGN":130566, - "Id":"lightingProgram", - "Description":"Lighting Program", - "Explanation":"This PGN describes an available program on the controller. Can be a built in required NMEA one or a custom vendor program.", + "PGN":130575, + "Id":"entertainmentParentalControlStatus", + "Description":"Entertainment - Parental Control Status", + "Explanation":"Audio/video parental-control (lock) status. Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" ], - "FieldCount":5, - "MinLength":2, + "FieldCount":8, + "MinLength":7, "Fields":[ { "Order":1, - "Id":"programId", - "Name":"Program ID", + "Id":"source", + "Name":"Source", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -50239,29 +56706,33 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_SOURCE" }, { "Order":2, - "Id":"nameOfProgram", - "Name":"Name of Program", - "BitLengthVariable":true, + "Id":"number", + "Name":"Number", + "Description":"Source number per type", + "BitLength":8, "BitOffset":8, "BitStart":0, - "FieldType":"STRING_LAU" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":3, - "Id":"description", - "Name":"Description", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" - }, - { - "Order":4, - "Id":"programCapabilities", - "Name":"Program Capabilities", + "Id":"lockType", + "Name":"Lock Type", "BitLength":4, + "BitOffset":16, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -50271,245 +56742,253 @@ "FieldType":"NUMBER" }, { - "Order":5, - "Id":"reserved", - "Name":"Reserved", - "BitLength":4, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":130567, - "Id":"watermakerInputSettingAndStatus", - "Description":"Watermaker Input Setting and Status", - "URL":"https://web.archive.org/web/20170609065450/https://www.nmea.org/Assets/20130905%20amendment%20at%202000%20201309051%20watermaker%20input%20setting%20and%20status%20pgn%20130567.pdf", - "Type":"Fast", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":23, - "Length":24, - "Fields":[ - { - "Order":1, - "Id":"watermakerOperatingState", - "Name":"Watermaker Operating State", - "BitLength":6, - "BitOffset":0, - "BitStart":0, + "Order":4, + "Id":"lockStatus", + "Name":"Lock Status", + "BitLength":2, + "BitOffset":20, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":61, - "FieldType":"LOOKUP", - "LookupEnumeration":"WATERMAKER_STATE" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"productionStartStop", - "Name":"Production Start/Stop", + "Order":5, + "Id":"reserved", + "Name":"Reserved", "BitLength":2, - "BitOffset":6, + "BitOffset":22, "BitStart":6, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "FieldType":"RESERVED" }, { - "Order":3, - "Id":"rinseStartStop", - "Name":"Rinse Start/Stop", - "BitLength":2, - "BitOffset":8, + "Order":6, + "Id":"fileStationId", + "Name":"File / Station ID", + "Description":"Unique file or station ID", + "BitLength":32, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"lowPressurePumpStatus", - "Name":"Low Pressure Pump Status", - "BitLength":2, - "BitOffset":10, - "BitStart":2, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "Order":7, + "Id":"currentPincode", + "Name":"Current Pincode", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LAU" }, { - "Order":5, - "Id":"highPressurePumpStatus", - "Name":"High Pressure Pump Status", - "BitLength":2, - "BitOffset":12, - "BitStart":4, + "Order":8, + "Id":"newPincode", + "Name":"New Pincode", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" + } + ] + }, + { + "PGN":130576, + "Id":"smallCraftStatus", + "Description":"Small Craft Status", + "Priority":2, + "Type":"Single", + "Complete":true, + "FieldCount":3, + "Length":8, + "TransmissionInterval":200, + "Fields":[ + { + "Order":1, + "Id":"portTrimTab", + "Name":"Port trim tab", + "BitLength":8, + "BitOffset":0, + "BitStart":0, + "Unit":"%", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { - "Order":6, - "Id":"emergencyStop", - "Name":"Emergency Stop", - "BitLength":2, - "BitOffset":14, - "BitStart":6, + "Order":2, + "Id":"starboardTrimTab", + "Name":"Starboard trim tab", + "BitLength":8, + "BitOffset":8, + "BitStart":0, + "Unit":"%", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { - "Order":7, - "Id":"productSolenoidValveStatus", - "Name":"Product Solenoid Valve Status", - "BitLength":2, + "Order":3, + "Id":"reserved", + "Name":"Reserved", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"OK_WARNING" - }, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130577, + "Id":"directionData", + "Description":"Direction Data", + "Priority":3, + "Type":"Fast", + "Complete":true, + "FieldCount":10, + "Length":14, + "TransmissionInterval":1000, + "Fields":[ { - "Order":8, - "Id":"flushModeStatus", - "Name":"Flush Mode Status", - "BitLength":2, - "BitOffset":18, - "BitStart":2, + "Order":1, + "Id":"dataMode", + "Name":"Data Mode", + "BitLength":4, + "BitOffset":0, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"RESIDUAL_MODE" }, { - "Order":9, - "Id":"salinityStatus", - "Name":"Salinity Status", + "Order":2, + "Id":"cogReference", + "Name":"COG Reference", "BitLength":2, - "BitOffset":20, + "BitOffset":4, "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", - "LookupEnumeration":"OK_WARNING" + "LookupEnumeration":"DIRECTION_REFERENCE" }, { - "Order":10, - "Id":"sensorStatus", - "Name":"Sensor Status", + "Order":3, + "Id":"reserved", + "Name":"Reserved", "BitLength":2, - "BitOffset":22, + "BitOffset":6, "BitStart":6, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"OK_WARNING" + "FieldType":"RESERVED" }, { - "Order":11, - "Id":"oilChangeIndicatorStatus", - "Name":"Oil Change Indicator Status", - "BitLength":2, - "BitOffset":24, + "Order":4, + "Id":"sid", + "Name":"SID", + "BitLength":8, + "BitOffset":8, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"OK_WARNING" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":12, - "Id":"filterStatus", - "Name":"Filter Status", - "BitLength":2, - "BitOffset":26, - "BitStart":2, - "Resolution":1, + "Order":5, + "Id":"cog", + "Name":"COG", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"OK_WARNING" + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" }, { - "Order":13, - "Id":"systemStatus", - "Name":"System Status", - "BitLength":2, - "BitOffset":28, - "BitStart":4, - "Resolution":1, + "Order":6, + "Id":"sog", + "Name":"SOG", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Unit":"m/s", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"OK_WARNING" - }, - { - "Order":14, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":30, - "BitStart":6, - "Resolution":1, - "FieldType":"RESERVED" + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"SPEED" }, { - "Order":15, - "Id":"salinity", - "Name":"Salinity", + "Order":7, + "Id":"heading", + "Name":"Heading", "BitLength":16, - "BitOffset":32, + "BitOffset":48, "BitStart":0, - "Unit":"ppm", - "Resolution":1, + "Unit":"rad", + "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"CONCENTRATION" + "PhysicalQuantity":"ANGLE" }, { - "Order":16, - "Id":"productWaterTemperature", - "Name":"Product Water Temperature", + "Order":8, + "Id":"speedThroughWater", + "Name":"Speed through Water", "BitLength":16, - "BitOffset":48, + "BitOffset":64, "BitStart":0, - "Unit":"K", + "Unit":"m/s", "Resolution":0.01, "Signed":false, "RangeMin":0, @@ -50518,152 +56997,362 @@ "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "PhysicalQuantity":"SPEED" }, { - "Order":17, - "Id":"preFilterPressure", - "Name":"Pre-filter Pressure", + "Order":9, + "Id":"set", + "Name":"Set", "BitLength":16, - "BitOffset":64, + "BitOffset":80, "BitStart":0, - "Unit":"Pa", - "Resolution":100, + "Unit":"rad", + "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6553200, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE" + "PhysicalQuantity":"ANGLE" }, { - "Order":18, - "Id":"postFilterPressure", - "Name":"Post-filter Pressure", + "Order":10, + "Id":"drift", + "Name":"Drift", "BitLength":16, - "BitOffset":80, + "BitOffset":96, "BitStart":0, - "Unit":"Pa", - "Resolution":100, + "Unit":"m/s", + "Resolution":0.01, "Signed":false, "RangeMin":0, - "RangeMax":6553200, + "RangeMax":655.32, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE" + "PhysicalQuantity":"SPEED" + } + ] + }, + { + "PGN":130578, + "Id":"vesselSpeedComponents", + "Description":"Vessel Speed Components", + "Priority":2, + "Type":"Fast", + "Complete":true, + "FieldCount":6, + "Length":12, + "TransmissionInterval":250, + "Fields":[ + { + "Order":1, + "Id":"longitudinalSpeedWaterReferenced", + "Name":"Longitudinal Speed, Water-referenced", + "BitLength":16, + "BitOffset":0, + "BitStart":0, + "Unit":"m/s", + "Resolution":0.001, + "Signed":true, + "RangeMin":-32.767, + "RangeMax":32.764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"SPEED" }, { - "Order":19, - "Id":"feedPressure", - "Name":"Feed Pressure", + "Order":2, + "Id":"transverseSpeedWaterReferenced", + "Name":"Transverse Speed, Water-referenced", "BitLength":16, - "BitOffset":96, + "BitOffset":16, "BitStart":0, - "Unit":"Pa", - "Resolution":1000, + "Unit":"m/s", + "Resolution":0.001, "Signed":true, - "RangeMin":-32767000, - "RangeMax":32764000, + "RangeMin":-32.767, + "RangeMax":32.764, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE" + "PhysicalQuantity":"SPEED" }, { - "Order":20, - "Id":"systemHighPressure", - "Name":"System High Pressure", + "Order":3, + "Id":"longitudinalSpeedGroundReferenced", + "Name":"Longitudinal Speed, Ground-referenced", "BitLength":16, - "BitOffset":112, + "BitOffset":32, "BitStart":0, - "Unit":"Pa", - "Resolution":1000, - "Signed":false, - "RangeMin":0, - "RangeMax":65532000, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "Unit":"m/s", + "Resolution":0.001, + "Signed":true, + "RangeMin":-32.767, + "RangeMax":32.764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, "FieldType":"NUMBER", - "PhysicalQuantity":"PRESSURE" + "PhysicalQuantity":"SPEED" }, { - "Order":21, - "Id":"productWaterFlow", - "Name":"Product Water Flow", + "Order":4, + "Id":"transverseSpeedGroundReferenced", + "Name":"Transverse Speed, Ground-referenced", "BitLength":16, - "BitOffset":128, + "BitOffset":48, "BitStart":0, - "Unit":"L/h", - "Resolution":0.1, + "Unit":"m/s", + "Resolution":0.001, "Signed":true, - "RangeMin":-3276.7, - "RangeMax":3276.4, + "RangeMin":-32.767, + "RangeMax":32.764, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, "FieldType":"NUMBER", - "PhysicalQuantity":"VOLUMETRIC_FLOW" + "PhysicalQuantity":"SPEED" }, { - "Order":22, - "Id":"brineWaterFlow", - "Name":"Brine Water Flow", + "Order":5, + "Id":"sternSpeedWaterReferenced", + "Name":"Stern Speed, Water-referenced", "BitLength":16, - "BitOffset":144, + "BitOffset":64, "BitStart":0, - "Unit":"L/h", - "Resolution":0.1, + "Unit":"m/s", + "Resolution":0.001, "Signed":true, - "RangeMin":-3276.7, - "RangeMax":3276.4, + "RangeMin":-32.767, + "RangeMax":32.764, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, "FieldType":"NUMBER", - "PhysicalQuantity":"VOLUMETRIC_FLOW" + "PhysicalQuantity":"SPEED" + }, + { + "Order":6, + "Id":"sternSpeedGroundReferenced", + "Name":"Stern Speed, Ground-referenced", + "BitLength":16, + "BitOffset":80, + "BitStart":0, + "Unit":"m/s", + "Resolution":0.001, + "Signed":true, + "RangeMin":-32.767, + "RangeMax":32.764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"SPEED" + } + ] + }, + { + "PGN":130579, + "Id":"systemConfiguration", + "Description":"System Configuration", + "Type":"Single", + "Complete":false, + "Missing":["FieldLengths","SampleData","Interval" + ], + "FieldCount":6, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"power", + "Name":"Power", + "BitLength":2, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" + }, + { + "Order":2, + "Id":"defaultSettings", + "Name":"Default Settings", + "BitLength":2, + "BitOffset":2, + "BitStart":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_DEFAULT_SETTINGS" + }, + { + "Order":3, + "Id":"tunerRegions", + "Name":"Tuner regions", + "BitLength":4, + "BitOffset":4, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_REGIONS" + }, + { + "Order":4, + "Id":"maxFavorites", + "Name":"Max favorites", + "BitLength":8, + "BitOffset":8, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"videoProtocols", + "Name":"Video protocols", + "BitLength":4, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"VIDEO_PROTOCOLS" + }, + { + "Order":6, + "Id":"reserved", + "Name":"Reserved", + "BitLength":44, + "BitOffset":20, + "BitStart":4, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130580, + "Id":"systemConfigurationDeprecated", + "Description":"System Configuration (deprecated)", + "Type":"Fast", + "Complete":false, + "Missing":["FieldLengths","SampleData","Interval" + ], + "FieldCount":4, + "Length":2, + "Fields":[ + { + "Order":1, + "Id":"power", + "Name":"Power", + "BitLength":2, + "BitOffset":0, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" + }, + { + "Order":2, + "Id":"defaultSettings", + "Name":"Default Settings", + "BitLength":2, + "BitOffset":2, + "BitStart":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_DEFAULT_SETTINGS" }, { - "Order":23, - "Id":"runTime", - "Name":"Run Time", - "BitLength":32, - "BitOffset":160, + "Order":3, + "Id":"tunerRegions", + "Name":"Tuner regions", + "BitLength":4, + "BitOffset":4, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_REGIONS" + }, + { + "Order":4, + "Id":"maxFavorites", + "Name":"Max favorites", + "BitLength":8, + "BitOffset":8, "BitStart":0, - "Unit":"s", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":130568, - "Id":"entertainmentDiagnosticStatus", - "Description":"Entertainment - Diagnostic Status", - "Explanation":"Audio/video source diagnostic status. Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", + "PGN":130581, + "Id":"zoneConfigurationDeprecated", + "Description":"Zone Configuration (deprecated)", "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" + "Missing":["FieldLengths","SampleData","Interval" ], "FieldCount":5, - "MinLength":4, + "MinLength":3, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":4, + "RepeatingFieldSet1CountField":2, "Fields":[ { "Order":1, - "Id":"source", - "Name":"Source", + "Id":"firstZoneId", + "Name":"First zone ID", + "Description":"First Zone in this PGN", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -50671,14 +57360,16 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_SOURCE" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":2, - "Id":"number", - "Name":"Number", - "Description":"Source number per type", + "Id":"zoneCount", + "Name":"Zone count", + "Description":"Number of Zones in this PGN", "BitLength":8, "BitOffset":8, "BitStart":0, @@ -50693,8 +57384,9 @@ }, { "Order":3, - "Id":"diagnosticMode", - "Name":"Diagnostic Mode", + "Id":"totalZoneCount", + "Name":"Total zone count", + "Description":"Total Zones supported by this device", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -50709,18 +57401,25 @@ }, { "Order":4, - "Id":"reserved", - "Name":"Reserved", + "Id":"zoneId", + "Name":"Zone ID", "BitLength":8, "BitOffset":24, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_ZONE" }, { "Order":5, - "Id":"diagnosticData", - "Name":"Diagnostic Data", + "Id":"zoneName", + "Name":"Zone name", "BitLengthVariable":true, "BitOffset":32, "BitStart":0, @@ -50729,21 +57428,20 @@ ] }, { - "PGN":130569, - "Id":"currentStatusAndFile", - "Description":"Current Status and File", - "URL":"https://web.archive.org/web/20170609024809/https://www.nmea.org/Assets/20160725%20corrigenda%20pgn%20130569%20published.pdf", - "Type":"Fast", + "PGN":130582, + "Id":"zoneVolume", + "Description":"Zone Volume", + "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["FieldLengths","SampleData","Interval" ], - "FieldCount":17, - "Length":26, + "FieldCount":7, + "Length":8, "Fields":[ { "Order":1, - "Id":"zone", - "Name":"Zone", + "Id":"zoneId", + "Name":"Zone ID", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -50751,31 +57449,20 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"ENTERTAINMENT_ZONE" }, { "Order":2, - "Id":"source", - "Name":"Source", + "Id":"volume", + "Name":"Volume", "BitLength":8, "BitOffset":8, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_SOURCE" - }, - { - "Order":3, - "Id":"number", - "Name":"Number", - "Description":"Source number per type", - "BitLength":8, - "BitOffset":16, - "BitStart":0, + "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -50783,110 +57470,56 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":4, - "Id":"id", - "Name":"ID", - "Description":"Unique file ID", - "BitLength":32, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { - "Order":5, - "Id":"playStatus", - "Name":"Play status", - "BitLength":8, - "BitOffset":56, + "Order":3, + "Id":"volumeChange", + "Name":"Volume change", + "Description":"Write only", + "BitLength":2, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_PLAY_STATUS" - }, - { - "Order":6, - "Id":"elapsedTrackTime", - "Name":"Elapsed Track Time", - "BitLength":16, - "BitOffset":64, - "BitStart":0, - "Unit":"s", - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" - }, - { - "Order":7, - "Id":"trackTime", - "Name":"Track Time", - "BitLength":16, - "BitOffset":80, - "BitStart":0, - "Unit":"s", - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "LookupEnumeration":"ENTERTAINMENT_VOLUME_CONTROL" }, { - "Order":8, - "Id":"repeatStatus", - "Name":"Repeat Status", - "BitLength":4, - "BitOffset":96, - "BitStart":0, + "Order":4, + "Id":"mute", + "Name":"Mute", + "BitLength":2, + "BitOffset":18, + "BitStart":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, + "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_REPEAT_STATUS" + "LookupEnumeration":"YES_NO" }, { - "Order":9, - "Id":"shuffleStatus", - "Name":"Shuffle Status", + "Order":5, + "Id":"reserved", + "Name":"Reserved", "BitLength":4, - "BitOffset":100, + "BitOffset":20, "BitStart":4, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_SHUFFLE_STATUS" + "FieldType":"RESERVED" }, { - "Order":10, - "Id":"saveFavoriteNumber", - "Name":"Save Favorite Number", - "Description":"Used to command AV to save current station as favorite", + "Order":6, + "Id":"channel", + "Name":"Channel", "BitLength":8, - "BitOffset":104, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, @@ -50895,47 +57528,59 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_CHANNEL" }, { - "Order":11, - "Id":"playFavoriteNumber", - "Name":"Play Favorite Number", - "Description":"Used to command AV to play indicated favorite station", - "BitLength":16, - "BitOffset":112, + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":32, + "BitOffset":32, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130583, + "Id":"availableAudioEqPresets", + "Description":"Available Audio EQ presets", + "Type":"Fast", + "Complete":false, + "Missing":["FieldLengths","SampleData","Interval" + ], + "FieldCount":5, + "MinLength":3, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":4, + "RepeatingFieldSet1CountField":2, + "Fields":[ { - "Order":12, - "Id":"thumbsUpDown", - "Name":"Thumbs Up/Down", + "Order":1, + "Id":"firstPreset", + "Name":"First preset", + "Description":"First preset in this PGN", "BitLength":8, - "BitOffset":128, + "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_LIKE_STATUS" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":13, - "Id":"signalStrength", - "Name":"Signal Strength", + "Order":2, + "Id":"presetCount", + "Name":"Preset count", "BitLength":8, - "BitOffset":136, + "BitOffset":8, "BitStart":0, - "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -50943,34 +57588,14 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" - }, - { - "Order":14, - "Id":"radioFrequency", - "Name":"Radio Frequency", - "BitLength":32, - "BitOffset":144, - "BitStart":0, - "Unit":"Hz", - "Resolution":10, - "Signed":false, - "RangeMin":0, - "RangeMax":42949672920, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "FieldType":"NUMBER" }, { - "Order":15, - "Id":"hdFrequencyMulticast", - "Name":"HD Frequency Multicast", - "Description":"Digital sub channel", + "Order":3, + "Id":"totalPresetCount", + "Name":"Total preset count", "BitLength":8, - "BitOffset":176, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, @@ -50982,12 +57607,11 @@ "FieldType":"NUMBER" }, { - "Order":16, - "Id":"deleteFavoriteNumber", - "Name":"Delete Favorite Number", - "Description":"Used to command AV to delete current station as favorite", + "Order":4, + "Id":"presetType", + "Name":"Preset type", "BitLength":8, - "BitOffset":184, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, @@ -50996,42 +57620,39 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_EQ" }, { - "Order":17, - "Id":"totalNumberOfTracks", - "Name":"Total Number of Tracks", - "BitLength":16, - "BitOffset":192, + "Order":5, + "Id":"presetName", + "Name":"Preset name", + "BitLengthVariable":true, + "BitOffset":32, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"STRING_LAU" } ] }, { - "PGN":130570, - "Id":"libraryDataFile", - "Description":"Library Data File", - "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", + "PGN":130584, + "Id":"availableBluetoothAddresses", + "Description":"Available Bluetooth addresses", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["SampleData","Interval" ], - "FieldCount":17, - "MinLength":19, + "FieldCount":7, + "MinLength":3, + "RepeatingFieldSet1Size":4, + "RepeatingFieldSet1StartField":4, + "RepeatingFieldSet1CountField":2, "Fields":[ { "Order":1, - "Id":"source", - "Name":"Source", + "Id":"firstAddress", + "Name":"First address", + "Description":"First address in this PGN", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -51039,14 +57660,15 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_SOURCE" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":2, - "Id":"number", - "Name":"Number", - "Description":"Source number per type", + "Id":"addressCount", + "Name":"Address count", "BitLength":8, "BitOffset":8, "BitStart":0, @@ -51061,77 +57683,62 @@ }, { "Order":3, - "Id":"id", - "Name":"ID", - "Description":"Unique file ID", - "BitLength":32, + "Id":"totalAddressCount", + "Name":"Total address count", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":4, - "Id":"type", - "Name":"Type", + "Id":"bluetoothAddress", + "Name":"Bluetooth address", + "BitLength":48, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":5, + "Id":"status", + "Name":"Status", "BitLength":8, - "BitOffset":48, + "BitOffset":72, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_TYPE" + "LookupEnumeration":"BLUETOOTH_STATUS" }, { - "Order":5, - "Id":"name", - "Name":"Name", + "Order":6, + "Id":"deviceName", + "Name":"Device name", "BitLengthVariable":true, - "BitOffset":56, + "BitOffset":80, "BitStart":0, "FieldType":"STRING_LAU" }, - { - "Order":6, - "Id":"track", - "Name":"Track", - "BitLength":16, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, { "Order":7, - "Id":"station", - "Name":"Station", - "BitLength":16, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"favorite", - "Name":"Favorite", + "Id":"signalStrength", + "Name":"Signal strength", "BitLength":8, + "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -51139,29 +57746,29 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"radioFrequency", - "Name":"Radio Frequency", - "BitLength":32, - "Unit":"Hz", - "Resolution":10, - "Signed":false, - "RangeMin":0, - "RangeMax":42949672920, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" - }, + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + } + ] + }, + { + "PGN":130585, + "Id":"bluetoothSourceStatus", + "Description":"Bluetooth source status", + "Type":"Single", + "Complete":false, + "Missing":["FieldLengths","SampleData","Interval" + ], + "FieldCount":5, + "Length":8, + "Fields":[ { - "Order":10, - "Id":"hdFrequency", - "Name":"HD Frequency", + "Order":1, + "Id":"sourceNumber", + "Name":"Source number", "BitLength":8, + "BitOffset":0, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -51172,91 +57779,78 @@ "FieldType":"NUMBER" }, { - "Order":11, - "Id":"zone", - "Name":"Zone", - "BitLength":8, + "Order":2, + "Id":"status", + "Name":"Status", + "BitLength":4, + "BitOffset":8, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_ZONE" + "LookupEnumeration":"BLUETOOTH_SOURCE_STATUS" }, { - "Order":12, - "Id":"inPlayQueue", - "Name":"In play queue", + "Order":3, + "Id":"forgetDevice", + "Name":"Forget device", "BitLength":2, + "BitOffset":12, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, { - "Order":13, - "Id":"locked", - "Name":"Locked", + "Order":4, + "Id":"discovering", + "Name":"Discovering", "BitLength":2, + "BitOffset":14, + "BitStart":6, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"YES_NO" }, { - "Order":14, - "Id":"reserved", - "Name":"Reserved", - "BitLength":4, + "Order":5, + "Id":"bluetoothAddress", + "Name":"Bluetooth address", + "BitLength":48, + "BitOffset":16, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":15, - "Id":"artistName", - "Name":"Artist Name", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" - }, - { - "Order":16, - "Id":"albumName", - "Name":"Album Name", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" - }, - { - "Order":17, - "Id":"stationName", - "Name":"Station Name", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" + "FieldType":"BINARY" } ] }, { - "PGN":130571, - "Id":"libraryDataGroup", - "Description":"Library Data Group", - "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", + "PGN":130586, + "Id":"zoneConfiguration", + "Description":"Zone Configuration", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["FieldLengths","SampleData","Interval" ], - "FieldCount":12, - "MinLength":15, - "RepeatingFieldSet1Size":3, - "RepeatingFieldSet1StartField":9, - "RepeatingFieldSet1CountField":7, + "FieldCount":13, + "Length":15, "Fields":[ { "Order":1, - "Id":"source", - "Name":"Source", + "Id":"zoneId", + "Name":"Zone ID", "BitLength":8, "BitOffset":0, "BitStart":0, @@ -51264,17 +57858,20 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_SOURCE" + "LookupEnumeration":"ENTERTAINMENT_ZONE" }, { "Order":2, - "Id":"number", - "Name":"Number", - "Description":"Source number per type", + "Id":"volumeLimit", + "Name":"Volume limit", "BitLength":8, "BitOffset":8, "BitStart":0, + "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -51282,78 +57879,159 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { "Order":3, - "Id":"type", - "Name":"Type", + "Id":"fade", + "Name":"Fade", "BitLength":8, "BitOffset":16, "BitStart":0, + "Unit":"%", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_TYPE" + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { "Order":4, - "Id":"zone", - "Name":"Zone", + "Id":"balance", + "Name":"Balance", "BitLength":8, "BitOffset":24, "BitStart":0, + "Unit":"%", "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_ZONE" + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { "Order":5, - "Id":"groupId", - "Name":"Group ID", - "Description":"Unique group ID", - "BitLength":32, + "Id":"subVolume", + "Name":"Sub volume", + "BitLength":8, "BitOffset":32, "BitStart":0, + "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" }, { "Order":6, - "Id":"idOffset", - "Name":"ID offset", - "Description":"First ID in this PGN", - "BitLength":16, + "Id":"eqTreble", + "Name":"EQ - Treble", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Unit":"%", + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":7, + "Id":"eqMidRange", + "Name":"EQ - Mid range", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Unit":"%", + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":8, + "Id":"eqBass", + "Name":"EQ - Bass", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Unit":"%", + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":9, + "Id":"presetType", + "Name":"Preset type", + "BitLength":8, "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_EQ" }, { - "Order":7, - "Id":"idCount", - "Name":"ID count", - "Description":"Number of IDs in this PGN", + "Order":10, + "Id":"audioFilter", + "Name":"Audio filter", + "BitLength":8, + "BitOffset":72, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENTERTAINMENT_FILTER" + }, + { + "Order":11, + "Id":"highPassFilterFrequency", + "Name":"High pass filter frequency", "BitLength":16, "BitOffset":80, "BitStart":0, + "Unit":"Hz", "Resolution":1, "Signed":false, "RangeMin":0, @@ -51361,16 +58039,17 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { - "Order":8, - "Id":"totalIdCount", - "Name":"Total ID count", - "Description":"Total IDs in group", + "Order":12, + "Id":"lowPassFilterFrequency", + "Name":"Low pass filter frequency", "BitLength":16, "BitOffset":96, "BitStart":0, + "Unit":"Hz", "Resolution":1, "Signed":false, "RangeMin":0, @@ -51378,12 +58057,13 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { - "Order":9, - "Id":"idType", - "Name":"ID type", + "Order":13, + "Id":"channel", + "Name":"Channel", "BitLength":8, "BitOffset":112, "BitStart":0, @@ -51391,188 +58071,185 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_ID_TYPE" - }, + "LookupEnumeration":"ENTERTAINMENT_CHANNEL" + } + ] + }, + { + "PGN":130816, + "Id":"0x1ff000x1ffffManufacturerSpecificFastPacketNonAddressed", + "Description":"0x1FF00-0x1FFFF: Manufacturer Specific fast-packet non-addressed", + "Explanation":"This definition is used for Manufacturer Specific PGNs in PDU2 (non-addressed) fast-packet PGN range 0x1FF00 to 0x1FFFF (130816 - 131071). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "Type":"Fast", + "Complete":false, + "Fallback":true, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":225, + "Fields":[ { - "Order":10, - "Id":"id", - "Name":"ID", - "BitLength":32, - "BitOffset":120, + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "BitLength":11, + "BitOffset":0, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "RangeMax":2044, + "UnknownValue":2047, + "OutOfRangeValue":2046, + "ReservedValue":2045, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":11, - "Id":"name", - "Name":"Name", - "BitLengthVariable":true, - "BitOffset":152, - "BitStart":0, - "FieldType":"STRING_LAU" + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" }, { - "Order":12, - "Id":"artist", - "Name":"Artist", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":1784, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":130572, - "Id":"libraryDataSearch", - "Description":"Library Data Search", - "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", + "PGN":130816, + "Id":"sonichubInit2", + "Description":"SonicHub: Init #2", + "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":9, - "MinLength":9, + "FieldCount":8, + "Length":9, "Fields":[ { "Order":1, - "Id":"source", - "Name":"Source", - "BitLength":8, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_SOURCE" + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"number", - "Name":"Number", - "Description":"Source number per type", - "BitLength":8, - "BitOffset":8, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"groupId", - "Name":"Group ID", - "Description":"Unique group ID", - "BitLength":32, - "BitOffset":16, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"groupType1", - "Name":"Group type 1", + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, - "BitOffset":48, + "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_GROUP" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"groupName1", - "Name":"Group name 1", - "BitLengthVariable":true, - "BitOffset":56, - "BitStart":0, - "FieldType":"STRING_LAU" - }, - { - "Order":6, - "Id":"groupType2", - "Name":"Group type 2", + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Init #2", "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Match":1, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_GROUP" - }, - { - "Order":7, - "Id":"groupName2", - "Name":"Group name 2", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { - "Order":8, - "Id":"groupType3", - "Name":"Group type 3", + "Order":6, + "Id":"control", + "Name":"Control", "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_GROUP" - }, - { - "Order":9, - "Id":"groupName3", - "Name":"Group name 3", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" - } - ] - }, - { - "PGN":130573, - "Id":"supportedSourceData", - "Description":"Supported Source Data", - "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", - "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":13, - "MinLength":6, - "RepeatingFieldSet1Size":10, - "RepeatingFieldSet1StartField":4, - "RepeatingFieldSet1CountField":2, - "Fields":[ + "LookupEnumeration":"SONICHUB_CONTROL" + }, { - "Order":1, - "Id":"idOffset", - "Name":"ID offset", - "Description":"First ID in this PGN", + "Order":7, + "Id":"a", + "Name":"A", "BitLength":16, - "BitOffset":0, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -51584,12 +58261,11 @@ "FieldType":"NUMBER" }, { - "Order":2, - "Id":"idCount", - "Name":"ID count", - "Description":"Number of IDs in this PGN", + "Order":8, + "Id":"b", + "Name":"B", "BitLength":16, - "BitOffset":16, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, @@ -51599,62 +58275,96 @@ "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER" + } + ] + }, + { + "PGN":130816, + "Id":"sonichubAmRadio", + "Description":"SonicHub: AM Radio", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + ], + "FieldCount":12, + "Length":43, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":275, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" }, { "Order":3, - "Id":"totalIdCount", - "Name":"Total ID count", - "Description":"Total IDs in group", - "BitLength":16, - "BitOffset":32, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"id", - "Name":"ID", - "Description":"Source ID", + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, - "BitOffset":48, + "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"source", - "Name":"Source", + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"AM Radio", "BitLength":8, - "BitOffset":56, + "BitOffset":24, "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_SOURCE" + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"number", - "Name":"Number", - "Description":"Source number per type", + "Id":"control", + "Name":"Control", "BitLength":8, - "BitOffset":64, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -51663,213 +58373,181 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" }, { "Order":7, - "Id":"name", - "Name":"Name", - "BitLengthVariable":true, - "BitOffset":72, + "Id":"item", + "Name":"Item", + "BitLength":8, + "BitOffset":40, "BitStart":0, - "FieldType":"STRING_LAU" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_TUNING" }, { "Order":8, - "Id":"playSupport", - "Name":"Play support", + "Id":"frequency", + "Name":"Frequency", "BitLength":32, + "BitOffset":48, + "BitStart":0, + "Unit":"Hz", "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":4294967295, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"ENTERTAINMENT_PLAY_STATUS_BITFIELD" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { "Order":9, - "Id":"browseSupport", - "Name":"Browse support", - "BitLength":16, - "Resolution":1, - "RangeMin":0, - "RangeMax":65535, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"ENTERTAINMENT_GROUP_BITFIELD" - }, - { - "Order":10, - "Id":"thumbsSupport", - "Name":"Thumbs support", + "Id":"noiseLevel", + "Name":"Noise level", "BitLength":2, + "BitOffset":80, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":11, - "Id":"connected", - "Name":"Connected", - "BitLength":2, + "Order":10, + "Id":"signalLevel", + "Name":"Signal level", + "BitLength":4, + "BitOffset":82, + "BitStart":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { - "Order":12, - "Id":"repeatSupport", - "Name":"Repeat support", + "Order":11, + "Id":"reserved11", + "Name":"Reserved", "BitLength":2, + "BitOffset":86, + "BitStart":6, "Resolution":1, - "RangeMin":0, - "RangeMax":3, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"ENTERTAINMENT_REPEAT_BITFIELD" + "FieldType":"RESERVED" }, { - "Order":13, - "Id":"shuffleSupport", - "Name":"Shuffle support", - "BitLength":2, - "Resolution":1, - "RangeMin":0, - "RangeMax":3, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"ENTERTAINMENT_SHUFFLE_BITFIELD" + "Order":12, + "Id":"text", + "Name":"Text", + "BitLength":256, + "BitOffset":88, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { - "PGN":130574, - "Id":"supportedZoneData", - "Description":"Supported Zone Data", - "Priority":6, - "URL":"https://web.archive.org/web/20170609110901/https://www.nmea.org/Assets/20160715%20corrigenda%20entertainment%20pgns%20.pdf", + "PGN":130816, + "Id":"sonichubZoneInfo", + "Description":"SonicHub: Zone info", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":5, - "MinLength":3, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":4, - "RepeatingFieldSet1CountField":2, - "TransmissionInterval":500, + "FieldCount":7, + "Length":6, "Fields":[ { "Order":1, - "Id":"firstZoneId", - "Name":"First zone ID", - "Description":"First Zone in this PGN", - "BitLength":8, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"zoneCount", - "Name":"Zone count", - "Description":"Number of Zones in this PGN", - "BitLength":8, - "BitOffset":8, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"totalZoneCount", - "Name":"Total zone count", - "Description":"Total Zones supported by this device", - "BitLength":8, - "BitOffset":16, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"zoneId", - "Name":"Zone ID", + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, - "BitOffset":24, + "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_ZONE" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"name", - "Name":"Name", - "BitLengthVariable":true, - "BitOffset":32, - "BitStart":0, - "FieldType":"STRING_LAU" - } - ] - }, - { - "PGN":130575, - "Id":"entertainmentParentalControlStatus", - "Description":"Entertainment - Parental Control Status", - "Explanation":"Audio/video parental-control (lock) status. Field lengths and types are inferred from the NMEA 3.002 field-name list and are unconfirmed.", - "Type":"Fast", - "Complete":false, - "Missing":["FieldLengths","Resolution","Lookups","SampleData","Interval" - ], - "FieldCount":8, - "MinLength":7, - "Fields":[ - { - "Order":1, - "Id":"source", - "Name":"Source", + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Zone Info", "BitLength":8, - "BitOffset":0, + "BitOffset":24, "BitStart":0, + "Match":5, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_SOURCE" + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"number", - "Name":"Number", - "Description":"Source number per type", + "Order":6, + "Id":"control", + "Name":"Control", "BitLength":8, - "BitOffset":8, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -51878,624 +58556,672 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" }, { - "Order":3, - "Id":"lockType", - "Name":"Lock Type", - "BitLength":4, - "BitOffset":16, + "Order":7, + "Id":"zone", + "Name":"Zone", + "BitLength":8, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" - }, + } + ] + }, + { + "PGN":130816, + "Id":"sonichubSource", + "Description":"SonicHub: Source", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":7, + "Length":6, + "Fields":[ { - "Order":4, - "Id":"lockStatus", - "Name":"Lock Status", - "BitLength":2, - "BitOffset":20, - "BitStart":4, + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":5, + "Order":2, "Id":"reserved", "Name":"Reserved", "BitLength":2, - "BitOffset":22, - "BitStart":6, + "BitOffset":11, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":6, - "Id":"fileStationId", - "Name":"File / Station ID", - "Description":"Unique file or station ID", - "BitLength":32, - "BitOffset":24, - "BitStart":0, + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":7, - "Id":"currentPincode", - "Name":"Current Pincode", - "BitLengthVariable":true, - "BitOffset":56, + "Order":4, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, + "BitOffset":16, "BitStart":0, - "FieldType":"STRING_LAU" + "Resolution":1, + "FieldType":"RESERVED" }, { - "Order":8, - "Id":"newPincode", - "Name":"New Pincode", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" - } - ] - }, - { - "PGN":130576, - "Id":"smallCraftStatus", - "Description":"Small Craft Status", - "Priority":2, - "Type":"Single", - "Complete":true, - "FieldCount":3, - "Length":8, - "TransmissionInterval":200, - "Fields":[ - { - "Order":1, - "Id":"portTrimTab", - "Name":"Port trim tab", + "Order":5, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Source", "BitLength":8, - "BitOffset":0, + "BitOffset":24, "BitStart":0, - "Unit":"%", + "Match":6, "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"starboardTrimTab", - "Name":"Starboard trim tab", + "Order":6, + "Id":"control", + "Name":"Control", "BitLength":8, - "BitOffset":8, - "BitStart":0, - "Unit":"%", - "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" }, { - "Order":3, - "Id":"reserved", - "Name":"Reserved", - "BitLength":48, - "BitOffset":16, + "Order":7, + "Id":"source", + "Name":"Source", + "BitLength":8, + "BitOffset":40, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_SOURCE" } ] }, { - "PGN":130577, - "Id":"directionData", - "Description":"Direction Data", - "Priority":3, + "PGN":130816, + "Id":"sonichubSourceList", + "Description":"SonicHub: Source List", + "Priority":7, "Type":"Fast", - "Complete":true, - "FieldCount":10, - "Length":14, - "TransmissionInterval":1000, + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":9, + "Length":39, "Fields":[ { "Order":1, - "Id":"dataMode", - "Name":"Data Mode", - "BitLength":4, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"RESIDUAL_MODE" + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"cogReference", - "Name":"COG Reference", + "Id":"reserved", + "Name":"Reserved", "BitLength":2, - "BitOffset":4, - "BitStart":4, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"DIRECTION_REFERENCE" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":6, - "BitStart":6, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"sid", - "Name":"SID", + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, - "BitOffset":8, + "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"cog", - "Name":"COG", - "BitLength":16, - "BitOffset":16, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Source List", + "BitLength":8, + "BitOffset":24, "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Match":8, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"sog", - "Name":"SOG", - "BitLength":16, + "Id":"control", + "Name":"Control", + "BitLength":8, "BitOffset":32, "BitStart":0, - "Unit":"m/s", - "Resolution":0.01, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" }, { "Order":7, - "Id":"heading", - "Name":"Heading", - "BitLength":16, - "BitOffset":48, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":8, + "BitOffset":40, "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"speedThroughWater", - "Name":"Speed through Water", - "BitLength":16, - "BitOffset":64, + "Id":"a", + "Name":"A", + "BitLength":8, + "BitOffset":48, "BitStart":0, - "Unit":"m/s", - "Resolution":0.01, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":9, - "Id":"set", - "Name":"Set", - "BitLength":16, - "BitOffset":80, - "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, - "Signed":false, - "RangeMin":0, - "RangeMax":6.2831852, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" - }, - { - "Order":10, - "Id":"drift", - "Name":"Drift", - "BitLength":16, - "BitOffset":96, + "Id":"text", + "Name":"Text", + "BitLength":256, + "BitOffset":56, "BitStart":0, - "Unit":"m/s", - "Resolution":0.01, - "Signed":false, - "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "FieldType":"STRING_LZ" } ] }, { - "PGN":130578, - "Id":"vesselSpeedComponents", - "Description":"Vessel Speed Components", - "Priority":2, + "PGN":130816, + "Id":"sonichubControl", + "Description":"SonicHub: Control", + "Priority":7, "Type":"Fast", - "Complete":true, - "FieldCount":6, - "Length":12, - "TransmissionInterval":250, + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":7, + "Length":6, "Fields":[ { "Order":1, - "Id":"longitudinalSpeedWaterReferenced", - "Name":"Longitudinal Speed, Water-referenced", - "BitLength":16, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, - "Unit":"m/s", - "Resolution":0.001, - "Signed":true, - "RangeMin":-32.767, - "RangeMax":32.764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "Match":275, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"transverseSpeedWaterReferenced", - "Name":"Transverse Speed, Water-referenced", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Unit":"m/s", - "Resolution":0.001, - "Signed":true, - "RangeMin":-32.767, - "RangeMax":32.764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" }, { "Order":3, - "Id":"longitudinalSpeedGroundReferenced", - "Name":"Longitudinal Speed, Ground-referenced", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Unit":"m/s", - "Resolution":0.001, - "Signed":true, - "RangeMin":-32.767, - "RangeMax":32.764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"transverseSpeedGroundReferenced", - "Name":"Transverse Speed, Ground-referenced", - "BitLength":16, - "BitOffset":48, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, + "BitOffset":16, "BitStart":0, - "Unit":"m/s", - "Resolution":0.001, - "Signed":true, - "RangeMin":-32.767, - "RangeMax":32.764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "Resolution":1, + "FieldType":"RESERVED" }, { "Order":5, - "Id":"sternSpeedWaterReferenced", - "Name":"Stern Speed, Water-referenced", - "BitLength":16, - "BitOffset":64, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Control", + "BitLength":8, + "BitOffset":24, "BitStart":0, - "Unit":"m/s", - "Resolution":0.001, - "Signed":true, - "RangeMin":-32.767, - "RangeMax":32.764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "Match":9, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"sternSpeedGroundReferenced", - "Name":"Stern Speed, Ground-referenced", - "BitLength":16, - "BitOffset":80, + "Id":"control", + "Name":"Control", + "BitLength":8, + "BitOffset":32, "BitStart":0, - "Unit":"m/s", - "Resolution":0.001, - "Signed":true, - "RangeMin":-32.767, - "RangeMax":32.764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"SPEED" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" + }, + { + "Order":7, + "Id":"item", + "Name":"Item", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_MUTE_COMMAND" } ] }, { - "PGN":130579, - "Id":"systemConfiguration", - "Description":"System Configuration", - "Type":"Single", + "PGN":130816, + "Id":"sonichubFmRadio", + "Description":"SonicHub: FM Radio", + "Priority":7, + "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, - "Length":8, + "FieldCount":12, + "Length":43, "Fields":[ { "Order":1, - "Id":"power", - "Name":"Power", - "BitLength":2, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"defaultSettings", - "Name":"Default Settings", + "Id":"reserved", + "Name":"Reserved", "BitLength":2, - "BitOffset":2, - "BitStart":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"FM Radio", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Match":12, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"control", + "Name":"Control", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" + }, + { + "Order":7, + "Id":"item", + "Name":"Item", + "BitLength":8, + "BitOffset":40, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_DEFAULT_SETTINGS" + "LookupEnumeration":"SONICHUB_TUNING" }, { - "Order":3, - "Id":"tunerRegions", - "Name":"Tuner regions", - "BitLength":4, - "BitOffset":4, - "BitStart":4, + "Order":8, + "Id":"frequency", + "Name":"Frequency", + "BitLength":32, + "BitOffset":48, + "BitStart":0, + "Unit":"Hz", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_REGIONS" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { - "Order":4, - "Id":"maxFavorites", - "Name":"Max favorites", - "BitLength":8, - "BitOffset":8, + "Order":9, + "Id":"noiseLevel", + "Name":"Noise level", + "BitLength":2, + "BitOffset":80, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":2, + "UnknownValue":3, "FieldType":"NUMBER" }, { - "Order":5, - "Id":"videoProtocols", - "Name":"Video protocols", + "Order":10, + "Id":"signalLevel", + "Name":"Signal level", "BitLength":4, - "BitOffset":16, - "BitStart":0, + "BitOffset":82, + "BitStart":2, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"VIDEO_PROTOCOLS" + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"reserved", + "Order":11, + "Id":"reserved11", "Name":"Reserved", - "BitLength":44, - "BitOffset":20, - "BitStart":4, + "BitLength":2, + "BitOffset":86, + "BitStart":6, "Resolution":1, "FieldType":"RESERVED" + }, + { + "Order":12, + "Id":"text", + "Name":"Text", + "BitLength":256, + "BitOffset":88, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { - "PGN":130580, - "Id":"systemConfigurationDeprecated", - "Description":"System Configuration (deprecated)", + "PGN":130816, + "Id":"sonichubPlaylist", + "Description":"SonicHub: Playlist", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, - "Length":2, + "FieldCount":12, + "Length":23, "Fields":[ { "Order":1, - "Id":"power", - "Name":"Power", - "BitLength":2, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"defaultSettings", - "Name":"Default Settings", + "Id":"reserved", + "Name":"Reserved", "BitLength":2, - "BitOffset":2, - "BitStart":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_DEFAULT_SETTINGS" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"tunerRegions", - "Name":"Tuner regions", - "BitLength":4, - "BitOffset":4, - "BitStart":4, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_REGIONS" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"maxFavorites", - "Name":"Max favorites", + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, - "BitOffset":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Playlist", + "BitLength":8, + "BitOffset":24, "BitStart":0, + "Match":13, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - } - ] - }, - { - "PGN":130581, - "Id":"zoneConfigurationDeprecated", - "Description":"Zone Configuration (deprecated)", - "Type":"Fast", - "Complete":false, - "Missing":["FieldLengths","SampleData","Interval" - ], - "FieldCount":5, - "MinLength":3, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":4, - "RepeatingFieldSet1CountField":2, - "Fields":[ + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true + }, { - "Order":1, - "Id":"firstZoneId", - "Name":"First zone ID", - "Description":"First Zone in this PGN", + "Order":6, + "Id":"control", + "Name":"Control", "BitLength":8, - "BitOffset":0, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -52504,15 +59230,15 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" }, { - "Order":2, - "Id":"zoneCount", - "Name":"Zone count", - "Description":"Number of Zones in this PGN", + "Order":7, + "Id":"item", + "Name":"Item", "BitLength":8, - "BitOffset":8, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -52521,15 +59247,15 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_PLAYLIST" }, { - "Order":3, - "Id":"totalZoneCount", - "Name":"Total zone count", - "Description":"Total Zones supported by this device", + "Order":8, + "Id":"a", + "Name":"A", "BitLength":8, - "BitOffset":16, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -52541,191 +59267,287 @@ "FieldType":"NUMBER" }, { - "Order":4, - "Id":"zoneId", - "Name":"Zone ID", - "BitLength":8, - "BitOffset":24, + "Order":9, + "Id":"currentTrack", + "Name":"Current Track", + "BitLength":32, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_ZONE" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"zoneName", - "Name":"Zone name", - "BitLengthVariable":true, - "BitOffset":32, + "Order":10, + "Id":"tracks", + "Name":"Tracks", + "BitLength":32, + "BitOffset":88, "BitStart":0, - "FieldType":"STRING_LAU" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":11, + "Id":"length", + "Name":"Length", + "BitLength":32, + "BitOffset":120, + "BitStart":0, + "Unit":"s", + "Resolution":0.001, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967.292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":12, + "Id":"positionInTrack", + "Name":"Position in track", + "BitLength":32, + "BitOffset":152, + "BitStart":0, + "Unit":"s", + "Resolution":0.001, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967.292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" } ] }, { - "PGN":130582, - "Id":"zoneVolume", - "Description":"Zone Volume", - "Type":"Single", + "PGN":130816, + "Id":"sonichubTrack", + "Description":"SonicHub: Track", + "Priority":7, + "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "Length":8, + "FieldCount":8, + "Length":41, "Fields":[ { "Order":1, - "Id":"zoneId", - "Name":"Zone ID", - "BitLength":8, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_ZONE" + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"volume", - "Name":"Volume", - "BitLength":8, - "BitOffset":8, - "BitStart":0, - "Unit":"%", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"volumeChange", - "Name":"Volume change", - "Description":"Write only", - "BitLength":2, - "BitOffset":16, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_VOLUME_CONTROL" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"mute", - "Name":"Mute", - "BitLength":2, - "BitOffset":18, - "BitStart":2, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, + "BitOffset":16, + "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"reserved", - "Name":"Reserved", - "BitLength":4, - "BitOffset":20, - "BitStart":4, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Track", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Match":14, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"channel", - "Name":"Channel", + "Id":"control", + "Name":"Control", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_CHANNEL" + "LookupEnumeration":"SONICHUB_CONTROL" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", + "Id":"item", + "Name":"Item", "BitLength":32, - "BitOffset":32, + "BitOffset":40, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"text", + "Name":"Text", + "BitLength":256, + "BitOffset":72, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { - "PGN":130583, - "Id":"availableAudioEqPresets", - "Description":"Available Audio EQ presets", + "PGN":130816, + "Id":"sonichubArtist", + "Description":"SonicHub: Artist", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":5, - "MinLength":3, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":4, - "RepeatingFieldSet1CountField":2, + "FieldCount":8, + "Length":41, "Fields":[ { "Order":1, - "Id":"firstPreset", - "Name":"First preset", - "Description":"First preset in this PGN", - "BitLength":8, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"presetCount", - "Name":"Preset count", + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, - "BitOffset":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Artist", + "BitLength":8, + "BitOffset":24, "BitStart":0, + "Match":15, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { - "Order":3, - "Id":"totalPresetCount", - "Name":"Total preset count", + "Order":6, + "Id":"control", + "Name":"Control", "BitLength":8, - "BitOffset":16, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -52734,135 +59556,124 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" }, { - "Order":4, - "Id":"presetType", - "Name":"Preset type", - "BitLength":8, - "BitOffset":24, + "Order":7, + "Id":"item", + "Name":"Item", + "BitLength":32, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_EQ" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"presetName", - "Name":"Preset name", - "BitLengthVariable":true, - "BitOffset":32, + "Order":8, + "Id":"text", + "Name":"Text", + "BitLength":256, + "BitOffset":72, "BitStart":0, - "FieldType":"STRING_LAU" + "FieldType":"STRING_LZ" } ] }, { - "PGN":130584, - "Id":"availableBluetoothAddresses", - "Description":"Available Bluetooth addresses", + "PGN":130816, + "Id":"sonichubAlbum", + "Description":"SonicHub: Album", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "MinLength":3, - "RepeatingFieldSet1Size":4, - "RepeatingFieldSet1StartField":4, - "RepeatingFieldSet1CountField":2, + "FieldCount":8, + "Length":41, "Fields":[ { "Order":1, - "Id":"firstAddress", - "Name":"First address", - "Description":"First address in this PGN", - "BitLength":8, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"addressCount", - "Name":"Address count", - "BitLength":8, - "BitOffset":8, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"totalAddressCount", - "Name":"Total address count", - "BitLength":8, - "BitOffset":16, - "BitStart":0, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"bluetoothAddress", - "Name":"Bluetooth address", - "BitLength":48, - "BitOffset":24, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, + "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"status", - "Name":"Status", + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Album", "BitLength":8, - "BitOffset":72, + "BitOffset":24, "BitStart":0, + "Match":16, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"BLUETOOTH_STATUS" + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"deviceName", - "Name":"Device name", - "BitLengthVariable":true, - "BitOffset":80, - "BitStart":0, - "FieldType":"STRING_LAU" - }, - { - "Order":7, - "Id":"signalStrength", - "Name":"Signal strength", + "Id":"control", + "Name":"Control", "BitLength":8, - "Unit":"%", + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -52870,125 +59681,124 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" + }, + { + "Order":7, + "Id":"item", + "Name":"Item", + "BitLength":32, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"text", + "Name":"Text", + "BitLength":256, + "BitOffset":72, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { - "PGN":130585, - "Id":"bluetoothSourceStatus", - "Description":"Bluetooth source status", - "Type":"Single", + "PGN":130816, + "Id":"sonichubMenuItem", + "Description":"SonicHub: Menu Item", + "Priority":7, + "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":5, - "Length":8, + "FieldCount":11, + "Length":44, "Fields":[ { "Order":1, - "Id":"sourceNumber", - "Name":"Source number", - "BitLength":8, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { "Order":2, - "Id":"status", - "Name":"Status", - "BitLength":4, - "BitOffset":8, - "BitStart":0, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"BLUETOOTH_SOURCE_STATUS" + "FieldType":"RESERVED" }, { "Order":3, - "Id":"forgetDevice", - "Name":"Forget device", - "BitLength":2, - "BitOffset":12, - "BitStart":4, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "LookupEnumeration":"INDUSTRY_CODE" }, { "Order":4, - "Id":"discovering", - "Name":"Discovering", - "BitLength":2, - "BitOffset":14, - "BitStart":6, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" - }, - { - "Order":5, - "Id":"bluetoothAddress", - "Name":"Bluetooth address", - "BitLength":48, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" - } - ] - }, - { - "PGN":130586, - "Id":"zoneConfiguration", - "Description":"Zone Configuration", - "Type":"Fast", - "Complete":false, - "Missing":["FieldLengths","SampleData","Interval" - ], - "FieldCount":13, - "Length":15, - "Fields":[ + "FieldType":"RESERVED" + }, { - "Order":1, - "Id":"zoneId", - "Name":"Zone ID", + "Order":5, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Menu Item", "BitLength":8, - "BitOffset":0, + "BitOffset":24, "BitStart":0, + "Match":19, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_ZONE" + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"volumeLimit", - "Name":"Volume limit", + "Order":6, + "Id":"control", + "Name":"Control", "BitLength":8, - "BitOffset":8, + "BitOffset":32, "BitStart":0, - "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -52996,53 +59806,48 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" }, { - "Order":3, - "Id":"fade", - "Name":"Fade", - "BitLength":8, - "BitOffset":16, + "Order":7, + "Id":"item", + "Name":"Item", + "BitLength":32, + "BitOffset":40, "BitStart":0, - "Unit":"%", "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"balance", - "Name":"Balance", + "Order":8, + "Id":"c", + "Name":"C", "BitLength":8, - "BitOffset":24, + "BitOffset":72, "BitStart":0, - "Unit":"%", "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"subVolume", - "Name":"Sub volume", + "Order":9, + "Id":"d", + "Name":"D", "BitLength":8, - "BitOffset":32, + "BitOffset":80, "BitStart":0, - "Unit":"%", "Resolution":1, "Signed":false, "RangeMin":0, @@ -53050,163 +59855,172 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"eqTreble", - "Name":"EQ - Treble", + "Order":10, + "Id":"e", + "Name":"E", "BitLength":8, - "BitOffset":40, + "BitOffset":88, "BitStart":0, - "Unit":"%", "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":7, - "Id":"eqMidRange", - "Name":"EQ - Mid range", - "BitLength":8, - "BitOffset":48, + "Order":11, + "Id":"text", + "Name":"Text", + "BitLength":256, + "BitOffset":96, "BitStart":0, - "Unit":"%", + "FieldType":"STRING_LZ" + } + ] + }, + { + "PGN":130816, + "Id":"sonichubZones", + "Description":"SonicHub: Zones", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":7, + "Length":6, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":275, "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":8, - "Id":"eqBass", - "Name":"EQ - Bass", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Unit":"%", + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "FieldType":"RESERVED" }, { - "Order":9, - "Id":"presetType", - "Name":"Preset type", - "BitLength":8, - "BitOffset":64, - "BitStart":0, + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":6, "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_EQ" + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":10, - "Id":"audioFilter", - "Name":"Audio filter", + "Order":4, + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, - "BitOffset":72, + "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_FILTER" + "FieldType":"RESERVED" }, { - "Order":11, - "Id":"highPassFilterFrequency", - "Name":"High pass filter frequency", - "BitLength":16, - "BitOffset":80, + "Order":5, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Zones", + "BitLength":8, + "BitOffset":24, "BitStart":0, - "Unit":"Hz", + "Match":20, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" - }, - { - "Order":12, - "Id":"lowPassFilterFrequency", - "Name":"Low pass filter frequency", - "BitLength":16, - "BitOffset":96, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"control", + "Name":"Control", + "BitLength":8, + "BitOffset":32, "BitStart":0, - "Unit":"Hz", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" }, { - "Order":13, - "Id":"channel", - "Name":"Channel", + "Order":7, + "Id":"zones", + "Name":"Zones", "BitLength":8, - "BitOffset":112, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"ENTERTAINMENT_CHANNEL" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { "PGN":130816, - "Id":"0x1ff000x1ffffManufacturerSpecificFastPacketNonAddressed", - "Description":"0x1FF00-0x1FFFF: Manufacturer Specific fast-packet non-addressed", - "Explanation":"This definition is used for Manufacturer Specific PGNs in PDU2 (non-addressed) fast-packet PGN range 0x1FF00 to 0x1FFFF (130816 - 131071). When this is shown during analysis it means the PGN is not reverse engineered yet.", + "Id":"sonichubMaxVolume", + "Description":"SonicHub: Max Volume", + "Priority":7, "Type":"Fast", "Complete":false, - "Fallback":true, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, - "Length":225, + "FieldCount":8, + "Length":7, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -53228,9 +60042,11 @@ "Order":3, "Id":"industryCode", "Name":"Industry Code", + "Description":"Marine Industry", "BitLength":3, "BitOffset":13, "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -53240,27 +60056,93 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":1784, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Max Volume", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Match":23, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"control", + "Name":"Control", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" + }, + { + "Order":7, + "Id":"zone", + "Name":"Zone", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"level", + "Name":"Level", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { "PGN":130816, - "Id":"sonichubInit2", - "Description":"SonicHub: Init #2", + "Id":"sonichubVolume", + "Description":"SonicHub: Volume", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Interval" ], "FieldCount":8, - "Length":9, + "Length":7, "Fields":[ { "Order":1, @@ -53318,11 +60200,11 @@ "Order":5, "Id":"proprietaryId", "Name":"Proprietary ID", - "Description":"Init #2", + "Description":"Volume", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":1, + "Match":24, "Resolution":1, "Signed":false, "RangeMin":0, @@ -53342,54 +60224,57 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SONICHUB_CONTROL" }, { "Order":7, - "Id":"a", - "Name":"A", - "BitLength":16, + "Id":"zone", + "Name":"Zone", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":8, - "Id":"b", - "Name":"B", - "BitLength":16, - "BitOffset":56, + "Id":"level", + "Name":"Level", + "BitLength":8, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" } ] }, { "PGN":130816, - "Id":"sonichubAmRadio", - "Description":"SonicHub: AM Radio", + "Id":"sonichubInit1", + "Description":"SonicHub: Init #1", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":12, - "Length":43, + "FieldCount":6, + "Length":5, "Fields":[ { "Order":1, @@ -53447,11 +60332,11 @@ "Order":5, "Id":"proprietaryId", "Name":"Proprietary ID", - "Description":"AM Radio", + "Description":"Init #1", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":4, + "Match":25, "Resolution":1, "Signed":false, "RangeMin":0, @@ -53471,102 +60356,143 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SONICHUB_CONTROL" - }, + } + ] + }, + { + "PGN":130816, + "Id":"sonichubPosition", + "Description":"SonicHub: Position", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":7, + "Length":9, + "Fields":[ { - "Order":7, - "Id":"item", - "Name":"Item", - "BitLength":8, - "BitOffset":40, + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, + "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_TUNING" + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":8, - "Id":"frequency", - "Name":"Frequency", - "BitLength":32, - "BitOffset":48, - "BitStart":0, - "Unit":"Hz", + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":9, - "Id":"noiseLevel", - "Name":"Noise level", - "BitLength":2, - "BitOffset":80, + "Order":4, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, + "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { - "Order":10, - "Id":"signalLevel", - "Name":"Signal level", - "BitLength":4, - "BitOffset":82, - "BitStart":2, + "Order":5, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Position", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Match":48, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_COMMAND", + "PartOfPrimaryKey":true }, { - "Order":11, - "Id":"reserved11", - "Name":"Reserved", - "BitLength":2, - "BitOffset":86, - "BitStart":6, + "Order":6, + "Id":"control", + "Name":"Control", + "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SONICHUB_CONTROL" }, { - "Order":12, - "Id":"text", - "Name":"Text", - "BitLength":256, - "BitOffset":88, + "Order":7, + "Id":"position", + "Name":"Position", + "BitLength":32, + "BitOffset":40, "BitStart":0, - "FieldType":"STRING_LZ" + "Unit":"s", + "Resolution":0.001, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967.292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" } ] }, { "PGN":130816, - "Id":"sonichubZoneInfo", - "Description":"SonicHub: Zone info", + "Id":"sonichubInit3", + "Description":"SonicHub: Init #3", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":7, - "Length":6, + "FieldCount":8, + "Length":7, "Fields":[ { "Order":1, @@ -53624,11 +60550,11 @@ "Order":5, "Id":"proprietaryId", "Name":"Proprietary ID", - "Description":"Zone Info", + "Description":"Init #3", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":5, + "Match":50, "Resolution":1, "Signed":false, "RangeMin":0, @@ -53648,13 +60574,16 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SONICHUB_CONTROL" }, { "Order":7, - "Id":"zone", - "Name":"Zone", + "Id":"a", + "Name":"A", "BitLength":8, "BitOffset":40, "BitStart":0, @@ -53666,30 +60595,46 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"b", + "Name":"B", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { "PGN":130816, - "Id":"sonichubSource", - "Description":"SonicHub: Source", + "Id":"furunoStatusAndVersionReport", + "Description":"Furuno: Status and Version Report", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "Length":6, + "FieldCount":6, + "MinLength":4, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Furuno", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":1855, "Resolution":1, "Signed":false, "RangeMin":0, @@ -53725,82 +60670,68 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":5, "Id":"proprietaryId", "Name":"Proprietary ID", - "Description":"Source", + "Description":"Version Report", "BitLength":8, - "BitOffset":24, + "BitOffset":16, "BitStart":0, - "Match":6, + "Match":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", + "FieldType":"NUMBER", "PartOfPrimaryKey":true }, { - "Order":6, - "Id":"control", - "Name":"Control", + "Order":5, + "Id":"a", + "Name":"A", "BitLength":8, - "BitOffset":32, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":7, - "Id":"source", - "Name":"Source", - "BitLength":8, - "BitOffset":40, + "Order":6, + "Id":"status", + "Name":"Status", + "BitLengthVariable":true, + "BitOffset":32, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_SOURCE" + "FieldType":"STRING_LAU" } ] }, { "PGN":130816, - "Id":"sonichubSourceList", - "Description":"SonicHub: Source List", + "Id":"simradTextMessage", + "Description":"Simrad: Text Message", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":9, - "Length":39, + "FieldCount":11, + "Length":41, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -53848,23 +60779,23 @@ "Order":5, "Id":"proprietaryId", "Name":"Proprietary ID", - "Description":"Source List", + "Description":"Text", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":8, + "Match":50, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", + "LookupEnumeration":"SIMNET_COMMAND", "PartOfPrimaryKey":true }, { "Order":6, - "Id":"control", - "Name":"Control", + "Id":"a", + "Name":"A", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -53872,13 +60803,15 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"sourceId", - "Name":"Source ID", + "Id":"b", + "Name":"B", "BitLength":8, "BitOffset":40, "BitStart":0, @@ -53893,8 +60826,8 @@ }, { "Order":8, - "Id":"a", - "Name":"A", + "Id":"c", + "Name":"C", "BitLength":8, "BitOffset":48, "BitStart":0, @@ -53909,36 +60842,69 @@ }, { "Order":9, + "Id":"sid", + "Name":"SID", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"prio", + "Name":"Prio", + "BitLength":8, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":11, "Id":"text", "Name":"Text", "BitLength":256, - "BitOffset":56, + "BitOffset":72, "BitStart":0, - "FieldType":"STRING_LZ" + "FieldType":"STRING_FIX" } ] }, { "PGN":130816, - "Id":"sonichubControl", - "Description":"SonicHub: Control", - "Priority":7, + "Id":"bepMarineCzoneZcfBusDistribution", + "Description":"BEP Marine: CZone .zcf Bus Distribution", + "Explanation":"Channel the plotter uses to push a .zcf configuration file over the bus. Each fast-packet sequence carries one chunk; a complete .zcf reassembles by concatenating the Data portion of all chunks in Chunk Index order. Each non-terminal chunk carries exactly 200 bytes of .zcf data; the terminal chunk is the first one with Data length < 200, followed by a final chunk with Data length == 0 marking transfer end. Receivers should key state by source address; back-to-back transfers from the same source are observed.", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-130816.md", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], "FieldCount":7, - "Length":6, + "Length":223, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -53974,82 +60940,81 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, + "Id":"chunkIndex", + "Name":"Chunk Index", + "Description":"0-based index of this chunk in the transfer", + "BitLength":16, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Control", + "Id":"flag", + "Name":"Flag", + "Description":"Observed = 0x01; meaning unknown (possibly transfer mode / direction)", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, - "Match":9, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"control", - "Name":"Control", - "BitLength":8, - "BitOffset":32, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":144, + "BitOffset":40, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "FieldType":"RESERVED" }, { "Order":7, - "Id":"item", - "Name":"Item", - "BitLength":8, - "BitOffset":40, + "Id":"data", + "Name":"Data", + "Description":"Up to 200 bytes of .zcf data; terminator chunk has 0 bytes", + "BitLength":1600, + "BitOffset":184, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_MUTE_COMMAND" + "FieldType":"BINARY" } ] }, { "PGN":130816, - "Id":"sonichubFmRadio", - "Description":"SonicHub: FM Radio", - "Priority":7, + "Id":"hondaEngineStatus", + "Description":"Honda: Engine Status", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":12, - "Length":43, + "FieldCount":3, + "Length":2, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Honda Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":175, "Resolution":1, "Signed":false, "RangeMin":0, @@ -54082,151 +61047,29 @@ "RangeMax":6, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"FM Radio", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Match":12, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true - }, - { - "Order":6, - "Id":"control", - "Name":"Control", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" - }, - { - "Order":7, - "Id":"item", - "Name":"Item", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_TUNING" - }, - { - "Order":8, - "Id":"frequency", - "Name":"Frequency", - "BitLength":32, - "BitOffset":48, - "BitStart":0, - "Unit":"Hz", - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" - }, - { - "Order":9, - "Id":"noiseLevel", - "Name":"Noise level", - "BitLength":2, - "BitOffset":80, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":10, - "Id":"signalLevel", - "Name":"Signal level", - "BitLength":4, - "BitOffset":82, - "BitStart":2, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" - }, - { - "Order":11, - "Id":"reserved11", - "Name":"Reserved", - "BitLength":2, - "BitOffset":86, - "BitStart":6, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":12, - "Id":"text", - "Name":"Text", - "BitLength":256, - "BitOffset":88, - "BitStart":0, - "FieldType":"STRING_LZ" } ] }, { "PGN":130816, - "Id":"sonichubPlaylist", - "Description":"SonicHub: Playlist", - "Priority":7, + "Id":"seaRecoveryWatermakerStatus", + "Description":"Sea Recovery: Watermaker Status", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":12, - "Length":23, + "FieldCount":17, + "Length":14, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Sea Recovery", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":285, "Resolution":1, "Signed":false, "RangeMin":0, @@ -54262,156 +61105,222 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", + "Id":"messageId", + "Name":"Message ID", "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Playlist", - "BitLength":8, + "Id":"watermakerInstance", + "Name":"Watermaker Instance", + "BitLength":4, "BitOffset":24, "BitStart":0, - "Match":13, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"control", - "Name":"Control", - "BitLength":8, - "BitOffset":32, - "BitStart":0, + "Id":"operationState", + "Name":"Operation State", + "BitLength":4, + "BitOffset":28, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"item", - "Name":"Item", - "BitLength":8, - "BitOffset":40, + "Id":"prefilterPressure", + "Name":"Prefilter Pressure", + "BitLength":16, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_PLAYLIST" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"a", - "Name":"A", - "BitLength":8, + "Id":"postfilterPressure", + "Name":"Postfilter Pressure", + "BitLength":16, "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":9, - "Id":"currentTrack", - "Name":"Current Track", - "BitLength":32, - "BitOffset":56, + "Id":"operationPressure", + "Name":"Operation Pressure", + "BitLength":16, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":10, - "Id":"tracks", - "Name":"Tracks", - "BitLength":32, - "BitOffset":88, + "Id":"productFlow", + "Name":"Product Flow", + "BitLength":16, + "BitOffset":80, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "Signed":true, + "RangeMin":-32767, + "RangeMax":32764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, "FieldType":"NUMBER" }, { "Order":11, - "Id":"length", - "Name":"Length", - "BitLength":32, - "BitOffset":120, + "Id":"prefilterPressureStatus", + "Name":"Prefilter Pressure Status", + "BitLength":2, + "BitOffset":96, "BitStart":0, - "Unit":"s", - "Resolution":0.001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967.292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { "Order":12, - "Id":"positionInTrack", - "Name":"Position in track", - "BitLength":32, - "BitOffset":152, + "Id":"postfilterPressureStatus", + "Name":"Postfilter Pressure Status", + "BitLength":2, + "BitOffset":98, + "BitStart":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, + { + "Order":13, + "Id":"operationPressureStatus", + "Name":"Operation Pressure Status", + "BitLength":2, + "BitOffset":100, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, + { + "Order":14, + "Id":"productSalinityStatus", + "Name":"Product Salinity Status", + "BitLength":2, + "BitOffset":102, + "BitStart":6, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, + { + "Order":15, + "Id":"filterStatus", + "Name":"Filter Status", + "BitLength":2, + "BitOffset":104, "BitStart":0, - "Unit":"s", - "Resolution":0.001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967.292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, + { + "Order":16, + "Id":"systemStatus", + "Name":"System Status", + "BitLength":2, + "BitOffset":106, + "BitStart":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, + { + "Order":17, + "Id":"reserved17", + "Name":"Reserved", + "BitLength":4, + "BitOffset":108, + "BitStart":4, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":130816, - "Id":"sonichubTrack", - "Description":"SonicHub: Track", + "PGN":130817, + "Id":"navicoFeatureUnlock", + "Description":"Navico: Feature Unlock", "Priority":7, + "Explanation":"Feature-unlock / capability report emitted by Navico devices, and the target of the 126208 Request seen on the bus (the requester filters on Feature Id as field 4). The payload is a 2-byte Feature Id and a record count; a non-zero count is believed to be followed by that many 3-byte records (never observed on the wire, so their layout is left undecoded here) and two trailing bytes.", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":41, + "FieldCount":6, + "Length":7, "Fields":[ { "Order":1, @@ -54457,35 +61366,26 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, + "Id":"featureId", + "Name":"Feature Id", + "Description":"Feature/object identifier. A 126208 Request for this PGN filters on this value as its field 4 (the requester asks the target to report a specific feature).", + "BitLength":16, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Track", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Match":14, - "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"control", - "Name":"Control", + "Order":5, + "Id":"recordCount", + "Name":"Record Count", + "Description":"Number of 3-byte records that follow; 0 in every observed broadcast", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -54493,57 +61393,52 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":7, - "Id":"item", - "Name":"Item", - "BitLength":32, + "Order":6, + "Id":"data", + "Name":"Data", + "Description":"Trailing value (observed only with Record Count 0)", + "BitLength":16, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"text", - "Name":"Text", - "BitLength":256, - "BitOffset":72, - "BitStart":0, - "FieldType":"STRING_LZ" } ] }, { - "PGN":130816, - "Id":"sonichubArtist", - "Description":"SonicHub: Artist", + "PGN":130817, + "Id":"lowranceProductInformation", + "Description":"Lowrance: Product Information", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":8, - "Length":41, + "FieldCount":11, + "Length":113, + "TransmissionIrregular":true, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Lowrance", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":140, "Resolution":1, "Signed":false, "RangeMin":0, @@ -54579,93 +61474,127 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, + "Id":"productCode", + "Name":"Product Code", + "BitLength":16, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Artist", + "Id":"model", + "Name":"Model", + "BitLength":256, + "BitOffset":32, + "BitStart":0, + "FieldType":"STRING_FIX" + }, + { + "Order":6, + "Id":"a", + "Name":"A", "BitLength":8, - "BitOffset":24, + "BitOffset":288, "BitStart":0, - "Match":15, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"control", - "Name":"Control", + "Order":7, + "Id":"b", + "Name":"B", "BitLength":8, - "BitOffset":32, + "BitOffset":296, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":7, - "Id":"item", - "Name":"Item", - "BitLength":32, - "BitOffset":40, + "Order":8, + "Id":"c", + "Name":"C", + "BitLength":8, + "BitOffset":304, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":8, - "Id":"text", - "Name":"Text", + "Order":9, + "Id":"firmwareVersion", + "Name":"Firmware version", + "BitLength":80, + "BitOffset":312, + "BitStart":0, + "FieldType":"STRING_FIX" + }, + { + "Order":10, + "Id":"firmwareDate", + "Name":"Firmware date", "BitLength":256, - "BitOffset":72, + "BitOffset":392, "BitStart":0, - "FieldType":"STRING_LZ" + "FieldType":"STRING_FIX" + }, + { + "Order":11, + "Id":"firmwareTime", + "Name":"Firmware time", + "BitLength":256, + "BitOffset":648, + "BitStart":0, + "FieldType":"STRING_FIX" } ] }, { - "PGN":130816, - "Id":"sonichubAlbum", - "Description":"SonicHub: Album", + "PGN":130817, + "Id":"furunoSvControl", + "Description":"Furuno: SV control", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":41, + "FieldCount":12, + "Length":24, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Furuno", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":1855, "Resolution":1, "Signed":false, "RangeMin":0, @@ -54701,35 +61630,30 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", + "Id":"f4", + "Name":"F4", + "Description":"Unknown", "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" }, { "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Album", + "Id":"f5", + "Name":"F5", + "Description":"Unknown", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":16, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "FieldType":"BINARY" }, { "Order":6, - "Id":"control", - "Name":"Control", + "Id":"sbasMode", + "Name":"SBAS mode", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -54737,57 +61661,118 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "LookupEnumeration":"AUTOMATIC_MANUAL" }, { "Order":7, - "Id":"item", - "Name":"Item", - "BitLength":32, + "Id":"sbasSatellite", + "Name":"SBAS satellite", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SBAS_SV" }, { "Order":8, - "Id":"text", - "Name":"Text", - "BitLength":256, - "BitOffset":72, + "Id":"f8", + "Name":"F8", + "Description":"Unknown", + "BitLength":16, + "BitOffset":48, "BitStart":0, - "FieldType":"STRING_LZ" + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":9, + "Id":"gpsDisable", + "Name":"GPS disable", + "BitLength":32, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":4294967295, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"DISABLED_SATELLITES" + }, + { + "Order":10, + "Id":"glonassDisable", + "Name":"GLONASS disable", + "BitLength":32, + "BitOffset":96, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":4294967295, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"DISABLED_SATELLITES" + }, + { + "Order":11, + "Id":"galileoDisable", + "Name":"Galileo disable", + "BitLength":40, + "BitOffset":128, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":1099511627775, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"DISABLED_SATELLITES" + }, + { + "Order":12, + "Id":"qzssDisable", + "Name":"QZSS disable", + "BitLength":24, + "BitOffset":168, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":16777215, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"DISABLED_SATELLITES" } ] }, { - "PGN":130816, - "Id":"sonichubMenuItem", - "Description":"SonicHub: Menu Item", - "Priority":7, + "PGN":130817, + "Id":"maretronAnnunciatorCapabilities", + "Description":"Maretron: Annunciator Capabilities", + "Priority":6, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":11, - "Length":44, + "FieldCount":6, + "MinLength":4, + "RepeatingFieldSet1Size":1, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":5, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -54823,83 +61808,27 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", + "Id":"annunciatorInstance", + "Name":"Annunciator Instance", "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Menu Item", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Match":19, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true - }, - { - "Order":6, - "Id":"control", - "Name":"Control", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" - }, - { - "Order":7, - "Id":"item", - "Name":"Item", - "BitLength":32, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"c", - "Name":"C", - "BitLength":8, - "BitOffset":72, - "BitStart":0, - "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { - "Order":9, - "Id":"d", - "Name":"D", + "Order":5, + "Id":"numberOfTones", + "Name":"Number of Tones", "BitLength":8, - "BitOffset":80, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, @@ -54911,53 +61840,45 @@ "FieldType":"NUMBER" }, { - "Order":10, - "Id":"e", - "Name":"E", - "BitLength":8, - "BitOffset":88, + "Order":6, + "Id":"tone", + "Name":"Tone", + "BitLength":16, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" - }, - { - "Order":11, - "Id":"text", - "Name":"Text", - "BitLength":256, - "BitOffset":96, - "BitStart":0, - "FieldType":"STRING_LZ" } ] }, { - "PGN":130816, - "Id":"sonichubZones", - "Description":"SonicHub: Zones", - "Priority":7, + "PGN":130817, + "Id":"bepMarineCzoneStatusExtended", + "Description":"BEP Marine: CZone Status Extended", + "Explanation":"Periodic extended-status frame from a CZone module. Real CZone modules use it to report per-circuit measurements (e.g. breaker current); the YDAB-01 sends a stub form for module-presence purposes only. Each per-circuit record is 3 bytes: byte 0 = circuit_id (8-bit), byte 1 = value low, byte 2 = bits 0..1 are value high (10-bit magnitude total) + bit 2 = sign (set => positive) + bit 3 = per-frame flag (only meaningful with N>=6 records) + bits 4..7 = unknown. Value is most plausibly current in 0.1 A units, but unverified. Periodic at ~2 s intervals.", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-130817.md", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "Length":6, + "FieldCount":6, + "Length":28, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -54993,84 +61914,71 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", + "Id":"page", + "Name":"Page", + "Description":"Observed = 0x01; possibly a status-page selector", "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Zones", + "Id":"dipswitch", + "Name":"Dipswitch", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":20, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"control", - "Name":"Control", - "BitLength":8, + "Id":"records", + "Name":"Records", + "Description":"N records of 3 bytes each, N = (payload_length - 4) / 3, capped at 8", + "BitLength":192, "BitOffset":32, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" - }, - { - "Order":7, - "Id":"zones", - "Name":"Zones", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { - "PGN":130816, - "Id":"sonichubMaxVolume", - "Description":"SonicHub: Max Volume", + "PGN":130818, + "Id":"simnetReprogramData", + "Description":"Simnet: Reprogram Data", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":7, + "FieldCount":6, + "Length":223, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -55106,100 +62014,69 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, + "Id":"version", + "Name":"Version", + "BitLength":16, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Max Volume", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Match":23, - "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"control", - "Name":"Control", - "BitLength":8, + "Order":5, + "Id":"sequence", + "Name":"Sequence", + "BitLength":16, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" - }, - { - "Order":7, - "Id":"zone", - "Name":"Zone", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { - "Order":8, - "Id":"level", - "Name":"Level", - "BitLength":8, + "Order":6, + "Id":"data", + "Name":"Data", + "BitLength":1736, "BitOffset":48, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { - "PGN":130816, - "Id":"sonichubVolume", - "Description":"SonicHub: Volume", + "PGN":130818, + "Id":"furunoSensorSetup", + "Description":"Furuno: Sensor setup", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":7, + "FieldCount":15, + "Length":28, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Furuno", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":1855, "Resolution":1, "Signed":false, "RangeMin":0, @@ -55235,51 +62112,82 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, + "Id":"rotationSmoothing", + "Name":"Rotation smoothing", + "BitLength":16, "BitOffset":16, "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "Unit":"s", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" }, { "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Volume", - "BitLength":8, - "BitOffset":24, + "Id":"headingOffset", + "Name":"Heading offset", + "BitLength":16, + "BitOffset":32, "BitStart":0, - "Match":24, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "Unit":"deg", + "Resolution":0.1, + "Signed":true, + "RangeMin":-3276.7, + "RangeMax":3276.4, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" }, { "Order":6, - "Id":"control", - "Name":"Control", - "BitLength":8, - "BitOffset":32, + "Id":"pitchOffset", + "Name":"Pitch offset", + "BitLength":16, + "BitOffset":48, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "Unit":"deg", + "Resolution":0.1, + "Signed":true, + "RangeMin":-3276.7, + "RangeMax":3276.4, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" }, { "Order":7, - "Id":"zone", - "Name":"Zone", + "Id":"rollOffset", + "Name":"Roll offset", + "BitLength":16, + "BitOffset":64, + "BitStart":0, + "Unit":"deg", + "Resolution":0.1, + "Signed":true, + "RangeMin":-3276.7, + "RangeMax":3276.4, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":8, + "Id":"f8", + "Name":"F8", "BitLength":8, - "BitOffset":40, + "BitOffset":80, "BitStart":0, "Resolution":1, "Signed":false, @@ -55291,11 +62199,11 @@ "FieldType":"NUMBER" }, { - "Order":8, - "Id":"level", - "Name":"Level", + "Order":9, + "Id":"f9", + "Name":"F9", "BitLength":8, - "BitOffset":48, + "BitOffset":88, "BitStart":0, "Resolution":1, "Signed":false, @@ -55305,30 +62213,133 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"sogAndCogSmoothing", + "Name":"SOG and COG smoothing", + "BitLength":32, + "BitOffset":96, + "BitStart":0, + "Unit":"s", + "Resolution":0.001, + "Signed":true, + "RangeMin":-2147483.647, + "RangeMax":2147483.644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":11, + "Id":"3AxisSpeedSmoothing", + "Name":"3 Axis speed smoothing", + "BitLength":32, + "BitOffset":128, + "BitStart":0, + "Unit":"s", + "Resolution":0.001, + "Signed":true, + "RangeMin":-2147483.647, + "RangeMax":2147483.644, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" + }, + { + "Order":12, + "Id":"fc", + "Name":"FC", + "BitLength":16, + "BitOffset":160, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":13, + "Id":"3AxisOffset", + "Name":"3 axis offset", + "BitLength":16, + "BitOffset":176, + "BitStart":0, + "Unit":"%", + "Resolution":0.00032, + "Signed":true, + "RangeMin":-12.5, + "RangeMax":12.5, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + }, + { + "Order":14, + "Id":"airPressureOffset", + "Name":"Air pressure offset", + "BitLength":16, + "BitOffset":192, + "BitStart":0, + "Unit":"Pa", + "Resolution":10, + "Signed":true, + "RangeMin":-99.9, + "RangeMax":99.9, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + }, + { + "Order":15, + "Id":"airTemperatureOffset", + "Name":"Air temperature offset", + "BitLength":16, + "BitOffset":208, + "BitStart":0, + "Unit":"K", + "Resolution":0.1, + "Signed":true, + "RangeMin":-99.9, + "RangeMax":99.9, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" } ] }, { - "PGN":130816, - "Id":"sonichubInit1", - "Description":"SonicHub: Init #1", + "PGN":130818, + "Id":"maretronLabel", + "Description":"Maretron: Label", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":6, - "Length":5, + "FieldCount":8, + "MinLength":6, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -55364,35 +62375,41 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", + "Id":"instance", + "Name":"Instance", "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Init #1", + "Id":"dataSource", + "Name":"Data Source", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":25, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"control", - "Name":"Control", + "Id":"dataIndicator", + "Name":"Data Indicator", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -55400,32 +62417,56 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"label", + "Name":"Label", + "BitLengthVariable":true, + "BitOffset":40, + "BitStart":0, + "FieldType":"STRING_LAU" + }, + { + "Order":8, + "Id":"hardwareChannel", + "Name":"Hardware Channel", + "BitLength":8, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":130816, - "Id":"sonichubPosition", - "Description":"SonicHub: Position", - "Priority":7, + "PGN":130818, + "Id":"bepMarineProprietaryPgn130818", + "Description":"BEP Marine: Proprietary PGN 130818", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "Length":9, + "FieldCount":4, + "Length":223, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -55461,86 +62502,36 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":1768, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Position", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Match":48, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true - }, - { - "Order":6, - "Id":"control", - "Name":"Control", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" - }, - { - "Order":7, - "Id":"position", - "Name":"Position", - "BitLength":32, - "BitOffset":40, - "BitStart":0, - "Unit":"s", - "Resolution":0.001, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967.292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "FieldType":"BINARY" } ] }, { - "PGN":130816, - "Id":"sonichubInit3", - "Description":"SonicHub: Init #3", - "Priority":7, + "PGN":130818, + "Id":"webastoStatus2", + "Description":"Webasto: Status 2", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":8, - "Length":7, + "FieldCount":9, + "Length":14, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Webasto", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":540, "Resolution":1, "Signed":false, "RangeMin":0, @@ -55576,51 +62567,74 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", + "Id":"canAddress", + "Name":"CAN Address", "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Init #3", + "Id":"deviceId", + "Name":"Device ID", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":50, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_COMMAND", - "PartOfPrimaryKey":true + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"control", - "Name":"Control", - "BitLength":8, + "Id":"systemError", + "Name":"System Error", + "BitLength":32, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SONICHUB_CONTROL" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"a", - "Name":"A", + "Id":"systemStatus", + "Name":"System Status", + "BitLength":32, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"freshAirBlowerSpeed", + "Name":"Fresh Air Blower Speed", "BitLength":8, - "BitOffset":40, + "BitOffset":96, "BitStart":0, "Resolution":1, "Signed":false, @@ -55632,11 +62646,11 @@ "FieldType":"NUMBER" }, { - "Order":8, - "Id":"b", - "Name":"B", + "Order":9, + "Id":"vSeriesOutput", + "Name":"V-Series Output", "BitLength":8, - "BitOffset":48, + "BitOffset":104, "BitStart":0, "Resolution":1, "Signed":false, @@ -55650,26 +62664,26 @@ ] }, { - "PGN":130816, - "Id":"furunoStatusAndVersionReport", - "Description":"Furuno: Status and Version Report", + "PGN":130819, + "Id":"simnetRequestReprogram", + "Description":"Simnet: Request Reprogram", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["FieldLengths","SampleData","Interval" ], - "FieldCount":6, - "MinLength":4, + "FieldCount":3, + "Length":2, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Furuno", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1855, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -55702,71 +62716,30 @@ "RangeMax":6, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Version Report", - "BitLength":8, - "BitOffset":16, - "BitStart":0, - "Match":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"a", - "Name":"A", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"status", - "Name":"Status", - "BitLengthVariable":true, - "BitOffset":32, - "BitStart":0, - "FieldType":"STRING_LAU" } ] }, { - "PGN":130816, - "Id":"simradTextMessage", - "Description":"Simrad: Text Message", + "PGN":130819, + "Id":"maretronAlertTransmission", + "Description":"Maretron: Alert Transmission", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":11, - "Length":41, + "FieldCount":13, + "Length":34, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -55802,37 +62775,42 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, + "Id":"alertType", + "Name":"Alert Type", + "BitLength":4, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"ALERT_TYPE" }, { "Order":5, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Text", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Match":50, + "Id":"alertCategory", + "Name":"Alert Category", + "BitLength":4, + "BitOffset":20, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"ALERT_CATEGORY" }, { "Order":6, - "Id":"a", - "Name":"A", + "Id":"alertSystem", + "Name":"Alert System", "BitLength":8, - "BitOffset":32, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, @@ -55845,10 +62823,10 @@ }, { "Order":7, - "Id":"b", - "Name":"B", + "Id":"alertSubSystem", + "Name":"Alert Sub-System", "BitLength":8, - "BitOffset":40, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -55861,10 +62839,39 @@ }, { "Order":8, - "Id":"c", - "Name":"C", + "Id":"alertId", + "Name":"Alert ID", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"dataSourceNetworkIdName", + "Name":"Data Source Network ID NAME", + "BitLength":64, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":18446744073709551615, + "FieldType":"ISO_NAME" + }, + { + "Order":10, + "Id":"dataSourceInstance", + "Name":"Data Source Instance", "BitLength":8, - "BitOffset":48, + "BitOffset":120, "BitStart":0, "Resolution":1, "Signed":false, @@ -55873,14 +62880,15 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { - "Order":9, - "Id":"sid", - "Name":"SID", + "Order":11, + "Id":"dataSourceIndexSource", + "Name":"Data Source Index-Source", "BitLength":8, - "BitOffset":56, + "BitOffset":128, "BitStart":0, "Resolution":1, "Signed":false, @@ -55892,11 +62900,11 @@ "FieldType":"NUMBER" }, { - "Order":10, - "Id":"prio", - "Name":"Prio", + "Order":12, + "Id":"alertOccurrenceNumber", + "Name":"Alert Occurrence Number", "BitLength":8, - "BitOffset":64, + "BitOffset":136, "BitStart":0, "Resolution":1, "Signed":false, @@ -55908,38 +62916,39 @@ "FieldType":"NUMBER" }, { - "Order":11, - "Id":"text", - "Name":"Text", - "BitLength":256, - "BitOffset":72, + "Order":13, + "Id":"maretronExtension", + "Name":"Maretron Extension", + "Description":"Maretron-specific payload following the standard Alert identity header.", + "BitLength":128, + "BitOffset":144, "BitStart":0, - "FieldType":"STRING_FIX" + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":130816, - "Id":"bepMarineCzoneZcfBusDistribution", - "Description":"BEP Marine: CZone .zcf Bus Distribution", - "Explanation":"Channel the plotter uses to push a .zcf configuration file over the bus. Each fast-packet sequence carries one chunk; a complete .zcf reassembles by concatenating the Data portion of all chunks in Chunk Index order. Each non-terminal chunk carries exactly 200 bytes of .zcf data; the terminal chunk is the first one with Data length < 200, followed by a final chunk with Data length == 0 marking transfer end. Receivers should key state by source address; back-to-back transfers from the same source are observed.", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-130816.md", + "PGN":130819, + "Id":"webastoHvacCommand", + "Description":"Webasto: HVAC Command", + "Priority":3, "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "Length":223, + "FieldCount":13, + "Length":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Webasto", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":540, "Resolution":1, "Signed":false, "RangeMin":0, @@ -55975,28 +62984,26 @@ }, { "Order":4, - "Id":"chunkIndex", - "Name":"Chunk Index", - "Description":"0-based index of this chunk in the transfer", - "BitLength":16, + "Id":"canAddress", + "Name":"CAN Address", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":5, - "Id":"flag", - "Name":"Flag", - "Description":"Observed = 0x01; meaning unknown (possibly transfer mode / direction)", + "Id":"blowerSpeed", + "Name":"Blower Speed", "BitLength":8, - "BitOffset":32, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, @@ -56009,102 +63016,138 @@ }, { "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":144, - "BitOffset":40, + "Id":"unitOnOff", + "Name":"Unit On/Off", + "BitLength":2, + "BitOffset":32, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"OFF_ON" }, { "Order":7, - "Id":"data", - "Name":"Data", - "Description":"Up to 200 bytes of .zcf data; terminator chunk has 0 bytes", - "BitLength":1600, - "BitOffset":184, - "BitStart":0, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":6, + "BitOffset":34, + "BitStart":2, "Resolution":1, - "FieldType":"BINARY" - } - ] - }, - { - "PGN":130816, - "Id":"hondaEngineStatus", - "Description":"Honda: Engine Status", - "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":3, - "Length":2, - "Fields":[ + "FieldType":"RESERVED" + }, { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Honda Marine", - "BitLength":11, - "BitOffset":0, + "Order":8, + "Id":"setTemperature", + "Name":"Set Temperature", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" + }, + { + "Order":9, + "Id":"ecoMode", + "Name":"ECO Mode", + "BitLength":2, + "BitOffset":56, "BitStart":0, - "Match":175, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" }, { - "Order":2, - "Id":"reserved", + "Order":10, + "Id":"functionalMode", + "Name":"Functional Mode", + "BitLength":2, + "BitOffset":58, + "BitStart":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, + { + "Order":11, + "Id":"compressor", + "Name":"Compressor", + "BitLength":2, + "BitOffset":60, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"NUMBER" + }, + { + "Order":12, + "Id":"reserved12", "Name":"Reserved", "BitLength":2, - "BitOffset":11, - "BitStart":3, + "BitOffset":62, + "BitStart":6, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":13, + "Id":"mask", + "Name":"Mask", + "BitLength":8, + "BitOffset":64, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":130816, - "Id":"seaRecoveryWatermakerStatus", - "Description":"Sea Recovery: Watermaker Status", + "PGN":130819, + "Id":"furunoDeadReckoningConfiguration", + "Description":"Furuno: Dead Reckoning Configuration", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":17, - "Length":14, + "FieldCount":11, + "Length":6, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Sea Recovery", + "Description":"Furuno", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":285, + "Match":1855, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56140,27 +63183,26 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "BitLength":8, + "Id":"f4", + "Name":"F4", + "BitLength":4, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"NUMBER" }, { "Order":5, - "Id":"watermakerInstance", - "Name":"Watermaker Instance", + "Id":"f5", + "Name":"F5", "BitLength":4, - "BitOffset":24, - "BitStart":0, + "BitOffset":20, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56171,11 +63213,11 @@ }, { "Order":6, - "Id":"operationState", - "Name":"Operation State", + "Id":"f6", + "Name":"F6", "BitLength":4, - "BitOffset":28, - "BitStart":4, + "BitOffset":24, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56186,75 +63228,11 @@ }, { "Order":7, - "Id":"prefilterPressure", - "Name":"Prefilter Pressure", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"postfilterPressure", - "Name":"Postfilter Pressure", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"operationPressure", - "Name":"Operation Pressure", - "BitLength":16, - "BitOffset":64, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":10, - "Id":"productFlow", - "Name":"Product Flow", - "BitLength":16, - "BitOffset":80, - "BitStart":0, - "Resolution":1, - "Signed":true, - "RangeMin":-32767, - "RangeMax":32764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER" - }, - { - "Order":11, - "Id":"prefilterPressureStatus", - "Name":"Prefilter Pressure Status", + "Id":"f7", + "Name":"F7", "BitLength":2, - "BitOffset":96, - "BitStart":0, + "BitOffset":28, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56263,12 +63241,12 @@ "FieldType":"NUMBER" }, { - "Order":12, - "Id":"postfilterPressureStatus", - "Name":"Postfilter Pressure Status", + "Order":8, + "Id":"f8", + "Name":"F8", "BitLength":2, - "BitOffset":98, - "BitStart":2, + "BitOffset":30, + "BitStart":6, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56277,94 +63255,75 @@ "FieldType":"NUMBER" }, { - "Order":13, - "Id":"operationPressureStatus", - "Name":"Operation Pressure Status", - "BitLength":2, - "BitOffset":100, - "BitStart":4, + "Order":9, + "Id":"deadReckoningTime", + "Name":"Dead reckoning time", + "Description":"0=5min, 1=4min, 2=3min, 3=2min, 4=1min (code = 5 - minutes)", + "BitLength":4, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"NUMBER" }, { - "Order":14, - "Id":"productSalinityStatus", - "Name":"Product Salinity Status", - "BitLength":2, - "BitOffset":102, - "BitStart":6, + "Order":10, + "Id":"f10", + "Name":"F10", + "BitLength":4, + "BitOffset":36, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"NUMBER" }, { - "Order":15, - "Id":"filterStatus", - "Name":"Filter Status", - "BitLength":2, - "BitOffset":104, + "Order":11, + "Id":"f11", + "Name":"F11", + "BitLength":8, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":16, - "Id":"systemStatus", - "Name":"System Status", - "BitLength":2, - "BitOffset":106, - "BitStart":2, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" - }, - { - "Order":17, - "Id":"reserved17", - "Name":"Reserved", - "BitLength":4, - "BitOffset":108, - "BitStart":4, - "Resolution":1, - "FieldType":"RESERVED" } ] }, { - "PGN":130817, - "Id":"navicoUnknown", - "Description":"Navico: Unknown", - "Priority":7, + "PGN":130819, + "Id":"bepMarineCzone130819", + "Description":"BEP Marine: CZone 130819", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-130819.md", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":7, + "FieldCount":11, + "Length":15, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56400,26 +63359,28 @@ }, { "Order":4, - "Id":"a", - "Name":"A", - "BitLength":8, + "Id":"fieldA", + "Name":"Field A", + "Description":"uint16 LE; purpose unverified", + "BitLength":16, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":5, - "Id":"b", - "Name":"B", + "Id":"fieldB", + "Name":"Field B", + "Description":"Pass-through byte; purpose unverified", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -56432,10 +63393,11 @@ }, { "Order":6, - "Id":"c", - "Name":"C", + "Id":"fieldC", + "Name":"Field C", + "Description":"Pass-through byte; purpose unverified", "BitLength":8, - "BitOffset":32, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -56448,10 +63410,11 @@ }, { "Order":7, - "Id":"d", - "Name":"D", + "Id":"fieldD", + "Name":"Field D", + "Description":"Pass-through byte; purpose unverified", "BitLength":8, - "BitOffset":40, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -56464,10 +63427,62 @@ }, { "Order":8, - "Id":"e", - "Name":"E", + "Id":"fieldE", + "Name":"Field E", + "Description":"uint16 LE; purpose unverified", + "BitLength":16, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"fieldF", + "Name":"Field F", + "Description":"uint32 LE; top byte always 0 (effectively 24-bit). Purpose unverified.", + "BitLength":32, + "BitOffset":72, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"fieldG", + "Name":"Field G", + "Description":"Pass-through byte; purpose unverified", "BitLength":8, - "BitOffset":48, + "BitOffset":104, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":11, + "Id":"flag", + "Name":"Flag", + "Description":"Boolean encoded as 0xFE = false, 0xFF = true; purpose unverified", + "BitLength":8, + "BitOffset":112, "BitStart":0, "Resolution":1, "Signed":false, @@ -56481,27 +63496,27 @@ ] }, { - "PGN":130817, - "Id":"lowranceProductInformation", - "Description":"Lowrance: Product Information", - "Priority":7, + "PGN":130820, + "Id":"bepMarineCzoneAlarmStringResponse", + "Description":"BEP Marine: CZone Alarm String Response", + "Explanation":"Response form of PGN 65299 (CZone alarm string request). The device and channel/alarm id are echoed back from the request, followed by the matching alarm string text. The string is NUL-terminated; the encoding (ASCII vs UTF-8) is not yet confirmed. This is the only BEP Marine (manufacturer 295) variant of PGN 130820, so it matches on the manufacturer code alone and will also catch other BEP 130820 traffic; e.g. a NAC-3 autopilot emits 130820 once a second carrying comma-separated telemetry such as \"1720.0,3,0.0,0.1,0.0,1.8,0.00,358.0,...\" rather than an alarm string.", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-130820.md", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":11, - "Length":113, - "TransmissionIrregular":true, + "FieldCount":6, + "Length":222, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Lowrance", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":140, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56537,14 +63552,32 @@ }, { "Order":4, - "Id":"productCode", - "Name":"Product Code", - "BitLength":16, + "Id":"deviceId", + "Name":"Device ID", + "Description":"Device / source module id, echoed from the triggering PGN 65299", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"channel", + "Name":"Channel", + "Description":"Channel / alarm id, echoed from the triggering PGN 65299", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, @@ -56552,52 +63585,88 @@ "FieldType":"NUMBER" }, { - "Order":5, - "Id":"model", - "Name":"Model", - "BitLength":256, - "BitOffset":32, + "Order":6, + "Id":"string", + "Name":"String", + "Description":"Variable-length NUL-terminated alarm string (up to 217 bytes); ASCII or UTF-8 not yet confirmed", + "BitLength":1736, + "BitOffset":40, "BitStart":0, - "FieldType":"STRING_FIX" - }, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":130820, + "Id":"simnetReprogramStatus", + "Description":"Simnet: Reprogram Status", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["FieldLengths","SampleData","Interval" + ], + "FieldCount":6, + "Length":7, + "Fields":[ { - "Order":6, - "Id":"a", - "Name":"A", - "BitLength":8, - "BitOffset":288, + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Simrad", + "BitLength":11, + "BitOffset":0, "BitStart":0, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":7, - "Id":"b", - "Name":"B", - "BitLength":8, - "BitOffset":296, - "BitStart":0, + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":8, - "Id":"c", - "Name":"C", + "Order":4, + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, - "BitOffset":304, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"status", + "Name":"Status", + "BitLength":8, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, @@ -56609,45 +63678,28 @@ "FieldType":"NUMBER" }, { - "Order":9, - "Id":"firmwareVersion", - "Name":"Firmware version", - "BitLength":80, - "BitOffset":312, - "BitStart":0, - "FieldType":"STRING_FIX" - }, - { - "Order":10, - "Id":"firmwareDate", - "Name":"Firmware date", - "BitLength":256, - "BitOffset":392, - "BitStart":0, - "FieldType":"STRING_FIX" - }, - { - "Order":11, - "Id":"firmwareTime", - "Name":"Firmware time", - "BitLength":256, - "BitOffset":648, + "Order":6, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":24, + "BitOffset":32, "BitStart":0, - "FieldType":"STRING_FIX" + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":130817, - "Id":"furunoSvControl", - "Description":"Furuno: SV control", + "PGN":130820, + "Id":"furunoUnknown130820", + "Description":"Furuno: Unknown 130820", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":12, - "Length":24, + "FieldCount":8, + "Length":7, "Fields":[ { "Order":1, @@ -56693,30 +63745,40 @@ }, { "Order":4, - "Id":"f4", - "Name":"F4", - "Description":"Unknown", + "Id":"a", + "Name":"A", "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"f5", - "Name":"F5", - "Description":"Unknown", + "Id":"b", + "Name":"B", "BitLength":8, "BitOffset":24, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"sbasMode", - "Name":"SBAS mode", + "Id":"c", + "Name":"C", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -56724,13 +63786,15 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"AUTOMATIC_MANUAL" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"sbasSatellite", - "Name":"SBAS satellite", + "Id":"d", + "Name":"D", "BitLength":8, "BitOffset":40, "BitStart":0, @@ -56738,98 +63802,50 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SBAS_SV" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":8, - "Id":"f8", - "Name":"F8", - "Description":"Unknown", - "BitLength":16, + "Id":"e", + "Name":"E", + "BitLength":8, "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" - }, - { - "Order":9, - "Id":"gpsDisable", - "Name":"GPS disable", - "BitLength":32, - "BitOffset":64, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":4294967295, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"DISABLED_SATELLITES" - }, - { - "Order":10, - "Id":"glonassDisable", - "Name":"GLONASS disable", - "BitLength":32, - "BitOffset":96, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":4294967295, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"DISABLED_SATELLITES" - }, - { - "Order":11, - "Id":"galileoDisable", - "Name":"Galileo disable", - "BitLength":40, - "BitOffset":128, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":1099511627775, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"DISABLED_SATELLITES" - }, - { - "Order":12, - "Id":"qzssDisable", - "Name":"QZSS disable", - "BitLength":24, - "BitOffset":168, - "BitStart":0, - "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":16777215, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"DISABLED_SATELLITES" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":130817, - "Id":"maretronAnnunciatorCapabilities", - "Description":"Maretron: Annunciator Capabilities", - "Priority":6, + "PGN":130820, + "Id":"fusionVersions", + "Description":"Fusion: Versions", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":6, - "MinLength":4, - "RepeatingFieldSet1Size":1, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":5, + "FieldCount":9, + "Length":11, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56865,11 +63881,59 @@ }, { "Order":4, - "Id":"annunciatorInstance", - "Name":"Annunciator Instance", - "BitLength":8, + "Id":"messageId", + "Name":"Message ID", + "Description":"API Version", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32769, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID" + }, + { + "Order":5, + "Id":"hwVersionMajor", + "Name":"HW Version Major", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"hwVersionMinor", + "Name":"HW Version Minor", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"swVersionMajor", + "Name":"SW Version Major", + "BitLength":8, + "BitOffset":64, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56877,15 +63941,14 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"numberOfTones", - "Name":"Number of Tones", + "Order":8, + "Id":"swVersionMinor", + "Name":"SW Version Minor", "BitLength":8, - "BitOffset":24, + "BitOffset":72, "BitStart":0, "Resolution":1, "Signed":false, @@ -56897,45 +63960,44 @@ "FieldType":"NUMBER" }, { - "Order":6, - "Id":"tone", - "Name":"Tone", - "BitLength":16, - "BitOffset":32, + "Order":9, + "Id":"buildNumber", + "Name":"Build Number", + "BitLength":8, + "BitOffset":80, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" } ] }, { - "PGN":130817, - "Id":"bepMarineCzoneStatusExtended", - "Description":"BEP Marine: CZone Status Extended", - "Explanation":"Periodic extended-status frame from a CZone module. Real CZone modules use it to report per-circuit measurements (e.g. breaker current); the YDAB-01 sends a stub form for module-presence purposes only. Each per-circuit record is 3 bytes: byte 0 = circuit_id (8-bit), byte 1 = value low, byte 2 = bits 0..1 are value high (10-bit magnitude total) + bit 2 = sign (set => positive) + bit 3 = per-frame flag (only meaningful with N>=6 records) + bits 4..7 = unknown. Value is most plausibly current in 0.1 A units, but unverified. Periodic at ~2 s intervals.", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-130817.md", + "PGN":130820, + "Id":"fusionSource", + "Description":"Fusion: Source", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":6, - "Length":28, + "FieldCount":9, + "MinLength":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56971,12 +64033,27 @@ }, { "Order":4, - "Id":"page", - "Name":"Page", - "Description":"Observed = 0x01; possibly a status-page selector", - "BitLength":8, + "Id":"messageId", + "Name":"Message ID", + "Description":"Source", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32770, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID" + }, + { + "Order":5, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, @@ -56987,11 +64064,11 @@ "FieldType":"NUMBER" }, { - "Order":5, - "Id":"dipswitch", - "Name":"Dipswitch", + "Order":6, + "Id":"currentSourceId", + "Name":"Current Source ID", "BitLength":8, - "BitOffset":24, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -57003,39 +64080,70 @@ "FieldType":"NUMBER" }, { - "Order":6, - "Id":"records", - "Name":"Records", - "Description":"N records of 3 bytes each, N = (payload_length - 4) / 3, capped at 8", - "BitLength":192, - "BitOffset":32, + "Order":7, + "Id":"sourceType", + "Name":"Source Type", + "BitLength":8, + "BitOffset":48, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SOURCE_TYPE" + }, + { + "Order":8, + "Id":"flags", + "Name":"Flags", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"source", + "Name":"Source", + "BitLengthVariable":true, + "BitOffset":64, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { - "PGN":130818, - "Id":"simnetReprogramData", - "Description":"Simnet: Reprogram Data", + "PGN":130820, + "Id":"fusionSourceCount", + "Description":"Fusion: Source Count", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":6, - "Length":223, + "FieldCount":5, + "Length":5, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -57071,69 +64179,59 @@ }, { "Order":4, - "Id":"version", - "Name":"Version", + "Id":"messageId", + "Name":"Message ID", + "Description":"Source Count", "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32771, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID" }, { "Order":5, - "Id":"sequence", - "Name":"Sequence", - "BitLength":16, + "Id":"sourceCount", + "Name":"Source Count", + "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"data", - "Name":"Data", - "BitLength":1736, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" } ] }, { - "PGN":130818, - "Id":"furunoSensorSetup", - "Description":"Furuno: Sensor setup", + "PGN":130820, + "Id":"fusionMedia", + "Description":"Fusion: Media", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":15, - "Length":28, + "FieldCount":10, + "Length":23, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Furuno", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1855, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -57169,234 +64267,146 @@ }, { "Order":4, - "Id":"rotationSmoothing", - "Name":"Rotation smoothing", + "Id":"messageId", + "Name":"Message ID", + "Description":"Track Info", "BitLength":16, "BitOffset":16, "BitStart":0, - "Unit":"s", - "Resolution":0.1, + "Match":32772, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6553.2, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"headingOffset", - "Name":"Heading offset", - "BitLength":16, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":8, "BitOffset":32, "BitStart":0, - "Unit":"deg", - "Resolution":0.1, - "Signed":true, - "RangeMin":-3276.7, - "RangeMax":3276.4, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"pitchOffset", - "Name":"Pitch offset", + "Id":"flags", + "Name":"Flags", "BitLength":16, - "BitOffset":48, + "BitOffset":40, "BitStart":0, - "Unit":"deg", - "Resolution":0.1, - "Signed":true, - "RangeMin":-3276.7, - "RangeMax":3276.4, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_PLAY_STATUS" }, { "Order":7, - "Id":"rollOffset", - "Name":"Roll offset", - "BitLength":16, - "BitOffset":64, - "BitStart":0, - "Unit":"deg", - "Resolution":0.1, - "Signed":true, - "RangeMin":-3276.7, - "RangeMax":3276.4, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" - }, - { - "Order":8, - "Id":"f8", - "Name":"F8", - "BitLength":8, - "BitOffset":80, + "Id":"track", + "Name":"Track #", + "BitLength":32, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"NUMBER" }, { - "Order":9, - "Id":"f9", - "Name":"F9", - "BitLength":8, + "Order":8, + "Id":"trackCount", + "Name":"Track Count", + "BitLength":32, "BitOffset":88, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"NUMBER" }, { - "Order":10, - "Id":"sogAndCogSmoothing", - "Name":"SOG and COG smoothing", + "Order":9, + "Id":"length", + "Name":"Length", "BitLength":32, - "BitOffset":96, + "BitOffset":120, "BitStart":0, "Unit":"s", "Resolution":0.001, - "Signed":true, - "RangeMin":-2147483.647, - "RangeMax":2147483.644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967.292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"DURATION", "PhysicalQuantity":"DURATION" }, { - "Order":11, - "Id":"3AxisSpeedSmoothing", - "Name":"3 Axis speed smoothing", + "Order":10, + "Id":"positionInTrack", + "Name":"Position in track", "BitLength":32, - "BitOffset":128, + "BitOffset":152, "BitStart":0, "Unit":"s", "Resolution":0.001, - "Signed":true, - "RangeMin":-2147483.647, - "RangeMax":2147483.644, - "UnknownValue":2147483647, - "OutOfRangeValue":2147483646, - "ReservedValue":2147483645, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" - }, - { - "Order":12, - "Id":"fc", - "Name":"FC", - "BitLength":16, - "BitOffset":160, - "BitStart":0, - "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":13, - "Id":"3AxisOffset", - "Name":"3 axis offset", - "BitLength":16, - "BitOffset":176, - "BitStart":0, - "Unit":"%", - "Resolution":0.00032, - "Signed":true, - "RangeMin":-12.5, - "RangeMax":12.5, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER" - }, - { - "Order":14, - "Id":"airPressureOffset", - "Name":"Air pressure offset", - "BitLength":16, - "BitOffset":192, - "BitStart":0, - "Unit":"Pa", - "Resolution":10, - "Signed":true, - "RangeMin":-99.9, - "RangeMax":99.9, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER" - }, - { - "Order":15, - "Id":"airTemperatureOffset", - "Name":"Air temperature offset", - "BitLength":16, - "BitOffset":208, - "BitStart":0, - "Unit":"K", - "Resolution":0.1, - "Signed":true, - "RangeMin":-99.9, - "RangeMax":99.9, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER" + "RangeMax":4294967.292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" } ] }, { - "PGN":130818, - "Id":"maretronLabel", - "Description":"Maretron: Label", + "PGN":130820, + "Id":"fusionTrackName", + "Description":"Fusion: Track Name", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":8, - "MinLength":6, + "FieldCount":7, + "MinLength":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -57432,27 +64442,27 @@ }, { "Order":4, - "Id":"instance", - "Name":"Instance", - "BitLength":8, + "Id":"messageId", + "Name":"Message ID", + "Description":"Track Title", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32773, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", "PartOfPrimaryKey":true }, { "Order":5, - "Id":"dataSource", - "Name":"Data Source", + "Id":"sourceId", + "Name":"Source ID", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -57461,69 +64471,57 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"dataIndicator", - "Name":"Data Indicator", - "BitLength":8, - "BitOffset":32, + "Id":"index", + "Name":"Index", + "BitLength":32, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"NUMBER" }, { "Order":7, - "Id":"label", - "Name":"Label", + "Id":"track", + "Name":"Track", "BitLengthVariable":true, - "BitOffset":40, + "BitOffset":72, "BitStart":0, - "FieldType":"STRING_LAU" - }, - { - "Order":8, - "Id":"hardwareChannel", - "Name":"Hardware Channel", - "BitLength":8, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"STRING_LZ" } ] }, { - "PGN":130818, - "Id":"bepMarineProprietaryPgn130818", - "Description":"BEP Marine: Proprietary PGN 130818", + "PGN":130820, + "Id":"fusionArtistName", + "Description":"Fusion: Artist Name", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":4, - "Length":223, + "FieldCount":7, + "MinLength":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -57558,37 +64556,87 @@ "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":1768, - "BitOffset":16, + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Track Artist", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":32774, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"index", + "Name":"Index", + "BitLength":32, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"artist", + "Name":"Artist", + "BitLengthVariable":true, + "BitOffset":72, "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" + "FieldType":"STRING_LZ" } ] }, { - "PGN":130818, - "Id":"webastoStatus2", - "Description":"Webasto: Status 2", + "PGN":130820, + "Id":"fusionAlbumName", + "Description":"Fusion: Album Name", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Interval" ], - "FieldCount":9, - "Length":14, + "FieldCount":7, + "MinLength":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Webasto", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":540, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -57624,26 +64672,27 @@ }, { "Order":4, - "Id":"canAddress", - "Name":"CAN Address", - "BitLength":8, + "Id":"messageId", + "Name":"Message ID", + "Description":"Track Album", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32775, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"deviceId", - "Name":"Device ID", + "Id":"sourceId", + "Name":"Source ID", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -57652,14 +64701,15 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"systemError", - "Name":"System Error", + "Id":"index", + "Name":"Index", "BitLength":32, - "BitOffset":32, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -57672,75 +64722,36 @@ }, { "Order":7, - "Id":"systemStatus", - "Name":"System Status", - "BitLength":32, - "BitOffset":64, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"freshAirBlowerSpeed", - "Name":"Fresh Air Blower Speed", - "BitLength":8, - "BitOffset":96, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"vSeriesOutput", - "Name":"V-Series Output", - "BitLength":8, - "BitOffset":104, + "Id":"album", + "Name":"Album", + "BitLengthVariable":true, + "BitOffset":72, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"STRING_LZ" } ] }, { - "PGN":130819, - "Id":"simnetRequestReprogram", - "Description":"Simnet: Request Reprogram", + "PGN":130820, + "Id":"fusionDeviceName", + "Description":"Fusion: Device Name", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","SampleData","Interval" + "Missing":["Interval" ], - "FieldCount":3, - "Length":2, + "FieldCount":5, + "MinLength":4, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -57773,30 +64784,56 @@ "RangeMax":6, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Unit Name", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":32801, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"name", + "Name":"Name", + "BitLengthVariable":true, + "BitOffset":32, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { - "PGN":130819, - "Id":"maretronAlertTransmission", - "Description":"Maretron: Alert Transmission", + "PGN":130820, + "Id":"fusionZoneName", + "Description":"Fusion: Zone Name", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":13, - "Length":34, + "FieldCount":6, + "MinLength":5, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -57832,38 +64869,27 @@ }, { "Order":4, - "Id":"alertType", - "Name":"Alert Type", - "BitLength":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Zone Name", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32813, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, + "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_TYPE" + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"alertCategory", - "Name":"Alert Category", - "BitLength":4, - "BitOffset":20, - "BitStart":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_CATEGORY" - }, - { - "Order":6, - "Id":"alertSystem", - "Name":"Alert System", + "Id":"number", + "Name":"Number", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -57872,58 +64898,97 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { - "Order":7, - "Id":"alertSubSystem", - "Name":"Alert Sub-System", - "BitLength":8, - "BitOffset":32, + "Order":6, + "Id":"name", + "Name":"Name", + "BitLengthVariable":true, + "BitOffset":40, + "BitStart":0, + "FieldType":"STRING_LZ" + } + ] + }, + { + "PGN":130820, + "Id":"fusionSpeedVolumeCurrentSpeed", + "Description":"Fusion: Speed Volume Current Speed", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":7, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, "BitStart":0, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":8, - "Id":"alertId", - "Name":"Alert ID", - "BitLength":16, - "BitOffset":40, - "BitStart":0, + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":9, - "Id":"dataSourceNetworkIdName", - "Name":"Data Source Network ID NAME", - "BitLength":64, - "BitOffset":56, + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Speed Volume Current Speed", + "BitLength":16, + "BitOffset":16, "BitStart":0, + "Match":32863, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, - "FieldType":"ISO_NAME" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { - "Order":10, - "Id":"dataSourceInstance", - "Name":"Data Source Instance", + "Order":5, + "Id":"sourceId", + "Name":"Source ID", "BitLength":8, - "BitOffset":120, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -57936,27 +65001,27 @@ "PartOfPrimaryKey":true }, { - "Order":11, - "Id":"dataSourceIndexSource", - "Name":"Data Source Index-Source", - "BitLength":8, - "BitOffset":128, + "Order":6, + "Id":"speed", + "Name":"Speed", + "BitLength":16, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { - "Order":12, - "Id":"alertOccurrenceNumber", - "Name":"Alert Occurrence Number", + "Order":7, + "Id":"enabled", + "Name":"Enabled", "BitLength":8, - "BitOffset":136, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, @@ -57966,41 +65031,30 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - }, - { - "Order":13, - "Id":"maretronExtension", - "Name":"Maretron Extension", - "Description":"Maretron-specific payload following the standard Alert identity header.", - "BitLength":128, - "BitOffset":144, - "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" } ] }, { - "PGN":130819, - "Id":"webastoHvacCommand", - "Description":"Webasto: HVAC Command", - "Priority":3, + "PGN":130820, + "Id":"fusionIgnitionSwitchState", + "Description":"Fusion: Ignition Switch State", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":13, - "Length":9, + "FieldCount":5, + "Length":5, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Webasto", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":540, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -58036,26 +65090,27 @@ }, { "Order":4, - "Id":"canAddress", - "Name":"CAN Address", - "BitLength":8, + "Id":"messageId", + "Name":"Message ID", + "Description":"Ignition Switch State", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32859, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"blowerSpeed", - "Name":"Blower Speed", + "Id":"state", + "Name":"State", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -58065,105 +65120,100 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - }, + } + ] + }, + { + "PGN":130820, + "Id":"fusionMenuLockId", + "Description":"Fusion: Menu Lock Id", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":6, + "Length":9, + "Fields":[ { - "Order":6, - "Id":"unitOnOff", - "Name":"Unit On/Off", - "BitLength":2, - "BitOffset":32, + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, "BitStart":0, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, + "RangeMax":2044, "FieldType":"LOOKUP", - "LookupEnumeration":"OFF_ON" + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":7, - "Id":"reserved7", + "Order":2, + "Id":"reserved", "Name":"Reserved", - "BitLength":6, - "BitOffset":34, - "BitStart":2, + "BitLength":2, + "BitOffset":11, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":8, - "Id":"setTemperature", - "Name":"Set Temperature", - "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Unit":"K", - "Resolution":0.01, - "Signed":false, - "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" - }, - { - "Order":9, - "Id":"ecoMode", - "Name":"ECO Mode", - "BitLength":2, - "BitOffset":56, - "BitStart":0, + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":10, - "Id":"functionalMode", - "Name":"Functional Mode", - "BitLength":2, - "BitOffset":58, - "BitStart":2, + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Menu Lock ID", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":32786, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { - "Order":11, - "Id":"compressor", - "Name":"Compressor", - "BitLength":2, - "BitOffset":60, - "BitStart":4, + "Order":5, + "Id":"lockId", + "Name":"Lock Id", + "BitLength":32, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":12, - "Id":"reserved12", - "Name":"Reserved", - "BitLength":2, - "BitOffset":62, - "BitStart":6, - "Resolution":1, - "FieldType":"RESERVED" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { - "Order":13, - "Id":"mask", - "Name":"Mask", + "Order":6, + "Id":"flags", + "Name":"Flags", "BitLength":8, "BitOffset":64, "BitStart":0, @@ -58179,26 +65229,26 @@ ] }, { - "PGN":130819, - "Id":"furunoDeadReckoningConfiguration", - "Description":"Furuno: Dead Reckoning Configuration", + "PGN":130820, + "Id":"fusionRdsData", + "Description":"Fusion: RDS Data", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":11, - "Length":6, + "FieldCount":8, + "Length":39, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Furuno", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1855, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -58234,114 +65284,60 @@ }, { "Order":4, - "Id":"f4", - "Name":"F4", - "BitLength":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"RDS Data", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32850, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"f5", - "Name":"F5", - "BitLength":4, - "BitOffset":20, - "BitStart":4, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"f6", - "Name":"F6", - "BitLength":4, - "BitOffset":24, + "Id":"rdsType", + "Name":"RDS Type", + "BitLength":8, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":7, - "Id":"f7", - "Name":"F7", - "BitLength":2, - "BitOffset":28, - "BitStart":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"f8", - "Name":"F8", - "BitLength":2, - "BitOffset":30, - "BitStart":6, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2, - "UnknownValue":3, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"deadReckoningTime", - "Name":"Dead reckoning time", - "Description":"0=5min, 1=4min, 2=3min, 3=2min, 4=1min (code = 5 - minutes)", - "BitLength":4, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" - }, - { - "Order":10, - "Id":"f10", - "Name":"F10", - "BitLength":4, - "BitOffset":36, - "BitStart":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"NUMBER" - }, - { - "Order":11, - "Id":"f11", - "Name":"F11", + "Id":"programmeType", + "Name":"Programme Type", "BitLength":8, - "BitOffset":40, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -58351,30 +65347,39 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"rds", + "Name":"RDS", + "BitLength":256, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { - "PGN":130819, - "Id":"bepMarineCzone130819", - "Description":"BEP Marine: CZone 130819", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-130819.md", + "PGN":130820, + "Id":"fusionMultiroom", + "Description":"Fusion: Multiroom", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":11, - "Length":15, + "FieldCount":9, + "Length":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -58410,26 +65415,25 @@ }, { "Order":4, - "Id":"fieldA", - "Name":"Field A", - "Description":"uint16 LE; purpose unverified", + "Id":"messageId", + "Name":"Message ID", + "Description":"Multiroom", "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32824, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"fieldB", - "Name":"Field B", - "Description":"Pass-through byte; purpose unverified", + "Id":"enabled", + "Name":"Enabled", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -58440,13 +65444,13 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" }, { "Order":6, - "Id":"fieldC", - "Name":"Field C", - "Description":"Pass-through byte; purpose unverified", + "Id":"ipAddress1", + "Name":"IP Address 1", "BitLength":8, "BitOffset":40, "BitStart":0, @@ -58461,9 +65465,8 @@ }, { "Order":7, - "Id":"fieldD", - "Name":"Field D", - "Description":"Pass-through byte; purpose unverified", + "Id":"ipAddress2", + "Name":"IP Address 2", "BitLength":8, "BitOffset":48, "BitStart":0, @@ -58478,45 +65481,115 @@ }, { "Order":8, - "Id":"fieldE", - "Name":"Field E", - "Description":"uint16 LE; purpose unverified", - "BitLength":16, + "Id":"ipAddress3", + "Name":"IP Address 3", + "BitLength":8, "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":9, - "Id":"fieldF", - "Name":"Field F", - "Description":"uint32 LE; top byte always 0 (effectively 24-bit). Purpose unverified.", - "BitLength":32, - "BitOffset":72, + "Id":"ipAddress4", + "Name":"IP Address 4", + "BitLength":8, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" + } + ] + }, + { + "PGN":130820, + "Id":"fusionMultiroomStatus", + "Description":"Fusion: Multiroom Status", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":5, + "Length":5, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":419, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":10, - "Id":"fieldG", - "Name":"Field G", - "Description":"Pass-through byte; purpose unverified", + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Multiroom Status", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":32825, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"available", + "Name":"Available", "BitLength":8, - "BitOffset":104, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -58525,15 +65598,88 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" + } + ] + }, + { + "PGN":130820, + "Id":"fusionProcessingBypass", + "Description":"Fusion: Processing Bypass", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":5, + "Length":5, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":419, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":11, - "Id":"flag", - "Name":"Flag", - "Description":"Boolean encoded as 0xFE = false, 0xFF = true; purpose unverified", + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Processing Bypass", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":32832, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"bypass", + "Name":"Bypass", "BitLength":8, - "BitOffset":112, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -58542,32 +65688,32 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" } ] }, { "PGN":130820, - "Id":"bepMarineCzoneAlarmStringResponse", - "Description":"BEP Marine: CZone Alarm String Response", - "Explanation":"Response form of PGN 65299 (CZone alarm string request). The device and channel/alarm id are echoed back from the request, followed by the matching alarm string text. The string is NUL-terminated; the encoding (ASCII vs UTF-8) is not yet confirmed.", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-130820.md", + "Id":"fusionMono", + "Description":"Fusion: Mono", + "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], "FieldCount":6, - "Length":222, + "Length":6, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -58603,72 +65749,77 @@ }, { "Order":4, - "Id":"deviceId", - "Name":"Device ID", - "Description":"Device / source module id, echoed from the triggering PGN 65299", - "BitLength":8, + "Id":"messageId", + "Name":"Message ID", + "Description":"Mono", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32862, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"channel", - "Name":"Channel", - "Description":"Channel / alarm id, echoed from the triggering PGN 65299", - "BitLength":16, - "BitOffset":24, + "Id":"zone", + "Name":"Zone", + "BitLength":8, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":6, - "Id":"string", - "Name":"String", - "Description":"Variable-length NUL-terminated alarm string (up to 217 bytes); ASCII or UTF-8 not yet confirmed", - "BitLength":1736, + "Id":"enabled", + "Name":"Enabled", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" } ] }, { "PGN":130820, - "Id":"simnetReprogramStatus", - "Description":"Simnet: Reprogram Status", + "Id":"fusionTrackPosition", + "Description":"Fusion: Track Position", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["FieldLengths","SampleData","Interval" + "Missing":["Interval" ], "FieldCount":6, - "Length":7, + "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -58704,20 +65855,27 @@ }, { "Order":4, - "Id":"reserved4", - "Name":"Reserved", - "BitLength":8, + "Id":"messageId", + "Name":"Message ID", + "Description":"Track Progress", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32777, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"status", - "Name":"Status", + "Id":"sourceId", + "Name":"Source ID", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -58726,41 +65884,50 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"reserved6", - "Name":"Reserved", + "Id":"progress", + "Name":"Progress", "BitLength":24, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "BitOffset":40, + "BitStart":0, + "Unit":"s", + "Resolution":0.001, + "Signed":false, + "RangeMin":0, + "RangeMax":16777.212, + "UnknownValue":16777215, + "OutOfRangeValue":16777214, + "ReservedValue":16777213, + "FieldType":"DURATION", + "PhysicalQuantity":"DURATION" } ] }, { "PGN":130820, - "Id":"furunoUnknown130820", - "Description":"Furuno: Unknown 130820", + "Id":"fusionTuner", + "Description":"Fusion: Tuner", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":8, - "Length":7, + "FieldCount":9, + "MinLength":11, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Furuno", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1855, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -58796,26 +65963,27 @@ }, { "Order":4, - "Id":"a", - "Name":"A", - "BitLength":8, + "Id":"messageId", + "Name":"Message ID", + "Description":"Tuner", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32779, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"b", - "Name":"B", + "Id":"sourceId", + "Name":"Source ID", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -58824,14 +65992,16 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_RADIO_SOURCE", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"c", - "Name":"C", + "Id":"scanning", + "Name":"Scanning", "BitLength":8, - "BitOffset":32, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -58844,26 +66014,28 @@ }, { "Order":7, - "Id":"d", - "Name":"D", - "BitLength":8, - "BitOffset":40, + "Id":"frequency", + "Name":"Frequency", + "BitLength":32, + "BitOffset":48, "BitStart":0, + "Unit":"Hz", "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER", + "PhysicalQuantity":"FREQUENCY" }, { "Order":8, - "Id":"e", - "Name":"E", + "Id":"signalStrength", + "Name":"Signal Strength", "BitLength":8, - "BitOffset":48, + "BitOffset":80, "BitStart":0, "Resolution":1, "Signed":false, @@ -58873,20 +66045,29 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"track", + "Name":"Track", + "BitLengthVariable":true, + "BitOffset":88, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionVersions", - "Description":"Fusion: Versions", + "Id":"fusionMarineTuner", + "Description":"Fusion: MARINE_TUNER", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":9, - "Length":11, + "FieldCount":8, + "MinLength":7, "Fields":[ { "Order":1, @@ -58934,56 +66115,25 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"API Version", + "Description":"Marine Tuner", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32769, + "Match":32780, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID" + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"hwVersionMajor", - "Name":"HW Version Major", - "BitLength":16, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"hwVersionMinor", - "Name":"HW Version Minor", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"swVersionMajor", - "Name":"SW Version Major", + "Id":"sourceId", + "Name":"Source ID", "BitLength":8, - "BitOffset":64, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -58992,14 +66142,15 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { - "Order":8, - "Id":"swVersionMinor", - "Name":"SW Version Minor", + "Order":6, + "Id":"channel", + "Name":"Channel", "BitLength":8, - "BitOffset":72, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -59011,11 +66162,11 @@ "FieldType":"NUMBER" }, { - "Order":9, - "Id":"buildNumber", - "Name":"Build Number", + "Order":7, + "Id":"signalStrength", + "Name":"Signal Strength", "BitLength":8, - "BitOffset":80, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -59025,20 +66176,29 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"name", + "Name":"Name", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionSource", - "Description":"Fusion: Source", + "Id":"fusionMarineSquelch", + "Description":"Fusion: Marine Squelch", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":9, - "MinLength":8, + "FieldCount":6, + "Length":6, "Fields":[ { "Order":1, @@ -59086,17 +66246,18 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Source", + "Description":"Marine Squelch", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32770, + "Match":32781, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID" + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, @@ -59112,12 +66273,13 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"currentSourceId", - "Name":"Current Source ID", + "Id":"squelch", + "Name":"Squelch", "BitLength":8, "BitOffset":40, "BitStart":0, @@ -59129,59 +66291,20 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"sourceType", - "Name":"Source Type", - "BitLength":8, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SOURCE_TYPE" - }, - { - "Order":8, - "Id":"flags", - "Name":"Flags", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"source", - "Name":"Source", - "BitLengthVariable":true, - "BitOffset":64, - "BitStart":0, - "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionSourceCount", - "Description":"Fusion: Source Count", + "Id":"fusionMarineScanMode", + "Description":"Fusion: Marine Scan Mode", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":5, - "Length":5, + "FieldCount":6, + "Length":6, "Fields":[ { "Order":1, @@ -59229,22 +66352,23 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Source Count", + "Description":"Marine Scan Mode", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32771, + "Match":32782, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID" + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"sourceCount", - "Name":"Source Count", + "Id":"sourceId", + "Name":"Source ID", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -59255,21 +66379,39 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"scan", + "Name":"Scan", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"YES_NO" } ] }, { "PGN":130820, - "Id":"fusionMedia", - "Description":"Fusion: Media", + "Id":"fusionMenuItem", + "Description":"Fusion: Menu Item", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":10, - "Length":23, + "FieldCount":9, + "MinLength":11, "Fields":[ { "Order":1, @@ -59317,11 +66459,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Track Info", + "Description":"Menu Item", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32772, + "Match":32785, "Resolution":1, "Signed":false, "RangeMin":0, @@ -59349,24 +66491,10 @@ }, { "Order":6, - "Id":"flags", - "Name":"Flags", - "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_PLAY_STATUS" - }, - { - "Order":7, - "Id":"track", - "Name":"Track #", + "Id":"itemIndex", + "Name":"Item Index", "BitLength":32, - "BitOffset":56, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -59378,70 +66506,59 @@ "FieldType":"NUMBER" }, { - "Order":8, - "Id":"trackCount", - "Name":"Track Count", - "BitLength":32, - "BitOffset":88, + "Order":7, + "Id":"flags", + "Name":"Flags", + "BitLength":8, + "BitOffset":72, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":9, - "Id":"length", - "Name":"Length", - "BitLength":32, - "BitOffset":120, + "Order":8, + "Id":"lockId", + "Name":"Lock ID", + "BitLength":8, + "BitOffset":80, "BitStart":0, - "Unit":"s", - "Resolution":0.001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967.292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":10, - "Id":"positionInTrack", - "Name":"Position in track", - "BitLength":32, - "BitOffset":152, + "Order":9, + "Id":"text", + "Name":"Text", + "BitLengthVariable":true, + "BitOffset":88, "BitStart":0, - "Unit":"s", - "Resolution":0.001, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967.292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionTrackName", - "Description":"Fusion: Track Name", + "Id":"fusionAuxGain", + "Description":"Fusion: Aux Gain", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":7, - "MinLength":9, + "FieldCount":6, + "Length":6, "Fields":[ { "Order":1, @@ -59489,11 +66606,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Track Title", + "Description":"Aux Gain", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32773, + "Match":32787, "Resolution":1, "Signed":false, "RangeMin":0, @@ -59521,42 +66638,139 @@ }, { "Order":6, - "Id":"index", - "Name":"Index", - "BitLength":32, + "Id":"gain", + "Name":"Gain", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" + } + ] + }, + { + "PGN":130820, + "Id":"fusionUsbRepeatStatus", + "Description":"Fusion: USB Repeat Status", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":6, + "Length":12, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":419, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":7, - "Id":"track", - "Name":"Track", - "BitLengthVariable":true, - "BitOffset":72, + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Setting", + "BitLength":16, + "BitOffset":16, "BitStart":0, - "FieldType":"STRING_LZ" + "Match":32788, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"id", + "Name":"ID", + "Description":"USB repeat", + "BitLength":32, + "BitOffset":32, + "BitStart":0, + "Match":9, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SETTING" + }, + { + "Order":6, + "Id":"status", + "Name":"Status", + "BitLength":32, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_REPEAT_STATUS" } ] }, { "PGN":130820, - "Id":"fusionArtistName", - "Description":"Fusion: Artist Name", + "Id":"fusionSetting", + "Description":"Fusion: Setting", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":7, - "MinLength":9, + "FieldCount":6, + "Length":12, "Fields":[ { "Order":1, @@ -59604,11 +66818,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Track Artist", + "Description":"Setting", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32774, + "Match":32788, "Resolution":1, "Signed":false, "RangeMin":0, @@ -59619,27 +66833,27 @@ }, { "Order":5, - "Id":"sourceId", - "Name":"Source ID", - "BitLength":8, + "Id":"id", + "Name":"ID", + "BitLength":32, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SETTING" }, { "Order":6, - "Id":"index", - "Name":"Index", + "Id":"value", + "Name":"Value", "BitLength":32, - "BitOffset":40, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, @@ -59649,29 +66863,23 @@ "OutOfRangeValue":4294967294, "ReservedValue":4294967293, "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"artist", - "Name":"Artist", - "BitLengthVariable":true, - "BitOffset":72, - "BitStart":0, - "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionAlbumName", - "Description":"Fusion: Album Name", + "Id":"fusionSettings", + "Description":"Fusion: Settings", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], "FieldCount":7, - "MinLength":9, + "MinLength":8, + "RepeatingFieldSet1Size":2, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":5, "Fields":[ { "Order":1, @@ -59719,11 +66927,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Track Album", + "Description":"Settings", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32775, + "Match":32789, "Resolution":1, "Signed":false, "RangeMin":0, @@ -59734,27 +66942,26 @@ }, { "Order":5, - "Id":"sourceId", - "Name":"Source ID", - "BitLength":8, + "Id":"count", + "Name":"Count", + "BitLength":32, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"index", - "Name":"Index", + "Id":"id", + "Name":"ID", "BitLength":32, - "BitOffset":40, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, @@ -59763,30 +66970,38 @@ "UnknownValue":4294967295, "OutOfRangeValue":4294967294, "ReservedValue":4294967293, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SETTING" }, { "Order":7, - "Id":"album", - "Name":"Album", - "BitLengthVariable":true, - "BitOffset":72, + "Id":"value", + "Name":"Value", + "BitLength":32, + "BitOffset":96, "BitStart":0, - "FieldType":"STRING_LZ" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" } ] }, { "PGN":130820, - "Id":"fusionDeviceName", - "Description":"Fusion: Device Name", + "Id":"fusionMute", + "Description":"Fusion: Mute", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], "FieldCount":5, - "MinLength":4, + "Length":5, "Fields":[ { "Order":1, @@ -59834,11 +67049,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Unit Name", + "Description":"Mute", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32801, + "Match":32791, "Resolution":1, "Signed":false, "RangeMin":0, @@ -59849,26 +67064,34 @@ }, { "Order":5, - "Id":"name", - "Name":"Name", - "BitLengthVariable":true, + "Id":"mute", + "Name":"Mute", + "BitLength":8, "BitOffset":32, "BitStart":0, - "FieldType":"STRING_LZ" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_MUTE_COMMAND" } ] }, { "PGN":130820, - "Id":"fusionZoneName", - "Description":"Fusion: Zone Name", + "Id":"fusionBalance", + "Description":"Fusion: Balance", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], "FieldCount":6, - "MinLength":5, + "Length":6, "Fields":[ { "Order":1, @@ -59916,11 +67139,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Zone Name", + "Description":"Balance", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32813, + "Match":32792, "Resolution":1, "Signed":false, "RangeMin":0, @@ -59931,8 +67154,8 @@ }, { "Order":5, - "Id":"number", - "Name":"Number", + "Id":"zone", + "Name":"Zone", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -59948,26 +67171,33 @@ }, { "Order":6, - "Id":"name", - "Name":"Name", - "BitLengthVariable":true, + "Id":"value", + "Name":"VALUE", + "BitLength":8, "BitOffset":40, "BitStart":0, - "FieldType":"STRING_LZ" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { "PGN":130820, - "Id":"fusionSpeedVolumeCurrentSpeed", - "Description":"Fusion: Speed Volume Current Speed", + "Id":"fusionLowPassFilter", + "Description":"Fusion: Low Pass Filter", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":7, - "Length":8, + "FieldCount":6, + "Length":6, "Fields":[ { "Order":1, @@ -60015,11 +67245,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Speed Volume Current Speed", + "Description":"Low Pass Filter", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32863, + "Match":32793, "Resolution":1, "Signed":false, "RangeMin":0, @@ -60030,8 +67260,8 @@ }, { "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Id":"zone", + "Name":"Zone", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -60047,26 +67277,10 @@ }, { "Order":6, - "Id":"speed", - "Name":"Speed", - "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"enabled", - "Name":"Enabled", + "Id":"filter", + "Name":"Filter", "BitLength":8, - "BitOffset":56, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -60081,15 +67295,15 @@ }, { "PGN":130820, - "Id":"fusionIgnitionSwitchState", - "Description":"Fusion: Ignition Switch State", + "Id":"fusionSublevels", + "Description":"Fusion: Sublevels", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":5, - "Length":5, + "FieldCount":8, + "Length":8, "Fields":[ { "Order":1, @@ -60137,11 +67351,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Ignition Switch State", + "Description":"Sublevels", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32859, + "Match":32794, "Resolution":1, "Signed":false, "RangeMin":0, @@ -60152,8 +67366,8 @@ }, { "Order":5, - "Id":"state", - "Name":"State", + "Id":"zone1", + "Name":"Zone 1", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -60165,102 +67379,45 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - } - ] - }, - { - "PGN":130820, - "Id":"fusionMenuLockId", - "Description":"Fusion: Menu Lock Id", - "Priority":7, - "Type":"Fast", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":6, - "Length":9, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Fusion Electronics", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":419, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Menu Lock ID", - "BitLength":16, - "BitOffset":16, + "Order":6, + "Id":"zone2", + "Name":"Zone 2", + "BitLength":8, + "BitOffset":40, "BitStart":0, - "Match":32786, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"lockId", - "Name":"Lock Id", - "BitLength":32, - "BitOffset":32, + "Order":7, + "Id":"zone3", + "Name":"Zone 3", + "BitLength":8, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":6, - "Id":"flags", - "Name":"Flags", + "Order":8, + "Id":"zone4", + "Name":"Zone 4", "BitLength":8, - "BitOffset":64, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, @@ -60275,15 +67432,15 @@ }, { "PGN":130820, - "Id":"fusionRdsData", - "Description":"Fusion: RDS Data", + "Id":"fusionEq", + "Description":"Fusion: EQ", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], "FieldCount":8, - "Length":39, + "Length":8, "Fields":[ { "Order":1, @@ -60331,11 +67488,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"RDS Data", + "Description":"Tone", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32850, + "Match":32795, "Resolution":1, "Signed":false, "RangeMin":0, @@ -60346,8 +67503,8 @@ }, { "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Id":"zone", + "Name":"Zone", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -60363,58 +67520,65 @@ }, { "Order":6, - "Id":"rdsType", - "Name":"RDS Type", + "Id":"bass", + "Name":"Bass", "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, "FieldType":"NUMBER" }, { "Order":7, - "Id":"programmeType", - "Name":"Programme Type", + "Id":"mid", + "Name":"Mid", "BitLength":8, "BitOffset":48, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, "FieldType":"NUMBER" }, { "Order":8, - "Id":"rds", - "Name":"RDS", - "BitLength":256, + "Id":"treble", + "Name":"Treble", + "BitLength":8, "BitOffset":56, "BitStart":0, - "FieldType":"STRING_LZ" + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER" } ] }, { "PGN":130820, - "Id":"fusionMultiroom", - "Description":"Fusion: Multiroom", + "Id":"fusionVolumeLimits", + "Description":"Fusion: Volume Limits", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":9, - "Length":9, + "FieldCount":8, + "Length":8, "Fields":[ { "Order":1, @@ -60462,11 +67626,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Multiroom", + "Description":"Volume Limits", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32824, + "Match":32796, "Resolution":1, "Signed":false, "RangeMin":0, @@ -60477,8 +67641,8 @@ }, { "Order":5, - "Id":"enabled", - "Name":"Enabled", + "Id":"zone1VolumeLimit", + "Name":"Zone 1 Volume Limit", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -60486,13 +67650,15 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"ipAddress1", - "Name":"IP Address 1", + "Id":"zone2VolumeLimit", + "Name":"Zone 2 Volume Limit", "BitLength":8, "BitOffset":40, "BitStart":0, @@ -60507,8 +67673,8 @@ }, { "Order":7, - "Id":"ipAddress2", - "Name":"IP Address 2", + "Id":"zone3VolumeLimit", + "Name":"Zone 3 Volume Limit", "BitLength":8, "BitOffset":48, "BitStart":0, @@ -60523,8 +67689,8 @@ }, { "Order":8, - "Id":"ipAddress3", - "Name":"IP Address 3", + "Id":"zone4VolumeLimit", + "Name":"Zone 4 Volume Limit", "BitLength":8, "BitOffset":56, "BitStart":0, @@ -60536,36 +67702,20 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"ipAddress4", - "Name":"IP Address 4", - "BitLength":8, - "BitOffset":64, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" } ] }, { "PGN":130820, - "Id":"fusionMultiroomStatus", - "Description":"Fusion: Multiroom Status", + "Id":"fusionVolumes", + "Description":"Fusion: Volumes", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":5, - "Length":5, + "FieldCount":8, + "Length":8, "Fields":[ { "Order":1, @@ -60613,11 +67763,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Multiroom Status", + "Description":"Volume", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32825, + "Match":32797, "Resolution":1, "Signed":false, "RangeMin":0, @@ -60628,8 +67778,8 @@ }, { "Order":5, - "Id":"available", - "Name":"Available", + "Id":"zone1", + "Name":"Zone 1", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -60637,109 +67787,72 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" - } - ] - }, - { - "PGN":130820, - "Id":"fusionProcessingBypass", - "Description":"Fusion: Processing Bypass", - "Priority":7, - "Type":"Fast", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":5, - "Length":5, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Fusion Electronics", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":419, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":6, + "Id":"zone2", + "Name":"Zone 2", + "BitLength":8, + "BitOffset":40, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Processing Bypass", - "BitLength":16, - "BitOffset":16, + "Order":7, + "Id":"zone3", + "Name":"Zone 3", + "BitLength":8, + "BitOffset":48, "BitStart":0, - "Match":32832, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"bypass", - "Name":"Bypass", + "Order":8, + "Id":"zone4", + "Name":"Zone 4", "BitLength":8, - "BitOffset":32, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { "PGN":130820, - "Id":"fusionMono", - "Description":"Fusion: Mono", + "Id":"fusionCapabilities", + "Description":"Fusion: Capabilities", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":9, + "Length":14, "Fields":[ { "Order":1, @@ -60787,11 +67900,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Mono", + "Description":"Capabilities", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32862, + "Match":32798, "Resolution":1, "Signed":false, "RangeMin":0, @@ -60802,47 +67915,97 @@ }, { "Order":5, - "Id":"zone", - "Name":"Zone", - "BitLength":8, + "Id":"zone1", + "Name":"Zone 1", + "BitLength":16, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":6, - "Id":"enabled", - "Name":"Enabled", - "BitLength":8, - "BitOffset":40, + "Id":"zone2", + "Name":"Zone 2", + "BitLength":16, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"zone3", + "Name":"Zone 3", + "BitLength":16, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"zone4", + "Name":"Zone 4", + "BitLength":16, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"global", + "Name":"Global", + "BitLength":16, + "BitOffset":96, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" } ] }, { "PGN":130820, - "Id":"fusionTrackPosition", - "Description":"Fusion: Track Position", + "Id":"fusionLineLevelControl", + "Description":"Fusion: Line Level Control", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], "FieldCount":6, - "Length":8, + "Length":6, "Fields":[ { "Order":1, @@ -60890,11 +68053,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Track Progress", + "Description":"Line Level Control", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32777, + "Match":32799, "Resolution":1, "Signed":false, "RangeMin":0, @@ -60905,8 +68068,8 @@ }, { "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Id":"zone", + "Name":"Zone", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -60922,35 +68085,33 @@ }, { "Order":6, - "Id":"progress", - "Name":"Progress", - "BitLength":24, + "Id":"control", + "Name":"Control", + "BitLength":8, "BitOffset":40, "BitStart":0, - "Unit":"s", - "Resolution":0.001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":16777.212, - "UnknownValue":16777215, - "OutOfRangeValue":16777214, - "ReservedValue":16777213, - "FieldType":"DURATION", - "PhysicalQuantity":"DURATION" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { "PGN":130820, - "Id":"fusionTuner", - "Description":"Fusion: Tuner", + "Id":"fusionPowerState", + "Description":"Fusion: Power State", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":9, - "MinLength":11, + "FieldCount":5, + "Length":5, "Fields":[ { "Order":1, @@ -60998,11 +68159,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Tuner", + "Description":"Power", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32779, + "Match":32800, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61013,8 +68174,8 @@ }, { "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Id":"state", + "Name":"State", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -61022,82 +68183,25 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_RADIO_SOURCE", - "PartOfPrimaryKey":true - }, - { - "Order":6, - "Id":"scanning", - "Name":"Scanning", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"frequency", - "Name":"Frequency", - "BitLength":32, - "BitOffset":48, - "BitStart":0, - "Unit":"Hz", - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER", - "PhysicalQuantity":"FREQUENCY" - }, - { - "Order":8, - "Id":"signalStrength", - "Name":"Signal Strength", - "BitLength":8, - "BitOffset":80, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"track", - "Name":"Track", - "BitLengthVariable":true, - "BitOffset":88, - "BitStart":0, - "FieldType":"STRING_LZ" + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_POWER_STATE" } ] }, { "PGN":130820, - "Id":"fusionMarineTuner", - "Description":"Fusion: MARINE_TUNER", + "Id":"fusionSiriusxm", + "Description":"Fusion: SiriusXM", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":8, - "MinLength":7, + "FieldCount":9, + "Length":10, "Fields":[ { "Order":1, @@ -61145,11 +68249,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Marine Tuner", + "Description":"Sirius", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32780, + "Match":32802, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61177,58 +68281,78 @@ }, { "Order":6, - "Id":"channel", - "Name":"Channel", + "Id":"comState", + "Name":"Com State", "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SIRIUS_COM_STATE" }, { "Order":7, - "Id":"signalStrength", - "Name":"Signal Strength", + "Id":"alert", + "Name":"Alert", "BitLength":8, "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SIRIUS_COM_STATE" }, { "Order":8, - "Id":"name", - "Name":"Name", - "BitLengthVariable":true, + "Id":"advisoryChannel", + "Name":"Advisory Channel", + "BitLength":16, "BitOffset":56, "BitStart":0, - "FieldType":"STRING_LZ" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"tuningMode", + "Name":"Tuning Mode", + "BitLength":8, + "BitOffset":72, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SIRIUS_TUNING_MODE" } ] }, { "PGN":130820, - "Id":"fusionMarineSquelch", - "Description":"Fusion: Marine Squelch", + "Id":"fusionSiriusxmChannel", + "Description":"Fusion: SiriusXM Channel", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":7, + "MinLength":7, "Fields":[ { "Order":1, @@ -61276,11 +68400,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Marine Squelch", + "Description":"SiriusXM Channel", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32781, + "Match":32804, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61308,33 +68432,42 @@ }, { "Order":6, - "Id":"squelch", - "Name":"Squelch", - "BitLength":8, + "Id":"channelNumber", + "Name":"Channel Number", + "BitLength":16, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"channel", + "Name":"Channel", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionMarineScanMode", - "Description":"Fusion: Marine Scan Mode", + "Id":"fusionSiriusxmTitle", + "Description":"Fusion: SiriusXM Title", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":7, + "MinLength":7, "Fields":[ { "Order":1, @@ -61382,11 +68515,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Marine Scan Mode", + "Description":"SiriusXM Title", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32782, + "Match":32805, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61414,31 +68547,42 @@ }, { "Order":6, - "Id":"scan", - "Name":"Scan", - "BitLength":8, + "Id":"channel", + "Name":"Channel", + "BitLength":16, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"YES_NO" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"title", + "Name":"Title", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionMenuItem", - "Description":"Fusion: Menu Item", + "Id":"fusionSiriusxmArtist", + "Description":"Fusion: SiriusXM Artist", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":9, - "MinLength":11, + "FieldCount":7, + "MinLength":7, "Fields":[ { "Order":1, @@ -61486,11 +68630,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Menu Item", + "Description":"SiriusXM Artist", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32785, + "Match":32806, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61518,58 +68662,26 @@ }, { "Order":6, - "Id":"itemIndex", - "Name":"Item Index", - "BitLength":32, + "Id":"channel", + "Name":"Channel", + "BitLength":16, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" }, { "Order":7, - "Id":"flags", - "Name":"Flags", - "BitLength":8, - "BitOffset":72, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"lockId", - "Name":"Lock ID", - "BitLength":8, - "BitOffset":80, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"text", - "Name":"Text", + "Id":"artist", + "Name":"Artist", "BitLengthVariable":true, - "BitOffset":88, + "BitOffset":56, "BitStart":0, "FieldType":"STRING_LZ" } @@ -61577,15 +68689,15 @@ }, { "PGN":130820, - "Id":"fusionAuxGain", - "Description":"Fusion: Aux Gain", + "Id":"fusionSiriusxmContentInfo", + "Description":"Fusion: SiriusXM Content Info", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":7, + "MinLength":7, "Fields":[ { "Order":1, @@ -61633,11 +68745,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Aux Gain", + "Description":"SiriusXM Genre", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32787, + "Match":32807, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61665,33 +68777,42 @@ }, { "Order":6, - "Id":"gain", - "Name":"Gain", - "BitLength":8, + "Id":"channel", + "Name":"Channel", + "BitLength":16, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"genre", + "Name":"Genre", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionUsbRepeatStatus", - "Description":"Fusion: USB Repeat Status", + "Id":"fusionSiriusxmCategory", + "Description":"Fusion: SiriusXM Category", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":6, - "Length":12, + "FieldCount":7, + "MinLength":7, "Fields":[ { "Order":1, @@ -61739,11 +68860,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Setting", + "Description":"SiriusXM Category", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32788, + "Match":32808, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61754,47 +68875,59 @@ }, { "Order":5, - "Id":"id", - "Name":"ID", - "Description":"USB repeat", - "BitLength":32, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":9, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SETTING" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"status", - "Name":"Status", - "BitLength":32, - "BitOffset":64, + "Id":"channel", + "Name":"Channel", + "BitLength":16, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_REPEAT_STATUS" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"name", + "Name":"Name", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionSetting", - "Description":"Fusion: Setting", + "Id":"fusionSiriusxmSignal", + "Description":"Fusion: SiriusXM Signal", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], "FieldCount":6, - "Length":12, + "Length":6, "Fields":[ { "Order":1, @@ -61842,11 +68975,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Setting", + "Description":"SiriusXm Signal", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32788, + "Match":32809, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61857,50 +68990,50 @@ }, { "Order":5, - "Id":"id", - "Name":"ID", - "BitLength":32, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SETTING" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"value", - "Name":"Value", - "BitLength":32, - "BitOffset":64, + "Id":"signal", + "Name":"Signal", + "BitLength":8, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" } ] }, { "PGN":130820, - "Id":"fusionSettings", - "Description":"Fusion: Settings", + "Id":"fusionSiriusxmPresets", + "Description":"Fusion: SiriusXM Presets", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], "FieldCount":7, - "MinLength":8, - "RepeatingFieldSet1Size":2, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":5, + "MinLength":6, "Fields":[ { "Order":1, @@ -61948,11 +69081,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Settings", + "Description":"SiriusXM Presets", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32789, + "Match":32812, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61963,73 +69096,72 @@ }, { "Order":5, - "Id":"count", - "Name":"Count", - "BitLength":32, + "Id":"sourceId", + "Name":"Source ID", + "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"id", - "Name":"ID", - "BitLength":32, - "BitOffset":64, + "Id":"count", + "Name":"Count", + "BitLength":8, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":4294967292, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SETTING" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"value", - "Name":"Value", - "BitLength":32, - "BitOffset":96, + "Id":"values", + "Name":"Values", + "Description":"Preset Values. There will be Count / 4 presets stored", + "BitLengthVariable":true, + "BitLengthField":6, + "BitOffset":48, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4294967292, - "UnknownValue":4294967295, - "OutOfRangeValue":4294967294, - "ReservedValue":4294967293, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { "PGN":130820, - "Id":"fusionMute", - "Description":"Fusion: Mute", + "Id":"maretronAlertResponse", + "Description":"Maretron: Alert Response", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":5, - "Length":5, + "FieldCount":15, + "Length":27, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -62065,58 +69197,206 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Mute", - "BitLength":16, + "Id":"alertType", + "Name":"Alert Type", + "BitLength":4, "BitOffset":16, "BitStart":0, - "Match":32791, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "LookupEnumeration":"ALERT_TYPE" }, { "Order":5, - "Id":"mute", - "Name":"Mute", + "Id":"alertCategory", + "Name":"Alert Category", + "BitLength":4, + "BitOffset":20, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"ALERT_CATEGORY" + }, + { + "Order":6, + "Id":"alertSystem", + "Name":"Alert System", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"alertSubSystem", + "Name":"Alert Sub-System", "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_MUTE_COMMAND" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"alertId", + "Name":"Alert ID", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"dataSourceNetworkIdName", + "Name":"Data Source Network ID NAME", + "BitLength":64, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":18446744073709551615, + "FieldType":"ISO_NAME" + }, + { + "Order":10, + "Id":"dataSourceInstance", + "Name":"Data Source Instance", + "BitLength":8, + "BitOffset":120, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":11, + "Id":"dataSourceIndexSource", + "Name":"Data Source Index-Source", + "BitLength":8, + "BitOffset":128, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":12, + "Id":"alertOccurrenceNumber", + "Name":"Alert Occurrence Number", + "BitLength":8, + "BitOffset":136, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":13, + "Id":"acknowledgeSourceNetworkIdName", + "Name":"Acknowledge Source Network ID NAME", + "BitLength":64, + "BitOffset":144, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":18446744073709551615, + "FieldType":"ISO_NAME" + }, + { + "Order":14, + "Id":"responseCommand", + "Name":"Response Command", + "BitLength":2, + "BitOffset":208, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"ALERT_RESPONSE_COMMAND" + }, + { + "Order":15, + "Id":"reserved15", + "Name":"Reserved", + "BitLength":6, + "BitOffset":210, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { - "PGN":130820, - "Id":"fusionBalance", - "Description":"Fusion: Balance", + "PGN":130821, + "Id":"navicoAsciiData", + "Description":"Navico: ASCII Data", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":5, + "Length":233, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -62152,27 +69432,10 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Balance", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Match":32792, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"zone", - "Name":"Zone", + "Id":"a", + "Name":"A", "BitLength":8, - "BitOffset":32, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, @@ -62181,48 +69444,40 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"value", - "Name":"VALUE", - "BitLength":8, - "BitOffset":40, + "Order":5, + "Id":"message", + "Name":"Message", + "BitLength":1840, + "BitOffset":24, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"STRING_FIX" } ] }, { - "PGN":130820, - "Id":"fusionLowPassFilter", - "Description":"Fusion: Low Pass Filter", + "PGN":130821, + "Id":"furunoUnknown130821", + "Description":"Furuno: Unknown 130821", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":13, + "Length":12, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Furuno", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":1855, "Resolution":1, "Signed":false, "RangeMin":0, @@ -62258,27 +69513,26 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Low Pass Filter", - "BitLength":16, + "Id":"sid", + "Name":"SID", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Match":32793, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"zone", - "Name":"Zone", + "Id":"a", + "Name":"A", "BitLength":8, - "BitOffset":32, + "BitOffset":24, "BitStart":0, "Resolution":1, "Signed":false, @@ -62287,15 +69541,14 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { "Order":6, - "Id":"filter", - "Name":"Filter", + "Id":"b", + "Name":"B", "BitLength":8, - "BitOffset":40, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -62305,86 +69558,61 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - } - ] - }, - { - "PGN":130820, - "Id":"fusionSublevels", - "Description":"Fusion: Sublevels", - "Priority":7, - "Type":"Fast", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":8, - "Length":8, - "Fields":[ + }, { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Fusion Electronics", - "BitLength":11, - "BitOffset":0, + "Order":7, + "Id":"c", + "Name":"C", + "BitLength":8, + "BitOffset":40, "BitStart":0, - "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":8, + "Id":"d", + "Name":"D", + "BitLength":8, + "BitOffset":48, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Sublevels", - "BitLength":16, - "BitOffset":16, + "Order":9, + "Id":"e", + "Name":"E", + "BitLength":8, + "BitOffset":56, "BitStart":0, - "Match":32794, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"zone1", - "Name":"Zone 1", + "Order":10, + "Id":"f", + "Name":"F", "BitLength":8, - "BitOffset":32, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, @@ -62396,11 +69624,11 @@ "FieldType":"NUMBER" }, { - "Order":6, - "Id":"zone2", - "Name":"Zone 2", + "Order":11, + "Id":"g", + "Name":"G", "BitLength":8, - "BitOffset":40, + "BitOffset":72, "BitStart":0, "Resolution":1, "Signed":false, @@ -62412,11 +69640,11 @@ "FieldType":"NUMBER" }, { - "Order":7, - "Id":"zone3", - "Name":"Zone 3", + "Order":12, + "Id":"h", + "Name":"H", "BitLength":8, - "BitOffset":48, + "BitOffset":80, "BitStart":0, "Resolution":1, "Signed":false, @@ -62428,11 +69656,11 @@ "FieldType":"NUMBER" }, { - "Order":8, - "Id":"zone4", - "Name":"Zone 4", + "Order":13, + "Id":"i", + "Name":"I", "BitLength":8, - "BitOffset":56, + "BitOffset":88, "BitStart":0, "Resolution":1, "Signed":false, @@ -62446,26 +69674,26 @@ ] }, { - "PGN":130820, - "Id":"fusionEq", - "Description":"Fusion: EQ", + "PGN":130821, + "Id":"maretronAlertText", + "Description":"Maretron: Alert Text", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":8, + "FieldCount":15, + "MinLength":19, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -62501,25 +69729,56 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Tone", - "BitLength":16, + "Id":"alertType", + "Name":"Alert Type", + "BitLength":4, "BitOffset":16, "BitStart":0, - "Match":32795, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "LookupEnumeration":"ALERT_TYPE" }, { "Order":5, - "Id":"zone", - "Name":"Zone", + "Id":"alertCategory", + "Name":"Alert Category", + "BitLength":4, + "BitOffset":20, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"ALERT_CATEGORY" + }, + { + "Order":6, + "Id":"alertSystem", + "Name":"Alert System", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"alertSubSystem", + "Name":"Alert Sub-System", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -62530,80 +69789,141 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"alertId", + "Name":"Alert ID", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"dataSourceNetworkIdName", + "Name":"Data Source Network ID NAME", + "BitLength":64, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":18446744073709551615, + "FieldType":"ISO_NAME" + }, + { + "Order":10, + "Id":"dataSourceInstance", + "Name":"Data Source Instance", + "BitLength":8, + "BitOffset":120, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER", "PartOfPrimaryKey":true }, { - "Order":6, - "Id":"bass", - "Name":"Bass", + "Order":11, + "Id":"dataSourceIndexSource", + "Name":"Data Source Index-Source", "BitLength":8, - "BitOffset":40, + "BitOffset":128, "BitStart":0, "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":7, - "Id":"mid", - "Name":"Mid", + "Order":12, + "Id":"alertOccurrenceNumber", + "Name":"Alert Occurrence Number", "BitLength":8, - "BitOffset":48, + "BitOffset":136, "BitStart":0, "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":8, - "Id":"treble", - "Name":"Treble", + "Order":13, + "Id":"languageId", + "Name":"Language ID", "BitLength":8, - "BitOffset":56, + "BitOffset":144, "BitStart":0, "Resolution":1, - "Signed":true, - "RangeMin":-127, - "RangeMax":124, - "UnknownValue":127, - "OutOfRangeValue":126, - "ReservedValue":125, - "FieldType":"NUMBER" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"ALERT_LANGUAGE_ID" + }, + { + "Order":14, + "Id":"alertTextDescription", + "Name":"Alert Text Description", + "BitLengthVariable":true, + "BitOffset":152, + "BitStart":0, + "FieldType":"STRING_LAU" + }, + { + "Order":15, + "Id":"alertLocationTextDescription", + "Name":"Alert Location Text Description", + "BitLengthVariable":true, + "FieldType":"STRING_LAU" } ] }, { - "PGN":130820, - "Id":"fusionVolumeLimits", - "Description":"Fusion: Volume Limits", - "Priority":7, + "PGN":130821, + "Id":"bepMarineProprietaryPgn130821", + "Description":"BEP Marine: Proprietary PGN 130821", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":8, + "FieldCount":4, + "Length":223, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -62627,120 +69947,51 @@ "Name":"Industry Code", "Description":"Marine Industry", "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Volume Limits", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Match":32796, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"zone1VolumeLimit", - "Name":"Zone 1 Volume Limit", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"zone2VolumeLimit", - "Name":"Zone 2 Volume Limit", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"zone3VolumeLimit", - "Name":"Zone 3 Volume Limit", - "BitLength":8, - "BitOffset":48, - "BitStart":0, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":8, - "Id":"zone4VolumeLimit", - "Name":"Zone 4 Volume Limit", - "BitLength":8, - "BitOffset":56, + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":1768, + "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { - "PGN":130820, - "Id":"fusionVolumes", - "Description":"Fusion: Volumes", - "Priority":7, + "PGN":130822, + "Id":"navicoUdbDatabaseObjectPing", + "Description":"Navico: UDB Database, Object Ping", + "Priority":3, + "Explanation":"Header-only form of the Navico/SimNet UDB database broadcast (Command 0; Commands 8 and 9 are equivalent reserved pings). The object is addressed by (Address, Section, Item).", + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":8, + "FieldCount":9, + "Length":7, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -62776,43 +70027,54 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Volume", - "BitLength":16, + "Id":"marker", + "Name":"Marker", + "Description":"Always 0xFF", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Match":32797, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"zone1", - "Name":"Zone 1", - "BitLength":8, - "BitOffset":32, + "Id":"command", + "Name":"Command", + "Description":"Object Ping", + "BitLength":6, + "BitOffset":24, "BitStart":0, + "Match":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":61, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"zone2", - "Name":"Zone 2", + "Id":"reserved6", + "Name":"Reserved", + "BitLength":2, + "BitOffset":30, + "BitStart":6, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":7, + "Id":"address", + "Name":"Address", + "Description":"Part of the object address", "BitLength":8, - "BitOffset":40, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -62824,11 +70086,11 @@ "FieldType":"NUMBER" }, { - "Order":7, - "Id":"zone3", - "Name":"Zone 3", + "Order":8, + "Id":"section", + "Name":"Section", "BitLength":8, - "BitOffset":48, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -62840,11 +70102,11 @@ "FieldType":"NUMBER" }, { - "Order":8, - "Id":"zone4", - "Name":"Zone 4", + "Order":9, + "Id":"item", + "Name":"Item", "BitLength":8, - "BitOffset":56, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -62858,26 +70120,28 @@ ] }, { - "PGN":130820, - "Id":"fusionCapabilities", - "Description":"Fusion: Capabilities", - "Priority":7, + "PGN":130822, + "Id":"navicoUdbDatabaseSourceReport", + "Description":"Navico: UDB Database, Source Report", + "Priority":3, + "Explanation":"Per-object value report (Command 1), the form that accounts for essentially all observed 130822 traffic. Each frame reports one object's current 'Object Value' (0xFC00 = no value), addressed by (Address, Source Setting Id, Item). The trailing 'Sub' and 'Token' are the object's identity metadata, byte-identical to the same object's Command 6 dump and constant per object; 'Token' is a stable per-object-definition handle (only a couple dozen distinct values on a typical bus) that tracks the object independently of its local Section/Item address. The selected source DEVICE for each data type is not carried here - it appears only in the Command 6 dump (as a NAME) and in PGN 130840. 'Source Setting Id' uses a different id space from the data-type ids carried by the Command 6 dump and PGN 130845.", + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":9, - "Length":14, + "FieldCount":15, + "Length":15, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -62913,59 +70177,104 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Capabilities", - "BitLength":16, + "Id":"marker", + "Name":"Marker", + "Description":"Always 0xFF", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Match":32798, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"zone1", - "Name":"Zone 1", - "BitLength":16, + "Id":"command", + "Name":"Command", + "Description":"Source Report", + "BitLength":6, + "BitOffset":24, + "BitStart":0, + "Match":1, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":61, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"spare6", + "Name":"Spare", + "BitLength":2, + "BitOffset":30, + "BitStart":6, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":7, + "Id":"address", + "Name":"Address", + "Description":"Part of the object address", + "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":6, - "Id":"zone2", - "Name":"Zone 2", - "BitLength":16, + "Order":8, + "Id":"sourceSettingId", + "Name":"Source Setting Id", + "Description":"Compacted id selecting which data type this object is for. This is a different id space from the Command 6 dump / PGN 130845 data-type ids (NAVICO_DATA_TYPE) - the two use different numbers for the same quantity. Only 0x0F = Heading is mapped so far; see PGN 130840.", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"item", + "Name":"Item", + "BitLength":8, "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":7, - "Id":"zone3", - "Name":"Zone 3", + "Order":10, + "Id":"objectValue", + "Name":"Object Value", + "Description":"Current value (A); 0xFC00 means no value. This is the field that varies over time.", "BitLength":16, - "BitOffset":64, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, @@ -62977,27 +70286,62 @@ "FieldType":"NUMBER" }, { - "Order":8, - "Id":"zone4", - "Name":"Zone 4", - "BitLength":16, - "BitOffset":80, + "Order":11, + "Id":"instance", + "Name":"Instance", + "BitLength":4, + "BitOffset":72, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"NUMBER" }, { - "Order":9, - "Id":"global", - "Name":"Global", + "Order":12, + "Id":"sourceSelectionMaster", + "Name":"Source Selection Master", + "Description":"Auto-select / source-selection-master flag", + "BitLength":1, + "BitOffset":76, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" + }, + { + "Order":13, + "Id":"spare13", + "Name":"Spare", + "BitLength":3, + "BitOffset":77, + "BitStart":5, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":14, + "Id":"sub", + "Name":"Sub", + "Description":"Sub-index and auxiliary bytes; constant per object (same Sub as the Command 6 dump)", + "BitLength":24, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":15, + "Id":"token", + "Name":"Token", + "Description":"Per-object identity/CRC-like token (B), constant per object (same Token as the Command 6 dump)", "BitLength":16, - "BitOffset":96, + "BitOffset":104, "BitStart":0, "Resolution":1, "Signed":false, @@ -63011,26 +70355,27 @@ ] }, { - "PGN":130820, - "Id":"fusionLineLevelControl", - "Description":"Fusion: Line Level Control", - "Priority":7, + "PGN":130822, + "Id":"navicoUdbDatabaseBulkReport2", + "Description":"Navico: UDB Database, Bulk Report 2", + "Priority":3, + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":10, + "Length":223, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -63066,25 +70411,52 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Line Level Control", - "BitLength":16, + "Id":"marker", + "Name":"Marker", + "Description":"Always 0xFF", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Match":32799, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"zone", - "Name":"Zone", + "Id":"command", + "Name":"Command", + "Description":"Bulk Report 2", + "BitLength":6, + "BitOffset":24, + "BitStart":0, + "Match":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":61, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"spare6", + "Name":"Spare", + "BitLength":2, + "BitOffset":30, + "BitStart":6, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":7, + "Id":"address", + "Name":"Address", + "Description":"Part of the object address", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -63095,13 +70467,12 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"control", - "Name":"Control", + "Order":8, + "Id":"section", + "Name":"Section", "BitLength":8, "BitOffset":40, "BitStart":0, @@ -63113,30 +70484,59 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"item", + "Name":"Item", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"data", + "Name":"Data", + "Description":"Bulk variant payload (length-prefixed); layout not yet observed on the wire", + "BitLength":1728, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":130820, - "Id":"fusionPowerState", - "Description":"Fusion: Power State", - "Priority":7, + "PGN":130822, + "Id":"navicoConfigurationSet", + "Description":"Navico: Configuration Set", + "Priority":3, + "Explanation":"Command 3, formerly documented as 'Bulk Report 3'; despite that name it carries a single small per-object update, not a bulk/multi-item transfer. Unlike Command 1 'Source Report' (which continually re-broadcasts its whole table), Command 3 is change-driven - it is only sent when the object's value changes. Every frame observed so far carries exactly one Section 10 (0x0A) record at Item 1. Most Navico/Simnet parameter settings are read/written over PGN 130845 (Simnet: Key Value) instead; this PGN only carries the handful of settings - wind/depth-speed source selection and True wind direction damping - that PGN 130845 does not.", + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":5, - "Length":5, + "FieldCount":15, + "MinLength":16, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -63172,114 +70572,86 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Power", - "BitLength":16, + "Id":"marker", + "Name":"Marker", + "Description":"Always 0xFF", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Match":32800, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"state", - "Name":"State", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_POWER_STATE" - } - ] - }, - { - "PGN":130820, - "Id":"fusionSiriusxm", - "Description":"Fusion: SiriusXM", - "Priority":7, - "Type":"Fast", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":9, - "Length":10, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Fusion Electronics", - "BitLength":11, - "BitOffset":0, + "Id":"command", + "Name":"Command", + "Description":"Configuration Set", + "BitLength":6, + "BitOffset":24, "BitStart":0, - "Match":419, + "Match":3, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "RangeMax":61, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"reserved", - "Name":"Reserved", + "Order":6, + "Id":"spare6", + "Name":"Spare", "BitLength":2, - "BitOffset":11, - "BitStart":3, + "BitOffset":30, + "BitStart":6, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"SPARE" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":7, + "Id":"address", + "Name":"Address", + "Description":"Part of the object address", + "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"Sirius", - "BitLength":16, - "BitOffset":16, + "Order":8, + "Id":"section", + "Name":"Section", + "BitLength":8, + "BitOffset":40, "BitStart":0, - "Match":32802, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Order":9, + "Id":"item", + "Name":"Item", "BitLength":8, - "BitOffset":32, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -63288,43 +70660,54 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"comState", - "Name":"Com State", + "Order":10, + "Id":"spare10", + "Name":"Spare", "BitLength":8, - "BitOffset":40, + "BitOffset":56, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SIRIUS_COM_STATE" + "FieldType":"SPARE" }, - { - "Order":7, - "Id":"alert", - "Name":"Alert", + { + "Order":11, + "Id":"sourceSettingId", + "Name":"Source Setting Id", + "Description":"Compacted id selecting which setting this object reports; also resolves the wire type of the Value field that follows. Different id space from the Command 1 'Source Setting Id', the Command 6 dump / PGN 130845 NAVICO_DATA_TYPE ids, and PGN 130840.", "BitLength":8, - "BitOffset":48, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SIRIUS_COM_STATE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"DYNAMIC_FIELD_KEY", + "LookupFieldTypeEnumeration":"NAVICO_SOURCE_SETTING_ID", + "PartOfPrimaryKey":true }, { - "Order":8, - "Id":"advisoryChannel", - "Name":"Advisory Channel", + "Order":12, + "Id":"spare12", + "Name":"Spare", + "BitLength":24, + "BitOffset":72, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":13, + "Id":"token", + "Name":"Token", + "Description":"Per-object identity token, constant per object", "BitLength":16, - "BitOffset":56, + "BitOffset":96, "BitStart":0, "Resolution":1, "Signed":false, @@ -63336,42 +70719,56 @@ "FieldType":"NUMBER" }, { - "Order":9, - "Id":"tuningMode", - "Name":"Tuning Mode", - "BitLength":8, - "BitOffset":72, + "Order":14, + "Id":"length", + "Name":"Length", + "Description":"Byte length of the Value field that follows", + "BitLength":16, + "BitOffset":112, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SIRIUS_TUNING_MODE" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"DYNAMIC_FIELD_LENGTH" + }, + { + "Order":15, + "Id":"value", + "Name":"Value", + "Description":"Value for this setting; its type is resolved from Source Setting Id.", + "BitLengthVariable":true, + "BitOffset":128, + "BitStart":0, + "FieldType":"DYNAMIC_FIELD_VALUE" } ] }, { - "PGN":130820, - "Id":"fusionSiriusxmChannel", - "Description":"Fusion: SiriusXM Channel", - "Priority":7, + "PGN":130822, + "Id":"navicoUdbDatabaseBulkReport4", + "Description":"Navico: UDB Database, Bulk Report 4", + "Priority":3, + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":7, - "MinLength":7, + "FieldCount":10, + "Length":223, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -63407,25 +70804,52 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"SiriusXM Channel", - "BitLength":16, + "Id":"marker", + "Name":"Marker", + "Description":"Always 0xFF", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Match":32804, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Id":"command", + "Name":"Command", + "Description":"Bulk Report 4", + "BitLength":6, + "BitOffset":24, + "BitStart":0, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":61, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":2, + "BitOffset":30, + "BitStart":6, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":7, + "Id":"address", + "Name":"Address", + "Description":"Part of the object address", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -63436,57 +70860,75 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"channelNumber", - "Name":"Channel Number", - "BitLength":16, + "Order":8, + "Id":"section", + "Name":"Section", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":7, - "Id":"channel", - "Name":"Channel", - "BitLengthVariable":true, + "Order":9, + "Id":"item", + "Name":"Item", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"data", + "Name":"Data", + "Description":"Bulk variant payload (length-prefixed); layout not yet observed on the wire", + "BitLength":1728, "BitOffset":56, "BitStart":0, - "FieldType":"STRING_LZ" + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":130820, - "Id":"fusionSiriusxmTitle", - "Description":"Fusion: SiriusXM Title", - "Priority":7, + "PGN":130822, + "Id":"navicoUdbDatabaseShortReport5", + "Description":"Navico: UDB Database, Short Report 5", + "Priority":3, + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":7, - "MinLength":7, + "FieldCount":10, + "Length":11, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -63522,25 +70964,52 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"SiriusXM Title", - "BitLength":16, + "Id":"marker", + "Name":"Marker", + "Description":"Always 0xFF", + "BitLength":8, "BitOffset":16, "BitStart":0, - "Match":32805, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Id":"command", + "Name":"Command", + "Description":"Short Report 5", + "BitLength":6, + "BitOffset":24, + "BitStart":0, + "Match":5, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":61, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":2, + "BitOffset":30, + "BitStart":6, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":7, + "Id":"address", + "Name":"Address", + "Description":"Part of the object address", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -63551,57 +71020,77 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"channel", - "Name":"Channel", - "BitLength":16, + "Order":8, + "Id":"section", + "Name":"Section", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":7, - "Id":"title", - "Name":"Title", - "BitLengthVariable":true, + "Order":9, + "Id":"item", + "Name":"Item", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"data", + "Name":"Data", + "BitLength":32, "BitOffset":56, "BitStart":0, - "FieldType":"STRING_LZ" + "Resolution":1, + "FieldType":"BINARY" } ] }, { - "PGN":130820, - "Id":"fusionSiriusxmArtist", - "Description":"Fusion: SiriusXM Artist", - "Priority":7, + "PGN":130822, + "Id":"navicoUdbDatabaseObjectDump", + "Description":"Navico: UDB Database, Object Dump", + "Priority":3, + "Explanation":"Verbose dump (Command 6) of a source-selection object: it carries the same Value and Token as the Command 1 report for the object, followed by a list of every data type the object covers and the selected source for each. Each record is a length, a constant class byte, a data-type id and the selected source's value.", + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":7, - "MinLength":7, + "FieldCount":16, + "MinLength":14, + "RepeatingFieldSet1Size":4, + "RepeatingFieldSet1StartField":13, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -63637,27 +71126,11 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"SiriusXM Artist", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Match":32806, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Id":"marker", + "Name":"Marker", + "Description":"Always 0xFF", "BitLength":8, - "BitOffset":32, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, @@ -63666,113 +71139,73 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":6, - "Id":"channel", - "Name":"Channel", - "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, "FieldType":"NUMBER" }, { - "Order":7, - "Id":"artist", - "Name":"Artist", - "BitLengthVariable":true, - "BitOffset":56, - "BitStart":0, - "FieldType":"STRING_LZ" - } - ] - }, - { - "PGN":130820, - "Id":"fusionSiriusxmContentInfo", - "Description":"Fusion: SiriusXM Content Info", - "Priority":7, - "Type":"Fast", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":7, - "MinLength":7, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Fusion Electronics", - "BitLength":11, - "BitOffset":0, + "Order":5, + "Id":"command", + "Name":"Command", + "Description":"Object Dump", + "BitLength":6, + "BitOffset":24, "BitStart":0, - "Match":419, + "Match":6, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "RangeMax":61, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"reserved", + "Order":6, + "Id":"reserved6", "Name":"Reserved", "BitLength":2, - "BitOffset":11, - "BitStart":3, + "BitOffset":30, + "BitStart":6, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":7, + "Id":"address", + "Name":"Address", + "Description":"Part of the object address", + "BitLength":8, + "BitOffset":32, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"SiriusXM Genre", - "BitLength":16, - "BitOffset":16, + "Order":8, + "Id":"section", + "Name":"Section", + "BitLength":8, + "BitOffset":40, "BitStart":0, - "Match":32807, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Order":9, + "Id":"item", + "Name":"Item", "BitLength":8, - "BitOffset":32, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -63781,15 +71214,15 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"channel", - "Name":"Channel", + "Order":10, + "Id":"objectValue", + "Name":"Object Value", + "Description":"Current value (A); 0xFC00 means no value", "BitLength":16, - "BitOffset":40, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, @@ -63801,93 +71234,58 @@ "FieldType":"NUMBER" }, { - "Order":7, - "Id":"genre", - "Name":"Genre", - "BitLengthVariable":true, - "BitOffset":56, - "BitStart":0, - "FieldType":"STRING_LZ" - } - ] - }, - { - "PGN":130820, - "Id":"fusionSiriusxmCategory", - "Description":"Fusion: SiriusXM Category", - "Priority":7, - "Type":"Fast", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":7, - "MinLength":7, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Fusion Electronics", - "BitLength":11, - "BitOffset":0, + "Order":11, + "Id":"sub", + "Name":"Sub", + "Description":"Sub-index and auxiliary bytes", + "BitLength":24, + "BitOffset":72, "BitStart":0, - "Match":419, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":12, + "Id":"token", + "Name":"Token", + "Description":"Per-object identity/CRC-like token (B), constant per object", + "BitLength":16, + "BitOffset":96, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"SiriusXM Category", - "BitLength":16, - "BitOffset":16, + "Order":13, + "Id":"length", + "Name":"Length", + "Description":"Bytes following in this record: a class byte, a 16-bit data-type id and the value", + "BitLength":8, + "BitOffset":112, "BitStart":0, - "Match":32808, "Resolution":1, "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "DynamicFieldLengthOverhead":3, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"DYNAMIC_FIELD_LENGTH" }, { - "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Order":14, + "Id":"class", + "Name":"Class", + "Description":"Record class, always 0x02", "BitLength":8, - "BitOffset":32, + "BitOffset":120, "BitStart":0, "Resolution":1, "Signed":false, @@ -63896,15 +71294,14 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"channel", - "Name":"Channel", + "Order":15, + "Id":"dataType", + "Name":"Data Type", "BitLength":16, - "BitOffset":40, + "BitOffset":128, "BitStart":0, "Resolution":1, "Signed":false, @@ -63913,40 +71310,43 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"NAVICO_DATA_TYPE" }, { - "Order":7, - "Id":"name", - "Name":"Name", + "Order":16, + "Id":"value", + "Name":"Value", + "Description":"Tagged value for this data type. When a source is set it is a NAME wrapper (0x0A 0x00 followed by the source's 64-bit NMEA 2000 NAME and a 0xFF terminator); a single 0x00 byte means none/auto; other data types carry small typed values.", "BitLengthVariable":true, - "BitOffset":56, + "BitOffset":144, "BitStart":0, - "FieldType":"STRING_LZ" + "FieldType":"DYNAMIC_FIELD_VALUE" } ] }, { - "PGN":130820, - "Id":"fusionSiriusxmSignal", - "Description":"Fusion: SiriusXM Signal", - "Priority":7, + "PGN":130822, + "Id":"navicoUdbDatabaseShortReport7", + "Description":"Navico: UDB Database, Short Report 7", + "Priority":3, + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":10, + "Length":11, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -63982,44 +71382,11 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"SiriusXm Signal", - "BitLength":16, - "BitOffset":16, - "BitStart":0, - "Match":32809, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"sourceId", - "Name":"Source ID", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":6, - "Id":"signal", - "Name":"Signal", + "Id":"marker", + "Name":"Marker", + "Description":"Always 0xFF", "BitLength":8, - "BitOffset":40, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, @@ -64029,86 +71396,56 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - } - ] - }, - { - "PGN":130820, - "Id":"fusionSiriusxmPresets", - "Description":"Fusion: SiriusXM Presets", - "Priority":7, - "Type":"Fast", - "Complete":false, - "Missing":["Interval" - ], - "FieldCount":7, - "MinLength":6, - "Fields":[ + }, { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Fusion Electronics", - "BitLength":11, - "BitOffset":0, + "Order":5, + "Id":"command", + "Name":"Command", + "Description":"Short Report 7", + "BitLength":6, + "BitOffset":24, "BitStart":0, - "Match":419, + "Match":7, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" + "RangeMax":61, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { - "Order":2, - "Id":"reserved", + "Order":6, + "Id":"reserved6", "Name":"Reserved", "BitLength":2, - "BitOffset":11, - "BitStart":3, + "BitOffset":30, + "BitStart":6, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - }, - { - "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"SiriusXM Presets", - "BitLength":16, - "BitOffset":16, + "Order":7, + "Id":"address", + "Name":"Address", + "Description":"Part of the object address", + "BitLength":8, + "BitOffset":32, "BitStart":0, - "Match":32812, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Order":8, + "Id":"section", + "Name":"Section", "BitLength":8, - "BitOffset":32, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -64117,15 +71454,14 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { - "Order":6, - "Id":"count", - "Name":"Count", + "Order":9, + "Id":"item", + "Name":"Item", "BitLength":8, - "BitOffset":40, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -64137,13 +71473,11 @@ "FieldType":"NUMBER" }, { - "Order":7, - "Id":"values", - "Name":"Values", - "Description":"Preset Values. There will be Count / 4 presets stored", - "BitLengthVariable":true, - "BitLengthField":6, - "BitOffset":48, + "Order":10, + "Id":"data", + "Name":"Data", + "BitLength":32, + "BitOffset":56, "BitStart":0, "Resolution":1, "FieldType":"BINARY" @@ -64151,16 +71485,16 @@ ] }, { - "PGN":130820, - "Id":"maretronAlertResponse", - "Description":"Maretron: Alert Response", + "PGN":130822, + "Id":"maretronAlertControl", + "Description":"Maretron: Alert Control", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":15, - "Length":27, + "FieldCount":13, + "Length":34, "Fields":[ { "Order":1, @@ -64215,6 +71549,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_TYPE" }, @@ -64229,6 +71565,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"ALERT_CATEGORY" }, @@ -64288,8 +71626,9 @@ "BitOffset":56, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -64343,46 +71682,21 @@ }, { "Order":13, - "Id":"acknowledgeSourceNetworkIdName", - "Name":"Acknowledge Source Network ID NAME", - "BitLength":64, + "Id":"maretronExtension", + "Name":"Maretron Extension", + "Description":"Maretron-specific payload following the standard Alert identity header.", + "BitLength":128, "BitOffset":144, "BitStart":0, "Resolution":1, - "RangeMin":0, - "RangeMax":1.84467440737096e+19, - "FieldType":"ISO_NAME" - }, - { - "Order":14, - "Id":"responseCommand", - "Name":"Response Command", - "BitLength":2, - "BitOffset":208, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":3, - "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_RESPONSE_COMMAND" - }, - { - "Order":15, - "Id":"reserved15", - "Name":"Reserved", - "BitLength":6, - "BitOffset":210, - "BitStart":2, - "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { - "PGN":130820, - "Id":"bepMarineProprietaryPgn130820", - "Description":"BEP Marine: Proprietary PGN 130820", + "PGN":130822, + "Id":"bepMarineProprietaryPgn130822", + "Description":"BEP Marine: Proprietary PGN 130822", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -64445,26 +71759,26 @@ ] }, { - "PGN":130821, - "Id":"navicoAsciiData", - "Description":"Navico: ASCII Data", - "Priority":7, + "PGN":130822, + "Id":"mercuryEngineTelemetryLowSpeed", + "Description":"Mercury: Engine Telemetry, Low Speed", + "Explanation":"Low-speed engine telemetry broadcast by Mercury engine gateways. Carries the malfunction-indicator (check-engine) state, intake-air and exhaust-gas temperatures (raw, Mercury-specific scaling), a 'GPL' fraction (raw / 128) and an engine run-state code. This is a flat fixed record, unrelated to the Navico and BEP variants of this PGN number; the manufacturer code in the first two bytes is the only disambiguator. Observed on live engine networks.", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], - "FieldCount":5, - "Length":233, + "FieldCount":9, + "Length":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Mercury Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":144, "Resolution":1, "Signed":false, "RangeMin":0, @@ -64500,8 +71814,8 @@ }, { "Order":4, - "Id":"a", - "Name":"A", + "Id":"engineInstance", + "Name":"Engine Instance", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -64516,36 +71830,112 @@ }, { "Order":5, - "Id":"message", - "Name":"Message", - "BitLength":1840, + "Id":"malfunctionIndicator", + "Name":"Malfunction Indicator", + "Description":"Check-engine indicator lamp (0 = off, 1 = on)", + "BitLength":8, "BitOffset":24, "BitStart":0, - "FieldType":"STRING_FIX" + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"intakeAirTemperature", + "Name":"Intake Air Temperature", + "Description":"Raw value, Mercury-specific scaling", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"exhaustGasTemperature", + "Name":"Exhaust Gas Temperature", + "Description":"Raw value, Mercury-specific scaling", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"gpl", + "Name":"GPL", + "Description":"Raw value; fraction = value / 128", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"engineState", + "Name":"Engine State", + "Description":"Raw engine run-state code", + "BitLength":8, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":130821, - "Id":"furunoUnknown130821", - "Description":"Furuno: Unknown 130821", - "Priority":7, + "PGN":130823, + "Id":"maretronProprietaryTemperatureHighRange", + "Description":"Maretron: Proprietary Temperature High Range", + "Priority":3, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":13, - "Length":12, + "FieldCount":8, + "Length":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Furuno", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1855, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -64597,8 +71987,8 @@ }, { "Order":5, - "Id":"a", - "Name":"A", + "Id":"instance", + "Name":"Instance", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -64609,12 +71999,13 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"b", - "Name":"B", + "Id":"source", + "Name":"Source", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -64625,62 +72016,146 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"TEMPERATURE_SOURCE", + "PartOfPrimaryKey":true }, { "Order":7, - "Id":"c", - "Name":"C", - "BitLength":8, + "Id":"actualTemperature", + "Name":"Actual Temperature", + "BitLength":16, "BitOffset":40, "BitStart":0, - "Resolution":1, + "Unit":"K", + "Resolution":0.1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" }, { "Order":8, - "Id":"d", - "Name":"D", - "BitLength":8, - "BitOffset":48, + "Id":"setTemperature", + "Name":"Set Temperature", + "BitLength":16, + "BitOffset":56, + "BitStart":0, + "Unit":"K", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" + } + ] + }, + { + "PGN":130823, + "Id":"navicoDataTypeSourceDirectory", + "Description":"Navico: Data Type Source Directory", + "Explanation":"Directory mapping the Navico data types a device tracks to their currently-selected source device, broadcast by NEON-generation displays (e.g. Nemesis, ZEUS SR-16 MFD) roughly every 5 seconds. After the fixed FF/00 marker, Report Type 5 and a part number, the frame carries a list of {Length, Type, Data Type, Value} records that run to the end of the fast-packet. Length counts the three header bytes (Type plus the 16-bit Data Type) as well as the trailing Value. Data Type indexes the NAVICO_DATA_TYPE table (the NEON DataType enumeration). When a source is bound to a data type the Value is a NAME wrapper (0x0A 0x00 followed by the source device's 8-byte NMEA 2000 NAME); most entries carry a short typed value or none. This is the same record format as the Report Type 6 full report and the PGN 130822 Command 6 Object Dump, and matches the layout observed across all captured traffic.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":12, + "MinLength":7, + "RepeatingFieldSet1Size":4, + "RepeatingFieldSet1StartField":9, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, + "BitOffset":0, "BitStart":0, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":9, - "Id":"e", - "Name":"E", + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"reserved4", + "Name":"Reserved", "BitLength":8, - "BitOffset":56, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"spare5", + "Name":"Spare", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":6, + "Id":"reportType", + "Name":"Report Type", + "Description":"Data-type source directory", + "BitLength":8, + "BitOffset":32, "BitStart":0, + "Match":5, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { - "Order":10, - "Id":"f", - "Name":"F", + "Order":7, + "Id":"part", + "Name":"Part", + "Description":"Sequence/part number of the directory report", "BitLength":8, - "BitOffset":64, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -64692,27 +72167,40 @@ "FieldType":"NUMBER" }, { - "Order":11, - "Id":"g", - "Name":"G", + "Order":8, + "Id":"spare8", + "Name":"Spare", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":9, + "Id":"length", + "Name":"Length", + "Description":"Bytes following in this record: a type byte, a 16-bit data-type id and the value", "BitLength":8, - "BitOffset":72, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, + "DynamicFieldLengthOverhead":3, "RangeMin":0, "RangeMax":252, "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"DYNAMIC_FIELD_LENGTH" }, { - "Order":12, - "Id":"h", - "Name":"H", + "Order":10, + "Id":"type", + "Name":"Type", + "Description":"Value encoding/class for this entry (e.g. 2 = single-byte value, 9 = bound-source NAME wrapper)", "BitLength":8, - "BitOffset":80, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, @@ -64724,44 +72212,57 @@ "FieldType":"NUMBER" }, { - "Order":13, - "Id":"i", - "Name":"I", - "BitLength":8, - "BitOffset":88, + "Order":11, + "Id":"dataType", + "Name":"Data Type", + "BitLength":16, + "BitOffset":72, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"LOOKUP", + "LookupEnumeration":"NAVICO_DATA_TYPE" + }, + { + "Order":12, + "Id":"value", + "Name":"Value", + "Description":"Tagged value for this data type. When a source is bound to the data type it is a NAME wrapper (0x0A 0x00 followed by the source device's 8-byte NMEA 2000 NAME); a zero-length or single 0x00 value means none/auto; other data types carry small typed values.", + "BitLengthVariable":true, + "BitOffset":88, + "BitStart":0, + "FieldType":"DYNAMIC_FIELD_VALUE" } ] }, { - "PGN":130821, - "Id":"maretronAlertText", - "Description":"Maretron: Alert Text", - "Priority":7, + "PGN":130823, + "Id":"navicoDataTypeSourceDirectoryFullReport", + "Description":"Navico: Data Type Source Directory, Full Report", + "Explanation":"Fuller counterpart to the Report Type 5 directory: the same {Length, Type, Data Type, Value} record list, but covering every data type the reporting object owns rather than a summary subset, so it typically carries the bound-source NAME entries. Uses the identical record format as Report Type 5 and the PGN 130822 Command 6 Object Dump.", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":15, - "MinLength":19, + "FieldCount":12, + "MinLength":7, + "RepeatingFieldSet1Size":4, + "RepeatingFieldSet1StartField":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -64797,54 +72298,46 @@ }, { "Order":4, - "Id":"alertType", - "Name":"Alert Type", - "BitLength":4, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_TYPE" + "FieldType":"RESERVED" }, { "Order":5, - "Id":"alertCategory", - "Name":"Alert Category", - "BitLength":4, - "BitOffset":20, - "BitStart":4, + "Id":"spare5", + "Name":"Spare", + "BitLength":8, + "BitOffset":24, + "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_CATEGORY" + "FieldType":"SPARE" }, { "Order":6, - "Id":"alertSystem", - "Name":"Alert System", + "Id":"reportType", + "Name":"Report Type", + "Description":"Data-type source directory (full report)", "BitLength":8, - "BitOffset":24, + "BitOffset":32, "BitStart":0, + "Match":6, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":7, - "Id":"alertSubSystem", - "Name":"Alert Sub-System", + "Id":"part", + "Name":"Part", + "Description":"Sequence/part number of the directory report", "BitLength":8, - "BitOffset":32, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -64857,71 +72350,39 @@ }, { "Order":8, - "Id":"alertId", - "Name":"Alert ID", - "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"dataSourceNetworkIdName", - "Name":"Data Source Network ID NAME", - "BitLength":64, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":1.84467440737096e+19, - "FieldType":"ISO_NAME" - }, - { - "Order":10, - "Id":"dataSourceInstance", - "Name":"Data Source Instance", + "Id":"spare8", + "Name":"Spare", "BitLength":8, - "BitOffset":120, + "BitOffset":48, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"SPARE" }, { - "Order":11, - "Id":"dataSourceIndexSource", - "Name":"Data Source Index-Source", + "Order":9, + "Id":"length", + "Name":"Length", + "Description":"Bytes following in this record: a type byte, a 16-bit data-type id and the value", "BitLength":8, - "BitOffset":128, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, + "DynamicFieldLengthOverhead":3, "RangeMin":0, "RangeMax":252, "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"DYNAMIC_FIELD_LENGTH" }, { - "Order":12, - "Id":"alertOccurrenceNumber", - "Name":"Alert Occurrence Number", + "Order":10, + "Id":"type", + "Name":"Type", + "Description":"Value encoding/class for this entry (e.g. 2 = single-byte value, 9 = bound-source NAME wrapper)", "BitLength":8, - "BitOffset":136, + "BitOffset":64, "BitStart":0, "Resolution":1, "Signed":false, @@ -64933,57 +72394,55 @@ "FieldType":"NUMBER" }, { - "Order":13, - "Id":"languageId", - "Name":"Language ID", - "BitLength":8, - "BitOffset":144, + "Order":11, + "Id":"dataType", + "Name":"Data Type", + "BitLength":16, + "BitOffset":72, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_LANGUAGE_ID" + "LookupEnumeration":"NAVICO_DATA_TYPE" }, { - "Order":14, - "Id":"alertTextDescription", - "Name":"Alert Text Description", + "Order":12, + "Id":"value", + "Name":"Value", + "Description":"Tagged value for this data type. When a source is bound to the data type it is a NAME wrapper (0x0A 0x00 followed by the source device's 8-byte NMEA 2000 NAME); a zero-length or single 0x00 value means none/auto; other data types carry small typed values.", "BitLengthVariable":true, - "BitOffset":152, + "BitOffset":88, "BitStart":0, - "FieldType":"STRING_LAU" - }, - { - "Order":15, - "Id":"alertLocationTextDescription", - "Name":"Alert Location Text Description", - "BitLengthVariable":true, - "FieldType":"STRING_LAU" + "FieldType":"DYNAMIC_FIELD_VALUE" } ] }, { - "PGN":130821, - "Id":"bepMarineProprietaryPgn130821", - "Description":"BEP Marine: Proprietary PGN 130821", + "PGN":130823, + "Id":"navicoBoatSpeedPolarTable", + "Description":"Navico: Boat Speed Polar Table", + "Explanation":"Boat-speed (target performance) polar table, produced only by the B&G Hercules performance processor. It is emitted as a one-shot burst of several parts (Report Type 15, Part numbers 1..N, ~20 ms apart) that must be concatenated by Part number beyond normal fast-packet reassembly. The reassembled stream is a 3-float preamble followed by repeating {uint16 count}{count x (0x04, float32)} rows; a typical table is 8 rows x 22 columns, the rows stepping the true wind speed 7.5, 10, 12.5 ... 25 kn and each row ending at true wind angle 180 deg. Because the payload is a stateful multi-part numeric table rather than per-frame fields, each part is shown here as raw bytes; reassemble the parts to recover the polar. This report is Hercules-only; NEON displays emit the Report Type 5 data-type directory instead.", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":4, - "Length":223, + "FieldCount":9, + "Length":230, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -65019,10 +72478,73 @@ }, { "Order":4, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"spare5", + "Name":"Spare", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":6, + "Id":"reportType", + "Name":"Report Type", + "Description":"Boat-speed polar / performance table", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Match":15, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"part", + "Name":"Part", + "Description":"Part number; the table is split across several parts that must be concatenated in order", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"spare8", + "Name":"Spare", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":9, "Id":"data", "Name":"Data", - "BitLength":1768, - "BitOffset":16, + "Description":"Raw table fragment carried by this part", + "BitLength":1784, + "BitOffset":56, "BitStart":0, "Resolution":1, "FieldType":"BINARY" @@ -65030,26 +72552,31 @@ ] }, { - "PGN":130822, - "Id":"navicoUnknown1", - "Description":"Navico: Unknown 1", - "Priority":3, + "PGN":130824, + "Id":"bGKeyValueData", + "Description":"B&G: key-value data", + "Priority":2, + "Explanation":"Contains any number of key/value pairs, sent by various B&G devices such as MFDs and Sailing Processors.", + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Lookups" ], - "FieldCount":4, - "Length":233, + "FieldCount":6, + "MinLength":2, + "RepeatingFieldSet1Size":3, + "RepeatingFieldSet1StartField":4, + "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"B & G", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":381, "Resolution":1, "Signed":false, "RangeMin":0, @@ -65085,27 +72612,61 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":1848, + "Id":"key", + "Name":"Key", + "BitLength":12, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":4092, + "UnknownValue":4095, + "OutOfRangeValue":4094, + "ReservedValue":4093, + "FieldType":"DYNAMIC_FIELD_KEY", + "LookupFieldTypeEnumeration":"BANDG_KEY_VALUE", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"length", + "Name":"Length", + "Description":"Length of field 6", + "BitLength":4, + "BitOffset":28, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"DYNAMIC_FIELD_LENGTH" + }, + { + "Order":6, + "Id":"value", + "Name":"Value", + "Description":"Data value", + "BitLengthVariable":true, + "BitOffset":32, + "BitStart":0, + "FieldType":"DYNAMIC_FIELD_VALUE" } ] }, { - "PGN":130822, - "Id":"maretronAlertControl", - "Description":"Maretron: Alert Control", + "PGN":130824, + "Id":"maretronAnnunciator", + "Description":"Maretron: Annunciator", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":13, - "Length":34, + "FieldCount":8, + "Length":9, "Fields":[ { "Order":1, @@ -65151,36 +72712,24 @@ }, { "Order":4, - "Id":"alertType", - "Name":"Alert Type", - "BitLength":4, + "Id":"field4", + "Name":"Field 4", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_TYPE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"alertCategory", - "Name":"Alert Category", - "BitLength":4, - "BitOffset":20, - "BitStart":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_CATEGORY" - }, - { - "Order":6, - "Id":"alertSystem", - "Name":"Alert System", + "Id":"field5", + "Name":"Field 5", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -65193,12 +72742,28 @@ "ReservedValue":253, "FieldType":"NUMBER" }, + { + "Order":6, + "Id":"field6", + "Name":"Field 6", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, { "Order":7, - "Id":"alertSubSystem", - "Name":"Alert Sub-System", + "Id":"field7", + "Name":"Field 7", "BitLength":8, - "BitOffset":32, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, @@ -65211,10 +72776,10 @@ }, { "Order":8, - "Id":"alertId", - "Name":"Alert ID", + "Id":"field8", + "Name":"Field 8", "BitLength":16, - "BitOffset":40, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, @@ -65224,101 +72789,133 @@ "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER" - }, + } + ] + }, + { + "PGN":130824, + "Id":"mercuryEngineKeyValueData", + "Description":"Mercury: Engine Key-Value Data", + "Priority":7, + "Explanation":"Engine diagnostic key/value pairs (distance, runtime, fuel and other cumulative counters, configuration) sent by the Mercury VesselView-Link gateway. Uses the same key/length/value scheme as the B&G PGN 130824. Keys are only partially identified.", + "Type":"Fast", + "Complete":false, + "Missing":["Lookups","Interval" + ], + "FieldCount":6, + "MinLength":2, + "RepeatingFieldSet1Size":3, + "RepeatingFieldSet1StartField":4, + "Fields":[ { - "Order":9, - "Id":"dataSourceNetworkIdName", - "Name":"Data Source Network ID NAME", - "BitLength":64, - "BitOffset":56, + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Mercury Marine", + "BitLength":11, + "BitOffset":0, "BitStart":0, + "Match":144, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, - "FieldType":"ISO_NAME" + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":10, - "Id":"dataSourceInstance", - "Name":"Data Source Instance", - "BitLength":8, - "BitOffset":120, - "BitStart":0, + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" }, { - "Order":11, - "Id":"dataSourceIndexSource", - "Name":"Data Source Index-Source", - "BitLength":8, - "BitOffset":128, + "Order":4, + "Id":"key", + "Name":"Key", + "BitLength":12, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":4092, + "UnknownValue":4095, + "OutOfRangeValue":4094, + "ReservedValue":4093, + "FieldType":"DYNAMIC_FIELD_KEY", + "LookupFieldTypeEnumeration":"MERCURY_KEY_VALUE", + "PartOfPrimaryKey":true }, { - "Order":12, - "Id":"alertOccurrenceNumber", - "Name":"Alert Occurrence Number", - "BitLength":8, - "BitOffset":136, - "BitStart":0, + "Order":5, + "Id":"length", + "Name":"Length", + "Description":"Length of field 6", + "BitLength":4, + "BitOffset":28, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"DYNAMIC_FIELD_LENGTH" }, { - "Order":13, - "Id":"maretronExtension", - "Name":"Maretron Extension", - "Description":"Maretron-specific payload following the standard Alert identity header.", - "BitLength":128, - "BitOffset":144, + "Order":6, + "Id":"value", + "Name":"Value", + "Description":"Data value", + "BitLengthVariable":true, + "BitOffset":32, "BitStart":0, - "Resolution":1, - "FieldType":"BINARY" + "FieldType":"DYNAMIC_FIELD_VALUE" } ] }, { - "PGN":130822, - "Id":"bepMarineProprietaryPgn130822", - "Description":"BEP Marine: Proprietary PGN 130822", + "PGN":130825, + "Id":"maretronDataInstanceChannelCorrelation", + "Description":"Maretron: Data Instance Channel Correlation", + "Priority":6, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":4, - "Length":223, + "FieldCount":8, + "Length":9, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -65354,37 +72951,107 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":1768, + "Id":"pgn", + "Name":"PGN", + "Description":"PGN for which the correlation is reported", + "BitLength":24, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + }, + { + "Order":5, + "Id":"hardwareChannel", + "Name":"Hardware Channel", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"instance", + "Name":"Instance", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"dataSource", + "Name":"Data Source", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"dataIndicator", + "Name":"Data Indicator", + "BitLength":8, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":130823, - "Id":"maretronProprietaryTemperatureHighRange", - "Description":"Maretron: Proprietary Temperature High Range", - "Priority":3, + "PGN":130825, + "Id":"navicoAlarm", + "Description":"Navico: Alarm", + "Priority":7, + "Explanation":"Navico alarm status record (mfg 275): Alarm Type + Alarm ID identify the fault, Alarm State tracks its lifecycle (Normal -> Active -> Silenced -> Acknowledged), and Alarm Severity classifies it.", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":9, + "FieldCount":11, + "Length":11, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -65420,8 +73087,8 @@ }, { "Order":4, - "Id":"sid", - "Name":"SID", + "Id":"instance", + "Name":"Instance", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -65436,8 +73103,8 @@ }, { "Order":5, - "Id":"instance", - "Name":"Instance", + "Id":"recordId", + "Name":"Record ID", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -65448,87 +73115,123 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { "Order":6, - "Id":"source", - "Name":"Source", - "BitLength":8, + "Id":"alarmType", + "Name":"Alarm Type", + "BitLength":16, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"TEMPERATURE_SOURCE", - "PartOfPrimaryKey":true + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"actualTemperature", - "Name":"Actual Temperature", + "Id":"alarmId", + "Name":"Alarm ID", "BitLength":16, - "BitOffset":40, + "BitOffset":48, "BitStart":0, - "Unit":"K", - "Resolution":0.1, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6553.2, + "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_ALARM_ID" }, { "Order":8, - "Id":"setTemperature", - "Name":"Set Temperature", + "Id":"alarmState", + "Name":"Alarm State", + "BitLength":3, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"ALERT_STATE" + }, + { + "Order":9, + "Id":"actionFlag", + "Name":"Action Flag", + "BitLength":1, + "BitOffset":67, + "BitStart":3, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"alarmSeverity", + "Name":"Alarm Severity", + "BitLength":4, + "BitOffset":68, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"ALERT_TYPE" + }, + { + "Order":11, + "Id":"value", + "Name":"Value", "BitLength":16, - "BitOffset":56, + "BitOffset":72, "BitStart":0, - "Unit":"K", - "Resolution":0.1, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6553.2, + "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" + "FieldType":"NUMBER" } ] }, { - "PGN":130824, - "Id":"bGKeyValueData", - "Description":"B&G: key-value data", - "Priority":2, - "Explanation":"Contains any number of key/value pairs, sent by various B&G devices such as MFDs and Sailing Processors.", + "PGN":130825, + "Id":"bepMarineProprietaryPgn130825", + "Description":"BEP Marine: Proprietary PGN 130825", "Type":"Fast", "Complete":false, - "Missing":["Lookups" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, - "MinLength":2, - "RepeatingFieldSet1Size":3, - "RepeatingFieldSet1StartField":4, - "TransmissionInterval":1000, + "FieldCount":4, + "Length":223, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"B & G", + "Description":"BEP Marine 2", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":381, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -65564,68 +73267,38 @@ }, { "Order":4, - "Id":"key", - "Name":"Key", - "BitLength":12, + "Id":"data", + "Name":"Data", + "BitLength":1768, "BitOffset":16, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":4092, - "FieldType":"DYNAMIC_FIELD_KEY", - "LookupFieldTypeEnumeration":"BANDG_KEY_VALUE", - "PartOfPrimaryKey":true - }, - { - "Order":5, - "Id":"length", - "Name":"Length", - "Description":"Length of field 6", - "BitLength":4, - "BitOffset":28, - "BitStart":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"DYNAMIC_FIELD_LENGTH" - }, - { - "Order":6, - "Id":"value", - "Name":"Value", - "Description":"Data value", - "BitLengthVariable":true, - "BitOffset":32, - "BitStart":0, - "FieldType":"DYNAMIC_FIELD_VALUE" + "FieldType":"BINARY" } ] }, { - "PGN":130824, - "Id":"maretronAnnunciator", - "Description":"Maretron: Annunciator", + "PGN":130825, + "Id":"mercuryCruiseControlData", + "Description":"Mercury: Cruise Control Data", "Priority":7, + "Explanation":"Opcode 4 (Cruise Control) sub-message of Mercury PGN 130825: engine instance, a cruise engagement/mode byte (0 = disengaged, 5 = engaged), and the cruise RPM and speed setpoints (0xFFFF = not available). Some payload bytes are not yet identified.", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":9, + "FieldCount":10, + "Length":13, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Mercury Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":144, "Resolution":1, "Signed":false, "RangeMin":0, @@ -65661,24 +73334,24 @@ }, { "Order":4, - "Id":"field4", - "Name":"Field 4", + "Id":"opcode", + "Name":"Opcode", + "Description":"Cruise Control", "BitLength":8, "BitOffset":16, "BitStart":0, + "Match":4, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"MERCURY_COMMAND_OPCODE" }, { "Order":5, - "Id":"field5", - "Name":"Field 5", + "Id":"engineInstance", + "Name":"Engine Instance", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -65693,26 +73366,21 @@ }, { "Order":6, - "Id":"field6", - "Name":"Field 6", - "BitLength":16, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":7, - "Id":"field7", - "Name":"Field 7", + "Id":"cruiseState", + "Name":"Cruise State", + "Description":"Cruise engagement/mode byte; 0 = disengaged, 5 = engaged", "BitLength":8, - "BitOffset":48, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -65725,11 +73393,12 @@ }, { "Order":8, - "Id":"field8", - "Name":"Field 8", + "Id":"cruiseRpmSetpoint", + "Name":"Cruise RPM Setpoint", "BitLength":16, - "BitOffset":56, + "BitOffset":48, "BitStart":0, + "Unit":"rpm", "Resolution":1, "Signed":false, "RangeMin":0, @@ -65738,30 +73407,58 @@ "OutOfRangeValue":65534, "ReservedValue":65533, "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"cruiseSpeedSetpoint", + "Name":"Cruise Speed Setpoint", + "BitLength":16, + "BitOffset":64, + "BitStart":0, + "Unit":"km/h", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"reserved10", + "Name":"Reserved", + "BitLength":24, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { "PGN":130825, - "Id":"maretronDataInstanceChannelCorrelation", - "Description":"Maretron: Data Instance Channel Correlation", - "Priority":6, + "Id":"mercuryCommandResponse", + "Description":"Mercury: Command/Response", + "Priority":7, + "Explanation":"Opcode-dispatched Mercury command/response channel: the Opcode field selects the sub-function and the following data is opcode-specific. Several opcodes are the proprietary-PGN equivalents of the corresponding Mercury manufacturer commands carried in PGN 126720: opcode 4 (Cruise Control), opcodes 6/7 (Active Trim command/status), opcode 8 (Autopilot), opcode 9 (Active Exhaust) and opcodes 12/13 (Oil Level check/reset).", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":8, - "Length":9, + "FieldCount":5, + "Length":33, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Mercury Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":144, "Resolution":1, "Signed":false, "RangeMin":0, @@ -65797,56 +73494,10 @@ }, { "Order":4, - "Id":"pgn", - "Name":"PGN", - "Description":"PGN for which the correlation is reported", - "BitLength":24, - "BitOffset":16, - "BitStart":0, - "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" - }, - { - "Order":5, - "Id":"hardwareChannel", - "Name":"Hardware Channel", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true - }, - { - "Order":6, - "Id":"instance", - "Name":"Instance", - "BitLength":8, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"dataSource", - "Name":"Data Source", + "Id":"opcode", + "Name":"Opcode", "BitLength":8, - "BitOffset":56, + "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, @@ -65855,46 +73506,46 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"MERCURY_COMMAND_OPCODE" }, { - "Order":8, - "Id":"dataIndicator", - "Name":"Data Indicator", - "BitLength":8, - "BitOffset":64, + "Order":5, + "Id":"data", + "Name":"Data", + "BitLength":240, + "BitOffset":24, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { - "PGN":130825, - "Id":"navicoUnknown2", - "Description":"Navico: Unknown 2", + "PGN":130826, + "Id":"maretronSwitchIndicatorStatus", + "Description":"Maretron: Switch Indicator Status", + "Priority":2, + "Explanation":"Broadcast by Maretron switching devices alongside PGN 127501. Each indicator status byte carries the state of one switch channel, encoded as 0 = Off, 1 = On, 2 = Tripped, 3 = Unknown.", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":4, - "Length":12, + "FieldCount":6, + "MinLength":4, + "RepeatingFieldSet1Size":1, + "RepeatingFieldSet1StartField":6, + "RepeatingFieldSet1CountField":5, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -65930,20 +73581,59 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":80, + "Id":"indicatorBankInstance", + "Name":"Indicator Bank Instance", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"numberOfStatusFields", + "Name":"Number of Status Fields", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"indicatorStatus", + "Name":"Indicator Status", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { - "PGN":130825, - "Id":"bepMarineProprietaryPgn130825", - "Description":"BEP Marine: Proprietary PGN 130825", + "PGN":130826, + "Id":"bepMarineProprietaryPgn130826", + "Description":"BEP Marine: Proprietary PGN 130826", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -66007,29 +73697,26 @@ }, { "PGN":130826, - "Id":"maretronSwitchIndicatorStatus", - "Description":"Maretron: Switch Indicator Status", - "Priority":2, - "Explanation":"Broadcast by Maretron switching devices alongside PGN 127501. Each indicator status byte carries the state of one switch channel, encoded as 0 = Off, 1 = On, 2 = Tripped, 3 = Unknown.", + "Id":"mercuryBamDigitalDataProxy", + "Description":"Mercury: BAM Digital-Data Proxy", + "Priority":7, + "Explanation":"Variable-length Mercury Bridge Alert Management (BAM) digital-data proxy channel; the trailing data block is opcode/instance-specific, may be empty, and its block semantics are defined by an external BAM specification rather than being locally decodable.", "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, - "MinLength":4, - "RepeatingFieldSet1Size":1, - "RepeatingFieldSet1StartField":6, - "RepeatingFieldSet1CountField":5, + "FieldCount":9, + "Length":38, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Mercury Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":144, "Resolution":1, "Signed":false, "RangeMin":0, @@ -66065,8 +73752,8 @@ }, { "Order":4, - "Id":"indicatorBankInstance", - "Name":"Indicator Bank Instance", + "Id":"type", + "Name":"Type", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -66077,13 +73764,12 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "FieldType":"NUMBER" }, { "Order":5, - "Id":"numberOfStatusFields", - "Name":"Number of Status Fields", + "Id":"instance", + "Name":"Instance", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -66098,81 +73784,50 @@ }, { "Order":6, - "Id":"indicatorStatus", - "Name":"Indicator Status", - "BitLength":8, + "Id":"field4", + "Name":"Field 4", + "BitLength":2, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":2, + "UnknownValue":3, "FieldType":"NUMBER" - } - ] - }, - { - "PGN":130826, - "Id":"bepMarineProprietaryPgn130826", - "Description":"BEP Marine: Proprietary PGN 130826", - "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":4, - "Length":223, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"BEP Marine 2", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":295, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" }, { - "Order":2, - "Id":"reserved", + "Order":7, + "Id":"reserved7", "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, + "BitLength":6, + "BitOffset":34, + "BitStart":2, "Resolution":1, "FieldType":"RESERVED" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":8, + "Id":"flag", + "Name":"Flag", + "BitLength":8, + "BitOffset":40, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":4, + "Order":9, "Id":"data", "Name":"Data", - "BitLength":1768, - "BitOffset":16, + "BitLength":256, + "BitOffset":48, "BitStart":0, "Resolution":1, "FieldType":"BINARY" @@ -66330,6 +73985,178 @@ } ] }, + { + "PGN":130827, + "Id":"furunoNavpilotStatus", + "Description":"Furuno: NavPilot Status", + "Explanation":"Broadcast by Furuno NavPilot autopilots. Carries the current rudder angle and, while engaged, the commanded course to steer; the commanded course reads unset (0xFFFF) in standby. Fields A, B, C, D are not yet fully understood.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":10, + "Length":13, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Furuno", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":1855, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"NavPilot Status", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Match":1, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"rudderAngle", + "Name":"Rudder Angle", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":6, + "Id":"a", + "Name":"A", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":true, + "RangeMin":-32767, + "RangeMax":32764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"b", + "Name":"B", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"commandedCourse", + "Name":"Commanded Course", + "BitLength":16, + "BitOffset":64, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":9, + "Id":"c", + "Name":"C", + "BitLength":8, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"d", + "Name":"D", + "BitLength":16, + "BitOffset":88, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + } + ] + }, { "PGN":130828, "Id":"simnetSetSerialNumber", @@ -66589,12 +74416,14 @@ "PGN":130829, "Id":"mercuryEngineStatus", "Description":"Mercury: Engine Status", + "Priority":7, + "Explanation":"Per-engine capability-advertisement beacon sent by the Mercury VesselView-Link gateway (one source address per engine). The last byte is a capability bitmask (bit0 = Beacon enabled, bit1 = Cruise Control capability); when bit1 is set the device also emits the Cruise Control PGN 130824. Byte 3 carries the Helm and Sub Helm station addresses for Mercury multi-helm installations.", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":3, - "Length":2, + "FieldCount":8, + "Length":5, "Fields":[ { "Order":1, @@ -66637,6 +74466,60 @@ "RangeMax":6, "FieldType":"LOOKUP", "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"reserved4", + "Name":"Reserved", + "BitLength":4, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":5, + "Id":"fieldA", + "Name":"Field A", + "Description":"Reserved (unused)", + "BitLength":4, + "BitOffset":20, + "BitStart":4, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":6, + "Id":"subHelm", + "Name":"Sub Helm", + "Description":"Helm-station sub-address (Mercury multi-helm); byte 3 low nibble", + "BitLength":4, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":7, + "Id":"helm", + "Name":"Helm", + "Description":"Helm-station address (Mercury multi-helm); byte 3 high nibble", + "BitLength":4, + "BitOffset":28, + "BitStart":4, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":8, + "Id":"capabilities", + "Name":"Capabilities", + "Description":"Capability bitmask: bit0 = Beacon, bit1 = Cruise Control capability", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, @@ -67370,6 +75253,9 @@ "Signed":false, "RangeMin":0, "RangeMax":4092, + "UnknownValue":4095, + "OutOfRangeValue":4094, + "ReservedValue":4093, "FieldType":"DYNAMIC_FIELD_KEY", "LookupFieldTypeEnumeration":"BANDG_KEY_VALUE", "PartOfPrimaryKey":true @@ -67411,6 +75297,7 @@ "Signed":false, "RangeMin":0, "RangeMax":254, + "UnknownValue":255, "FieldType":"LOOKUP", "LookupEnumeration":"BANDG_DECIMALS" }, @@ -68196,6 +76083,8 @@ "Signed":false, "RangeMin":0, "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"TANK_TYPE" }, @@ -68448,6 +76337,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -68760,6 +76650,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -69108,7 +76999,8 @@ "Id":"simnetDataSourceSelection", "Description":"Simnet: Data Source Selection", "Priority":3, - "Explanation":"Broadcast by Navico displays/heads to share which source (by NMEA 2000 NAME) is selected for each data type across the instrument network. 'Data Type' identifies the quantity (heading, depth, wind, ...); 'Source' is the 64-bit NAME of the selected device. Emitted on change. The data-type ids were mapped from a live source-selection probe; see also the compact form in PGN 130822.", + "Explanation":"Change-driven broadcast announcing which source is selected for each Data Type across the instrument network; it is the fast-packet answer to the single-frame PGN 65323 poll and shares its Data Type/Source Class namespace. Data Type identifies the quantity (heading, depth, wind, ...); Source Class tags the class of source for that quantity (1 = a direct sensor/navigation source, 100 = an autopilot-provided source) and is constant per Data Type. Source Address is the current NMEA 2000 address of the selected device and Source is that same device's 64-bit NAME (address and NAME both identify the one selected source); Change Counter increments on each selection change. See also the periodic UDB table dump in PGN 130822.", + "ResearchDoc":"navico_udb", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution" @@ -69171,8 +77063,8 @@ }, { "Order":5, - "Id":"sequence", - "Name":"Sequence", + "Id":"dataType", + "Name":"Data Type", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -69183,13 +77075,14 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DATA_SOURCE" }, { "Order":6, - "Id":"b", - "Name":"B", - "Description":"Usually 0x01", + "Id":"sourceClass", + "Name":"Source Class", + "Description":"Class of source for this Data Type, constant per Data Type: observed as 1 for direct sensor/navigation sources and 100 for autopilot-provided sources", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -69204,8 +77097,8 @@ }, { "Order":7, - "Id":"dataType", - "Name":"Data Type", + "Id":"sourceAddress", + "Name":"Source Address", "BitLength":8, "BitOffset":40, "BitStart":0, @@ -69213,8 +77106,10 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DATA_SOURCE" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":8, @@ -69228,8 +77123,8 @@ }, { "Order":9, - "Id":"c", - "Name":"C", + "Id":"changeCounter", + "Name":"Change Counter", "BitLength":8, "BitOffset":56, "BitStart":0, @@ -69250,8 +77145,9 @@ "BitOffset":64, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":1.84467440737096e+19, + "RangeMax":18446744073709551615, "FieldType":"ISO_NAME" }, { @@ -69456,6 +77352,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -69470,6 +77367,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -69484,6 +77382,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -69498,6 +77397,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -69512,6 +77412,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -69526,6 +77427,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -69540,6 +77442,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -69554,6 +77457,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" }, @@ -69568,6 +77472,7 @@ "Signed":false, "RangeMin":0, "RangeMax":2, + "UnknownValue":3, "FieldType":"LOOKUP", "LookupEnumeration":"OFF_ON" } @@ -70052,6 +77957,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SHIP_TYPE" }, @@ -70181,6 +78089,125 @@ } ] }, + { + "PGN":130842, + "Id":"simnetAisSilentMode", + "Description":"Simnet: AIS Silent Mode", + "Explanation":"Simnet AIS silent-mode read/reply (Message ID 4 of the 130842 family, alongside the Class B static-data Part A/B forms). A source reads (Operation = Read) or reports (Operation = Reply) the AIS transceiver's silent-mode state; the two trailing bytes carry the state and are constant in the observed traffic.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":7, + "Length":5, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Simrad", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":1857, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"AIS Silent Mode", + "BitLength":6, + "BitOffset":16, + "BitStart":0, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":61, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"operation", + "Name":"Operation", + "BitLength":2, + "BitOffset":22, + "BitStart":6, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_KEY_OPERATION" + }, + { + "Order":6, + "Id":"d", + "Name":"D", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"e", + "Name":"E", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, { "PGN":130843, "Id":"maretronWindlassControlCommand", @@ -70311,8 +78338,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -70329,8 +78356,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -70347,8 +78374,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -70365,8 +78392,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -70566,13 +78593,12 @@ "Description":"Furuno: Multi Sats In View Extended", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":15, - "MinLength":6, + "FieldCount":16, + "MinLength":7, "RepeatingFieldSet1Size":6, - "RepeatingFieldSet1StartField":10, - "RepeatingFieldSet1CountField":9, + "RepeatingFieldSet1StartField":11, "Fields":[ { "Order":1, @@ -70688,8 +78714,8 @@ }, { "Order":9, - "Id":"satsInView", - "Name":"Sats in View", + "Id":"satsInUse", + "Name":"Sats in Use", "BitLength":8, "BitOffset":40, "BitStart":0, @@ -70704,8 +78730,8 @@ }, { "Order":10, - "Id":"status", - "Name":"Status", + "Id":"satsInView", + "Name":"Sats in View", "BitLength":8, "BitOffset":48, "BitStart":0, @@ -70745,8 +78771,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -70763,8 +78789,8 @@ "Unit":"rad", "Resolution":0.0001, "Signed":true, - "RangeMin":-3.1415926, - "RangeMax":3.1415926, + "RangeMin":-3.14159265358979, + "RangeMax":3.14159265358979, "UnknownValue":32767, "OutOfRangeValue":32766, "ReservedValue":32765, @@ -70806,6 +78832,19 @@ "ReservedValue":2147483645, "FieldType":"NUMBER", "PhysicalQuantity":"DISTANCE" + }, + { + "Order":16, + "Id":"baselineStatus", + "Name":"Baseline status", + "BitLength":8, + "BitOffset":144, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":255, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"FURUNO_BASELINE_STATUS" } ] }, @@ -70813,11 +78852,13 @@ "PGN":130845, "Id":"simnetKeyValue", "Description":"Simnet: Key Value", + "Explanation":"Navico/Simrad get-set protocol for instrument and autopilot settings. The Key selects which parameter (and thus the data type of the Value); the Operation byte selects read/set/reply. The Operation byte is NOT a value length (the Value width comes from the resolved data type); it is only ever 0/1/2, confirmed against NAC3 and AC42 autopilot and MFD capture corpus.", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":11, + "FieldCount":10, "MinLength":10, "TransmissionIrregular":true, "Fields":[ @@ -70882,8 +78923,9 @@ }, { "Order":5, - "Id":"repeatIndicator", - "Name":"Repeat Indicator", + "Id":"instance", + "Name":"Instance", + "Description":"Instance index when a Key has multiple sources/instances; 0xFF when not applicable. Caller-supplied and echoed back in replies.", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -70891,13 +78933,16 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"REPEAT_INDICATOR" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"displayGroup", - "Name":"Display Group", + "Id":"networkGroup", + "Name":"Network Group", + "Description":"This can be either the Display Group, Units Group, Damping Group or Alarms Group, depending on which key is being set", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -70905,49 +78950,52 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DISPLAY_GROUP" + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", + "Id":"source", + "Name":"Source", + "Description":"Source/owner that provided the value; set by the responder when Operation = Reply, 0xFF in read/set requests. This is NOT an NMEA 2000 bus address.", "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":8, "Id":"key", "Name":"Key", - "BitLength":16, + "Description":"Composite 24-bit little-endian key = command group (low byte) | parameter key (upper 16 bits) << 8. The two parts are NOT split into separate fields because the parameter key is only unique within a command group (e.g. key 1 is \"True wind high\" in group 4 but \"Deep water\" in group 8), so the value's data type can only be resolved from the group and key together. This key space is distinct from the PGN 130822 tDataType ids and from the B&G and Mercury key spaces.", + "BitLength":24, "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":16777212, + "UnknownValue":16777215, + "OutOfRangeValue":16777214, + "ReservedValue":16777213, "FieldType":"DYNAMIC_FIELD_KEY", "LookupFieldTypeEnumeration":"SIMNET_KEY_VALUE", "PartOfPrimaryKey":true }, { "Order":9, - "Id":"spare9", - "Name":"Spare", - "BitLength":8, - "BitOffset":64, - "BitStart":0, - "Resolution":1, - "FieldType":"SPARE" - }, - { - "Order":10, - "Id":"minlength", - "Name":"MinLength", - "Description":"Possibly the length of data field; probably something else", + "Id":"operation", + "Name":"Operation", "BitLength":8, "BitOffset":72, "BitStart":0, @@ -70958,13 +79006,14 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_KEY_OPERATION" }, { - "Order":11, + "Order":10, "Id":"value", "Name":"Value", - "Description":"Data value", + "Description":"Always 4 bytes on the bus but actual width and datatype defined per key", "BitLengthVariable":true, "BitOffset":80, "BitStart":0, @@ -70975,7 +79024,9 @@ { "PGN":130846, "Id":"simnetParameterSet", - "Description":"Simnet: Parameter Set", + "Description":"Simnet: Key Value - Long", + "Explanation":"Variable-length companion to PGN 130845 (Simnet: Key Value). The header is identical to 130845 (Address, Display Group, the 24-bit composite Key and the Read/Set/Reply Operation byte), but the fixed 4-byte value is replaced by an explicit Length byte followed by that many bytes of Value. Devices switch from 130845 to 130846 whenever a parameter's value will not fit in 4 bytes, so 130846 is also the echo/reply form (Operation = 2) for wide parameters. Observed in the nac3-operations capture corpus.", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution" @@ -71045,9 +79096,9 @@ }, { "Order":5, - "Id":"b", - "Name":"B", - "Description":"00, 01 or FF observed", + "Id":"instance", + "Name":"Instance", + "Description":"Instance index when a Key has multiple sources/instances; 0xFF when not applicable. Caller-supplied and echoed back in replies.", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -71062,8 +79113,9 @@ }, { "Order":6, - "Id":"displayGroup", - "Name":"Display Group", + "Id":"networkGroup", + "Name":"Network Group", + "Description":"This can be either the Display Group, Units Group, Damping Group or Alarms Group, depending on which key is being set", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -71071,56 +79123,70 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DISPLAY_GROUP" + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, - "Id":"d", - "Name":"D", - "Description":"Various values observed", - "BitLength":16, + "Id":"source", + "Name":"Source", + "Description":"Source/owner that provided the value; set by the responder when Operation = Reply, 0xFF in read/set requests. This is NOT an NMEA 2000 bus address.", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":8, "Id":"key", "Name":"Key", - "BitLength":16, - "BitOffset":56, + "Description":"Composite 24-bit little-endian key = command group (low byte) | parameter key (upper 16 bits) << 8. The two parts are NOT split into separate fields because the parameter key is only unique within a command group (e.g. key 1 is \"True wind high\" in group 4 but \"Deep water\" in group 8), so the value's data type can only be resolved from the group and key together. This key space is distinct from the PGN 130822 tDataType ids and from the B&G and Mercury key spaces.", + "BitLength":24, + "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":16777212, + "UnknownValue":16777215, + "OutOfRangeValue":16777214, + "ReservedValue":16777213, "FieldType":"DYNAMIC_FIELD_KEY", "LookupFieldTypeEnumeration":"SIMNET_KEY_VALUE", "PartOfPrimaryKey":true }, { "Order":9, - "Id":"spare9", - "Name":"Spare", + "Id":"operation", + "Name":"Operation", "BitLength":8, "BitOffset":72, "BitStart":0, "Resolution":1, - "FieldType":"SPARE" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_KEY_OPERATION" }, { "Order":10, "Id":"length", "Name":"Length", - "Description":"Possibly the length of data field; probably something else", + "Description":"Number of bytes in the Value field that follows", "BitLength":8, "BitOffset":80, "BitStart":0, @@ -71131,13 +79197,13 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"DYNAMIC_FIELD_LENGTH" }, { "Order":11, "Id":"value", "Name":"Value", - "Description":"Data value", + "Description":"Variable-width value; width given by Length, datatype resolved per Key", "BitLengthVariable":true, "BitOffset":88, "BitStart":0, @@ -71594,7 +79660,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -71612,7 +79678,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -71699,6 +79765,7 @@ "Id":"simnetCommandApStandby", "Description":"Simnet: Command AP Standby", "Priority":2, + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -71777,20 +79844,20 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, @@ -71804,9 +79871,10 @@ "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, @@ -71851,6 +79919,7 @@ "Id":"simnetCommandApNodrift", "Description":"Simnet: Command AP NoDrift", "Priority":2, + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -71929,20 +79998,20 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, @@ -71956,9 +80025,10 @@ "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, @@ -72003,6 +80073,7 @@ "Id":"simnetCommandApWind", "Description":"Simnet: Command AP Wind", "Priority":2, + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -72081,20 +80152,20 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, @@ -72108,9 +80179,10 @@ "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, @@ -72155,6 +80227,7 @@ "Id":"simnetCommandApNav", "Description":"Simnet: Command AP Nav", "Priority":2, + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -72233,20 +80306,20 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, @@ -72260,9 +80333,10 @@ "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, @@ -72307,6 +80381,7 @@ "Id":"simnetCommandApHeading", "Description":"Simnet: Command AP Heading", "Priority":2, + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -72385,20 +80460,20 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, @@ -72412,9 +80487,10 @@ "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, @@ -72459,6 +80535,7 @@ "Id":"simnetCommandApTack", "Description":"Simnet: Command AP Tack", "Priority":2, + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -72537,20 +80614,20 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, @@ -72564,9 +80641,10 @@ "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, @@ -72633,6 +80711,7 @@ "Id":"simnetCommandApFollowUp", "Description":"Simnet: Command AP Follow Up", "Priority":2, + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -72711,46 +80790,201 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_NETWORK_GROUP" + }, + { + "Order":7, + "Id":"commandType", + "Name":"Command Type", + "Description":"Follow Up", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Match":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true + }, + { + "Order":8, + "Id":"event", + "Name":"Event", + "Description":"Follow Up mode", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Match":14, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_AP_EVENTS" + }, + { + "Order":9, + "Id":"spare9", + "Name":"Spare", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":10, + "Id":"reserved10", + "Name":"Reserved", + "BitLength":32, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":130850, + "Id":"simnetCommandApChangeCourse", + "Description":"Simnet: Command AP Change Course", + "Priority":2, + "ResearchDoc":"navico_alarms_and_commands", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":12, + "Length":12, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Simrad", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":1857, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"address", + "Name":"Address", + "Description":"NMEA 2000 address of commanded device", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"reserved5", + "Name":"Reserved", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":6, + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, "Id":"commandType", "Name":"Command Type", - "Description":"Follow Up", + "Description":"AP Command", "BitLength":8, "BitOffset":40, "BitStart":0, - "Match":2, + "Match":10, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, "Id":"event", "Name":"Event", - "Description":"Follow Up mode", + "Description":"Change course", "BitLength":8, "BitOffset":48, "BitStart":0, - "Match":14, + "Match":26, "Resolution":1, "Signed":false, "RangeMin":0, @@ -72770,26 +81004,64 @@ }, { "Order":10, - "Id":"reserved10", - "Name":"Reserved", - "BitLength":32, + "Id":"direction", + "Name":"Direction", + "BitLength":8, "BitOffset":64, "BitStart":0, "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DIRECTION" + }, + { + "Order":11, + "Id":"angle", + "Name":"Angle", + "Description":"Absolute change in desired attitude, generally 1 or 10 degrees", + "BitLength":16, + "BitOffset":72, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":12, + "Id":"reserved12", + "Name":"Reserved", + "BitLength":8, + "BitOffset":88, + "BitStart":0, + "Resolution":1, "FieldType":"RESERVED" } ] }, { "PGN":130850, - "Id":"simnetCommandApChangeCourse", - "Description":"Simnet: Command AP Change Course", + "Id":"simnetEventCommandTimer", + "Description":"Simnet: Event Command: Timer", "Priority":2, + "Explanation":"Race and trip timer commands sent by a Navico MFD, all observed live: race start/stop/sync/reset and trip enable/disable/reset, with Parameter 1 selecting the trip (0 = Trip 1, 1 = Trip 2). Broadcast to a display group, so every device in the group acts.", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":12, + "FieldCount":11, "Length":12, "Fields":[ { @@ -72838,7 +81110,7 @@ "Order":4, "Id":"address", "Name":"Address", - "Description":"NMEA 2000 address of commanded device", + "Description":"NMEA 2000 address of commanded device, used for autopilot events", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -72863,67 +81135,60 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, - "Id":"commandType", - "Name":"Command Type", - "Description":"AP Command", + "Id":"eventType", + "Name":"Event Type", + "Description":"Timer", "BitLength":8, "BitOffset":40, "BitStart":0, - "Match":10, + "Match":23, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, "Id":"event", "Name":"Event", - "Description":"Change course", - "BitLength":8, + "BitLength":16, "BitOffset":48, "BitStart":0, - "Match":26, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_EVENTS" + "LookupEnumeration":"SIMNET_TIMER_EVENT" }, { "Order":9, - "Id":"spare9", - "Name":"Spare", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "FieldType":"SPARE" - }, - { - "Order":10, - "Id":"direction", - "Name":"Direction", + "Id":"parameter1", + "Name":"Parameter 1", + "Description":"Event dependent; for the trip timer 0 = Trip 1, 1 = Trip 2", "BitLength":8, "BitOffset":64, "BitStart":0, @@ -72931,37 +81196,44 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DIRECTION" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":11, - "Id":"angle", - "Name":"Angle", - "Description":"Absolute change in desired attitude, generally 1 or 10 degrees", + "Order":10, + "Id":"parameter2", + "Name":"Parameter 2", + "Description":"Event dependent", "BitLength":16, "BitOffset":72, "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "FieldType":"NUMBER" }, { - "Order":12, - "Id":"reserved12", - "Name":"Reserved", + "Order":11, + "Id":"parameter3", + "Name":"Parameter 3", + "Description":"Event dependent", "BitLength":8, "BitOffset":88, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, @@ -72970,12 +81242,13 @@ "Id":"simnetAlarm", "Description":"Simnet: Alarm", "Priority":2, - "Explanation":"There may follow a PGN 130856 'Simnet: Alarm Text' message with a textual explanation of the alarm", + "Explanation":"An alarm lifecycle command (Activate when it triggers, Acknowledge/Silence on user action, Deactivate when it clears) for the alarm named by 'Alarm ID'. Any device may issue these, which is why acknowledging an alarm on one display clears it on the others. There may follow a PGN 130856 'Simnet: Alarm Message' with a textual explanation of the alarm.", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":11, + "FieldCount":12, "Length":12, "TransmissionIrregular":true, "Fields":[ @@ -73050,49 +81323,69 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Alarm", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":1, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, - "Id":"reserved7", - "Name":"Reserved", + "Id":"eventType", + "Name":"Event Type", + "Description":"Alarm", "BitLength":8, "BitOffset":40, "BitStart":0, + "Match":255, "Resolution":1, - "FieldType":"RESERVED" + "Signed":false, + "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, - "Id":"alarm", - "Name":"Alarm", - "BitLength":16, + "Id":"command", + "Name":"Command", + "BitLength":8, "BitOffset":48, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_ALARM" + "LookupEnumeration":"SIMNET_ALARM_COMMAND" }, { "Order":9, - "Id":"messageId", - "Name":"Message ID", + "Id":"spare9", + "Name":"Spare", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":10, + "Id":"alarmId", + "Name":"Alarm ID", "BitLength":16, "BitOffset":64, "BitStart":0, @@ -73103,10 +81396,11 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_ALARM_ID" }, { - "Order":10, + "Order":11, "Id":"f", "Name":"F", "BitLength":8, @@ -73122,7 +81416,7 @@ "FieldType":"NUMBER" }, { - "Order":11, + "Order":12, "Id":"g", "Name":"G", "BitLength":8, @@ -73145,6 +81439,7 @@ "Description":"Simnet: AP command", "Priority":2, "Explanation":"Other Simnet AP command", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution" @@ -73224,34 +81519,37 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, "Id":"commandType", "Name":"Command Type", + "Description":"AP Command", "BitLength":8, "BitOffset":40, "BitStart":0, + "Match":10, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, @@ -73264,6 +81562,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SIMNET_AP_EVENTS" }, @@ -73345,6 +81646,7 @@ "Description":"Simnet: Event", "Priority":2, "Explanation":"Other Simnet Event", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution" @@ -73424,18 +81726,20 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, @@ -73511,14 +81815,16 @@ }, { "PGN":130851, - "Id":"simnetEventReplyApCommand", - "Description":"Simnet: Event Reply: AP command", + "Id":"simnetApCommandReplyChangeCourse", + "Description":"Simnet: AP command Reply: Change Course", "Priority":7, + "Explanation":"Reply emitted by the autopilot (NAC-3/AC-42) echoing a 130850 'Command AP Change Course' that was addressed to it.", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":11, + "FieldCount":12, "Length":12, "Fields":[ { @@ -73565,44 +81871,37 @@ }, { "Order":4, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"AP command", + "Id":"address", + "Name":"Address", + "Description":"NMEA 2000 address of the autopilot that ran the command", "BitLength":8, "BitOffset":16, "BitStart":0, - "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"b", - "Name":"B", - "BitLength":16, + "Id":"reserved5", + "Name":"Reserved", + "BitLength":8, "BitOffset":24, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"RESERVED" }, { "Order":6, - "Id":"address", - "Name":"Address", - "Description":"NMEA 2000 address of controlling device", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, - "BitOffset":40, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -73611,15 +81910,35 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, + "Id":"commandType", + "Name":"Command Type", + "Description":"AP Command", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Match":10, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true + }, + { + "Order":8, "Id":"event", "Name":"Event", + "Description":"Change course", "BitLength":8, "BitOffset":48, "BitStart":0, + "Match":26, "Resolution":1, "Signed":false, "RangeMin":0, @@ -73628,23 +81947,17 @@ "LookupEnumeration":"SIMNET_AP_EVENTS" }, { - "Order":8, - "Id":"c", - "Name":"C", + "Order":9, + "Id":"spare9", + "Name":"Spare", "BitLength":8, "BitOffset":56, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"SPARE" }, { - "Order":9, + "Order":10, "Id":"direction", "Name":"Direction", "BitLength":8, @@ -73654,13 +81967,17 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SIMNET_DIRECTION" }, { - "Order":10, + "Order":11, "Id":"angle", "Name":"Angle", + "Description":"Absolute change in desired attitude, generally 1 or 10 degrees", "BitLength":16, "BitOffset":72, "BitStart":0, @@ -73668,7 +81985,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -73676,29 +81993,24 @@ "PhysicalQuantity":"ANGLE" }, { - "Order":11, - "Id":"g", - "Name":"G", + "Order":12, + "Id":"reserved12", + "Name":"Reserved", "BitLength":8, "BitOffset":88, "BitStart":0, "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"RESERVED" } ] }, { "PGN":130851, - "Id":"simnetApCommandReplyChangeCourse", - "Description":"Simnet: AP command Reply: Change Course", + "Id":"simnetApCommandReply", + "Description":"Simnet: AP command Reply", "Priority":7, - "Explanation":"Reply emitted by the autopilot (NAC-3/AC-42) echoing a 130850 'Command AP Change Course' that was addressed to it.", + "Explanation":"Reply emitted by the autopilot (NAC-3/AC-42) acknowledging an addressed 130850 'Simnet: AP command' by echoing it back, byte-for-byte. The autopilot sends exactly one per addressed command (Address = its own NMEA address), within ~20-70 ms; broadcast commands (Address 0xFF) are not acknowledged.", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -73777,20 +82089,20 @@ }, { "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", + "Id":"networkGroup", + "Name":"Network Group", "BitLength":8, "BitOffset":32, "BitStart":0, - "Match":255, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":255, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true + "LookupEnumeration":"SIMNET_NETWORK_GROUP" }, { "Order":7, @@ -73804,23 +82116,25 @@ "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, + "RangeMax":255, "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" + "LookupEnumeration":"SIMNET_EVENT_TYPE", + "PartOfPrimaryKey":true }, { "Order":8, "Id":"event", "Name":"Event", - "Description":"Change course", "BitLength":8, "BitOffset":48, "BitStart":0, - "Match":26, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"SIMNET_AP_EVENTS" }, @@ -73836,8 +82150,8 @@ }, { "Order":10, - "Id":"direction", - "Name":"Direction", + "Id":"d", + "Name":"D", "BitLength":8, "BitOffset":64, "BitStart":0, @@ -73845,27 +82159,26 @@ "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DIRECTION" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":11, - "Id":"angle", - "Name":"Angle", - "Description":"Absolute change in desired attitude, generally 1 or 10 degrees", + "Id":"value", + "Name":"Value", "BitLength":16, "BitOffset":72, "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":65532, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "FieldType":"NUMBER" }, { "Order":12, @@ -73880,27 +82193,28 @@ ] }, { - "PGN":130851, - "Id":"simnetApCommandReply", - "Description":"Simnet: AP command Reply", - "Priority":7, - "Explanation":"Reply emitted by the autopilot (NAC-3/AC-42) acknowledging an addressed 130850 'Simnet: AP command' by echoing it back, byte-for-byte. The autopilot sends exactly one per addressed command (Address = its own NMEA address), within ~20-70 ms; broadcast commands (Address 0xFF) are not acknowledged.", + "PGN":130852, + "Id":"navicoDiagnosticData", + "Description":"Navico: Diagnostic Data", + "Explanation":"Device diagnostic report, returned in reply to a PGN 126208 Request Group Function for PGN 130852 that carries the Navico manufacturer (275) and Marine industry parameters. Emitted by both NEON- and Triton-generation Navico devices. After the manufacturer field and an Instance/channel byte, the frame carries a list of {Field ID, Length, Value} records to the end of the fast-packet; Length is the value width (1, 2 or 4 bytes). Field IDs index a set of CAN bus diagnostic counters; ids 4/5/7 (Rx Messages, Tx Messages, Fast Packet Errors) are confirmed against a device's on-screen bus statistics. Ids 0-3 are the rx/tx overflow and error counters (zero on a healthy bus, so their order is not yet distinguished) and id 22 relates to bus state; those are shown numerically. Bus Load shown in the device UI is computed locally and is not carried here.", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":12, - "Length":12, + "FieldCount":7, + "MinLength":3, + "RepeatingFieldSet1Size":3, + "RepeatingFieldSet1StartField":5, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Navico", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":275, "Resolution":1, "Signed":false, "RangeMin":0, @@ -73936,9 +82250,9 @@ }, { "Order":4, - "Id":"address", - "Name":"Address", - "Description":"NMEA 2000 address of the autopilot that ran the command", + "Id":"instance", + "Name":"Instance", + "Description":"Diagnostic channel/instance the report covers; echoed from the request (0 when unspecified)", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -73953,75 +82267,29 @@ }, { "Order":5, - "Id":"reserved5", - "Name":"Reserved", + "Id":"fieldId", + "Name":"Field ID", "BitLength":8, "BitOffset":24, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":6, - "Id":"proprietaryId", - "Name":"Proprietary ID", - "Description":"Autopilot", - "BitLength":8, - "BitOffset":32, - "BitStart":0, - "Match":255, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_EVENT_COMMAND", - "PartOfPrimaryKey":true - }, - { - "Order":7, - "Id":"commandType", - "Name":"Command Type", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_COMMAND_TYPE" - }, - { - "Order":8, - "Id":"event", - "Name":"Event", - "BitLength":8, - "BitOffset":48, - "BitStart":0, - "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_EVENTS" - }, - { - "Order":9, - "Id":"spare9", - "Name":"Spare", - "BitLength":8, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "FieldType":"SPARE" + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"DYNAMIC_FIELD_KEY", + "LookupFieldTypeEnumeration":"NAVICO_DIAGNOSTIC", + "PartOfPrimaryKey":true }, { - "Order":10, - "Id":"d", - "Name":"D", + "Order":6, + "Id":"length", + "Name":"Length", + "Description":"Value width in bytes (observed 1, 2 or 4)", "BitLength":8, - "BitOffset":64, + "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, @@ -74030,88 +82298,17 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"DYNAMIC_FIELD_LENGTH" }, { - "Order":11, + "Order":7, "Id":"value", "Name":"Value", - "BitLength":16, - "BitOffset":72, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":12, - "Id":"reserved12", - "Name":"Reserved", - "BitLength":8, - "BitOffset":88, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - } - ] - }, - { - "PGN":130852, - "Id":"navicoProprietary2Fp", - "Description":"Navico: Proprietary 2 FP", - "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":3, - "Length":2, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Navico", - "BitLength":11, - "BitOffset":0, + "Description":"Counter value; rendered as a decimal number for known Field IDs, raw bytes otherwise", + "BitLengthVariable":true, + "BitOffset":40, "BitStart":0, - "Match":275, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "FieldType":"DYNAMIC_FIELD_VALUE" } ] }, @@ -74120,6 +82317,7 @@ "Id":"simnetAlarmMessage", "Description":"Simnet: Alarm Message", "Explanation":"Usually accompanied by a PGN 130850 'Simnet: Alarm' message with the same information in binary form.", + "ResearchDoc":"navico_alarms_and_commands", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution" @@ -74172,8 +82370,8 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", + "Id":"alarmId", + "Name":"Alarm ID", "BitLength":16, "BitOffset":16, "BitStart":0, @@ -74184,7 +82382,8 @@ "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_ALARM_ID" }, { "Order":5, @@ -74383,61 +82582,6 @@ } ] }, - { - "PGN":130861, - "Id":"simradEngineData", - "Description":"Simrad: Engine Data", - "Type":"Fast", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" - ], - "FieldCount":3, - "Length":2, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Simrad", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":1857, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" - } - ] - }, { "PGN":130880, "Id":"airmarAdditionalWeatherData", @@ -76016,7 +84160,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -76034,7 +84178,7 @@ "Resolution":0.0001, "Signed":false, "RangeMin":0, - "RangeMax":6.2831852, + "RangeMax":6.28318530717959, "UnknownValue":65535, "OutOfRangeValue":65534, "ReservedValue":65533, @@ -76434,6 +84578,9 @@ "Signed":false, "RangeMin":0, "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"AIRMAR_POST_ID" }, diff --git a/src/enums.ts b/src/enums.ts index 741d9931..86c60683 100644 --- a/src/enums.ts +++ b/src/enums.ts @@ -1,775 +1,467 @@ /** * @category Enumerations */ -export enum LightingCommand { - Idle = 'Idle', - DetectDevices = 'Detect Devices', - Reboot = 'Reboot', - FactoryReset = 'Factory Reset', - PoweringUp = 'Powering Up', +export enum Acceptability { + BadLevel = 'Bad level', + BadFrequency = 'Bad frequency', + BeingQualified = 'Being qualified', + Good = 'Good', } /** * @category Enumerations */ -export const LightingCommandValues: {[key: string]: number} = { - [LightingCommand.Idle]: 0x0, - [LightingCommand.DetectDevices]: 0x1, - [LightingCommand.Reboot]: 0x2, - [LightingCommand.FactoryReset]: 0x3, - [LightingCommand.PoweringUp]: 0x4, +export const AcceptabilityValues: {[key: string]: number} = { + [Acceptability.BadLevel]: 0x0, + [Acceptability.BadFrequency]: 0x1, + [Acceptability.BeingQualified]: 0x2, + [Acceptability.Good]: 0x3, } /** * @category Enumerations */ -export enum IndustryCode { - Global = 'Global', - Highway = 'Highway', - Agriculture = 'Agriculture', - Construction = 'Construction', - MarineIndustry = 'Marine Industry', - Industrial = 'Industrial', - // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values - Marine = 'Marine Industry', +export enum AccessLevel { + Locked = 'Locked', + UnlockedLevel1 = 'unlocked level 1', + UnlockedLevel2 = 'unlocked level 2', } /** * @category Enumerations */ -export const IndustryCodeValues: {[key: string]: number} = { - [IndustryCode.Global]: 0x0, - [IndustryCode.Highway]: 0x1, - [IndustryCode.Agriculture]: 0x2, - [IndustryCode.Construction]: 0x3, - [IndustryCode.MarineIndustry]: 0x4, - [IndustryCode.Industrial]: 0x5, - Marine: 0x4, +export const AccessLevelValues: {[key: string]: number} = { + [AccessLevel.Locked]: 0x0, + [AccessLevel.UnlockedLevel1]: 0x1, + [AccessLevel.UnlockedLevel2]: 0x2, } /** * @category Enumerations */ -export enum ManufacturerCode { - ArksEnterprisesInc = 'ARKS Enterprises, Inc.', - FwMurphyenovationControls = 'FW Murphy/Enovation Controls', - TwinDisc = 'Twin Disc', - KohlerPowerSystems = 'Kohler Power Systems', - HemisphereGpsInc = 'Hemisphere GPS Inc', - BepMarine = 'BEP Marine', - Airmar = 'Airmar', - Maretron = 'Maretron', - Lowrance = 'Lowrance', - MercuryMarine = 'Mercury Marine', - NautibusElectronicGmbH = 'Nautibus Electronic GmbH', - BlueWaterData = 'Blue Water Data', - Westerbeke = 'Westerbeke', - IssproInc = 'ISSPRO Inc', - OffshoreSystemsukLtd = 'Offshore Systems (UK) Ltd.', - Evinrudebrp = 'Evinrude/BRP', - CpacSystemsAb = 'CPAC Systems AB', - XantrexTechnologyInc = 'Xantrex Technology Inc.', - MarlinTechnologiesInc = 'Marlin Technologies, Inc.', - YanmarMarine = 'Yanmar Marine', - VolvoPenta = 'Volvo Penta', - HondaMarine = 'Honda Marine', - CarlingTechnologiesIncmoritzAerospace = 'Carling Technologies Inc. (Moritz Aerospace)', - BeedeInstruments = 'Beede Instruments', - FloscanInstrumentCoInc = 'Floscan Instrument Co. Inc.', - Nobletec = 'Nobletec', - MysticValleyCommunications = 'Mystic Valley Communications', - Actia = 'Actia', - HondaMarine2 = 'Honda Marine 2', - DisenosYTechnologia = 'Disenos Y Technologia', - DigitalSwitchingSystems = 'Digital Switching Systems', - Xintexatena = 'Xintex/Atena', - EmmiNetworkSL = 'EMMI NETWORK S.L.', - HondaMarine3 = 'Honda Marine 3', - Zf = 'ZF', - Garmin = 'Garmin', - YachtMonitoringSolutions = 'Yacht Monitoring Solutions', - SailormadeMarineTelemetrytetraTechnologyLtd = 'Sailormade Marine Telemetry/Tetra Technology LTD', - Eride = 'Eride', - HondaMarine4 = 'Honda Marine 4', - HondaMotorCompanyLtd = 'Honda Motor Company LTD', - Groco = 'Groco', - Actisense = 'Actisense', - AmphenolLtwTechnology = 'Amphenol LTW Technology', - Navico = 'Navico', - HamiltonJet = 'Hamilton Jet', - SeaRecovery = 'Sea Recovery', - CoelmoSrlItaly = 'Coelmo SRL Italy', - BepMarine2 = 'BEP Marine 2', - EmpirBus = 'Empir Bus', - NovAtel = 'NovAtel', - SleipnerMotorAs = 'Sleipner Motor AS', - MbwTechnologies = 'MBW Technologies', - FischerPanda = 'Fischer Panda', - Icom = 'ICOM', - Qwerty = 'Qwerty', - Dief = 'Dief', - BoeningAutomationstechnologieGmbHCoKg = 'Boening Automationstechnologie GmbH & Co. KG', - KoreanMaritimeUniversity = 'Korean Maritime University', - ThraneAndThrane = 'Thrane and Thrane', - Mastervolt = 'Mastervolt', - FischerPandaGenerators = 'Fischer Panda Generators', - VictronEnergy = 'Victron Energy', - RollsRoyceMarine = 'Rolls Royce Marine', - ElectronicDesign = 'Electronic Design', - NorthernLights = 'Northern Lights', - Glendinning = 'Glendinning', - BG = 'B & G', - RosePointNavigationSystems = 'Rose Point Navigation Systems', - JohnsonOutdoorsMarineElectronicsIncGeonav = 'Johnson Outdoors Marine Electronics Inc Geonav', - Capi2 = 'Capi 2', - BeyondMeasure = 'Beyond Measure', - LivorsiMarine = 'Livorsi Marine', - ComNav = 'ComNav', - Chetco = 'Chetco', - FusionElectronics = 'Fusion Electronics', - StandardHorizon = 'Standard Horizon', - TrueHeadingAb = 'True Heading AB', - EgersundMarineElectronicsAs = 'Egersund Marine Electronics AS', - EmTrakMarineElectronics = 'em-trak Marine Electronics', - TohatsuCoJp = 'Tohatsu Co, JP', - DigitalYacht = 'Digital Yacht', - ComarSystemsLimited = 'Comar Systems Limited', - Cummins = 'Cummins', - VdoakaContinentalCorporation = 'VDO (aka Continental-Corporation)', - ParkerHannifinAkaVillageMarineTech = 'Parker Hannifin aka Village Marine Tech', - AlltekMarineElectronicsCorp = 'Alltek Marine Electronics Corp', - SanGiorgioSEIN = 'SAN GIORGIO S.E.I.N', - VeethreeElectronicsMarine = 'Veethree Electronics & Marine', - HumminbirdMarineElectronics = 'Humminbird Marine Electronics', - SiTexMarineElectronics = 'SI-TEX Marine Electronics', - SeaCrossMarineAb = 'Sea Cross Marine AB', - GmeAkaStandardCommunicationsPtyLtd = 'GME aka Standard Communications Pty LTD', - HumminbirdMarineElectronics2 = 'Humminbird Marine Electronics 2', - OceanSatBv = 'Ocean Sat BV', - ChetcoDigitialInstruments = 'Chetco Digitial Instruments', - Watcheye = 'Watcheye', - LcjCapteurs = 'Lcj Capteurs', - AttwoodMarine = 'Attwood Marine', - NaviopSRL = 'Naviop S.R.L.', - VesperMarineLtd = 'Vesper Marine Ltd', - MarinesoftCoLtd = 'Marinesoft Co. LTD', - Simarine = 'Simarine', - NoLandEngineering = 'NoLand Engineering', - TransasUsa = 'Transas USA', - NationalInstrumentsKorea = 'National Instruments Korea', - NationalMarineElectronicsAssociation = 'National Marine Electronics Association', - OnwaMarine = 'Onwa Marine', - Webasto = 'Webasto', - MarinecraftsouthKorea = 'Marinecraft (South Korea)', - McMurdoGroupAkaOroliaLtd = 'McMurdo Group aka Orolia LTD', - Advansea = 'Advansea', - Kvh = 'KVH', - SanJoseTechnology = 'San Jose Technology', - YachtControl = 'Yacht Control', - SuzukiMotorCorporation = 'Suzuki Motor Corporation', - UsCoastGuard = 'US Coast Guard', - ShipModuleAkaCustomware = 'Ship Module aka Customware', - AquaticAv = 'Aquatic AV', - AventicsGmbH = 'Aventics GmbH', - Intellian = 'Intellian', - SamwonIt = 'SamwonIT', - ArltTecnologies = 'Arlt Tecnologies', - BavariaYacts = 'Bavaria Yacts', - DiverseYachtServices = 'Diverse Yacht Services', - WemaUSADbaKus = 'Wema U.S.A dba KUS', - Garmin2 = 'Garmin 2', - ShenzhenJiuzhouHimunication = 'Shenzhen Jiuzhou Himunication', - RockfordCorp = 'Rockford Corp', - HarmanInternational = 'Harman International', - JlAudio = 'JL Audio', - LarsThrane = 'Lars Thrane', - Autonnic = 'Autonnic', - YachtDevices = 'Yacht Devices', - ReapSystems = 'REAP Systems', - AuElectronicsGroup = 'Au Electronics Group', - LxNav = 'LxNav', - LittelfuseIncformerlyCarlingTechnologies = 'Littelfuse, Inc (formerly Carling Technologies)', - DaeMyung = 'DaeMyung', - Woosung = 'Woosung', - IsottaIfraSrl = 'ISOTTA IFRA srl', - ClarionUs = 'Clarion US', - HmiSystems = 'HMI Systems', - OceanSignal = 'Ocean Signal', - Seekeeper = 'Seekeeper', - PolyPlanar = 'Poly Planar', - FischerPandaDe = 'Fischer Panda DE', - BroydaIndustries = 'Broyda Industries', - CanadianAutomotive = 'Canadian Automotive', - TidesMarine = 'Tides Marine', - Lumishore = 'Lumishore', - StillWaterDesignsAndAudio = 'Still Water Designs and Audio', - BjTechnologiesbeneteau = 'BJ Technologies (Beneteau)', - GillSensors = 'Gill Sensors', - BlueWaterDesalination = 'Blue Water Desalination', - Flir = 'FLIR', - UndheimSystems = 'Undheim Systems', - LewmarInc = 'Lewmar Inc', - TeamSurv = 'TeamSurv', - FellMarine = 'Fell Marine', - Oceanvolt = 'Oceanvolt', - Prospec = 'Prospec', - DataPanelCorp = 'Data Panel Corp', - L3Technologies = 'L3 Technologies', - RhodanMarineSystems = 'Rhodan Marine Systems', - NexfourSolutions = 'Nexfour Solutions', - AsaElectronics = 'ASA Electronics', - MarinesCosouthKorea = 'Marines Co (South Korea)', - NauticOn = 'Nautic-on', - Sentinel = 'Sentinel', - JlMarineYstems = 'JL Marine ystems', - Ecotronix = 'Ecotronix', - ZontisaMarine = 'Zontisa Marine', - ExorInternational = 'EXOR International', - TimbolierIndustries = 'Timbolier Industries', - TjcMicro = 'TJC Micro', - CoxPowertrain = 'Cox Powertrain', - BlueSeas = 'Blue Seas', - KobeltManufacturingCoLtd = 'Kobelt Manufacturing Co. Ltd', - BlueOceanIot = 'Blue Ocean IOT', - XentaSystems = 'Xenta Systems', - SignalK = 'Signal K', - UltraflexSpA = 'Ultraflex SpA', - LintestSmartBoat = 'Lintest SmartBoat', - Soundmax = 'Soundmax', - TeamItaliaMarineonyxMarineAutomationSRL = 'Team Italia Marine (Onyx Marine Automation s.r.l)', - Entratech = 'Entratech', - ItcInc = 'ITC Inc.', - TheMarineGuardianLlc = 'The Marine Guardian LLC', - SonicCorporation = 'Sonic Corporation', - ProNav = 'ProNav', - VetusMaxwellInc = 'Vetus Maxwell INC.', - LithiumPros = 'Lithium Pros', - Boatrax = 'Boatrax', - MarolCoLtd = 'Marol Co ltd', - CalypsoInstruments = 'CALYPSO Instruments', - SpotZeroWater = 'Spot Zero Water', - LithionicsBatteryLlc = 'Lithionics Battery LLC', - QuickTeckElectronicsLtd = 'Quick-teck Electronics Ltd', - UnidenAmerica = 'Uniden America', - Nauticoncept = 'Nauticoncept', - ShadowCasterLedLightingLlc = 'Shadow-Caster LED lighting LLC', - WetSoundsLlc = 'Wet Sounds, LLC', - ETACircuitBreakers = 'E-T-A Circuit Breakers', - Scheiber = 'Scheiber', - SmartYachtsInternationalLimited = 'Smart Yachts International Limited', - Dockmate = 'Dockmate', - BobsMachine = 'Bobs Machine', - L3HarrisAsv = 'L3Harris ASV', - BalmarLlc = 'Balmar LLC', - ElettromediaSpa = 'Elettromedia spa', - Electromaax = 'Electromaax', - AcrossOceansSystemsLtd = 'Across Oceans Systems Ltd.', - KiwiYachting = 'Kiwi Yachting', - BsbArtificialIntelligenceGmbH = 'BSB Artificial Intelligence GmbH', - OrcaTechnologoesAs = 'Orca Technologoes AS', - TbsElectronicsBv = 'TBS Electronics BV', - TechnotonElectroics = 'Technoton Electroics', - MgEnergySystemsBV = 'MG Energy Systems B.V.', - SeaMacineRoboticsInc = 'Sea Macine Robotics Inc.', - VistaManufacturing = 'Vista Manufacturing', - Zipwake = 'Zipwake', - SailmonBv = 'Sailmon BV', - AirmoniqProKft = 'Airmoniq Pro Kft', - SierraMarine = 'Sierra Marine', - XinuoInformationTechnologyxiamen = 'Xinuo Information Technology (Xiamen)', - Septentrio = 'Septentrio', - NkeMarineElecronics = 'NKE Marine Elecronics', - SuperTrackAps = 'SuperTrack Aps', - HondaElectronicsCoLtd = 'Honda Electronics Co., LTD', - RaritanEngineeringCompanyInc = 'Raritan Engineering Company, Inc', - IntegratedPowerSolutionsAg = 'Integrated Power Solutions AG', - InteractiveTechnologiesInc = 'Interactive Technologies, Inc.', - LtgTech = 'LTG-Tech', - EnergySolutionsukLtd = 'Energy Solutions (UK) LTD.', - WattFuelCellCorp = 'WATT Fuel Cell Corp', - ProMainer = 'Pro Mainer', - DragonflyEnergy = 'Dragonfly Energy', - KodenElectronicsCoLtd = 'Koden Electronics Co., Ltd', - HumphreeAb = 'Humphree AB', - HinkleyYachts = 'Hinkley Yachts', - GlobalMarineManagementGmbHgmm = 'Global Marine Management GmbH (GMM)', - TriskelMarineLtd = 'Triskel Marine Ltd', - WarwickControlTechnologies = 'Warwick Control Technologies', - DolphinCharger = 'Dolphin Charger', - BarnacleSystemsInc = 'Barnacle Systems Inc', - RadianIoTInc = 'Radian IoT, Inc.', - OceanLedMarineLtd = 'Ocean LED Marine Ltd', - BluNav = 'BluNav', - OvanantongSaiyangElectronicsCoLtd = 'OVA (Nantong Saiyang Electronics Co., Ltd)', - RadPropulsion = 'RAD Propulsion', - ElectricYacht = 'Electric Yacht', - ElcoMotorYachts = 'Elco Motor Yachts', - TecnosealFoundrySRL = 'Tecnoseal Foundry S.r.l', - ProChargingSystemsLlc = 'Pro Charging Systems, LLC', - EvexCoLtd = 'EVEX Co., LTD', - GobiusSensorTechnologyAb = 'Gobius Sensor Technology AB', - ArcoMarine = 'Arco Marine', - LencoMarineInc = 'Lenco Marine Inc.', - NaocontrolSL = 'Naocontrol S.L.', - Revatek = 'Revatek', - Aeolionics = 'Aeolionics', - PredictWindLtd = 'PredictWind Ltd', - EgisMobileElectric = 'Egis Mobile Electric', - StarboardYachtGroup = 'Starboard Yacht Group', - RoswellMarine = 'Roswell Marine', - EPropulsionguangdongEPropulsionTechnologyLtd = 'ePropulsion (Guangdong ePropulsion Technology Ltd.)', - MicroAirLlc = 'Micro-Air LLC', - VitalBattery = 'Vital Battery', - RideControllerLlc = 'Ride Controller LLC', - TocaroBlue = 'Tocaro Blue', - VanquishYachts = 'Vanquish Yachts', - FtTechnologies = 'FT Technologies', - AlpsAlpineCoLtd = 'Alps Alpine Co., Ltd.', - EForceMarine = 'E-Force Marine', - CmcMarine = 'CMC Marine', - NanjingSandemarineInformationTechnologyCoLtd = 'Nanjing Sandemarine Information Technology Co., Ltd.', - TeleflexMarineseaStarSolutions = 'Teleflex Marine (SeaStar Solutions)', - Raymarine = 'Raymarine', - Navionics = 'Navionics', - JapanRadioCo = 'Japan Radio Co', - NorthstarTechnologies = 'Northstar Technologies', - Furuno = 'Furuno', - Trimble = 'Trimble', - Simrad = 'Simrad', - Litton = 'Litton', - KvasarAb = 'Kvasar AB', - Mmp = 'MMP', - VectorCantech = 'Vector Cantech', - YamahaMarine = 'Yamaha Marine', - FariaInstruments = 'Faria Instruments', +export enum AcLine { + Line1 = 'Line 1', + Line2 = 'Line 2', + Line3 = 'Line 3', } /** * @category Enumerations */ -export const ManufacturerCodeValues: {[key: string]: number} = { - [ManufacturerCode.ArksEnterprisesInc]: 0x45, - [ManufacturerCode.FwMurphyenovationControls]: 0x4e, - [ManufacturerCode.TwinDisc]: 0x50, - [ManufacturerCode.KohlerPowerSystems]: 0x55, - [ManufacturerCode.HemisphereGpsInc]: 0x58, - [ManufacturerCode.BepMarine]: 0x74, - [ManufacturerCode.Airmar]: 0x87, - [ManufacturerCode.Maretron]: 0x89, - [ManufacturerCode.Lowrance]: 0x8c, - [ManufacturerCode.MercuryMarine]: 0x90, - [ManufacturerCode.NautibusElectronicGmbH]: 0x93, - [ManufacturerCode.BlueWaterData]: 0x94, - [ManufacturerCode.Westerbeke]: 0x9a, - [ManufacturerCode.IssproInc]: 0x9d, - [ManufacturerCode.OffshoreSystemsukLtd]: 0xa1, - [ManufacturerCode.Evinrudebrp]: 0xa3, - [ManufacturerCode.CpacSystemsAb]: 0xa5, - [ManufacturerCode.XantrexTechnologyInc]: 0xa8, - [ManufacturerCode.MarlinTechnologiesInc]: 0xa9, - [ManufacturerCode.YanmarMarine]: 0xac, - [ManufacturerCode.VolvoPenta]: 0xae, - [ManufacturerCode.HondaMarine]: 0xaf, - [ManufacturerCode.CarlingTechnologiesIncmoritzAerospace]: 0xb0, - [ManufacturerCode.BeedeInstruments]: 0xb9, - [ManufacturerCode.FloscanInstrumentCoInc]: 0xc0, - [ManufacturerCode.Nobletec]: 0xc1, - [ManufacturerCode.MysticValleyCommunications]: 0xc6, - [ManufacturerCode.Actia]: 0xc7, - [ManufacturerCode.HondaMarine2]: 0xc8, - [ManufacturerCode.DisenosYTechnologia]: 0xc9, - [ManufacturerCode.DigitalSwitchingSystems]: 0xd3, - [ManufacturerCode.Xintexatena]: 0xd7, - [ManufacturerCode.EmmiNetworkSL]: 0xe0, - [ManufacturerCode.HondaMarine3]: 0xe1, - [ManufacturerCode.Zf]: 0xe4, - [ManufacturerCode.Garmin]: 0xe5, - [ManufacturerCode.YachtMonitoringSolutions]: 0xe9, - [ManufacturerCode.SailormadeMarineTelemetrytetraTechnologyLtd]: 0xeb, - [ManufacturerCode.Eride]: 0xf3, - [ManufacturerCode.HondaMarine4]: 0xfa, - [ManufacturerCode.HondaMotorCompanyLtd]: 0x101, - [ManufacturerCode.Groco]: 0x110, - [ManufacturerCode.Actisense]: 0x111, - [ManufacturerCode.AmphenolLtwTechnology]: 0x112, - [ManufacturerCode.Navico]: 0x113, - [ManufacturerCode.HamiltonJet]: 0x11b, - [ManufacturerCode.SeaRecovery]: 0x11d, - [ManufacturerCode.CoelmoSrlItaly]: 0x11e, - [ManufacturerCode.BepMarine2]: 0x127, - [ManufacturerCode.EmpirBus]: 0x130, - [ManufacturerCode.NovAtel]: 0x131, - [ManufacturerCode.SleipnerMotorAs]: 0x132, - [ManufacturerCode.MbwTechnologies]: 0x133, - [ManufacturerCode.FischerPanda]: 0x137, - [ManufacturerCode.Icom]: 0x13b, - [ManufacturerCode.Qwerty]: 0x148, - [ManufacturerCode.Dief]: 0x149, - [ManufacturerCode.BoeningAutomationstechnologieGmbHCoKg]: 0x155, - [ManufacturerCode.KoreanMaritimeUniversity]: 0x159, - [ManufacturerCode.ThraneAndThrane]: 0x15f, - [ManufacturerCode.Mastervolt]: 0x163, - [ManufacturerCode.FischerPandaGenerators]: 0x164, - [ManufacturerCode.VictronEnergy]: 0x166, - [ManufacturerCode.RollsRoyceMarine]: 0x172, - [ManufacturerCode.ElectronicDesign]: 0x175, - [ManufacturerCode.NorthernLights]: 0x176, - [ManufacturerCode.Glendinning]: 0x17a, - [ManufacturerCode.BG]: 0x17d, - [ManufacturerCode.RosePointNavigationSystems]: 0x180, - [ManufacturerCode.JohnsonOutdoorsMarineElectronicsIncGeonav]: 0x181, - [ManufacturerCode.Capi2]: 0x18a, - [ManufacturerCode.BeyondMeasure]: 0x18c, - [ManufacturerCode.LivorsiMarine]: 0x190, - [ManufacturerCode.ComNav]: 0x194, - [ManufacturerCode.Chetco]: 0x199, - [ManufacturerCode.FusionElectronics]: 0x1a3, - [ManufacturerCode.StandardHorizon]: 0x1a5, - [ManufacturerCode.TrueHeadingAb]: 0x1a6, - [ManufacturerCode.EgersundMarineElectronicsAs]: 0x1aa, - [ManufacturerCode.EmTrakMarineElectronics]: 0x1ab, - [ManufacturerCode.TohatsuCoJp]: 0x1af, - [ManufacturerCode.DigitalYacht]: 0x1b5, - [ManufacturerCode.ComarSystemsLimited]: 0x1b6, - [ManufacturerCode.Cummins]: 0x1b8, - [ManufacturerCode.VdoakaContinentalCorporation]: 0x1bb, - [ManufacturerCode.ParkerHannifinAkaVillageMarineTech]: 0x1c3, - [ManufacturerCode.AlltekMarineElectronicsCorp]: 0x1cb, - [ManufacturerCode.SanGiorgioSEIN]: 0x1cc, - [ManufacturerCode.VeethreeElectronicsMarine]: 0x1d2, - [ManufacturerCode.HumminbirdMarineElectronics]: 0x1d3, - [ManufacturerCode.SiTexMarineElectronics]: 0x1d6, - [ManufacturerCode.SeaCrossMarineAb]: 0x1d7, - [ManufacturerCode.GmeAkaStandardCommunicationsPtyLtd]: 0x1db, - [ManufacturerCode.HumminbirdMarineElectronics2]: 0x1dc, - [ManufacturerCode.OceanSatBv]: 0x1de, - [ManufacturerCode.ChetcoDigitialInstruments]: 0x1e1, - [ManufacturerCode.Watcheye]: 0x1ed, - [ManufacturerCode.LcjCapteurs]: 0x1f3, - [ManufacturerCode.AttwoodMarine]: 0x1f6, - [ManufacturerCode.NaviopSRL]: 0x1f7, - [ManufacturerCode.VesperMarineLtd]: 0x1f8, - [ManufacturerCode.MarinesoftCoLtd]: 0x1fe, - [ManufacturerCode.Simarine]: 0x201, - [ManufacturerCode.NoLandEngineering]: 0x205, - [ManufacturerCode.TransasUsa]: 0x206, - [ManufacturerCode.NationalInstrumentsKorea]: 0x211, - [ManufacturerCode.NationalMarineElectronicsAssociation]: 0x212, - [ManufacturerCode.OnwaMarine]: 0x214, - [ManufacturerCode.Webasto]: 0x21c, - [ManufacturerCode.MarinecraftsouthKorea]: 0x23b, - [ManufacturerCode.McMurdoGroupAkaOroliaLtd]: 0x23d, - [ManufacturerCode.Advansea]: 0x242, - [ManufacturerCode.Kvh]: 0x243, - [ManufacturerCode.SanJoseTechnology]: 0x244, - [ManufacturerCode.YachtControl]: 0x247, - [ManufacturerCode.SuzukiMotorCorporation]: 0x24a, - [ManufacturerCode.UsCoastGuard]: 0x24f, - [ManufacturerCode.ShipModuleAkaCustomware]: 0x253, - [ManufacturerCode.AquaticAv]: 0x258, - [ManufacturerCode.AventicsGmbH]: 0x25d, - [ManufacturerCode.Intellian]: 0x25e, - [ManufacturerCode.SamwonIt]: 0x264, - [ManufacturerCode.ArltTecnologies]: 0x266, - [ManufacturerCode.BavariaYacts]: 0x27d, - [ManufacturerCode.DiverseYachtServices]: 0x281, - [ManufacturerCode.WemaUSADbaKus]: 0x284, - [ManufacturerCode.Garmin2]: 0x285, - [ManufacturerCode.ShenzhenJiuzhouHimunication]: 0x292, - [ManufacturerCode.RockfordCorp]: 0x2b0, - [ManufacturerCode.HarmanInternational]: 0x2bb, - [ManufacturerCode.JlAudio]: 0x2c0, - [ManufacturerCode.LarsThrane]: 0x2c4, - [ManufacturerCode.Autonnic]: 0x2cb, - [ManufacturerCode.YachtDevices]: 0x2cd, - [ManufacturerCode.ReapSystems]: 0x2de, - [ManufacturerCode.AuElectronicsGroup]: 0x2df, - [ManufacturerCode.LxNav]: 0x2e3, - [ManufacturerCode.LittelfuseIncformerlyCarlingTechnologies]: 0x2e5, - [ManufacturerCode.DaeMyung]: 0x2e7, - [ManufacturerCode.Woosung]: 0x2e8, - [ManufacturerCode.IsottaIfraSrl]: 0x2ec, - [ManufacturerCode.ClarionUs]: 0x305, - [ManufacturerCode.HmiSystems]: 0x308, - [ManufacturerCode.OceanSignal]: 0x309, - [ManufacturerCode.Seekeeper]: 0x30a, - [ManufacturerCode.PolyPlanar]: 0x30d, - [ManufacturerCode.FischerPandaDe]: 0x311, - [ManufacturerCode.BroydaIndustries]: 0x31b, - [ManufacturerCode.CanadianAutomotive]: 0x31c, - [ManufacturerCode.TidesMarine]: 0x31d, - [ManufacturerCode.Lumishore]: 0x31e, - [ManufacturerCode.StillWaterDesignsAndAudio]: 0x31f, - [ManufacturerCode.BjTechnologiesbeneteau]: 0x322, - [ManufacturerCode.GillSensors]: 0x323, - [ManufacturerCode.BlueWaterDesalination]: 0x32b, - [ManufacturerCode.Flir]: 0x32f, - [ManufacturerCode.UndheimSystems]: 0x338, - [ManufacturerCode.LewmarInc]: 0x33a, - [ManufacturerCode.TeamSurv]: 0x346, - [ManufacturerCode.FellMarine]: 0x34c, - [ManufacturerCode.Oceanvolt]: 0x34f, - [ManufacturerCode.Prospec]: 0x35e, - [ManufacturerCode.DataPanelCorp]: 0x364, - [ManufacturerCode.L3Technologies]: 0x37a, - [ManufacturerCode.RhodanMarineSystems]: 0x37e, - [ManufacturerCode.NexfourSolutions]: 0x380, - [ManufacturerCode.AsaElectronics]: 0x389, - [ManufacturerCode.MarinesCosouthKorea]: 0x38d, - [ManufacturerCode.NauticOn]: 0x38f, - [ManufacturerCode.Sentinel]: 0x395, - [ManufacturerCode.JlMarineYstems]: 0x3a1, - [ManufacturerCode.Ecotronix]: 0x3a2, - [ManufacturerCode.ZontisaMarine]: 0x3b0, - [ManufacturerCode.ExorInternational]: 0x3b7, - [ManufacturerCode.TimbolierIndustries]: 0x3c2, - [ManufacturerCode.TjcMicro]: 0x3c3, - [ManufacturerCode.CoxPowertrain]: 0x3c8, - [ManufacturerCode.BlueSeas]: 0x3c9, - [ManufacturerCode.KobeltManufacturingCoLtd]: 0x3d5, - [ManufacturerCode.BlueOceanIot]: 0x3e0, - [ManufacturerCode.XentaSystems]: 0x3e5, - [ManufacturerCode.SignalK]: 0x3e7, - [ManufacturerCode.UltraflexSpA]: 0x3ec, - [ManufacturerCode.LintestSmartBoat]: 0x3f0, - [ManufacturerCode.Soundmax]: 0x3f3, - [ManufacturerCode.TeamItaliaMarineonyxMarineAutomationSRL]: 0x3fc, - [ManufacturerCode.Entratech]: 0x3fd, - [ManufacturerCode.ItcInc]: 0x3fe, - [ManufacturerCode.TheMarineGuardianLlc]: 0x405, - [ManufacturerCode.SonicCorporation]: 0x417, - [ManufacturerCode.ProNav]: 0x41b, - [ManufacturerCode.VetusMaxwellInc]: 0x41d, - [ManufacturerCode.LithiumPros]: 0x420, - [ManufacturerCode.Boatrax]: 0x423, - [ManufacturerCode.MarolCoLtd]: 0x426, - [ManufacturerCode.CalypsoInstruments]: 0x429, - [ManufacturerCode.SpotZeroWater]: 0x42a, - [ManufacturerCode.LithionicsBatteryLlc]: 0x42d, - [ManufacturerCode.QuickTeckElectronicsLtd]: 0x42e, - [ManufacturerCode.UnidenAmerica]: 0x433, - [ManufacturerCode.Nauticoncept]: 0x43b, - [ManufacturerCode.ShadowCasterLedLightingLlc]: 0x43c, - [ManufacturerCode.WetSoundsLlc]: 0x43d, - [ManufacturerCode.ETACircuitBreakers]: 0x440, - [ManufacturerCode.Scheiber]: 0x444, - [ManufacturerCode.SmartYachtsInternationalLimited]: 0x44c, - [ManufacturerCode.Dockmate]: 0x455, - [ManufacturerCode.BobsMachine]: 0x45a, - [ManufacturerCode.L3HarrisAsv]: 0x45e, - [ManufacturerCode.BalmarLlc]: 0x45f, - [ManufacturerCode.ElettromediaSpa]: 0x460, - [ManufacturerCode.Electromaax]: 0x467, - [ManufacturerCode.AcrossOceansSystemsLtd]: 0x474, - [ManufacturerCode.KiwiYachting]: 0x479, - [ManufacturerCode.BsbArtificialIntelligenceGmbH]: 0x47e, - [ManufacturerCode.OrcaTechnologoesAs]: 0x47f, - [ManufacturerCode.TbsElectronicsBv]: 0x482, - [ManufacturerCode.TechnotonElectroics]: 0x486, - [ManufacturerCode.MgEnergySystemsBV]: 0x488, - [ManufacturerCode.SeaMacineRoboticsInc]: 0x491, - [ManufacturerCode.VistaManufacturing]: 0x493, - [ManufacturerCode.Zipwake]: 0x49f, - [ManufacturerCode.SailmonBv]: 0x4a2, - [ManufacturerCode.AirmoniqProKft]: 0x4a8, - [ManufacturerCode.SierraMarine]: 0x4aa, - [ManufacturerCode.XinuoInformationTechnologyxiamen]: 0x4b0, - [ManufacturerCode.Septentrio]: 0x4c2, - [ManufacturerCode.NkeMarineElecronics]: 0x4d1, - [ManufacturerCode.SuperTrackAps]: 0x4d6, - [ManufacturerCode.HondaElectronicsCoLtd]: 0x4d7, - [ManufacturerCode.RaritanEngineeringCompanyInc]: 0x4dd, - [ManufacturerCode.IntegratedPowerSolutionsAg]: 0x4e1, - [ManufacturerCode.InteractiveTechnologiesInc]: 0x4ec, - [ManufacturerCode.LtgTech]: 0x503, - [ManufacturerCode.EnergySolutionsukLtd]: 0x513, - [ManufacturerCode.WattFuelCellCorp]: 0x514, - [ManufacturerCode.ProMainer]: 0x516, - [ManufacturerCode.DragonflyEnergy]: 0x519, - [ManufacturerCode.KodenElectronicsCoLtd]: 0x51a, - [ManufacturerCode.HumphreeAb]: 0x51f, - [ManufacturerCode.HinkleyYachts]: 0x524, - [ManufacturerCode.GlobalMarineManagementGmbHgmm]: 0x525, - [ManufacturerCode.TriskelMarineLtd]: 0x528, - [ManufacturerCode.WarwickControlTechnologies]: 0x532, - [ManufacturerCode.DolphinCharger]: 0x533, - [ManufacturerCode.BarnacleSystemsInc]: 0x539, - [ManufacturerCode.RadianIoTInc]: 0x544, - [ManufacturerCode.OceanLedMarineLtd]: 0x549, - [ManufacturerCode.BluNav]: 0x54f, - [ManufacturerCode.OvanantongSaiyangElectronicsCoLtd]: 0x551, - [ManufacturerCode.RadPropulsion]: 0x558, - [ManufacturerCode.ElectricYacht]: 0x559, - [ManufacturerCode.ElcoMotorYachts]: 0x55c, - [ManufacturerCode.TecnosealFoundrySRL]: 0x568, - [ManufacturerCode.ProChargingSystemsLlc]: 0x569, - [ManufacturerCode.EvexCoLtd]: 0x56d, - [ManufacturerCode.GobiusSensorTechnologyAb]: 0x576, - [ManufacturerCode.ArcoMarine]: 0x57b, - [ManufacturerCode.LencoMarineInc]: 0x580, - [ManufacturerCode.NaocontrolSL]: 0x585, - [ManufacturerCode.Revatek]: 0x589, - [ManufacturerCode.Aeolionics]: 0x59e, - [ManufacturerCode.PredictWindLtd]: 0x59f, - [ManufacturerCode.EgisMobileElectric]: 0x5a0, - [ManufacturerCode.StarboardYachtGroup]: 0x5a5, - [ManufacturerCode.RoswellMarine]: 0x5a6, - [ManufacturerCode.EPropulsionguangdongEPropulsionTechnologyLtd]: 0x5ab, - [ManufacturerCode.MicroAirLlc]: 0x5ac, - [ManufacturerCode.VitalBattery]: 0x5ad, - [ManufacturerCode.RideControllerLlc]: 0x5b2, - [ManufacturerCode.TocaroBlue]: 0x5b4, - [ManufacturerCode.VanquishYachts]: 0x5b5, - [ManufacturerCode.FtTechnologies]: 0x5bf, - [ManufacturerCode.AlpsAlpineCoLtd]: 0x5c6, - [ManufacturerCode.EForceMarine]: 0x5c9, - [ManufacturerCode.CmcMarine]: 0x5ca, - [ManufacturerCode.NanjingSandemarineInformationTechnologyCoLtd]: 0x5cb, - [ManufacturerCode.TeleflexMarineseaStarSolutions]: 0x73a, - [ManufacturerCode.Raymarine]: 0x73b, - [ManufacturerCode.Navionics]: 0x73c, - [ManufacturerCode.JapanRadioCo]: 0x73d, - [ManufacturerCode.NorthstarTechnologies]: 0x73e, - [ManufacturerCode.Furuno]: 0x73f, - [ManufacturerCode.Trimble]: 0x740, - [ManufacturerCode.Simrad]: 0x741, - [ManufacturerCode.Litton]: 0x742, - [ManufacturerCode.KvasarAb]: 0x743, - [ManufacturerCode.Mmp]: 0x744, - [ManufacturerCode.VectorCantech]: 0x745, - [ManufacturerCode.YamahaMarine]: 0x746, - [ManufacturerCode.FariaInstruments]: 0x747, +export const AcLineValues: {[key: string]: number} = { + [AcLine.Line1]: 0x0, + [AcLine.Line2]: 0x1, + [AcLine.Line3]: 0x2, +} + +/** + * @category Enumerations + */ +export enum AgsGeneratingState { + Preheating = 'Preheating', + StartDelay = 'Start delay', + Cranking = 'Cranking', + StarterCooling = 'Starter cooling', + WarmingUp = 'Warming up', + CoolingDown = 'Cooling down', + SpinningUp = 'Spinning up', + ShutdownBypass = 'Shutdown bypass', + Stopping = 'Stopping', + Running = 'Running', + Stopped = 'Stopped', + CrankDelaty = 'Crank delaty', +} + +/** + * @category Enumerations + */ +export const AgsGeneratingStateValues: {[key: string]: number} = { + [AgsGeneratingState.Preheating]: 0x0, + [AgsGeneratingState.StartDelay]: 0x1, + [AgsGeneratingState.Cranking]: 0x2, + [AgsGeneratingState.StarterCooling]: 0x3, + [AgsGeneratingState.WarmingUp]: 0x4, + [AgsGeneratingState.CoolingDown]: 0x5, + [AgsGeneratingState.SpinningUp]: 0x6, + [AgsGeneratingState.ShutdownBypass]: 0x7, + [AgsGeneratingState.Stopping]: 0x8, + [AgsGeneratingState.Running]: 0x9, + [AgsGeneratingState.Stopped]: 0xa, + [AgsGeneratingState.CrankDelaty]: 0xb, +} + +/** + * @category Enumerations + */ +export enum AgsMode { + Off = 'Off', + On = 'On', + Automatic = 'Automatic', +} + +/** + * @category Enumerations + */ +export const AgsModeValues: {[key: string]: number} = { + [AgsMode.Off]: 0x0, + [AgsMode.On]: 0x1, + [AgsMode.Automatic]: 0x2, +} + +/** + * @category Enumerations + */ +export enum AgsOffReason { + NotOff = 'Not off', + DcVoltageHigh = 'DC voltage high', + BatteryStateOfChargeHigh = 'Battery state of charge high', + AcCurrentLow = 'AC current low', + ContactOpened = 'Contact opened', + ReachedAbsorption = 'Reached absorption', + ReachedFloat = 'Reached float', + ManualOff = 'Manual off', + MaxRunTime = 'Max run time', + MaxAutoCycle = 'Max auto cycle', + ExerciseDone = 'Exercise done', + QuietTime = 'Quiet time', + ExternalOffViaAgs = 'External off via AGS', + SafeMode = 'Safe mode', + ExternalOffViaGenerator = 'External off via generator', + ExternalShutdown = 'External shutdown', + AutoOff = 'Auto off', + Fault = 'Fault', + UnableToStart = 'Unable to start', +} + +/** + * @category Enumerations + */ +export const AgsOffReasonValues: {[key: string]: number} = { + [AgsOffReason.NotOff]: 0x0, + [AgsOffReason.DcVoltageHigh]: 0x1, + [AgsOffReason.BatteryStateOfChargeHigh]: 0x2, + [AgsOffReason.AcCurrentLow]: 0x3, + [AgsOffReason.ContactOpened]: 0x4, + [AgsOffReason.ReachedAbsorption]: 0x5, + [AgsOffReason.ReachedFloat]: 0x6, + [AgsOffReason.ManualOff]: 0x7, + [AgsOffReason.MaxRunTime]: 0x8, + [AgsOffReason.MaxAutoCycle]: 0x9, + [AgsOffReason.ExerciseDone]: 0xa, + [AgsOffReason.QuietTime]: 0xb, + [AgsOffReason.ExternalOffViaAgs]: 0xc, + [AgsOffReason.SafeMode]: 0xd, + [AgsOffReason.ExternalOffViaGenerator]: 0xe, + [AgsOffReason.ExternalShutdown]: 0xf, + [AgsOffReason.AutoOff]: 0x10, + [AgsOffReason.Fault]: 0x11, + [AgsOffReason.UnableToStart]: 0x12, +} + +/** + * @category Enumerations + */ +export enum AgsOnReason { + NotOn = 'Not on', + DcVoltageLow = 'DC voltage low', + BatteryStateOfChargeLow = 'Battery state of charge low', + AcCurrentHigh = 'AC current high', + ContactClosed = 'Contact closed', + ManualOn = 'Manual on', + Exercise = 'Exercise', + NonQuietTime = 'Non Quiet time', + ExternalOnViaAgs = 'External on via AGS', + ExternalOnViaGenerator = 'External on via generator', + UnableToStop = 'Unable to stop', +} + +/** + * @category Enumerations + */ +export const AgsOnReasonValues: {[key: string]: number} = { + [AgsOnReason.NotOn]: 0x0, + [AgsOnReason.DcVoltageLow]: 0x1, + [AgsOnReason.BatteryStateOfChargeLow]: 0x2, + [AgsOnReason.AcCurrentHigh]: 0x3, + [AgsOnReason.ContactClosed]: 0x4, + [AgsOnReason.ManualOn]: 0x5, + [AgsOnReason.Exercise]: 0x6, + [AgsOnReason.NonQuietTime]: 0x7, + [AgsOnReason.ExternalOnViaAgs]: 0x8, + [AgsOnReason.ExternalOnViaGenerator]: 0x9, + [AgsOnReason.UnableToStop]: 0xa, +} + +/** + * @category Enumerations + */ +export enum AgsOperatingState { + QuietTime = 'Quiet time', + AutoOn = 'Auto on', + AutoOff = 'Auto off', + ManualOn = 'Manual On', + ManualOff = 'Manual Off', + GeneratorShutdown = 'Generator shutdown', + ExternalShutdown = 'External shutdown', + Fault = 'Fault', + Suspend = 'Suspend', + NotOperating = 'Not operating', +} + +/** + * @category Enumerations + */ +export const AgsOperatingStateValues: {[key: string]: number} = { + [AgsOperatingState.QuietTime]: 0x0, + [AgsOperatingState.AutoOn]: 0x1, + [AgsOperatingState.AutoOff]: 0x2, + [AgsOperatingState.ManualOn]: 0x3, + [AgsOperatingState.ManualOff]: 0x4, + [AgsOperatingState.GeneratorShutdown]: 0x5, + [AgsOperatingState.ExternalShutdown]: 0x6, + [AgsOperatingState.Fault]: 0x7, + [AgsOperatingState.Suspend]: 0x8, + [AgsOperatingState.NotOperating]: 0x9, +} + +/** + * @category Enumerations + */ +export enum AirmarCalibrateFunction { + NormalcancelCalibration = 'Normal/cancel calibration', + EnterCalibrationMode = 'Enter calibration mode', + ResetCalibrationTo0 = 'Reset calibration to 0', + Verify = 'Verify', + ResetCompassToDefaults = 'Reset compass to defaults', + ResetDampingToDefaults = 'Reset damping to defaults', +} + +/** + * @category Enumerations + */ +export const AirmarCalibrateFunctionValues: {[key: string]: number} = { + [AirmarCalibrateFunction.NormalcancelCalibration]: 0x0, + [AirmarCalibrateFunction.EnterCalibrationMode]: 0x1, + [AirmarCalibrateFunction.ResetCalibrationTo0]: 0x2, + [AirmarCalibrateFunction.Verify]: 0x3, + [AirmarCalibrateFunction.ResetCompassToDefaults]: 0x4, + [AirmarCalibrateFunction.ResetDampingToDefaults]: 0x5, +} + +/** + * @category Enumerations + */ +export enum AirmarCalibrateStatus { + Queried = 'Queried', + Passed = 'Passed', + FailedTimeout = 'Failed - timeout', + FailedTiltError = 'Failed - tilt error', + FailedOther = 'Failed - other', + InProgress = 'In progress', +} + +/** + * @category Enumerations + */ +export const AirmarCalibrateStatusValues: {[key: string]: number} = { + [AirmarCalibrateStatus.Queried]: 0x0, + [AirmarCalibrateStatus.Passed]: 0x1, + [AirmarCalibrateStatus.FailedTimeout]: 0x2, + [AirmarCalibrateStatus.FailedTiltError]: 0x3, + [AirmarCalibrateStatus.FailedOther]: 0x4, + [AirmarCalibrateStatus.InProgress]: 0x5, +} + +/** + * @category Enumerations + */ +export enum AirmarCommand { + AttitudeOffsets = 'Attitude Offsets', + CalibrateCompass = 'Calibrate Compass', + TrueWindOptions = 'True Wind Options', + SimulateMode = 'Simulate Mode', + CalibrateDepth = 'Calibrate Depth', + CalibrateSpeed = 'Calibrate Speed', + CalibrateTemperature = 'Calibrate Temperature', + SpeedFilter = 'Speed Filter', + TemperatureFilter = 'Temperature Filter', + Nmea2000Options = 'NMEA 2000 options', +} + +/** + * @category Enumerations + */ +export const AirmarCommandValues: {[key: string]: number} = { + [AirmarCommand.AttitudeOffsets]: 0x20, + [AirmarCommand.CalibrateCompass]: 0x21, + [AirmarCommand.TrueWindOptions]: 0x22, + [AirmarCommand.SimulateMode]: 0x23, + [AirmarCommand.CalibrateDepth]: 0x28, + [AirmarCommand.CalibrateSpeed]: 0x29, + [AirmarCommand.CalibrateTemperature]: 0x2a, + [AirmarCommand.SpeedFilter]: 0x2b, + [AirmarCommand.TemperatureFilter]: 0x2c, + [AirmarCommand.Nmea2000Options]: 0x2e, +} + +/** + * @category Enumerations + */ +export enum AirmarDepthQualityFactor { + DepthUnlocked = 'Depth unlocked', + Quality10 = 'Quality 10%', + Quality20 = 'Quality 20%', + Quality30 = 'Quality 30%', + Quality40 = 'Quality 40%', + Quality50 = 'Quality 50%', + Quality60 = 'Quality 60%', + Quality70 = 'Quality 70%', + Quality80 = 'Quality 80%', + Quality90 = 'Quality 90%', + Quality100 = 'Quality 100%', +} + +/** + * @category Enumerations + */ +export const AirmarDepthQualityFactorValues: {[key: string]: number} = { + [AirmarDepthQualityFactor.DepthUnlocked]: 0x0, + [AirmarDepthQualityFactor.Quality10]: 0x1, + [AirmarDepthQualityFactor.Quality20]: 0x2, + [AirmarDepthQualityFactor.Quality30]: 0x3, + [AirmarDepthQualityFactor.Quality40]: 0x4, + [AirmarDepthQualityFactor.Quality50]: 0x5, + [AirmarDepthQualityFactor.Quality60]: 0x6, + [AirmarDepthQualityFactor.Quality70]: 0x7, + [AirmarDepthQualityFactor.Quality80]: 0x8, + [AirmarDepthQualityFactor.Quality90]: 0x9, + [AirmarDepthQualityFactor.Quality100]: 0xa, +} + +/** + * @category Enumerations + */ +export enum AirmarPostControl { + ReportPreviousValues = 'Report previous values', + GenerateNewValues = 'Generate new values', +} + +/** + * @category Enumerations + */ +export const AirmarPostControlValues: {[key: string]: number} = { + [AirmarPostControl.ReportPreviousValues]: 0x0, + [AirmarPostControl.GenerateNewValues]: 0x1, +} + +/** + * @category Enumerations + */ +export enum AirmarPostId { + FormatCode = 'Format Code', + FactoryEeprom = 'Factory EEPROM', + UserEeprom = 'User EEPROM', + WaterTemperatureSensor = 'Water Temperature Sensor', + SonarTransceiver = 'Sonar Transceiver', + SpeedSensor = 'Speed sensor', + InternalTemperatureSensor = 'Internal temperature sensor', + BatteryVoltageSensor = 'Battery voltage sensor', +} + +/** + * @category Enumerations + */ +export const AirmarPostIdValues: {[key: string]: number} = { + [AirmarPostId.FormatCode]: 0x1, + [AirmarPostId.FactoryEeprom]: 0x2, + [AirmarPostId.UserEeprom]: 0x3, + [AirmarPostId.WaterTemperatureSensor]: 0x4, + [AirmarPostId.SonarTransceiver]: 0x5, + [AirmarPostId.SpeedSensor]: 0x6, + [AirmarPostId.InternalTemperatureSensor]: 0x7, + [AirmarPostId.BatteryVoltageSensor]: 0x8, +} + +/** + * @category Enumerations + */ +export enum AirmarTemperatureInstance { + DeviceSensor = 'Device Sensor', + OnboardWaterSensor = 'Onboard Water Sensor', + OptionalWaterSensor = 'Optional Water Sensor', +} + +/** + * @category Enumerations + */ +export const AirmarTemperatureInstanceValues: {[key: string]: number} = { + [AirmarTemperatureInstance.DeviceSensor]: 0x0, + [AirmarTemperatureInstance.OnboardWaterSensor]: 0x1, + [AirmarTemperatureInstance.OptionalWaterSensor]: 0x2, } /** * @category Enumerations */ -export enum CzoneAlarmType { - AcVoltageError = 'AC Voltage Error', - AcFrequencyError = 'AC Frequency Error', - AcHighPower = 'AC High Power', - DcLowVoltage = 'DC Low Voltage', - DcVeryLowVoltage = 'DC Very Low Voltage', - DcHighVoltage = 'DC High Voltage', - DcLowBatteryCapacity = 'DC Low Battery Capacity', - OutOfRange = 'Out of Range', - LowRunCurrent = 'Low Run Current', - OverCurrent = 'Over Current', - ShortCircuit = 'Short Circuit', - MissingCommander = 'Missing Commander', - ReverseCurrent = 'Reverse Current', - CalibrationError = 'Calibration Error', - MissingOutput = 'Missing Output', - SystemsOn = 'Systems On', - AcVeryHighPower = 'AC Very High Power', - AcLowPower = 'AC Low Power', - DcVeryLowBatteryCapacity = 'DC Very Low Battery Capacity', - BatteryFull = 'Battery Full', - DcLoadShedLow = 'DC Load Shed Low', - DcLoadShedVeryLow = 'DC Load Shed Very Low', - AcLoadShedLow = 'AC Load Shed Low', - AcLoadShedVeryLow = 'AC Load Shed Very Low', - ReversePolarity = 'Reverse Polarity', - ManualOverride = 'Manual Override', - Mastervolt = 'Mastervolt', - HardwareFault = 'Hardware Fault', - NoAcSupply = 'No AC Supply', - PgnSwitchingOn = 'PGN Switching On', - LowCanbusVoltage = 'Low Canbus Voltage', - BlownFuse = 'Blown Fuse', - ManualBypass = 'Manual Bypass', - GenericAlarm = 'Generic Alarm', - BatteryTemperatureAlarm = 'Battery Temperature Alarm', - TemperatureSensorError = 'Temperature Sensor Error', - AcInOutOfRange = 'AC IN Out Of Range', - DeviceInOverload = 'Device In Overload', - HighTemperature = 'High Temperature', - InverterchargerInstallationError = 'Inverter/Charger Installation Error', - InverterInstallationError = 'Inverter Installation Error', - ChargerInstallationError = 'Charger Installation Error', - CableVoltageDropTooHigh = 'Cable Voltage Drop Too High', - ShuntMistmatch = 'Shunt mistmatch', - CoolingFanError = 'Cooling Fan Error', - MastershuntFuseBlown = 'Mastershunt Fuse Blown', - OverPressure = 'Over Pressure', - LowPressure = 'Low Pressure', - RapidDeflation = 'Rapid Deflation', - InverterchargerOverTemperature = 'Inverter/Charger Over Temperature', - ConfirmOn = 'Confirm On', - BatterySafety = 'Battery Safety', - StopCharging = 'Stop Charging', - CheckBatteryRelay = 'Check Battery Relay', - BatteryHardwareFailure = 'Battery Hardware Failure', - BatteryOverCurrent = 'Battery Over Current', - BatteryTemperatureLow = 'Battery Temperature Low', - BatteryTemperatureHigh = 'Battery Temperature High', - BatteryLast100 = 'Battery Last 100', +export enum AirmarTransmissionInterval { + MeasureInterval = 'Measure interval', + RequestedByUser = 'Requested by user', } /** * @category Enumerations */ -export const CzoneAlarmTypeValues: {[key: string]: number} = { - [CzoneAlarmType.AcVoltageError]: 0x1, - [CzoneAlarmType.AcFrequencyError]: 0x2, - [CzoneAlarmType.AcHighPower]: 0x3, - [CzoneAlarmType.DcLowVoltage]: 0x4, - [CzoneAlarmType.DcVeryLowVoltage]: 0x5, - [CzoneAlarmType.DcHighVoltage]: 0x6, - [CzoneAlarmType.DcLowBatteryCapacity]: 0x7, - [CzoneAlarmType.OutOfRange]: 0xa, - [CzoneAlarmType.LowRunCurrent]: 0xb, - [CzoneAlarmType.OverCurrent]: 0xc, - [CzoneAlarmType.ShortCircuit]: 0xd, - [CzoneAlarmType.MissingCommander]: 0xe, - [CzoneAlarmType.ReverseCurrent]: 0xf, - [CzoneAlarmType.CalibrationError]: 0x10, - [CzoneAlarmType.MissingOutput]: 0x11, - [CzoneAlarmType.SystemsOn]: 0x12, - [CzoneAlarmType.AcVeryHighPower]: 0x13, - [CzoneAlarmType.AcLowPower]: 0x14, - [CzoneAlarmType.DcVeryLowBatteryCapacity]: 0x15, - [CzoneAlarmType.BatteryFull]: 0x16, - [CzoneAlarmType.DcLoadShedLow]: 0x17, - [CzoneAlarmType.DcLoadShedVeryLow]: 0x18, - [CzoneAlarmType.AcLoadShedLow]: 0x19, - [CzoneAlarmType.AcLoadShedVeryLow]: 0x1a, - [CzoneAlarmType.ReversePolarity]: 0x1b, - [CzoneAlarmType.ManualOverride]: 0x1c, - [CzoneAlarmType.Mastervolt]: 0x1d, - [CzoneAlarmType.HardwareFault]: 0x1e, - [CzoneAlarmType.NoAcSupply]: 0x1f, - [CzoneAlarmType.PgnSwitchingOn]: 0x22, - [CzoneAlarmType.LowCanbusVoltage]: 0x23, - [CzoneAlarmType.BlownFuse]: 0x24, - [CzoneAlarmType.ManualBypass]: 0x25, - [CzoneAlarmType.GenericAlarm]: 0x26, - [CzoneAlarmType.BatteryTemperatureAlarm]: 0x27, - [CzoneAlarmType.TemperatureSensorError]: 0x28, - [CzoneAlarmType.AcInOutOfRange]: 0x29, - [CzoneAlarmType.DeviceInOverload]: 0x2a, - [CzoneAlarmType.HighTemperature]: 0x2b, - [CzoneAlarmType.InverterchargerInstallationError]: 0x2c, - [CzoneAlarmType.InverterInstallationError]: 0x2d, - [CzoneAlarmType.ChargerInstallationError]: 0x2e, - [CzoneAlarmType.CableVoltageDropTooHigh]: 0x2f, - [CzoneAlarmType.ShuntMistmatch]: 0x30, - [CzoneAlarmType.CoolingFanError]: 0x31, - [CzoneAlarmType.MastershuntFuseBlown]: 0x32, - HighTemperature2: 0x33, - [CzoneAlarmType.OverPressure]: 0x34, - [CzoneAlarmType.LowPressure]: 0x35, - [CzoneAlarmType.RapidDeflation]: 0x36, - [CzoneAlarmType.InverterchargerOverTemperature]: 0x37, - [CzoneAlarmType.ConfirmOn]: 0x38, - [CzoneAlarmType.BatterySafety]: 0x39, - [CzoneAlarmType.StopCharging]: 0x3a, - [CzoneAlarmType.CheckBatteryRelay]: 0x3b, - [CzoneAlarmType.BatteryHardwareFailure]: 0x3c, - [CzoneAlarmType.BatteryOverCurrent]: 0x3d, - [CzoneAlarmType.BatteryTemperatureLow]: 0x3e, - [CzoneAlarmType.BatteryTemperatureHigh]: 0x3f, - [CzoneAlarmType.BatteryLast100]: 0x40, +export const AirmarTransmissionIntervalValues: {[key: string]: number} = { + [AirmarTransmissionInterval.MeasureInterval]: 0x0, + [AirmarTransmissionInterval.RequestedByUser]: 0x1, +} + +/** + * @category Enumerations + */ +export enum AisAssignedMode { + AutonomousAndContinuous = 'Autonomous and continuous', + AssignedMode = 'Assigned mode', +} + +/** + * @category Enumerations + */ +export const AisAssignedModeValues: {[key: string]: number} = { + [AisAssignedMode.AutonomousAndContinuous]: 0x0, + [AisAssignedMode.AssignedMode]: 0x1, +} + +/** + * @category Enumerations + */ +export enum AisBand { + Top525KHzOfMarineBand = 'Top 525 kHz of marine band', + EntireMarineBand = 'Entire marine band', +} + +/** + * @category Enumerations + */ +export const AisBandValues: {[key: string]: number} = { + [AisBand.Top525KHzOfMarineBand]: 0x0, + [AisBand.EntireMarineBand]: 0x1, +} + +/** + * @category Enumerations + */ +export enum AisCommunicationState { + Sotdma = 'SOTDMA', + Itdma = 'ITDMA', +} + +/** + * @category Enumerations + */ +export const AisCommunicationStateValues: {[key: string]: number} = { + [AisCommunicationState.Sotdma]: 0x0, + [AisCommunicationState.Itdma]: 0x1, } /** @@ -808,348 +500,306 @@ export enum AisMessageId { /** * @category Enumerations */ -export const AisMessageIdValues: {[key: string]: number} = { - [AisMessageId.ScheduledClassAPositionReport]: 0x1, - [AisMessageId.AssignedScheduledClassAPositionReport]: 0x2, - [AisMessageId.InterrogatedClassAPositionReport]: 0x3, - [AisMessageId.BaseStationReport]: 0x4, - [AisMessageId.StaticAndVoyageRelatedData]: 0x5, - [AisMessageId.BinaryAddressedMessage]: 0x6, - [AisMessageId.BinaryAcknowledgement]: 0x7, - [AisMessageId.BinaryBroadcastMessage]: 0x8, - [AisMessageId.StandardSarAircraftPositionReport]: 0x9, - [AisMessageId.UtcdateInquiry]: 0xa, - [AisMessageId.UtcdateResponse]: 0xb, - [AisMessageId.SafetyRelatedAddressedMessage]: 0xc, - [AisMessageId.SafetyRelatedAcknowledgement]: 0xd, - [AisMessageId.SatetyRelatedBroadcastMessage]: 0xe, - [AisMessageId.Interrogation]: 0xf, - [AisMessageId.AssignmentModeCommand]: 0x10, - [AisMessageId.DgnssBroadcastBinaryMessage]: 0x11, - [AisMessageId.StandardClassBPositionReport]: 0x12, - [AisMessageId.ExtendedClassBPositionReport]: 0x13, - [AisMessageId.DataLinkManagementMessage]: 0x14, - [AisMessageId.AtonReport]: 0x15, - [AisMessageId.ChannelManagement]: 0x16, - [AisMessageId.GroupAssignmentCommand]: 0x17, - [AisMessageId.StaticDataReport]: 0x18, - [AisMessageId.SingleSlotBinaryMessage]: 0x19, - [AisMessageId.MultipleSlotBinaryMessage]: 0x1a, - [AisMessageId.PositionReportForLongRangeApplications]: 0x1b, +export const AisMessageIdValues: {[key: string]: number} = { + [AisMessageId.ScheduledClassAPositionReport]: 0x1, + [AisMessageId.AssignedScheduledClassAPositionReport]: 0x2, + [AisMessageId.InterrogatedClassAPositionReport]: 0x3, + [AisMessageId.BaseStationReport]: 0x4, + [AisMessageId.StaticAndVoyageRelatedData]: 0x5, + [AisMessageId.BinaryAddressedMessage]: 0x6, + [AisMessageId.BinaryAcknowledgement]: 0x7, + [AisMessageId.BinaryBroadcastMessage]: 0x8, + [AisMessageId.StandardSarAircraftPositionReport]: 0x9, + [AisMessageId.UtcdateInquiry]: 0xa, + [AisMessageId.UtcdateResponse]: 0xb, + [AisMessageId.SafetyRelatedAddressedMessage]: 0xc, + [AisMessageId.SafetyRelatedAcknowledgement]: 0xd, + [AisMessageId.SatetyRelatedBroadcastMessage]: 0xe, + [AisMessageId.Interrogation]: 0xf, + [AisMessageId.AssignmentModeCommand]: 0x10, + [AisMessageId.DgnssBroadcastBinaryMessage]: 0x11, + [AisMessageId.StandardClassBPositionReport]: 0x12, + [AisMessageId.ExtendedClassBPositionReport]: 0x13, + [AisMessageId.DataLinkManagementMessage]: 0x14, + [AisMessageId.AtonReport]: 0x15, + [AisMessageId.ChannelManagement]: 0x16, + [AisMessageId.GroupAssignmentCommand]: 0x17, + [AisMessageId.StaticDataReport]: 0x18, + [AisMessageId.SingleSlotBinaryMessage]: 0x19, + [AisMessageId.MultipleSlotBinaryMessage]: 0x1a, + [AisMessageId.PositionReportForLongRangeApplications]: 0x1b, +} + +/** + * @category Enumerations + */ +export enum AisMode { + Autonomous = 'Autonomous', + Assigned = 'Assigned', +} + +/** + * @category Enumerations + */ +export const AisModeValues: {[key: string]: number} = { + [AisMode.Autonomous]: 0x0, + [AisMode.Assigned]: 0x1, +} + +/** + * @category Enumerations + */ +export enum AisSpecialManeuver { + NotAvailable = 'Not available', + NotEngagedInSpecialManeuver = 'Not engaged in special maneuver', + EngagedInSpecialManeuver = 'Engaged in special maneuver', + Reserved = 'Reserved', +} + +/** + * @category Enumerations + */ +export const AisSpecialManeuverValues: {[key: string]: number} = { + [AisSpecialManeuver.NotAvailable]: 0x0, + [AisSpecialManeuver.NotEngagedInSpecialManeuver]: 0x1, + [AisSpecialManeuver.EngagedInSpecialManeuver]: 0x2, + [AisSpecialManeuver.Reserved]: 0x3, +} + +/** + * @category Enumerations + */ +export enum AisTransceiver { + ChannelAVdlReception = 'Channel A VDL reception', + ChannelBVdlReception = 'Channel B VDL reception', + ChannelAVdlTransmission = 'Channel A VDL transmission', + ChannelBVdlTransmission = 'Channel B VDL transmission', + OwnInformationNotBroadcast = 'Own information not broadcast', + Reserved = 'Reserved', +} + +/** + * @category Enumerations + */ +export const AisTransceiverValues: {[key: string]: number} = { + [AisTransceiver.ChannelAVdlReception]: 0x0, + [AisTransceiver.ChannelBVdlReception]: 0x1, + [AisTransceiver.ChannelAVdlTransmission]: 0x2, + [AisTransceiver.ChannelBVdlTransmission]: 0x3, + [AisTransceiver.OwnInformationNotBroadcast]: 0x4, + [AisTransceiver.Reserved]: 0x5, } /** * @category Enumerations */ -export enum ShipType { - Unavailable = 'Unavailable', - WingInGround = 'Wing In Ground', - WingInGroundhazardCatX = 'Wing In Ground (hazard cat X)', - WingInGroundhazardCatY = 'Wing In Ground (hazard cat Y)', - WingInGroundhazardCatZ = 'Wing In Ground (hazard cat Z)', - WingInGroundhazardCatOs = 'Wing In Ground (hazard cat OS)', - WingInGroundnoAdditionalInformation = 'Wing In Ground (no additional information)', - Fishing = 'Fishing', - Towing = 'Towing', - TowingExceeds200MOrWiderThan25M = 'Towing exceeds 200m or wider than 25m', - EngagedInDredgingOrUnderwaterOperations = 'Engaged in dredging or underwater operations', - EngagedInDivingOperations = 'Engaged in diving operations', - EngagedInMilitaryOperations = 'Engaged in military operations', - Sailing = 'Sailing', - Pleasure = 'Pleasure', - HighSpeedCraft = 'High speed craft', - HighSpeedCrafthazardCatX = 'High speed craft (hazard cat X)', - HighSpeedCrafthazardCatY = 'High speed craft (hazard cat Y)', - HighSpeedCrafthazardCatZ = 'High speed craft (hazard cat Z)', - HighSpeedCrafthazardCatOs = 'High speed craft (hazard cat OS)', - HighSpeedCraftnoAdditionalInformation = 'High speed craft (no additional information)', - PilotVessel = 'Pilot vessel', - Sar = 'SAR', - Tug = 'Tug', - PortTender = 'Port tender', - AntiPollution = 'Anti-pollution', - LawEnforcement = 'Law enforcement', - Spare = 'Spare', - Spare2 = 'Spare #2', - Medical = 'Medical', - ShipsAndAircraftOfStatesNotPartiesToAnArmedConflict = 'Ships and aircraft of States not parties to an armed conflict', - PassengerShip = 'Passenger ship', - PassengerShiphazardCatX = 'Passenger ship (hazard cat X)', - PassengerShiphazardCatY = 'Passenger ship (hazard cat Y)', - PassengerShiphazardCatZ = 'Passenger ship (hazard cat Z)', - PassengerShiphazardCatOs = 'Passenger ship (hazard cat OS)', - PassengerShipnoAdditionalInformation = 'Passenger ship (no additional information)', - CargoShip = 'Cargo ship', - CargoShiphazardCatX = 'Cargo ship (hazard cat X)', - CargoShiphazardCatY = 'Cargo ship (hazard cat Y)', - CargoShiphazardCatZ = 'Cargo ship (hazard cat Z)', - CargoShiphazardCatOs = 'Cargo ship (hazard cat OS)', - CargoShipnoAdditionalInformation = 'Cargo ship (no additional information)', - Tanker = 'Tanker', - TankerhazardCatX = 'Tanker (hazard cat X)', - TankerhazardCatY = 'Tanker (hazard cat Y)', - TankerhazardCatZ = 'Tanker (hazard cat Z)', - TankerhazardCatOs = 'Tanker (hazard cat OS)', - TankernoAdditionalInformation = 'Tanker (no additional information)', - Other = 'Other', - OtherhazardCatX = 'Other (hazard cat X)', - OtherhazardCatY = 'Other (hazard cat Y)', - OtherhazardCatZ = 'Other (hazard cat Z)', - OtherhazardCatOs = 'Other (hazard cat OS)', - OthernoAdditionalInformation = 'Other (no additional information)', +export enum AisType { + Sotdma = 'SOTDMA', + Cs = 'CS', } /** * @category Enumerations */ -export const ShipTypeValues: {[key: string]: number} = { - [ShipType.Unavailable]: 0x0, - [ShipType.WingInGround]: 0x14, - [ShipType.WingInGroundhazardCatX]: 0x15, - [ShipType.WingInGroundhazardCatY]: 0x16, - [ShipType.WingInGroundhazardCatZ]: 0x17, - [ShipType.WingInGroundhazardCatOs]: 0x18, - [ShipType.WingInGroundnoAdditionalInformation]: 0x1d, - [ShipType.Fishing]: 0x1e, - [ShipType.Towing]: 0x1f, - [ShipType.TowingExceeds200MOrWiderThan25M]: 0x20, - [ShipType.EngagedInDredgingOrUnderwaterOperations]: 0x21, - [ShipType.EngagedInDivingOperations]: 0x22, - [ShipType.EngagedInMilitaryOperations]: 0x23, - [ShipType.Sailing]: 0x24, - [ShipType.Pleasure]: 0x25, - [ShipType.HighSpeedCraft]: 0x28, - [ShipType.HighSpeedCrafthazardCatX]: 0x29, - [ShipType.HighSpeedCrafthazardCatY]: 0x2a, - [ShipType.HighSpeedCrafthazardCatZ]: 0x2b, - [ShipType.HighSpeedCrafthazardCatOs]: 0x2c, - [ShipType.HighSpeedCraftnoAdditionalInformation]: 0x31, - [ShipType.PilotVessel]: 0x32, - [ShipType.Sar]: 0x33, - [ShipType.Tug]: 0x34, - [ShipType.PortTender]: 0x35, - [ShipType.AntiPollution]: 0x36, - [ShipType.LawEnforcement]: 0x37, - [ShipType.Spare]: 0x38, - [ShipType.Spare2]: 0x39, - [ShipType.Medical]: 0x3a, - [ShipType.ShipsAndAircraftOfStatesNotPartiesToAnArmedConflict]: 0x3b, - [ShipType.PassengerShip]: 0x3c, - [ShipType.PassengerShiphazardCatX]: 0x3d, - [ShipType.PassengerShiphazardCatY]: 0x3e, - [ShipType.PassengerShiphazardCatZ]: 0x3f, - [ShipType.PassengerShiphazardCatOs]: 0x40, - [ShipType.PassengerShipnoAdditionalInformation]: 0x45, - [ShipType.CargoShip]: 0x46, - [ShipType.CargoShiphazardCatX]: 0x47, - [ShipType.CargoShiphazardCatY]: 0x48, - [ShipType.CargoShiphazardCatZ]: 0x49, - [ShipType.CargoShiphazardCatOs]: 0x4a, - [ShipType.CargoShipnoAdditionalInformation]: 0x4f, - [ShipType.Tanker]: 0x50, - [ShipType.TankerhazardCatX]: 0x51, - [ShipType.TankerhazardCatY]: 0x52, - [ShipType.TankerhazardCatZ]: 0x53, - [ShipType.TankerhazardCatOs]: 0x54, - [ShipType.TankernoAdditionalInformation]: 0x59, - [ShipType.Other]: 0x5a, - [ShipType.OtherhazardCatX]: 0x5b, - [ShipType.OtherhazardCatY]: 0x5c, - [ShipType.OtherhazardCatZ]: 0x5d, - [ShipType.OtherhazardCatOs]: 0x5e, - [ShipType.OthernoAdditionalInformation]: 0x63, +export const AisTypeValues: {[key: string]: number} = { + [AisType.Sotdma]: 0x0, + [AisType.Cs]: 0x1, } /** * @category Enumerations */ -export enum DeviceClass { - ReservedFor2000Use = 'Reserved for 2000 Use', - SystemTools = 'System tools', - SafetySystems = 'Safety systems', - InternetworkDevice = 'Internetwork device', - ElectricalDistribution = 'Electrical Distribution', - ElectricalGeneration = 'Electrical Generation', - SteeringAndControlSurfaces = 'Steering and Control surfaces', - Propulsion = 'Propulsion', - Navigation = 'Navigation', - Communication = 'Communication', - SensorCommunicationInterface = 'Sensor Communication Interface', - InstrumentationgeneralSystems = 'Instrumentation/general systems', - ExternalEnvironment = 'External Environment', - InternalEnvironment = 'Internal Environment', - DeckPlusCargoPlusFishingEquipmentSystems = 'Deck + cargo + fishing equipment systems', - HumanInterface = 'Human Interface', - Display = 'Display', - Entertainment = 'Entertainment', +export enum AisVersion { + ItuRM13711 = 'ITU-R M.1371-1', + ItuRM13713 = 'ITU-R M.1371-3', + ItuRM13715 = 'ITU-R M.1371-5', + ItuRM1371FutureEdition = 'ITU-R M.1371 future edition', } /** * @category Enumerations */ -export const DeviceClassValues: {[key: string]: number} = { - [DeviceClass.ReservedFor2000Use]: 0x0, - [DeviceClass.SystemTools]: 0xa, - [DeviceClass.SafetySystems]: 0x14, - [DeviceClass.InternetworkDevice]: 0x19, - [DeviceClass.ElectricalDistribution]: 0x1e, - [DeviceClass.ElectricalGeneration]: 0x23, - [DeviceClass.SteeringAndControlSurfaces]: 0x28, - [DeviceClass.Propulsion]: 0x32, - [DeviceClass.Navigation]: 0x3c, - [DeviceClass.Communication]: 0x46, - [DeviceClass.SensorCommunicationInterface]: 0x4b, - [DeviceClass.InstrumentationgeneralSystems]: 0x50, - [DeviceClass.ExternalEnvironment]: 0x55, - [DeviceClass.InternalEnvironment]: 0x5a, - [DeviceClass.DeckPlusCargoPlusFishingEquipmentSystems]: 0x64, - [DeviceClass.HumanInterface]: 0x6e, - [DeviceClass.Display]: 0x78, - [DeviceClass.Entertainment]: 0x7d, +export const AisVersionValues: {[key: string]: number} = { + [AisVersion.ItuRM13711]: 0x0, + [AisVersion.ItuRM13713]: 0x1, + [AisVersion.ItuRM13715]: 0x2, + [AisVersion.ItuRM1371FutureEdition]: 0x3, } /** * @category Enumerations */ -export enum RepeatIndicator { - Initial = 'Initial', - FirstRetransmission = 'First retransmission', - SecondRetransmission = 'Second retransmission', - FinalRetransmission = 'Final retransmission', +export enum AlertCategory { + Navigational = 'Navigational', + Technical = 'Technical', } /** * @category Enumerations */ -export const RepeatIndicatorValues: {[key: string]: number} = { - [RepeatIndicator.Initial]: 0x0, - [RepeatIndicator.FirstRetransmission]: 0x1, - [RepeatIndicator.SecondRetransmission]: 0x2, - [RepeatIndicator.FinalRetransmission]: 0x3, +export const AlertCategoryValues: {[key: string]: number} = { + [AlertCategory.Navigational]: 0x0, + [AlertCategory.Technical]: 0x1, +} + +/** + * @category Enumerations + */ +export enum AlertLanguageId { + Englishus = 'English (US)', + Englishuk = 'English (UK)', + Arabic = 'Arabic', + Chinesesimplified = 'Chinese (simplified)', + Croatian = 'Croatian', + Danish = 'Danish', + Dutch = 'Dutch', + Finnish = 'Finnish', + French = 'French', + German = 'German', + Greek = 'Greek', + Italian = 'Italian', + Japanese = 'Japanese', + Korean = 'Korean', + Norwegian = 'Norwegian', + Polish = 'Polish', + Portuguese = 'Portuguese', + Russian = 'Russian', + Spanish = 'Spanish', + Swedish = 'Swedish', +} + +/** + * @category Enumerations + */ +export const AlertLanguageIdValues: {[key: string]: number} = { + [AlertLanguageId.Englishus]: 0x0, + [AlertLanguageId.Englishuk]: 0x1, + [AlertLanguageId.Arabic]: 0x2, + [AlertLanguageId.Chinesesimplified]: 0x3, + [AlertLanguageId.Croatian]: 0x4, + [AlertLanguageId.Danish]: 0x5, + [AlertLanguageId.Dutch]: 0x6, + [AlertLanguageId.Finnish]: 0x7, + [AlertLanguageId.French]: 0x8, + [AlertLanguageId.German]: 0x9, + [AlertLanguageId.Greek]: 0xa, + [AlertLanguageId.Italian]: 0xb, + [AlertLanguageId.Japanese]: 0xc, + [AlertLanguageId.Korean]: 0xd, + [AlertLanguageId.Norwegian]: 0xe, + [AlertLanguageId.Polish]: 0xf, + [AlertLanguageId.Portuguese]: 0x10, + [AlertLanguageId.Russian]: 0x11, + [AlertLanguageId.Spanish]: 0x12, + [AlertLanguageId.Swedish]: 0x13, } /** * @category Enumerations */ -export enum TxRxMode { - TxAtxBRxArxB = 'Tx A/Tx B, Rx A/Rx B', - TxARxArxB = 'Tx A, Rx A/Rx B', - TxBRxArxB = 'Tx B, Rx A/Rx B', +export enum AlertResponseCommand { + Acknowledge = 'Acknowledge', + TemporarySilence = 'Temporary Silence', + TestCommandOff = 'Test Command off', + TestCommandOn = 'Test Command on', } /** * @category Enumerations */ -export const TxRxModeValues: {[key: string]: number} = { - [TxRxMode.TxAtxBRxArxB]: 0x0, - [TxRxMode.TxARxArxB]: 0x1, - [TxRxMode.TxBRxArxB]: 0x2, +export const AlertResponseCommandValues: {[key: string]: number} = { + [AlertResponseCommand.Acknowledge]: 0x0, + [AlertResponseCommand.TemporarySilence]: 0x1, + [AlertResponseCommand.TestCommandOff]: 0x2, + [AlertResponseCommand.TestCommandOn]: 0x3, } /** * @category Enumerations */ -export enum StationType { - AllTypesOfMobileStation = 'All types of mobile station', - AllTypesOfClassBMobileStation = 'All types of Class B mobile station', - SarAirborneMobileStation = 'SAR airborne mobile station', - AtoNStation = 'AtoN station', - ClassBCsShipborneMobileStation = 'Class B CS shipborne mobile station', - InlandWaterways = 'Inland waterways', - RegionalUse7 = 'Regional use 7', - RegionalUse8 = 'Regional use 8', - RegionalUse9 = 'Regional use 9', +export enum AlertState { + Disabled = 'Disabled', + Normal = 'Normal', + Active = 'Active', + Silenced = 'Silenced', + Acknowledged = 'Acknowledged', + AwaitingAcknowledge = 'Awaiting Acknowledge', } /** * @category Enumerations */ -export const StationTypeValues: {[key: string]: number} = { - [StationType.AllTypesOfMobileStation]: 0x0, - [StationType.AllTypesOfClassBMobileStation]: 0x2, - [StationType.SarAirborneMobileStation]: 0x3, - [StationType.AtoNStation]: 0x4, - [StationType.ClassBCsShipborneMobileStation]: 0x5, - [StationType.InlandWaterways]: 0x6, - [StationType.RegionalUse7]: 0x7, - [StationType.RegionalUse8]: 0x8, - [StationType.RegionalUse9]: 0x9, +export const AlertStateValues: {[key: string]: number} = { + [AlertState.Disabled]: 0x0, + [AlertState.Normal]: 0x1, + [AlertState.Active]: 0x2, + [AlertState.Silenced]: 0x3, + [AlertState.Acknowledged]: 0x4, + [AlertState.AwaitingAcknowledge]: 0x5, } /** * @category Enumerations */ -export enum ReportingInterval { - AsGivenByTheAutonomousMode = 'As given by the autonomous mode', - _10Min = '10 min', - _6Min = '6 min', - _3Min = '3 min', - _1Min = '1 min', - _30Sec = '30 sec', - _15Sec = '15 sec', - _10Sec = '10 sec', - _5Sec = '5 sec', - _2SecnotApplicableToClassBCs = '2 sec (not applicable to Class B CS)', - NextShorterReportingInterval = 'Next shorter reporting interval', - NextLongerReportingInterval = 'Next longer reporting interval', +export enum AlertThresholdStatus { + Normal = 'Normal', + ThresholdExceeded = 'Threshold Exceeded', + ExtremeThresholdExceeded = 'Extreme Threshold Exceeded', + LowThresholdExceeded = 'Low Threshold Exceeded', + Acknowledged = 'Acknowledged', + AwaitingAcknowledge = 'Awaiting Acknowledge', } /** * @category Enumerations */ -export const ReportingIntervalValues: {[key: string]: number} = { - [ReportingInterval.AsGivenByTheAutonomousMode]: 0x0, - [ReportingInterval._10Min]: 0x1, - [ReportingInterval._6Min]: 0x2, - [ReportingInterval._3Min]: 0x3, - [ReportingInterval._1Min]: 0x4, - [ReportingInterval._30Sec]: 0x5, - [ReportingInterval._15Sec]: 0x6, - [ReportingInterval._10Sec]: 0x7, - [ReportingInterval._5Sec]: 0x8, - [ReportingInterval._2SecnotApplicableToClassBCs]: 0x9, - [ReportingInterval.NextShorterReportingInterval]: 0xa, - [ReportingInterval.NextLongerReportingInterval]: 0xb, +export const AlertThresholdStatusValues: {[key: string]: number} = { + [AlertThresholdStatus.Normal]: 0x0, + [AlertThresholdStatus.ThresholdExceeded]: 0x1, + [AlertThresholdStatus.ExtremeThresholdExceeded]: 0x2, + [AlertThresholdStatus.LowThresholdExceeded]: 0x3, + [AlertThresholdStatus.Acknowledged]: 0x4, + [AlertThresholdStatus.AwaitingAcknowledge]: 0x5, } /** * @category Enumerations */ -export enum AisTransceiver { - ChannelAVdlReception = 'Channel A VDL reception', - ChannelBVdlReception = 'Channel B VDL reception', - ChannelAVdlTransmission = 'Channel A VDL transmission', - ChannelBVdlTransmission = 'Channel B VDL transmission', - OwnInformationNotBroadcast = 'Own information not broadcast', - Reserved = 'Reserved', +export enum AlertTriggerCondition { + Manual = 'Manual', + Auto = 'Auto', + Test = 'Test', + Disabled = 'Disabled', } /** * @category Enumerations */ -export const AisTransceiverValues: {[key: string]: number} = { - [AisTransceiver.ChannelAVdlReception]: 0x0, - [AisTransceiver.ChannelBVdlReception]: 0x1, - [AisTransceiver.ChannelAVdlTransmission]: 0x2, - [AisTransceiver.ChannelBVdlTransmission]: 0x3, - [AisTransceiver.OwnInformationNotBroadcast]: 0x4, - [AisTransceiver.Reserved]: 0x5, +export const AlertTriggerConditionValues: {[key: string]: number} = { + [AlertTriggerCondition.Manual]: 0x0, + [AlertTriggerCondition.Auto]: 0x1, + [AlertTriggerCondition.Test]: 0x2, + [AlertTriggerCondition.Disabled]: 0x3, } /** * @category Enumerations */ -export enum AisAssignedMode { - AutonomousAndContinuous = 'Autonomous and continuous', - AssignedMode = 'Assigned mode', +export enum AlertType { + EmergencyAlarm = 'Emergency Alarm', + Alarm = 'Alarm', + Warning = 'Warning', + Caution = 'Caution', } /** * @category Enumerations */ -export const AisAssignedModeValues: {[key: string]: number} = { - [AisAssignedMode.AutonomousAndContinuous]: 0x0, - [AisAssignedMode.AssignedMode]: 0x1, +export const AlertTypeValues: {[key: string]: number} = { + [AlertType.EmergencyAlarm]: 0x1, + [AlertType.Alarm]: 0x2, + [AlertType.Warning]: 0x5, + [AlertType.Caution]: 0x8, } /** @@ -1199,803 +849,770 @@ export const AtonTypeValues: {[key: string]: number} = { [AtonType.Racon]: 0x2, [AtonType.FixedStructureOffShore]: 0x3, [AtonType.ReservedForFutureUse]: 0x4, - [AtonType.FixedLightWithoutSectors]: 0x5, - [AtonType.FixedLightWithSectors]: 0x6, - [AtonType.FixedLeadingLightFront]: 0x7, - [AtonType.FixedLeadingLightRear]: 0x8, - [AtonType.FixedBeaconCardinalN]: 0x9, - [AtonType.FixedBeaconCardinalE]: 0xa, - [AtonType.FixedBeaconCardinalS]: 0xb, - [AtonType.FixedBeaconCardinalW]: 0xc, - [AtonType.FixedBeaconPortHand]: 0xd, - [AtonType.FixedBeaconStarboardHand]: 0xe, - [AtonType.FixedBeaconPreferredChannelPortHand]: 0xf, - [AtonType.FixedBeaconPreferredChannelStarboardHand]: 0x10, - [AtonType.FixedBeaconIsolatedDanger]: 0x11, - [AtonType.FixedBeaconSafeWater]: 0x12, - [AtonType.FixedBeaconSpecialMark]: 0x13, - [AtonType.FloatingAtoNCardinalN]: 0x14, - [AtonType.FloatingAtoNCardinalE]: 0x15, - [AtonType.FloatingAtoNCardinalS]: 0x16, - [AtonType.FloatingAtoNCardinalW]: 0x17, - [AtonType.FloatingAtoNPortHandMark]: 0x18, - [AtonType.FloatingAtoNStarboardHandMark]: 0x19, - [AtonType.FloatingAtoNPreferredChannelPortHand]: 0x1a, - [AtonType.FloatingAtoNPreferredChannelStarboardHand]: 0x1b, - [AtonType.FloatingAtoNIsolatedDanger]: 0x1c, - [AtonType.FloatingAtoNSafeWater]: 0x1d, - [AtonType.FloatingAtoNSpecialMark]: 0x1e, - [AtonType.FloatingAtoNLightVessellanbyrigs]: 0x1f, -} - -/** - * @category Enumerations - */ -export enum AisSpecialManeuver { - NotAvailable = 'Not available', - NotEngagedInSpecialManeuver = 'Not engaged in special maneuver', - EngagedInSpecialManeuver = 'Engaged in special maneuver', - Reserved = 'Reserved', -} - -/** - * @category Enumerations - */ -export const AisSpecialManeuverValues: {[key: string]: number} = { - [AisSpecialManeuver.NotAvailable]: 0x0, - [AisSpecialManeuver.NotEngagedInSpecialManeuver]: 0x1, - [AisSpecialManeuver.EngagedInSpecialManeuver]: 0x2, - [AisSpecialManeuver.Reserved]: 0x3, -} - -/** - * @category Enumerations - */ -export enum PositionFixDevice { - DefaultUndefined = 'Default: undefined', - Gps = 'GPS', - Glonass = 'GLONASS', - CombinedGpsglonass = 'Combined GPS/GLONASS', - LoranC = 'Loran-C', - Chayka = 'Chayka', - IntegratedNavigationSystem = 'Integrated navigation system', - Surveyed = 'Surveyed', - Galileo = 'Galileo', -} - -/** - * @category Enumerations - */ -export const PositionFixDeviceValues: {[key: string]: number} = { - [PositionFixDevice.DefaultUndefined]: 0x0, - [PositionFixDevice.Gps]: 0x1, - [PositionFixDevice.Glonass]: 0x2, - [PositionFixDevice.CombinedGpsglonass]: 0x3, - [PositionFixDevice.LoranC]: 0x4, - [PositionFixDevice.Chayka]: 0x5, - [PositionFixDevice.IntegratedNavigationSystem]: 0x6, - [PositionFixDevice.Surveyed]: 0x7, - [PositionFixDevice.Galileo]: 0x8, -} - -/** - * @category Enumerations - */ -export enum Gns { - Gps = 'GPS', - Glonass = 'GLONASS', - GpsPlusglonass = 'GPS+GLONASS', - GpsPlussbaswaas = 'GPS+SBAS/WAAS', - GpsPlussbaswaasPlusglonass = 'GPS+SBAS/WAAS+GLONASS', - Chayka = 'Chayka', - Integrated = 'integrated', - Surveyed = 'surveyed', - Galileo = 'Galileo', -} - -/** - * @category Enumerations - */ -export const GnsValues: {[key: string]: number} = { - [Gns.Gps]: 0x0, - [Gns.Glonass]: 0x1, - [Gns.GpsPlusglonass]: 0x2, - [Gns.GpsPlussbaswaas]: 0x3, - [Gns.GpsPlussbaswaasPlusglonass]: 0x4, - [Gns.Chayka]: 0x5, - [Gns.Integrated]: 0x6, - [Gns.Surveyed]: 0x7, - [Gns.Galileo]: 0x8, + [AtonType.FixedLightWithoutSectors]: 0x5, + [AtonType.FixedLightWithSectors]: 0x6, + [AtonType.FixedLeadingLightFront]: 0x7, + [AtonType.FixedLeadingLightRear]: 0x8, + [AtonType.FixedBeaconCardinalN]: 0x9, + [AtonType.FixedBeaconCardinalE]: 0xa, + [AtonType.FixedBeaconCardinalS]: 0xb, + [AtonType.FixedBeaconCardinalW]: 0xc, + [AtonType.FixedBeaconPortHand]: 0xd, + [AtonType.FixedBeaconStarboardHand]: 0xe, + [AtonType.FixedBeaconPreferredChannelPortHand]: 0xf, + [AtonType.FixedBeaconPreferredChannelStarboardHand]: 0x10, + [AtonType.FixedBeaconIsolatedDanger]: 0x11, + [AtonType.FixedBeaconSafeWater]: 0x12, + [AtonType.FixedBeaconSpecialMark]: 0x13, + [AtonType.FloatingAtoNCardinalN]: 0x14, + [AtonType.FloatingAtoNCardinalE]: 0x15, + [AtonType.FloatingAtoNCardinalS]: 0x16, + [AtonType.FloatingAtoNCardinalW]: 0x17, + [AtonType.FloatingAtoNPortHandMark]: 0x18, + [AtonType.FloatingAtoNStarboardHandMark]: 0x19, + [AtonType.FloatingAtoNPreferredChannelPortHand]: 0x1a, + [AtonType.FloatingAtoNPreferredChannelStarboardHand]: 0x1b, + [AtonType.FloatingAtoNIsolatedDanger]: 0x1c, + [AtonType.FloatingAtoNSafeWater]: 0x1d, + [AtonType.FloatingAtoNSpecialMark]: 0x1e, + [AtonType.FloatingAtoNLightVessellanbyrigs]: 0x1f, } /** * @category Enumerations */ -export enum EngineInstance { - SingleEngineOrDualEnginePort = 'Single Engine or Dual Engine Port', - DualEngineStarboard = 'Dual Engine Starboard', +export enum AutomaticManual { + Automatic = 'Automatic', + Manual = 'Manual', } /** * @category Enumerations */ -export const EngineInstanceValues: {[key: string]: number} = { - [EngineInstance.SingleEngineOrDualEnginePort]: 0x0, - [EngineInstance.DualEngineStarboard]: 0x1, +export const AutomaticManualValues: {[key: string]: number} = { + [AutomaticManual.Automatic]: 0x0, + [AutomaticManual.Manual]: 0x1, } /** * @category Enumerations */ -export enum GearStatus { - Forward = 'Forward', - Neutral = 'Neutral', - Reverse = 'Reverse', +export enum Available { + Available = 'Available', + NotAvailable = 'Not available', } /** * @category Enumerations */ -export const GearStatusValues: {[key: string]: number} = { - [GearStatus.Forward]: 0x0, - [GearStatus.Neutral]: 0x1, - [GearStatus.Reverse]: 0x2, +export const AvailableValues: {[key: string]: number} = { + [Available.Available]: 0x0, + [Available.NotAvailable]: 0x1, } /** * @category Enumerations */ -export enum Direction { - Forward = 'Forward', - Reverse = 'Reverse', +export enum BandgDecimals { + _0 = '0', + _1 = '1', + _2 = '2', + _3 = '3', + _4 = '4', + Auto = 'Auto', } /** * @category Enumerations */ -export const DirectionValues: {[key: string]: number} = { - [Direction.Forward]: 0x0, - [Direction.Reverse]: 0x1, +export const BandgDecimalsValues: {[key: string]: number} = { + [BandgDecimals._0]: 0x0, + [BandgDecimals._1]: 0x1, + [BandgDecimals._2]: 0x2, + [BandgDecimals._3]: 0x3, + [BandgDecimals._4]: 0x4, + [BandgDecimals.Auto]: 0xfe, } /** * @category Enumerations */ -export enum PositionAccuracy { - Low = 'Low', - High = 'High', +export enum Bandwidth { + Default = 'Default', + _125KHz = '12.5 kHz', } /** * @category Enumerations */ -export const PositionAccuracyValues: {[key: string]: number} = { - [PositionAccuracy.Low]: 0x0, - [PositionAccuracy.High]: 0x1, +export const BandwidthValues: {[key: string]: number} = { + [Bandwidth.Default]: 0x0, + [Bandwidth._125KHz]: 0x1, } /** * @category Enumerations */ -export enum RaimFlag { - NotInUse = 'not in use', - InUse = 'in use', +export enum BatteryChemistry { + Pblead = 'Pb (Lead)', + Li = 'Li', + NiCd = 'NiCd', + ZnO = 'ZnO', + NiMh = 'NiMH', } /** * @category Enumerations */ -export const RaimFlagValues: {[key: string]: number} = { - [RaimFlag.NotInUse]: 0x0, - [RaimFlag.InUse]: 0x1, +export const BatteryChemistryValues: {[key: string]: number} = { + [BatteryChemistry.Pblead]: 0x0, + [BatteryChemistry.Li]: 0x1, + [BatteryChemistry.NiCd]: 0x2, + [BatteryChemistry.ZnO]: 0x3, + [BatteryChemistry.NiMh]: 0x4, } /** * @category Enumerations */ -export enum TimeStamp { - NotAvailable = 'Not available', - ManualInputMode = 'Manual input mode', - DeadReckoningMode = 'Dead reckoning mode', - PositioningSystemIsInoperative = 'Positioning system is inoperative', +export enum BatteryType { + Flooded = 'Flooded', + Gel = 'Gel', + Agm = 'AGM', } /** * @category Enumerations */ -export const TimeStampValues: {[key: string]: number} = { - [TimeStamp.NotAvailable]: 0x3c, - [TimeStamp.ManualInputMode]: 0x3d, - [TimeStamp.DeadReckoningMode]: 0x3e, - [TimeStamp.PositioningSystemIsInoperative]: 0x3f, +export const BatteryTypeValues: {[key: string]: number} = { + [BatteryType.Flooded]: 0x0, + [BatteryType.Gel]: 0x1, + [BatteryType.Agm]: 0x2, } /** * @category Enumerations */ -export enum GnsMethod { - NoGnss = 'no GNSS', - GnssFix = 'GNSS fix', - DgnssFix = 'DGNSS fix', - PreciseGnss = 'Precise GNSS', - RtkFixedInteger = 'RTK Fixed Integer', - RtkFloat = 'RTK float', - EstimateddrMode = 'Estimated (DR) mode', - ManualInput = 'Manual Input', - SimulateMode = 'Simulate mode', +export enum BatteryVoltage { + _6V = '6V', + _12V = '12V', + _24V = '24V', + _32V = '32V', + _36V = '36V', + _42V = '42V', + _48V = '48V', } /** * @category Enumerations */ -export const GnsMethodValues: {[key: string]: number} = { - [GnsMethod.NoGnss]: 0x0, - [GnsMethod.GnssFix]: 0x1, - [GnsMethod.DgnssFix]: 0x2, - [GnsMethod.PreciseGnss]: 0x3, - [GnsMethod.RtkFixedInteger]: 0x4, - [GnsMethod.RtkFloat]: 0x5, - [GnsMethod.EstimateddrMode]: 0x6, - [GnsMethod.ManualInput]: 0x7, - [GnsMethod.SimulateMode]: 0x8, +export const BatteryVoltageValues: {[key: string]: number} = { + [BatteryVoltage._6V]: 0x0, + [BatteryVoltage._12V]: 0x1, + [BatteryVoltage._24V]: 0x2, + [BatteryVoltage._32V]: 0x3, + [BatteryVoltage._36V]: 0x4, + [BatteryVoltage._42V]: 0x5, + [BatteryVoltage._48V]: 0x6, } /** * @category Enumerations */ -export enum GnsIntegrity { - NoIntegrityChecking = 'No integrity checking', - Safe = 'Safe', - Caution = 'Caution', - Unsafe = 'Unsafe', +export enum BearingMode { + GreatCircle = 'Great Circle', + Rhumbline = 'Rhumbline', } /** * @category Enumerations */ -export const GnsIntegrityValues: {[key: string]: number} = { - [GnsIntegrity.NoIntegrityChecking]: 0x0, - [GnsIntegrity.Safe]: 0x1, - [GnsIntegrity.Caution]: 0x2, - [GnsIntegrity.Unsafe]: 0x3, +export const BearingModeValues: {[key: string]: number} = { + [BearingMode.GreatCircle]: 0x0, + [BearingMode.Rhumbline]: 0x1, } /** * @category Enumerations */ -export enum SystemTime { - Gps = 'GPS', - Glonass = 'GLONASS', - RadioStation = 'Radio Station', - LocalCesiumClock = 'Local Cesium clock', - LocalRubidiumClock = 'Local Rubidium clock', - LocalCrystalClock = 'Local Crystal clock', +export enum BluetoothSourceStatus { + Reserved = 'Reserved', + Connected = 'Connected', + Connecting = 'Connecting', + NotConnected = 'Not connected', } /** * @category Enumerations */ -export const SystemTimeValues: {[key: string]: number} = { - [SystemTime.Gps]: 0x0, - [SystemTime.Glonass]: 0x1, - [SystemTime.RadioStation]: 0x2, - [SystemTime.LocalCesiumClock]: 0x3, - [SystemTime.LocalRubidiumClock]: 0x4, - [SystemTime.LocalCrystalClock]: 0x5, +export const BluetoothSourceStatusValues: {[key: string]: number} = { + [BluetoothSourceStatus.Reserved]: 0x0, + [BluetoothSourceStatus.Connected]: 0x1, + [BluetoothSourceStatus.Connecting]: 0x2, + [BluetoothSourceStatus.NotConnected]: 0x3, } /** * @category Enumerations */ -export enum MagneticVariation { - Manual = 'Manual', - AutomaticChart = 'Automatic Chart', - AutomaticTable = 'Automatic Table', - AutomaticCalculation = 'Automatic Calculation', - Wmm2000 = 'WMM 2000', - Wmm2005 = 'WMM 2005', - Wmm2010 = 'WMM 2010', - Wmm2015 = 'WMM 2015', - Wmm2020 = 'WMM 2020', - Wmm2025 = 'WMM 2025', +export enum BluetoothStatus { + Connected = 'Connected', + NotConnected = 'Not connected', + NotPaired = 'Not paired', } /** * @category Enumerations */ -export const MagneticVariationValues: {[key: string]: number} = { - [MagneticVariation.Manual]: 0x0, - [MagneticVariation.AutomaticChart]: 0x1, - [MagneticVariation.AutomaticTable]: 0x2, - [MagneticVariation.AutomaticCalculation]: 0x3, - [MagneticVariation.Wmm2000]: 0x4, - [MagneticVariation.Wmm2005]: 0x5, - [MagneticVariation.Wmm2010]: 0x6, - [MagneticVariation.Wmm2015]: 0x7, - [MagneticVariation.Wmm2020]: 0x8, - [MagneticVariation.Wmm2025]: 0x9, +export const BluetoothStatusValues: {[key: string]: number} = { + [BluetoothStatus.Connected]: 0x0, + [BluetoothStatus.NotConnected]: 0x1, + [BluetoothStatus.NotPaired]: 0x2, } /** * @category Enumerations */ -export enum ResidualMode { - Autonomous = 'Autonomous', - DifferentialEnhanced = 'Differential enhanced', - Estimated = 'Estimated', - Simulator = 'Simulator', - Manual = 'Manual', +export enum BootState { + InStartupMonitor = 'in Startup Monitor', + RunningBootloader = 'running Bootloader', + RunningApplication = 'running Application', } /** * @category Enumerations */ -export const ResidualModeValues: {[key: string]: number} = { - [ResidualMode.Autonomous]: 0x0, - [ResidualMode.DifferentialEnhanced]: 0x1, - [ResidualMode.Estimated]: 0x2, - [ResidualMode.Simulator]: 0x3, - [ResidualMode.Manual]: 0x4, +export const BootStateValues: {[key: string]: number} = { + [BootState.InStartupMonitor]: 0x0, + [BootState.RunningBootloader]: 0x1, + [BootState.RunningApplication]: 0x2, } /** * @category Enumerations */ -export enum WindReference { - TruegroundReferencedToNorth = 'True (ground referenced to North)', - MagneticgroundReferencedToMagneticNorth = 'Magnetic (ground referenced to Magnetic North)', - Apparent = 'Apparent', - TrueboatReferenced = 'True (boat referenced)', - TruewaterReferenced = 'True (water referenced)', +export enum BroadcastIndicator { + BroadcastGeoAreaMessage = 'Broadcast geo area message', + AddressedMessage = 'Addressed message', } /** * @category Enumerations */ -export const WindReferenceValues: {[key: string]: number} = { - [WindReference.TruegroundReferencedToNorth]: 0x0, - [WindReference.MagneticgroundReferencedToMagneticNorth]: 0x1, - [WindReference.Apparent]: 0x2, - [WindReference.TrueboatReferenced]: 0x3, - [WindReference.TruewaterReferenced]: 0x4, +export const BroadcastIndicatorValues: {[key: string]: number} = { + [BroadcastIndicator.BroadcastGeoAreaMessage]: 0x0, + [BroadcastIndicator.AddressedMessage]: 0x1, } /** * @category Enumerations */ -export enum WaterReference { - PaddleWheel = 'Paddle wheel', - PitotTube = 'Pitot tube', - Doppler = 'Doppler', - CorrelationultraSound = 'Correlation (ultra sound)', - ElectroMagnetic = 'Electro Magnetic', +export enum CertificationLevel { + LevelA = 'Level A', + LevelB = 'Level B', } /** * @category Enumerations */ -export const WaterReferenceValues: {[key: string]: number} = { - [WaterReference.PaddleWheel]: 0x0, - [WaterReference.PitotTube]: 0x1, - [WaterReference.Doppler]: 0x2, - [WaterReference.CorrelationultraSound]: 0x3, - [WaterReference.ElectroMagnetic]: 0x4, +export const CertificationLevelValues: {[key: string]: number} = { + [CertificationLevel.LevelA]: 0x0, + [CertificationLevel.LevelB]: 0x1, } /** * @category Enumerations */ -export enum YesNo { - No = 'No', - Yes = 'Yes', +export enum ChargerMode { + Standalone = 'Standalone', + Primary = 'Primary', + Secondary = 'Secondary', + Echo = 'Echo', } /** * @category Enumerations */ -export const YesNoValues: {[key: string]: number} = { - [YesNo.No]: 0x0, - [YesNo.Yes]: 0x1, +export const ChargerModeValues: {[key: string]: number} = { + [ChargerMode.Standalone]: 0x0, + [ChargerMode.Primary]: 0x1, + [ChargerMode.Secondary]: 0x2, + [ChargerMode.Echo]: 0x3, } /** * @category Enumerations */ -export enum OkWarning { - Ok = 'OK', - Warning = 'Warning', +export enum ChargerState { + NotCharging = 'Not charging', + Bulk = 'Bulk', + Absorption = 'Absorption', + Overcharge = 'Overcharge', + Equalise = 'Equalise', + Float = 'Float', + NoFloat = 'No float', + ConstantVi = 'Constant VI', + Disabled = 'Disabled', + Fault = 'Fault', } /** * @category Enumerations */ -export const OkWarningValues: {[key: string]: number} = { - [OkWarning.Ok]: 0x0, - [OkWarning.Warning]: 0x1, +export const ChargerStateValues: {[key: string]: number} = { + [ChargerState.NotCharging]: 0x0, + [ChargerState.Bulk]: 0x1, + [ChargerState.Absorption]: 0x2, + [ChargerState.Overcharge]: 0x3, + [ChargerState.Equalise]: 0x4, + [ChargerState.Float]: 0x5, + [ChargerState.NoFloat]: 0x6, + [ChargerState.ConstantVi]: 0x7, + [ChargerState.Disabled]: 0x8, + [ChargerState.Fault]: 0x9, } /** * @category Enumerations */ -export enum OffOn { - Off = 'Off', - On = 'On', +export enum ChargingAlgorithm { + Trickle = 'Trickle', + ConstantVoltageConstantCurrent = 'Constant voltage / Constant current', + _2StagenoFloat = '2 stage (no float)', + _3Stage = '3 stage', } /** * @category Enumerations */ -export const OffOnValues: {[key: string]: number} = { - [OffOn.Off]: 0x0, - [OffOn.On]: 0x1, +export const ChargingAlgorithmValues: {[key: string]: number} = { + [ChargingAlgorithm.Trickle]: 0x0, + [ChargingAlgorithm.ConstantVoltageConstantCurrent]: 0x1, + [ChargingAlgorithm._2StagenoFloat]: 0x2, + [ChargingAlgorithm._3Stage]: 0x3, } /** * @category Enumerations */ -export enum OffOnControl { - Off = 'Off', - On = 'On', - Reserved = 'Reserved', - TakeNoActionnoChange = 'Take no action (no change)', +export enum ControllerState { + ErrorActive = 'Error Active', + ErrorPassive = 'Error Passive', + BusOff = 'Bus Off', } /** * @category Enumerations */ -export const OffOnControlValues: {[key: string]: number} = { - [OffOnControl.Off]: 0x0, - [OffOnControl.On]: 0x1, - [OffOnControl.Reserved]: 0x2, - [OffOnControl.TakeNoActionnoChange]: 0x3, +export const ControllerStateValues: {[key: string]: number} = { + [ControllerState.ErrorActive]: 0x0, + [ControllerState.ErrorPassive]: 0x1, + [ControllerState.BusOff]: 0x2, } /** * @category Enumerations */ -export enum DirectionReference { - True = 'True', - Magnetic = 'Magnetic', - Error = 'Error', +export enum ConverterState { + Off = 'Off', + LowPowerMode = 'Low Power Mode', + Fault = 'Fault', + Bulk = 'Bulk', + Absorption = 'Absorption', + Float = 'Float', + Storage = 'Storage', + Equalize = 'Equalize', + PassThru = 'Pass thru', + Inverting = 'Inverting', + Assisting = 'Assisting', } /** * @category Enumerations */ -export const DirectionReferenceValues: {[key: string]: number} = { - [DirectionReference.True]: 0x0, - [DirectionReference.Magnetic]: 0x1, - [DirectionReference.Error]: 0x2, +export const ConverterStateValues: {[key: string]: number} = { + [ConverterState.Off]: 0x0, + [ConverterState.LowPowerMode]: 0x1, + [ConverterState.Fault]: 0x2, + [ConverterState.Bulk]: 0x3, + [ConverterState.Absorption]: 0x4, + [ConverterState.Float]: 0x5, + [ConverterState.Storage]: 0x6, + [ConverterState.Equalize]: 0x7, + [ConverterState.PassThru]: 0x8, + [ConverterState.Inverting]: 0x9, + [ConverterState.Assisting]: 0xa, } /** * @category Enumerations */ -export enum DirectionRudder { - NoOrder = 'No Order', - MoveToStarboard = 'Move to starboard', - MoveToPort = 'Move to port', +export enum CzoneAlarmType { + AcVoltageError = 'AC Voltage Error', + AcFrequencyError = 'AC Frequency Error', + AcHighPower = 'AC High Power', + DcLowVoltage = 'DC Low Voltage', + DcVeryLowVoltage = 'DC Very Low Voltage', + DcHighVoltage = 'DC High Voltage', + DcLowBatteryCapacity = 'DC Low Battery Capacity', + OutOfRange = 'Out of Range', + LowRunCurrent = 'Low Run Current', + OverCurrent = 'Over Current', + ShortCircuit = 'Short Circuit', + MissingCommander = 'Missing Commander', + ReverseCurrent = 'Reverse Current', + CalibrationError = 'Calibration Error', + MissingOutput = 'Missing Output', + SystemsOn = 'Systems On', + AcVeryHighPower = 'AC Very High Power', + AcLowPower = 'AC Low Power', + DcVeryLowBatteryCapacity = 'DC Very Low Battery Capacity', + BatteryFull = 'Battery Full', + DcLoadShedLow = 'DC Load Shed Low', + DcLoadShedVeryLow = 'DC Load Shed Very Low', + AcLoadShedLow = 'AC Load Shed Low', + AcLoadShedVeryLow = 'AC Load Shed Very Low', + ReversePolarity = 'Reverse Polarity', + ManualOverride = 'Manual Override', + Mastervolt = 'Mastervolt', + HardwareFault = 'Hardware Fault', + NoAcSupply = 'No AC Supply', + PgnSwitchingOn = 'PGN Switching On', + LowCanbusVoltage = 'Low Canbus Voltage', + BlownFuse = 'Blown Fuse', + ManualBypass = 'Manual Bypass', + GenericAlarm = 'Generic Alarm', + BatteryTemperatureAlarm = 'Battery Temperature Alarm', + TemperatureSensorError = 'Temperature Sensor Error', + AcInOutOfRange = 'AC IN Out Of Range', + DeviceInOverload = 'Device In Overload', + HighTemperature = 'High Temperature', + InverterchargerInstallationError = 'Inverter/Charger Installation Error', + InverterInstallationError = 'Inverter Installation Error', + ChargerInstallationError = 'Charger Installation Error', + CableVoltageDropTooHigh = 'Cable Voltage Drop Too High', + ShuntMistmatch = 'Shunt mistmatch', + CoolingFanError = 'Cooling Fan Error', + MastershuntFuseBlown = 'Mastershunt Fuse Blown', + OverPressure = 'Over Pressure', + LowPressure = 'Low Pressure', + RapidDeflation = 'Rapid Deflation', + InverterchargerOverTemperature = 'Inverter/Charger Over Temperature', + ConfirmOn = 'Confirm On', + BatterySafety = 'Battery Safety', + StopCharging = 'Stop Charging', + CheckBatteryRelay = 'Check Battery Relay', + BatteryHardwareFailure = 'Battery Hardware Failure', + BatteryOverCurrent = 'Battery Over Current', + BatteryTemperatureLow = 'Battery Temperature Low', + BatteryTemperatureHigh = 'Battery Temperature High', + BatteryLast100 = 'Battery Last 100', +} + +/** + * @category Enumerations + */ +export const CzoneAlarmTypeValues: {[key: string]: number} = { + [CzoneAlarmType.AcVoltageError]: 0x1, + [CzoneAlarmType.AcFrequencyError]: 0x2, + [CzoneAlarmType.AcHighPower]: 0x3, + [CzoneAlarmType.DcLowVoltage]: 0x4, + [CzoneAlarmType.DcVeryLowVoltage]: 0x5, + [CzoneAlarmType.DcHighVoltage]: 0x6, + [CzoneAlarmType.DcLowBatteryCapacity]: 0x7, + [CzoneAlarmType.OutOfRange]: 0xa, + [CzoneAlarmType.LowRunCurrent]: 0xb, + [CzoneAlarmType.OverCurrent]: 0xc, + [CzoneAlarmType.ShortCircuit]: 0xd, + [CzoneAlarmType.MissingCommander]: 0xe, + [CzoneAlarmType.ReverseCurrent]: 0xf, + [CzoneAlarmType.CalibrationError]: 0x10, + [CzoneAlarmType.MissingOutput]: 0x11, + [CzoneAlarmType.SystemsOn]: 0x12, + [CzoneAlarmType.AcVeryHighPower]: 0x13, + [CzoneAlarmType.AcLowPower]: 0x14, + [CzoneAlarmType.DcVeryLowBatteryCapacity]: 0x15, + [CzoneAlarmType.BatteryFull]: 0x16, + [CzoneAlarmType.DcLoadShedLow]: 0x17, + [CzoneAlarmType.DcLoadShedVeryLow]: 0x18, + [CzoneAlarmType.AcLoadShedLow]: 0x19, + [CzoneAlarmType.AcLoadShedVeryLow]: 0x1a, + [CzoneAlarmType.ReversePolarity]: 0x1b, + [CzoneAlarmType.ManualOverride]: 0x1c, + [CzoneAlarmType.Mastervolt]: 0x1d, + [CzoneAlarmType.HardwareFault]: 0x1e, + [CzoneAlarmType.NoAcSupply]: 0x1f, + [CzoneAlarmType.PgnSwitchingOn]: 0x22, + [CzoneAlarmType.LowCanbusVoltage]: 0x23, + [CzoneAlarmType.BlownFuse]: 0x24, + [CzoneAlarmType.ManualBypass]: 0x25, + [CzoneAlarmType.GenericAlarm]: 0x26, + [CzoneAlarmType.BatteryTemperatureAlarm]: 0x27, + [CzoneAlarmType.TemperatureSensorError]: 0x28, + [CzoneAlarmType.AcInOutOfRange]: 0x29, + [CzoneAlarmType.DeviceInOverload]: 0x2a, + [CzoneAlarmType.HighTemperature]: 0x2b, + [CzoneAlarmType.InverterchargerInstallationError]: 0x2c, + [CzoneAlarmType.InverterInstallationError]: 0x2d, + [CzoneAlarmType.ChargerInstallationError]: 0x2e, + [CzoneAlarmType.CableVoltageDropTooHigh]: 0x2f, + [CzoneAlarmType.ShuntMistmatch]: 0x30, + [CzoneAlarmType.CoolingFanError]: 0x31, + [CzoneAlarmType.MastershuntFuseBlown]: 0x32, + HighTemperature2: 0x33, + [CzoneAlarmType.OverPressure]: 0x34, + [CzoneAlarmType.LowPressure]: 0x35, + [CzoneAlarmType.RapidDeflation]: 0x36, + [CzoneAlarmType.InverterchargerOverTemperature]: 0x37, + [CzoneAlarmType.ConfirmOn]: 0x38, + [CzoneAlarmType.BatterySafety]: 0x39, + [CzoneAlarmType.StopCharging]: 0x3a, + [CzoneAlarmType.CheckBatteryRelay]: 0x3b, + [CzoneAlarmType.BatteryHardwareFailure]: 0x3c, + [CzoneAlarmType.BatteryOverCurrent]: 0x3d, + [CzoneAlarmType.BatteryTemperatureLow]: 0x3e, + [CzoneAlarmType.BatteryTemperatureHigh]: 0x3f, + [CzoneAlarmType.BatteryLast100]: 0x40, } /** * @category Enumerations */ -export const DirectionRudderValues: {[key: string]: number} = { - [DirectionRudder.NoOrder]: 0x0, - [DirectionRudder.MoveToStarboard]: 0x1, - [DirectionRudder.MoveToPort]: 0x2, +export enum DcSource { + Battery = 'Battery', + Alternator = 'Alternator', + Convertor = 'Convertor', + SolarCell = 'Solar cell', + WindGenerator = 'Wind generator', } /** * @category Enumerations */ -export enum NavStatus { - UnderWayUsingEngine = 'Under way using engine', - AtAnchor = 'At anchor', - NotUnderCommand = 'Not under command', - RestrictedManeuverability = 'Restricted maneuverability', - ConstrainedByHerDraught = 'Constrained by her draught', - Moored = 'Moored', - Aground = 'Aground', - EngagedInFishing = 'Engaged in Fishing', - UnderWaySailing = 'Under way sailing', - HazardousMaterialHighSpeed = 'Hazardous material - High Speed', - HazardousMaterialWingInGround = 'Hazardous material - Wing in Ground', - PowerDrivenVesselTowingAstern = 'Power-driven vessel towing astern', - PowerDrivenVesselPushingAheadOrTowingAlongside = 'Power-driven vessel pushing ahead or towing alongside', - AisSart = 'AIS-SART', +export const DcSourceValues: {[key: string]: number} = { + [DcSource.Battery]: 0x0, + [DcSource.Alternator]: 0x1, + [DcSource.Convertor]: 0x2, + [DcSource.SolarCell]: 0x3, + [DcSource.WindGenerator]: 0x4, } /** * @category Enumerations */ -export const NavStatusValues: {[key: string]: number} = { - [NavStatus.UnderWayUsingEngine]: 0x0, - [NavStatus.AtAnchor]: 0x1, - [NavStatus.NotUnderCommand]: 0x2, - [NavStatus.RestrictedManeuverability]: 0x3, - [NavStatus.ConstrainedByHerDraught]: 0x4, - [NavStatus.Moored]: 0x5, - [NavStatus.Aground]: 0x6, - [NavStatus.EngagedInFishing]: 0x7, - [NavStatus.UnderWaySailing]: 0x8, - [NavStatus.HazardousMaterialHighSpeed]: 0x9, - [NavStatus.HazardousMaterialWingInGround]: 0xa, - [NavStatus.PowerDrivenVesselTowingAstern]: 0xb, - [NavStatus.PowerDrivenVesselPushingAheadOrTowingAlongside]: 0xc, - [NavStatus.AisSart]: 0xe, +export enum DeviceClass { + ReservedFor2000Use = 'Reserved for 2000 Use', + SystemTools = 'System tools', + SafetySystems = 'Safety systems', + InternetworkDevice = 'Internetwork device', + ElectricalDistribution = 'Electrical Distribution', + ElectricalGeneration = 'Electrical Generation', + SteeringAndControlSurfaces = 'Steering and Control surfaces', + Propulsion = 'Propulsion', + Navigation = 'Navigation', + Communication = 'Communication', + SensorCommunicationInterface = 'Sensor Communication Interface', + InstrumentationgeneralSystems = 'Instrumentation/general systems', + ExternalEnvironment = 'External Environment', + InternalEnvironment = 'Internal Environment', + DeckPlusCargoPlusFishingEquipmentSystems = 'Deck + cargo + fishing equipment systems', + HumanInterface = 'Human Interface', + Display = 'Display', + Entertainment = 'Entertainment', } /** * @category Enumerations */ -export enum PowerFactor { - Leading = 'Leading', - Lagging = 'Lagging', - Error = 'Error', +export const DeviceClassValues: {[key: string]: number} = { + [DeviceClass.ReservedFor2000Use]: 0x0, + [DeviceClass.SystemTools]: 0xa, + [DeviceClass.SafetySystems]: 0x14, + [DeviceClass.InternetworkDevice]: 0x19, + [DeviceClass.ElectricalDistribution]: 0x1e, + [DeviceClass.ElectricalGeneration]: 0x23, + [DeviceClass.SteeringAndControlSurfaces]: 0x28, + [DeviceClass.Propulsion]: 0x32, + [DeviceClass.Navigation]: 0x3c, + [DeviceClass.Communication]: 0x46, + [DeviceClass.SensorCommunicationInterface]: 0x4b, + [DeviceClass.InstrumentationgeneralSystems]: 0x50, + [DeviceClass.ExternalEnvironment]: 0x55, + [DeviceClass.InternalEnvironment]: 0x5a, + [DeviceClass.DeckPlusCargoPlusFishingEquipmentSystems]: 0x64, + [DeviceClass.HumanInterface]: 0x6e, + [DeviceClass.Display]: 0x78, + [DeviceClass.Entertainment]: 0x7d, } /** * @category Enumerations */ -export const PowerFactorValues: {[key: string]: number} = { - [PowerFactor.Leading]: 0x0, - [PowerFactor.Lagging]: 0x1, - [PowerFactor.Error]: 0x2, +export enum DeviceTempState { + Cold = 'Cold', + Warm = 'Warm', + Hot = 'Hot', } /** * @category Enumerations */ -export enum TemperatureSource { - SeaTemperature = 'Sea Temperature', - OutsideTemperature = 'Outside Temperature', - InsideTemperature = 'Inside Temperature', - EngineRoomTemperature = 'Engine Room Temperature', - MainCabinTemperature = 'Main Cabin Temperature', - LiveWellTemperature = 'Live Well Temperature', - BaitWellTemperature = 'Bait Well Temperature', - RefrigerationTemperature = 'Refrigeration Temperature', - HeatingSystemTemperature = 'Heating System Temperature', - DewPointTemperature = 'Dew Point Temperature', - ApparentWindChillTemperature = 'Apparent Wind Chill Temperature', - TheoreticalWindChillTemperature = 'Theoretical Wind Chill Temperature', - HeatIndexTemperature = 'Heat Index Temperature', - FreezerTemperature = 'Freezer Temperature', - ExhaustGasTemperature = 'Exhaust Gas Temperature', - ShaftSealTemperature = 'Shaft Seal Temperature', +export const DeviceTempStateValues: {[key: string]: number} = { + [DeviceTempState.Cold]: 0x0, + [DeviceTempState.Warm]: 0x1, + [DeviceTempState.Hot]: 0x2, } /** * @category Enumerations */ -export const TemperatureSourceValues: {[key: string]: number} = { - [TemperatureSource.SeaTemperature]: 0x0, - [TemperatureSource.OutsideTemperature]: 0x1, - [TemperatureSource.InsideTemperature]: 0x2, - [TemperatureSource.EngineRoomTemperature]: 0x3, - [TemperatureSource.MainCabinTemperature]: 0x4, - [TemperatureSource.LiveWellTemperature]: 0x5, - [TemperatureSource.BaitWellTemperature]: 0x6, - [TemperatureSource.RefrigerationTemperature]: 0x7, - [TemperatureSource.HeatingSystemTemperature]: 0x8, - [TemperatureSource.DewPointTemperature]: 0x9, - [TemperatureSource.ApparentWindChillTemperature]: 0xa, - [TemperatureSource.TheoreticalWindChillTemperature]: 0xb, - [TemperatureSource.HeatIndexTemperature]: 0xc, - [TemperatureSource.FreezerTemperature]: 0xd, - [TemperatureSource.ExhaustGasTemperature]: 0xe, - [TemperatureSource.ShaftSealTemperature]: 0xf, +export enum DgnssMode { + None = 'None', + SbasIfAvailable = 'SBAS if available', + Sbas = 'SBAS', } /** * @category Enumerations */ -export enum HumiditySource { - Inside = 'Inside', - Outside = 'Outside', +export const DgnssModeValues: {[key: string]: number} = { + [DgnssMode.None]: 0x0, + [DgnssMode.SbasIfAvailable]: 0x1, + [DgnssMode.Sbas]: 0x3, } /** * @category Enumerations */ -export const HumiditySourceValues: {[key: string]: number} = { - [HumiditySource.Inside]: 0x0, - [HumiditySource.Outside]: 0x1, +export enum DifferentialMode { + Manual = 'Manual', + AutoPower = 'Auto Power', + AutoRange = 'Auto Range', } /** * @category Enumerations */ -export enum PressureSource { - Atmospheric = 'Atmospheric', - Water = 'Water', - Steam = 'Steam', - CompressedAir = 'Compressed Air', - Hydraulic = 'Hydraulic', - Filter = 'Filter', - AltimeterSetting = 'AltimeterSetting', - Oil = 'Oil', - Fuel = 'Fuel', +export const DifferentialModeValues: {[key: string]: number} = { + [DifferentialMode.Manual]: 0x0, + [DifferentialMode.AutoPower]: 0x1, + [DifferentialMode.AutoRange]: 0x2, } /** * @category Enumerations */ -export const PressureSourceValues: {[key: string]: number} = { - [PressureSource.Atmospheric]: 0x0, - [PressureSource.Water]: 0x1, - [PressureSource.Steam]: 0x2, - [PressureSource.CompressedAir]: 0x3, - [PressureSource.Hydraulic]: 0x4, - [PressureSource.Filter]: 0x5, - [PressureSource.AltimeterSetting]: 0x6, - [PressureSource.Oil]: 0x7, - [PressureSource.Fuel]: 0x8, +export enum DifferentialSource { + Auto = 'Auto', + Loran = 'Loran', + MskBeacon = 'MSK Beacon', + FmSubcarrier = 'FM Subcarrier', + Ais = 'AIS', + GroundBasedRadio = 'Ground based radio', + Sbas = 'SBAS', + Satellite = 'Satellite', } /** * @category Enumerations */ -export enum DscFormat { - GeographicalArea = 'Geographical area', - Distress = 'Distress', - CommonInterest = 'Common interest', - AllShips = 'All ships', - IndividualStations = 'Individual stations', - NonCallingPurpose = 'Non-calling purpose', - IndividualStationAutomatic = 'Individual station automatic', +export const DifferentialSourceValues: {[key: string]: number} = { + [DifferentialSource.Auto]: 0x0, + [DifferentialSource.Loran]: 0x1, + [DifferentialSource.MskBeacon]: 0x2, + [DifferentialSource.FmSubcarrier]: 0x3, + [DifferentialSource.Ais]: 0x4, + [DifferentialSource.GroundBasedRadio]: 0x5, + [DifferentialSource.Sbas]: 0x6, + [DifferentialSource.Satellite]: 0x7, } /** * @category Enumerations */ -export const DscFormatValues: {[key: string]: number} = { - [DscFormat.GeographicalArea]: 0x66, - [DscFormat.Distress]: 0x70, - [DscFormat.CommonInterest]: 0x72, - [DscFormat.AllShips]: 0x74, - [DscFormat.IndividualStations]: 0x78, - [DscFormat.NonCallingPurpose]: 0x79, - [DscFormat.IndividualStationAutomatic]: 0x7b, +export enum Direction { + Forward = 'Forward', + Reverse = 'Reverse', } /** * @category Enumerations */ -export enum DscCategory { - Routine = 'Routine', - Safety = 'Safety', - Urgency = 'Urgency', - Distress = 'Distress', +export const DirectionValues: {[key: string]: number} = { + [Direction.Forward]: 0x0, + [Direction.Reverse]: 0x1, } /** * @category Enumerations */ -export const DscCategoryValues: {[key: string]: number} = { - [DscCategory.Routine]: 0x64, - [DscCategory.Safety]: 0x6c, - [DscCategory.Urgency]: 0x6e, - [DscCategory.Distress]: 0x70, +export enum DirectionReference { + True = 'True', + Magnetic = 'Magnetic', + Error = 'Error', } /** * @category Enumerations */ -export enum DscNature { - Fire = 'Fire', - Flooding = 'Flooding', - Collision = 'Collision', - Grounding = 'Grounding', - Listing = 'Listing', - Sinking = 'Sinking', - DisabledAndAdrift = 'Disabled and adrift', - Undesignated = 'Undesignated', - AbandoningShip = 'Abandoning ship', - Piracy = 'Piracy', - ManOverboard = 'Man overboard', - EpirbEmission = 'EPIRB emission', +export const DirectionReferenceValues: {[key: string]: number} = { + [DirectionReference.True]: 0x0, + [DirectionReference.Magnetic]: 0x1, + [DirectionReference.Error]: 0x2, } /** * @category Enumerations */ -export const DscNatureValues: {[key: string]: number} = { - [DscNature.Fire]: 0x64, - [DscNature.Flooding]: 0x65, - [DscNature.Collision]: 0x66, - [DscNature.Grounding]: 0x67, - [DscNature.Listing]: 0x68, - [DscNature.Sinking]: 0x69, - [DscNature.DisabledAndAdrift]: 0x6a, - [DscNature.Undesignated]: 0x6b, - [DscNature.AbandoningShip]: 0x6c, - [DscNature.Piracy]: 0x6d, - [DscNature.ManOverboard]: 0x6e, - [DscNature.EpirbEmission]: 0x70, +export enum DirectionRudder { + NoOrder = 'No Order', + MoveToStarboard = 'Move to starboard', + MoveToPort = 'Move to port', } /** * @category Enumerations */ -export enum DscFirstTelecommand { - F3Eg3EAllModesTp = 'F3E/G3E All modes TP', - F3Eg3EDuplexTp = 'F3E/G3E duplex TP', - Polling = 'Polling', - UnableToComply = 'Unable to comply', - EndOfCall = 'End of call', - Data = 'Data', - J3ETp = 'J3E TP', - DistressAcknowledgement = 'Distress acknowledgement', - DistressRelay = 'Distress relay', - F1Bj2BTtyFec = 'F1B/J2B TTY-FEC', - F1Bj2BTtyArq = 'F1B/J2B TTY-ARQ', - Test = 'Test', - ShipPositionOrLocationRegistrationUpdating = 'Ship position or location registration updating', - NoInformation = 'No information', +export const DirectionRudderValues: {[key: string]: number} = { + [DirectionRudder.NoOrder]: 0x0, + [DirectionRudder.MoveToStarboard]: 0x1, + [DirectionRudder.MoveToPort]: 0x2, } /** * @category Enumerations */ -export const DscFirstTelecommandValues: {[key: string]: number} = { - [DscFirstTelecommand.F3Eg3EAllModesTp]: 0x64, - [DscFirstTelecommand.F3Eg3EDuplexTp]: 0x65, - [DscFirstTelecommand.Polling]: 0x67, - [DscFirstTelecommand.UnableToComply]: 0x68, - [DscFirstTelecommand.EndOfCall]: 0x69, - [DscFirstTelecommand.Data]: 0x6a, - [DscFirstTelecommand.J3ETp]: 0x6d, - [DscFirstTelecommand.DistressAcknowledgement]: 0x6e, - [DscFirstTelecommand.DistressRelay]: 0x70, - [DscFirstTelecommand.F1Bj2BTtyFec]: 0x71, - [DscFirstTelecommand.F1Bj2BTtyArq]: 0x73, - [DscFirstTelecommand.Test]: 0x76, - [DscFirstTelecommand.ShipPositionOrLocationRegistrationUpdating]: 0x79, - [DscFirstTelecommand.NoInformation]: 0x7e, +export enum DockingStatus { + NotDocked = 'Not docked', + FullyDocked = 'Fully docked', } /** * @category Enumerations */ -export enum DscSecondTelecommand { - NoReasonGiven = 'No reason given', - CongestionAtMsc = 'Congestion at MSC', - Busy = 'Busy', - QueueIndication = 'Queue indication', - StationBarred = 'Station barred', - NoOperatorAvailable = 'No operator available', - OperatorTemporarilyUnavailable = 'Operator temporarily unavailable', - EquipmentDisabled = 'Equipment disabled', - UnableToUseProposedChannel = 'Unable to use proposed channel', - UnableToUseProposedMode = 'Unable to use proposed mode', - ShipsAndAircraftOfStatesNotPartiesToAnArmedConflict = 'Ships and aircraft of States not parties to an armed conflict', - MedicalTransports = 'Medical transports', - PayPhonepublicCallOffice = 'Pay phone/public call office', - Faxdata = 'Fax/data', - NoInformation = 'No information', +export const DockingStatusValues: {[key: string]: number} = { + [DockingStatus.NotDocked]: 0x0, + [DockingStatus.FullyDocked]: 0x1, } /** * @category Enumerations */ -export const DscSecondTelecommandValues: {[key: string]: number} = { - [DscSecondTelecommand.NoReasonGiven]: 0x64, - [DscSecondTelecommand.CongestionAtMsc]: 0x65, - [DscSecondTelecommand.Busy]: 0x66, - [DscSecondTelecommand.QueueIndication]: 0x67, - [DscSecondTelecommand.StationBarred]: 0x68, - [DscSecondTelecommand.NoOperatorAvailable]: 0x69, - [DscSecondTelecommand.OperatorTemporarilyUnavailable]: 0x6a, - [DscSecondTelecommand.EquipmentDisabled]: 0x6b, - [DscSecondTelecommand.UnableToUseProposedChannel]: 0x6c, - [DscSecondTelecommand.UnableToUseProposedMode]: 0x6d, - [DscSecondTelecommand.ShipsAndAircraftOfStatesNotPartiesToAnArmedConflict]: 0x6e, - [DscSecondTelecommand.MedicalTransports]: 0x6f, - [DscSecondTelecommand.PayPhonepublicCallOffice]: 0x70, - [DscSecondTelecommand.Faxdata]: 0x71, - [DscSecondTelecommand.NoInformation]: 0x7e, +export enum DscCategory { + Routine = 'Routine', + Safety = 'Safety', + Urgency = 'Urgency', + Distress = 'Distress', +} + +/** + * @category Enumerations + */ +export const DscCategoryValues: {[key: string]: number} = { + [DscCategory.Routine]: 0x64, + [DscCategory.Safety]: 0x6c, + [DscCategory.Urgency]: 0x6e, + [DscCategory.Distress]: 0x70, } /** @@ -2027,632 +1644,345 @@ export const DscExpansionDataValues: {[key: string]: number} = { /** * @category Enumerations */ -export enum SeatalkMessageId { - Seatalk1Encoded = 'Seatalk 1 Encoded', - Display = 'Display', - PilotConfiguration = 'Pilot Configuration', -} - -/** - * @category Enumerations - */ -export const SeatalkMessageIdValues: {[key: string]: number} = { - [SeatalkMessageId.Seatalk1Encoded]: 0xf0, - [SeatalkMessageId.Display]: 0x8c, - [SeatalkMessageId.PilotConfiguration]: 0x6c, -} - -/** - * @category Enumerations - */ -export enum SeatalkCommand { - Seatalk1 = 'Seatalk1', - HullType = 'Hull Type', - AutoTurn = 'Auto Turn', - Settings = 'Settings', - RudderLimit = 'Rudder Limit', - RudderDamping = 'Rudder Damping', - RudderOffset = 'Rudder Offset', - ReverseRudderReference = 'Reverse Rudder Reference', - CruiseSpeed = 'Cruise Speed', - PowerSteerMode = 'Power Steer Mode', - WindType = 'Wind Type', - CalibrationLock = 'Calibration Lock', - GybeInhibit = 'Gybe Inhibit', - CompassOffset = 'Compass Offset', - DriveType = 'Drive Type', - ResponseLevel = 'Response Level', - MaxCompassDeviation = 'Max Compass Deviation', - HardOverTime = 'Hard Over Time', - DebugLevel = 'Debug Level', - CompassLock = 'Compass Lock', - SpeedInput = 'Speed Input', - CompassLinearisationProgress = 'Compass Linearisation Progress', - AcuDebugLevel = 'ACU Debug Level', - WindShiftAlarm = 'Wind Shift Alarm', - AutoTurnTimeout = 'Auto Turn Timeout', -} - -/** - * @category Enumerations - */ -export const SeatalkCommandValues: {[key: string]: number} = { - [SeatalkCommand.Seatalk1]: 0x81, - [SeatalkCommand.HullType]: 0x16, - [SeatalkCommand.AutoTurn]: 0x26, - [SeatalkCommand.Settings]: 0xc, - [SeatalkCommand.RudderLimit]: 0x2, - [SeatalkCommand.RudderDamping]: 0x3, - [SeatalkCommand.RudderOffset]: 0x4, - [SeatalkCommand.ReverseRudderReference]: 0x6, - [SeatalkCommand.CruiseSpeed]: 0x8, - [SeatalkCommand.PowerSteerMode]: 0xb, - [SeatalkCommand.WindType]: 0xf, - AutoTurn2: 0x11, - [SeatalkCommand.CalibrationLock]: 0x12, - [SeatalkCommand.GybeInhibit]: 0x14, - [SeatalkCommand.CompassOffset]: 0x15, - [SeatalkCommand.DriveType]: 0x17, - [SeatalkCommand.ResponseLevel]: 0x19, - [SeatalkCommand.MaxCompassDeviation]: 0x1a, - [SeatalkCommand.HardOverTime]: 0x1b, - [SeatalkCommand.DebugLevel]: 0x1d, - [SeatalkCommand.CompassLock]: 0x21, - [SeatalkCommand.SpeedInput]: 0x22, - [SeatalkCommand.CompassLinearisationProgress]: 0x23, - [SeatalkCommand.AcuDebugLevel]: 0x24, - [SeatalkCommand.WindShiftAlarm]: 0x25, - [SeatalkCommand.AutoTurnTimeout]: 0x27, +export enum DscFirstTelecommand { + F3Eg3EAllModesTp = 'F3E/G3E All modes TP', + F3Eg3EDuplexTp = 'F3E/G3E duplex TP', + Polling = 'Polling', + UnableToComply = 'Unable to comply', + EndOfCall = 'End of call', + Data = 'Data', + J3ETp = 'J3E TP', + DistressAcknowledgement = 'Distress acknowledgement', + DistressRelay = 'Distress relay', + F1Bj2BTtyFec = 'F1B/J2B TTY-FEC', + F1Bj2BTtyArq = 'F1B/J2B TTY-ARQ', + Test = 'Test', + ShipPositionOrLocationRegistrationUpdating = 'Ship position or location registration updating', + NoInformation = 'No information', } /** * @category Enumerations - */ -export enum Seatalk1Command { - DepthBelowTransducer = 'Depth Below Transducer', - EquipmentId = 'Equipment ID', - EngineRpmAndPitch = 'Engine RPM and PITCH', - ApparentWindAngle = 'Apparent Wind Angle', - ApparentWindSpeed = 'Apparent Wind Speed', - SpeedThroughWater = 'Speed through water', - TripMileage = 'Trip Mileage', - TotalMileage = 'Total Mileage', - WaterTemperaturest50 = 'Water temperature (ST50)', - DisplayUnitsForMileageSpeed = 'Display units for Mileage & Speed', - TotalTripLog = 'Total & Trip Log', - SpeedThroughWaterwithAverage = 'Speed through water (with average)', - WaterTemperature = 'Water temperature', - SetLampIntensity = 'Set lamp Intensity', - CancelMobmanOverBoardCondition = 'Cancel MOB (Man Over Board) condition', - CodelockData = 'Codelock data', - LatPosition = 'LAT position', - LonPosition = 'LON position', - SpeedOverGround = 'Speed over Ground', - CourseOverGroundcog = 'Course over Ground (COG)', - GmtTime = 'GMT-time', - TrackKeystrokeOnGpsUnit = 'TRACK keystroke on GPS unit', - Date = 'Date', - SatInfo = 'Sat Info', - LatlonrawUnfiltered = 'LAT/LON (raw unfiltered)', - SetCountDownTimer = 'Set Count Down Timer', - IssuedByE80MultifunctionDisplayAtInitialization = 'Issued by E-80 multifunction display at initialization', - SelectFathomDisplayUnitsForDepthDisplay = 'Select Fathom display units for depth display', - WindAlarm = 'Wind alarm', - AlarmAcknowledgmentKeystroke = 'Alarm acknowledgment keystroke', - SecondEquipmentIdDatagram = 'Second equipment-ID datagram', - MobmanOverBoard = 'MOB (Man Over Board)', - KeystrokeOnRaymarineA25006St60MaxiviewRemoteControl = 'Keystroke on Raymarine A25006 ST60 Maxiview Remote Control', - SentByCourseComputerDuringSetup = 'Sent by course computer during setup', - TargetWaypointName = 'Target waypoint name', - SentByCourseComputer = 'Sent by course computer', - CompassHeadingAutopilotCourseAndRudderPosition = 'Compass heading Autopilot course and Rudder position', - NavigationToWaypointInformation = 'Navigation to waypoint information', - Keystroke = 'Keystroke', - SetResponseLevel = 'Set Response level', - AutopilotParameter = 'Autopilot Parameter', - CompassHeadingSentBySt40CompassInstrument = 'Compass heading sent by ST40 compass instrument', - DeviceIndentification = 'Device Indentification', - SetRudderGain = 'Set Rudder gain', - SetAutopilotParameter = 'Set Autopilot Parameter', - EnterApSetup = 'Enter AP-Setup', - ReplacesCommand84WhileAutopilotIsInValueSettingMode = 'Replaces command 84 while autopilot is in value setting mode', - CompassVariation = 'Compass variation', - VersionString = 'Version String', - CompassHeadingAndRudderPosition = 'Compass heading and Rudder position', - WaypointDefinition = 'Waypoint definition', - DestinationWaypointInfo = 'Destination Waypoint Info', - ArrivalInfo = 'Arrival Info', - BroadcastQueryresponseToIdentifyDevices = 'Broadcast query/response to identify devices', - GpsAndDgpsInfo = 'GPS and DGPS Info', - UnknownMeaning = 'Unknown meaning', - AlarmOnoffForGuard = 'Alarm ON/OFF for Guard', + */ +export const DscFirstTelecommandValues: {[key: string]: number} = { + [DscFirstTelecommand.F3Eg3EAllModesTp]: 0x64, + [DscFirstTelecommand.F3Eg3EDuplexTp]: 0x65, + [DscFirstTelecommand.Polling]: 0x67, + [DscFirstTelecommand.UnableToComply]: 0x68, + [DscFirstTelecommand.EndOfCall]: 0x69, + [DscFirstTelecommand.Data]: 0x6a, + [DscFirstTelecommand.J3ETp]: 0x6d, + [DscFirstTelecommand.DistressAcknowledgement]: 0x6e, + [DscFirstTelecommand.DistressRelay]: 0x70, + [DscFirstTelecommand.F1Bj2BTtyFec]: 0x71, + [DscFirstTelecommand.F1Bj2BTtyArq]: 0x73, + [DscFirstTelecommand.Test]: 0x76, + [DscFirstTelecommand.ShipPositionOrLocationRegistrationUpdating]: 0x79, + [DscFirstTelecommand.NoInformation]: 0x7e, } /** * @category Enumerations */ -export const Seatalk1CommandValues: {[key: string]: number} = { - [Seatalk1Command.DepthBelowTransducer]: 0x0, - [Seatalk1Command.EquipmentId]: 0x1, - [Seatalk1Command.EngineRpmAndPitch]: 0x5, - [Seatalk1Command.ApparentWindAngle]: 0x10, - [Seatalk1Command.ApparentWindSpeed]: 0x11, - [Seatalk1Command.SpeedThroughWater]: 0x20, - [Seatalk1Command.TripMileage]: 0x21, - [Seatalk1Command.TotalMileage]: 0x22, - [Seatalk1Command.WaterTemperaturest50]: 0x23, - [Seatalk1Command.DisplayUnitsForMileageSpeed]: 0x24, - [Seatalk1Command.TotalTripLog]: 0x25, - [Seatalk1Command.SpeedThroughWaterwithAverage]: 0x26, - [Seatalk1Command.WaterTemperature]: 0x27, - [Seatalk1Command.SetLampIntensity]: 0x30, - [Seatalk1Command.CancelMobmanOverBoardCondition]: 0x36, - [Seatalk1Command.CodelockData]: 0x38, - [Seatalk1Command.LatPosition]: 0x50, - [Seatalk1Command.LonPosition]: 0x51, - [Seatalk1Command.SpeedOverGround]: 0x52, - [Seatalk1Command.CourseOverGroundcog]: 0x53, - [Seatalk1Command.GmtTime]: 0x54, - [Seatalk1Command.TrackKeystrokeOnGpsUnit]: 0x55, - [Seatalk1Command.Date]: 0x56, - [Seatalk1Command.SatInfo]: 0x57, - [Seatalk1Command.LatlonrawUnfiltered]: 0x58, - [Seatalk1Command.SetCountDownTimer]: 0x59, - [Seatalk1Command.IssuedByE80MultifunctionDisplayAtInitialization]: 0x61, - [Seatalk1Command.SelectFathomDisplayUnitsForDepthDisplay]: 0x65, - [Seatalk1Command.WindAlarm]: 0x66, - [Seatalk1Command.AlarmAcknowledgmentKeystroke]: 0x68, - [Seatalk1Command.SecondEquipmentIdDatagram]: 0x6c, - [Seatalk1Command.MobmanOverBoard]: 0x6e, - [Seatalk1Command.KeystrokeOnRaymarineA25006St60MaxiviewRemoteControl]: 0x70, - SetLampIntensity2: 0x80, - [Seatalk1Command.SentByCourseComputerDuringSetup]: 0x81, - [Seatalk1Command.TargetWaypointName]: 0x82, - [Seatalk1Command.SentByCourseComputer]: 0x83, - [Seatalk1Command.CompassHeadingAutopilotCourseAndRudderPosition]: 0x84, - [Seatalk1Command.NavigationToWaypointInformation]: 0x85, - [Seatalk1Command.Keystroke]: 0x86, - [Seatalk1Command.SetResponseLevel]: 0x87, - [Seatalk1Command.AutopilotParameter]: 0x88, - [Seatalk1Command.CompassHeadingSentBySt40CompassInstrument]: 0x89, - [Seatalk1Command.DeviceIndentification]: 0x90, - [Seatalk1Command.SetRudderGain]: 0x91, - [Seatalk1Command.SetAutopilotParameter]: 0x92, - [Seatalk1Command.EnterApSetup]: 0x93, - [Seatalk1Command.ReplacesCommand84WhileAutopilotIsInValueSettingMode]: 0x95, - [Seatalk1Command.CompassVariation]: 0x99, - [Seatalk1Command.VersionString]: 0x9a, - [Seatalk1Command.CompassHeadingAndRudderPosition]: 0x9c, - [Seatalk1Command.WaypointDefinition]: 0x9e, - [Seatalk1Command.DestinationWaypointInfo]: 0xa1, - [Seatalk1Command.ArrivalInfo]: 0xa2, - [Seatalk1Command.BroadcastQueryresponseToIdentifyDevices]: 0xa4, - [Seatalk1Command.GpsAndDgpsInfo]: 0xa5, - [Seatalk1Command.UnknownMeaning]: 0xa7, - [Seatalk1Command.AlarmOnoffForGuard]: 0xa8, - AlarmOnoffForGuard2: 0xab, +export enum DscFormat { + GeographicalArea = 'Geographical area', + Distress = 'Distress', + CommonInterest = 'Common interest', + AllShips = 'All ships', + IndividualStations = 'Individual stations', + NonCallingPurpose = 'Non-calling purpose', + IndividualStationAutomatic = 'Individual station automatic', } /** * @category Enumerations */ -export enum Seatalk1Att { - DepthBelowTransducer = 'Depth Below Transducer', +export const DscFormatValues: {[key: string]: number} = { + [DscFormat.GeographicalArea]: 0x66, + [DscFormat.Distress]: 0x70, + [DscFormat.CommonInterest]: 0x72, + [DscFormat.AllShips]: 0x74, + [DscFormat.IndividualStations]: 0x78, + [DscFormat.NonCallingPurpose]: 0x79, + [DscFormat.IndividualStationAutomatic]: 0x7b, } /** * @category Enumerations */ -export const Seatalk1AttValues: {[key: string]: number} = { - [Seatalk1Att.DepthBelowTransducer]: 0x0, +export enum DscNature { + Fire = 'Fire', + Flooding = 'Flooding', + Collision = 'Collision', + Grounding = 'Grounding', + Listing = 'Listing', + Sinking = 'Sinking', + DisabledAndAdrift = 'Disabled and adrift', + Undesignated = 'Undesignated', + AbandoningShip = 'Abandoning ship', + Piracy = 'Piracy', + ManOverboard = 'Man overboard', + EpirbEmission = 'EPIRB emission', } /** * @category Enumerations */ -export enum SeatalkAlarmStatus { - AlarmConditionNotMet = 'Alarm condition not met', - AlarmConditionMetAndNotSilenced = 'Alarm condition met and not silenced', - AlarmConditionMetAndSilenced = 'Alarm condition met and silenced', +export const DscNatureValues: {[key: string]: number} = { + [DscNature.Fire]: 0x64, + [DscNature.Flooding]: 0x65, + [DscNature.Collision]: 0x66, + [DscNature.Grounding]: 0x67, + [DscNature.Listing]: 0x68, + [DscNature.Sinking]: 0x69, + [DscNature.DisabledAndAdrift]: 0x6a, + [DscNature.Undesignated]: 0x6b, + [DscNature.AbandoningShip]: 0x6c, + [DscNature.Piracy]: 0x6d, + [DscNature.ManOverboard]: 0x6e, + [DscNature.EpirbEmission]: 0x70, } /** * @category Enumerations */ -export const SeatalkAlarmStatusValues: {[key: string]: number} = { - [SeatalkAlarmStatus.AlarmConditionNotMet]: 0x0, - [SeatalkAlarmStatus.AlarmConditionMetAndNotSilenced]: 0x1, - [SeatalkAlarmStatus.AlarmConditionMetAndSilenced]: 0x2, +export enum DscSecondTelecommand { + NoReasonGiven = 'No reason given', + CongestionAtMsc = 'Congestion at MSC', + Busy = 'Busy', + QueueIndication = 'Queue indication', + StationBarred = 'Station barred', + NoOperatorAvailable = 'No operator available', + OperatorTemporarilyUnavailable = 'Operator temporarily unavailable', + EquipmentDisabled = 'Equipment disabled', + UnableToUseProposedChannel = 'Unable to use proposed channel', + UnableToUseProposedMode = 'Unable to use proposed mode', + ShipsAndAircraftOfStatesNotPartiesToAnArmedConflict = 'Ships and aircraft of States not parties to an armed conflict', + MedicalTransports = 'Medical transports', + PayPhonepublicCallOffice = 'Pay phone/public call office', + Faxdata = 'Fax/data', + NoInformation = 'No information', } /** * @category Enumerations */ -export enum SeatalkAlarmId { - NoAlarm = 'No Alarm', - ShallowDepth = 'Shallow Depth', - DeepDepth = 'Deep Depth', - ShallowAnchor = 'Shallow Anchor', - DeepAnchor = 'Deep Anchor', - OffCourse = 'Off Course', - AwaHigh = 'AWA High', - AwaLow = 'AWA Low', - AwsHigh = 'AWS High', - AwsLow = 'AWS Low', - TwaHigh = 'TWA High', - TwaLow = 'TWA Low', - TwsHigh = 'TWS High', - TwsLow = 'TWS Low', - WpArrival = 'WP Arrival', - BoatSpeedHigh = 'Boat Speed High', - BoatSpeedLow = 'Boat Speed Low', - SeaTemperatureHigh = 'Sea Temperature High', - SeaTemperatureLow = 'Sea Temperature Low', - PilotWatch = 'Pilot Watch', - PilotOffCourse = 'Pilot Off Course', - PilotWindShift = 'Pilot Wind Shift', - PilotLowBattery = 'Pilot Low Battery', - PilotLastMinuteOfWatch = 'Pilot Last Minute Of Watch', - PilotNoNmeaData = 'Pilot No NMEA Data', - PilotLargeXte = 'Pilot Large XTE', - PilotNmeaDataError = 'Pilot NMEA DataError', - PilotCuDisconnected = 'Pilot CU Disconnected', - PilotAutoRelease = 'Pilot Auto Release', - PilotWayPointAdvance = 'Pilot Way Point Advance', - PilotDriveStopped = 'Pilot Drive Stopped', - PilotTypeUnspecified = 'Pilot Type Unspecified', - PilotCalibrationRequired = 'Pilot Calibration Required', - PilotLastHeading = 'Pilot Last Heading', - PilotNoPilot = 'Pilot No Pilot', - PilotRouteComplete = 'Pilot Route Complete', - PilotVariableText = 'Pilot Variable Text', - GpsFailure = 'GPS Failure', - Mob = 'MOB', - Seatalk1Anchor = 'Seatalk1 Anchor', - PilotSwappedMotorPower = 'Pilot Swapped Motor Power', - PilotStandbyTooFastToFish = 'Pilot Standby Too Fast To Fish', - PilotNoGpsFix = 'Pilot No GPS Fix', - PilotNoGpsCog = 'Pilot No GPS COG', - PilotStartUp = 'Pilot Start Up', - PilotTooSlow = 'Pilot Too Slow', - PilotNoCompass = 'Pilot No Compass', - PilotRateGyroFault = 'Pilot Rate Gyro Fault', - PilotCurrentLimit = 'Pilot Current Limit', - PilotWayPointAdvancePort = 'Pilot Way Point Advance Port', - PilotWayPointAdvanceStbd = 'Pilot Way Point Advance Stbd', - PilotNoWindData = 'Pilot No Wind Data', - PilotNoSpeedData = 'Pilot No Speed Data', - PilotSeatalkFail1 = 'Pilot Seatalk Fail1', - PilotSeatalkFail2 = 'Pilot Seatalk Fail2', - PilotWarningTooFastToFish = 'Pilot Warning Too Fast To Fish', - PilotAutoDocksideFail = 'Pilot Auto Dockside Fail', - PilotTurnTooFast = 'Pilot Turn Too Fast', - PilotNoNavData = 'Pilot No Nav Data', - PilotLostWaypointData = 'Pilot Lost Waypoint Data', - PilotEepromCorrupt = 'Pilot EEPROM Corrupt', - PilotRudderFeedbackFail = 'Pilot Rudder Feedback Fail', - PilotAutolearnFail1 = 'Pilot Autolearn Fail1', - PilotAutolearnFail2 = 'Pilot Autolearn Fail2', - PilotAutolearnFail3 = 'Pilot Autolearn Fail3', - PilotAutolearnFail4 = 'Pilot Autolearn Fail4', - PilotAutolearnFail5 = 'Pilot Autolearn Fail5', - PilotAutolearnFail6 = 'Pilot Autolearn Fail6', - PilotWarningCalRequired = 'Pilot Warning Cal Required', - PilotWarningOffCourse = 'Pilot Warning OffCourse', - PilotWarningXte = 'Pilot Warning XTE', - PilotWarningWindShift = 'Pilot Warning Wind Shift', - PilotWarningDriveShort = 'Pilot Warning Drive Short', - PilotWarningClutchShort = 'Pilot Warning Clutch Short', - PilotWarningSolenoidShort = 'Pilot Warning Solenoid Short', - PilotJoystickFault = 'Pilot Joystick Fault', - PilotNoJoystickData = 'Pilot No Joystick Data', - PilotInvalidCommand = 'Pilot Invalid Command', - AisTxMalfunction = 'AIS TX Malfunction', - AisAntennaVswrFault = 'AIS Antenna VSWR fault', - AisRxChannel1Malfunction = 'AIS Rx channel 1 malfunction', - AisRxChannel2Malfunction = 'AIS Rx channel 2 malfunction', - AisNoSensorPositionInUse = 'AIS No sensor position in use', - AisNoValidSogInformation = 'AIS No valid SOG information', - AisNoValidCogInformation = 'AIS No valid COG information', - Ais12VAlarm = 'AIS 12V alarm', - Ais6VAlarm = 'AIS 6V alarm', - AisNoiseThresholdExceededChannelA = 'AIS Noise threshold exceeded channel A', - AisNoiseThresholdExceededChannelB = 'AIS Noise threshold exceeded channel B', - AisTransmitterPaFault = 'AIS Transmitter PA fault', - Ais3V3Alarm = 'AIS 3V3 alarm', - AisRxChannel70Malfunction = 'AIS Rx channel 70 malfunction', - AisHeadingLostinvalid = 'AIS Heading lost/invalid', - AisInternalGpsLost = 'AIS internal GPS lost', - AisNoSensorPosition = 'AIS No sensor position', - AisLockFailure = 'AIS Lock failure', - AisInternalGgaTimeout = 'AIS Internal GGA timeout', - AisProtocolStackRestart = 'AIS Protocol stack restart', - PilotNoIpsCommunications = 'Pilot No IPS communications', - PilotPowerOnOrSleepSwitchResetWhileEngaged = 'Pilot Power-On or Sleep-Switch Reset While Engaged', - PilotUnexpectedResetWhileEngaged = 'Pilot Unexpected Reset While Engaged', - AisDangerousTarget = 'AIS Dangerous Target', - AisLostTarget = 'AIS Lost Target', - AisSafetyRelatedMessageusedToSilence = 'AIS Safety Related Message (used to silence)', - AisConnectionLost = 'AIS Connection Lost', - NoFix = 'No Fix', +export const DscSecondTelecommandValues: {[key: string]: number} = { + [DscSecondTelecommand.NoReasonGiven]: 0x64, + [DscSecondTelecommand.CongestionAtMsc]: 0x65, + [DscSecondTelecommand.Busy]: 0x66, + [DscSecondTelecommand.QueueIndication]: 0x67, + [DscSecondTelecommand.StationBarred]: 0x68, + [DscSecondTelecommand.NoOperatorAvailable]: 0x69, + [DscSecondTelecommand.OperatorTemporarilyUnavailable]: 0x6a, + [DscSecondTelecommand.EquipmentDisabled]: 0x6b, + [DscSecondTelecommand.UnableToUseProposedChannel]: 0x6c, + [DscSecondTelecommand.UnableToUseProposedMode]: 0x6d, + [DscSecondTelecommand.ShipsAndAircraftOfStatesNotPartiesToAnArmedConflict]: 0x6e, + [DscSecondTelecommand.MedicalTransports]: 0x6f, + [DscSecondTelecommand.PayPhonepublicCallOffice]: 0x70, + [DscSecondTelecommand.Faxdata]: 0x71, + [DscSecondTelecommand.NoInformation]: 0x7e, } /** * @category Enumerations */ -export const SeatalkAlarmIdValues: {[key: string]: number} = { - [SeatalkAlarmId.NoAlarm]: 0x0, - [SeatalkAlarmId.ShallowDepth]: 0x1, - [SeatalkAlarmId.DeepDepth]: 0x2, - [SeatalkAlarmId.ShallowAnchor]: 0x3, - [SeatalkAlarmId.DeepAnchor]: 0x4, - [SeatalkAlarmId.OffCourse]: 0x5, - [SeatalkAlarmId.AwaHigh]: 0x6, - [SeatalkAlarmId.AwaLow]: 0x7, - [SeatalkAlarmId.AwsHigh]: 0x8, - [SeatalkAlarmId.AwsLow]: 0x9, - [SeatalkAlarmId.TwaHigh]: 0xa, - [SeatalkAlarmId.TwaLow]: 0xb, - [SeatalkAlarmId.TwsHigh]: 0xc, - [SeatalkAlarmId.TwsLow]: 0xd, - [SeatalkAlarmId.WpArrival]: 0xe, - [SeatalkAlarmId.BoatSpeedHigh]: 0xf, - [SeatalkAlarmId.BoatSpeedLow]: 0x10, - [SeatalkAlarmId.SeaTemperatureHigh]: 0x11, - [SeatalkAlarmId.SeaTemperatureLow]: 0x12, - [SeatalkAlarmId.PilotWatch]: 0x13, - [SeatalkAlarmId.PilotOffCourse]: 0x14, - [SeatalkAlarmId.PilotWindShift]: 0x15, - [SeatalkAlarmId.PilotLowBattery]: 0x16, - [SeatalkAlarmId.PilotLastMinuteOfWatch]: 0x17, - [SeatalkAlarmId.PilotNoNmeaData]: 0x18, - [SeatalkAlarmId.PilotLargeXte]: 0x19, - [SeatalkAlarmId.PilotNmeaDataError]: 0x1a, - [SeatalkAlarmId.PilotCuDisconnected]: 0x1b, - [SeatalkAlarmId.PilotAutoRelease]: 0x1c, - [SeatalkAlarmId.PilotWayPointAdvance]: 0x1d, - [SeatalkAlarmId.PilotDriveStopped]: 0x1e, - [SeatalkAlarmId.PilotTypeUnspecified]: 0x1f, - [SeatalkAlarmId.PilotCalibrationRequired]: 0x20, - [SeatalkAlarmId.PilotLastHeading]: 0x21, - [SeatalkAlarmId.PilotNoPilot]: 0x22, - [SeatalkAlarmId.PilotRouteComplete]: 0x23, - [SeatalkAlarmId.PilotVariableText]: 0x24, - [SeatalkAlarmId.GpsFailure]: 0x25, - [SeatalkAlarmId.Mob]: 0x26, - [SeatalkAlarmId.Seatalk1Anchor]: 0x27, - [SeatalkAlarmId.PilotSwappedMotorPower]: 0x28, - [SeatalkAlarmId.PilotStandbyTooFastToFish]: 0x29, - [SeatalkAlarmId.PilotNoGpsFix]: 0x2a, - [SeatalkAlarmId.PilotNoGpsCog]: 0x2b, - [SeatalkAlarmId.PilotStartUp]: 0x2c, - [SeatalkAlarmId.PilotTooSlow]: 0x2d, - [SeatalkAlarmId.PilotNoCompass]: 0x2e, - [SeatalkAlarmId.PilotRateGyroFault]: 0x2f, - [SeatalkAlarmId.PilotCurrentLimit]: 0x30, - [SeatalkAlarmId.PilotWayPointAdvancePort]: 0x31, - [SeatalkAlarmId.PilotWayPointAdvanceStbd]: 0x32, - [SeatalkAlarmId.PilotNoWindData]: 0x33, - [SeatalkAlarmId.PilotNoSpeedData]: 0x34, - [SeatalkAlarmId.PilotSeatalkFail1]: 0x35, - [SeatalkAlarmId.PilotSeatalkFail2]: 0x36, - [SeatalkAlarmId.PilotWarningTooFastToFish]: 0x37, - [SeatalkAlarmId.PilotAutoDocksideFail]: 0x38, - [SeatalkAlarmId.PilotTurnTooFast]: 0x39, - [SeatalkAlarmId.PilotNoNavData]: 0x3a, - [SeatalkAlarmId.PilotLostWaypointData]: 0x3b, - [SeatalkAlarmId.PilotEepromCorrupt]: 0x3c, - [SeatalkAlarmId.PilotRudderFeedbackFail]: 0x3d, - [SeatalkAlarmId.PilotAutolearnFail1]: 0x3e, - [SeatalkAlarmId.PilotAutolearnFail2]: 0x3f, - [SeatalkAlarmId.PilotAutolearnFail3]: 0x40, - [SeatalkAlarmId.PilotAutolearnFail4]: 0x41, - [SeatalkAlarmId.PilotAutolearnFail5]: 0x42, - [SeatalkAlarmId.PilotAutolearnFail6]: 0x43, - [SeatalkAlarmId.PilotWarningCalRequired]: 0x44, - [SeatalkAlarmId.PilotWarningOffCourse]: 0x45, - [SeatalkAlarmId.PilotWarningXte]: 0x46, - [SeatalkAlarmId.PilotWarningWindShift]: 0x47, - [SeatalkAlarmId.PilotWarningDriveShort]: 0x48, - [SeatalkAlarmId.PilotWarningClutchShort]: 0x49, - [SeatalkAlarmId.PilotWarningSolenoidShort]: 0x4a, - [SeatalkAlarmId.PilotJoystickFault]: 0x4b, - [SeatalkAlarmId.PilotNoJoystickData]: 0x4c, - [SeatalkAlarmId.PilotInvalidCommand]: 0x50, - [SeatalkAlarmId.AisTxMalfunction]: 0x51, - [SeatalkAlarmId.AisAntennaVswrFault]: 0x52, - [SeatalkAlarmId.AisRxChannel1Malfunction]: 0x53, - [SeatalkAlarmId.AisRxChannel2Malfunction]: 0x54, - [SeatalkAlarmId.AisNoSensorPositionInUse]: 0x55, - [SeatalkAlarmId.AisNoValidSogInformation]: 0x56, - [SeatalkAlarmId.AisNoValidCogInformation]: 0x57, - [SeatalkAlarmId.Ais12VAlarm]: 0x58, - [SeatalkAlarmId.Ais6VAlarm]: 0x59, - [SeatalkAlarmId.AisNoiseThresholdExceededChannelA]: 0x5a, - [SeatalkAlarmId.AisNoiseThresholdExceededChannelB]: 0x5b, - [SeatalkAlarmId.AisTransmitterPaFault]: 0x5c, - [SeatalkAlarmId.Ais3V3Alarm]: 0x5d, - [SeatalkAlarmId.AisRxChannel70Malfunction]: 0x5e, - [SeatalkAlarmId.AisHeadingLostinvalid]: 0x5f, - [SeatalkAlarmId.AisInternalGpsLost]: 0x60, - [SeatalkAlarmId.AisNoSensorPosition]: 0x61, - [SeatalkAlarmId.AisLockFailure]: 0x62, - [SeatalkAlarmId.AisInternalGgaTimeout]: 0x63, - [SeatalkAlarmId.AisProtocolStackRestart]: 0x64, - [SeatalkAlarmId.PilotNoIpsCommunications]: 0x65, - [SeatalkAlarmId.PilotPowerOnOrSleepSwitchResetWhileEngaged]: 0x66, - [SeatalkAlarmId.PilotUnexpectedResetWhileEngaged]: 0x67, - [SeatalkAlarmId.AisDangerousTarget]: 0x68, - [SeatalkAlarmId.AisLostTarget]: 0x69, - [SeatalkAlarmId.AisSafetyRelatedMessageusedToSilence]: 0x6a, - [SeatalkAlarmId.AisConnectionLost]: 0x6b, - [SeatalkAlarmId.NoFix]: 0x6c, +export enum EngineInstance { + SingleEngineOrDualEnginePort = 'Single Engine or Dual Engine Port', + DualEngineStarboard = 'Dual Engine Starboard', } /** * @category Enumerations */ -export enum SeatalkAlarmGroup { - Instrument = 'Instrument', - Autopilot = 'Autopilot', - Radar = 'Radar', - ChartPlotter = 'Chart Plotter', - Ais = 'AIS', +export const EngineInstanceValues: {[key: string]: number} = { + [EngineInstance.SingleEngineOrDualEnginePort]: 0x0, + [EngineInstance.DualEngineStarboard]: 0x1, } /** * @category Enumerations */ -export const SeatalkAlarmGroupValues: {[key: string]: number} = { - [SeatalkAlarmGroup.Instrument]: 0x0, - [SeatalkAlarmGroup.Autopilot]: 0x1, - [SeatalkAlarmGroup.Radar]: 0x2, - [SeatalkAlarmGroup.ChartPlotter]: 0x3, - [SeatalkAlarmGroup.Ais]: 0x4, +export enum EntertainmentChannel { + AllChannels = 'All channels', + StereoFullRange = 'Stereo full range', + StereoFront = 'Stereo front', + StereoBack = 'Stereo back', + StereoSurround = 'Stereo surround', + Center = 'Center', + Subwoofer = 'Subwoofer', + FrontLeft = 'Front left', + FrontRight = 'Front right', + BackLeft = 'Back left', + BackRight = 'Back right', + SurroundLeft = 'Surround left', + SurroundRight = 'Surround right', } /** * @category Enumerations */ -export enum SeatalkPilotMode { - Standby = 'Standby', - Auto = 'Auto', - Wind = 'Wind', - Track = 'Track', +export const EntertainmentChannelValues: {[key: string]: number} = { + [EntertainmentChannel.AllChannels]: 0x0, + [EntertainmentChannel.StereoFullRange]: 0x1, + [EntertainmentChannel.StereoFront]: 0x2, + [EntertainmentChannel.StereoBack]: 0x3, + [EntertainmentChannel.StereoSurround]: 0x4, + [EntertainmentChannel.Center]: 0x5, + [EntertainmentChannel.Subwoofer]: 0x6, + [EntertainmentChannel.FrontLeft]: 0x7, + [EntertainmentChannel.FrontRight]: 0x8, + [EntertainmentChannel.BackLeft]: 0x9, + [EntertainmentChannel.BackRight]: 0xa, + [EntertainmentChannel.SurroundLeft]: 0xb, + [EntertainmentChannel.SurroundRight]: 0xc, } /** * @category Enumerations */ -export const SeatalkPilotModeValues: {[key: string]: number} = { - [SeatalkPilotMode.Standby]: 0x40, - [SeatalkPilotMode.Auto]: 0x42, - [SeatalkPilotMode.Wind]: 0x46, - [SeatalkPilotMode.Track]: 0x4a, +export enum EntertainmentDefaultSettings { + SaveCurrentSettingsAsUserDefault = 'Save current settings as user default', + LoadUserDefault = 'Load user default', + LoadManufacturerDefault = 'Load manufacturer default', } /** * @category Enumerations */ -export enum SeatalkPilotHullType { - Sail = 'Sail', - SailslowTurn = 'Sail (slow turn)', - SailCatamaran = 'Sail Catamaran', - PowerslowTurn = 'Power (slow turn)', - PowerfastTurn = 'Power (fast turn)', - Power = 'Power', +export const EntertainmentDefaultSettingsValues: {[key: string]: number} = { + [EntertainmentDefaultSettings.SaveCurrentSettingsAsUserDefault]: 0x0, + [EntertainmentDefaultSettings.LoadUserDefault]: 0x1, + [EntertainmentDefaultSettings.LoadManufacturerDefault]: 0x2, } /** * @category Enumerations */ -export const SeatalkPilotHullTypeValues: {[key: string]: number} = { - [SeatalkPilotHullType.Sail]: 0x0, - [SeatalkPilotHullType.SailslowTurn]: 0x1, - [SeatalkPilotHullType.SailCatamaran]: 0x2, - [SeatalkPilotHullType.PowerslowTurn]: 0x3, - [SeatalkPilotHullType.PowerfastTurn]: 0x4, - [SeatalkPilotHullType.Power]: 0x8, +export enum EntertainmentEq { + Flat = 'Flat', + Rock = 'Rock', + Hall = 'Hall', + Jazz = 'Jazz', + Pop = 'Pop', + Live = 'Live', + Classic = 'Classic', + Vocal = 'Vocal', + Arena = 'Arena', + Cinema = 'Cinema', + Custom = 'Custom', } /** * @category Enumerations */ -export enum SeatalkShared { - Shared = 'Shared', - NotShared = 'Not Shared', +export const EntertainmentEqValues: {[key: string]: number} = { + [EntertainmentEq.Flat]: 0x0, + [EntertainmentEq.Rock]: 0x1, + [EntertainmentEq.Hall]: 0x2, + [EntertainmentEq.Jazz]: 0x3, + [EntertainmentEq.Pop]: 0x4, + [EntertainmentEq.Live]: 0x5, + [EntertainmentEq.Classic]: 0x6, + [EntertainmentEq.Vocal]: 0x7, + [EntertainmentEq.Arena]: 0x8, + [EntertainmentEq.Cinema]: 0x9, + [EntertainmentEq.Custom]: 0xa, +} + +/** + * @category Enumerations + */ +export enum EntertainmentFilter { + FullRange = 'Full range', + HighPass = 'High pass', + LowPass = 'Low pass', + BandPass = 'Band pass', + NotchFilter = 'Notch filter', +} + +/** + * @category Enumerations + */ +export const EntertainmentFilterValues: {[key: string]: number} = { + [EntertainmentFilter.FullRange]: 0x0, + [EntertainmentFilter.HighPass]: 0x1, + [EntertainmentFilter.LowPass]: 0x2, + [EntertainmentFilter.BandPass]: 0x3, + [EntertainmentFilter.NotchFilter]: 0x4, +} + +/** + * @category Enumerations + */ +export enum EntertainmentGroup { + File = 'File', + PlaylistName = 'Playlist Name', + GenreName = 'Genre Name', + AlbumName = 'Album Name', + ArtistName = 'Artist Name', + TrackName = 'Track Name', + StationName = 'Station Name', + StationNumber = 'Station Number', + FavouriteNumber = 'Favourite Number', + PlayQueue = 'Play Queue', + ContentInfo = 'Content Info', } /** * @category Enumerations */ -export const SeatalkSharedValues: {[key: string]: number} = { - [SeatalkShared.Shared]: 0x1, - [SeatalkShared.NotShared]: 0x2, +export const EntertainmentGroupValues: {[key: string]: number} = { + [EntertainmentGroup.File]: 0x0, + [EntertainmentGroup.PlaylistName]: 0x1, + [EntertainmentGroup.GenreName]: 0x2, + [EntertainmentGroup.AlbumName]: 0x3, + [EntertainmentGroup.ArtistName]: 0x4, + [EntertainmentGroup.TrackName]: 0x5, + [EntertainmentGroup.StationName]: 0x6, + [EntertainmentGroup.StationNumber]: 0x7, + [EntertainmentGroup.FavouriteNumber]: 0x8, + [EntertainmentGroup.PlayQueue]: 0x9, + [EntertainmentGroup.ContentInfo]: 0xa, } /** * @category Enumerations */ -export enum EntertainmentZone { - AllZones = 'All zones', - Zone1 = 'Zone 1', - Zone2 = 'Zone 2', - Zone3 = 'Zone 3', - Zone4 = 'Zone 4', +export enum EntertainmentIdType { + Group = 'Group', + File = 'File', + EncryptedGroup = 'Encrypted group', + EncryptedFile = 'Encrypted file', } /** * @category Enumerations */ -export const EntertainmentZoneValues: {[key: string]: number} = { - [EntertainmentZone.AllZones]: 0x0, - [EntertainmentZone.Zone1]: 0x1, - [EntertainmentZone.Zone2]: 0x2, - [EntertainmentZone.Zone3]: 0x3, - [EntertainmentZone.Zone4]: 0x4, +export const EntertainmentIdTypeValues: {[key: string]: number} = { + [EntertainmentIdType.Group]: 0x0, + [EntertainmentIdType.File]: 0x1, + [EntertainmentIdType.EncryptedGroup]: 0x2, + [EntertainmentIdType.EncryptedFile]: 0x3, } /** * @category Enumerations */ -export enum EntertainmentSource { - VesselAlarm = 'Vessel alarm', - Am = 'AM', - Fm = 'FM', - Weather = 'Weather', - Dab = 'DAB', - Aux = 'Aux', - Usb = 'USB', - Cd = 'CD', - Mp3 = 'MP3', - AppleIOs = 'Apple iOS', - Android = 'Android', - Bluetooth = 'Bluetooth', - SiriusXm = 'Sirius XM', - Pandora = 'Pandora', - Spotify = 'Spotify', - Slacker = 'Slacker', - Songza = 'Songza', - AppleRadio = 'Apple Radio', - LastFm = 'Last FM', - Ethernet = 'Ethernet', - VideoMp4 = 'Video MP4', - VideoDvd = 'Video DVD', - VideoBluRay = 'Video BluRay', - Hdmi = 'HDMI', - Video = 'Video', +export enum EntertainmentLikeStatus { + None = 'None', + ThumbsUp = 'Thumbs up', + ThumbsDown = 'Thumbs down', } /** * @category Enumerations */ -export const EntertainmentSourceValues: {[key: string]: number} = { - [EntertainmentSource.VesselAlarm]: 0x0, - [EntertainmentSource.Am]: 0x1, - [EntertainmentSource.Fm]: 0x2, - [EntertainmentSource.Weather]: 0x3, - [EntertainmentSource.Dab]: 0x4, - [EntertainmentSource.Aux]: 0x5, - [EntertainmentSource.Usb]: 0x6, - [EntertainmentSource.Cd]: 0x7, - [EntertainmentSource.Mp3]: 0x8, - [EntertainmentSource.AppleIOs]: 0x9, - [EntertainmentSource.Android]: 0xa, - [EntertainmentSource.Bluetooth]: 0xb, - [EntertainmentSource.SiriusXm]: 0xc, - [EntertainmentSource.Pandora]: 0xd, - [EntertainmentSource.Spotify]: 0xe, - [EntertainmentSource.Slacker]: 0xf, - [EntertainmentSource.Songza]: 0x10, - [EntertainmentSource.AppleRadio]: 0x11, - [EntertainmentSource.LastFm]: 0x12, - [EntertainmentSource.Ethernet]: 0x13, - [EntertainmentSource.VideoMp4]: 0x14, - [EntertainmentSource.VideoDvd]: 0x15, - [EntertainmentSource.VideoBluRay]: 0x16, - [EntertainmentSource.Hdmi]: 0x17, - [EntertainmentSource.Video]: 0x18, +export const EntertainmentLikeStatusValues: {[key: string]: number} = { + [EntertainmentLikeStatus.None]: 0x0, + [EntertainmentLikeStatus.ThumbsUp]: 0x1, + [EntertainmentLikeStatus.ThumbsDown]: 0x2, } /** @@ -2717,6 +2047,34 @@ export const EntertainmentPlayStatusValues: {[key: string]: number} = { [EntertainmentPlayStatus.SlowMotion125X]: 0x18, } +/** + * @category Enumerations + */ +export enum EntertainmentRegions { + Usa = 'USA', + Europe = 'Europe', + Asia = 'Asia', + MiddleEast = 'Middle East', + LatinAmerica = 'Latin America', + Australia = 'Australia', + Russia = 'Russia', + Japan = 'Japan', +} + +/** + * @category Enumerations + */ +export const EntertainmentRegionsValues: {[key: string]: number} = { + [EntertainmentRegions.Usa]: 0x0, + [EntertainmentRegions.Europe]: 0x1, + [EntertainmentRegions.Asia]: 0x2, + [EntertainmentRegions.MiddleEast]: 0x3, + [EntertainmentRegions.LatinAmerica]: 0x4, + [EntertainmentRegions.Australia]: 0x5, + [EntertainmentRegions.Russia]: 0x6, + [EntertainmentRegions.Japan]: 0x7, +} + /** * @category Enumerations */ @@ -2756,19 +2114,63 @@ export const EntertainmentShuffleStatusValues: {[key: string]: number} = { /** * @category Enumerations */ -export enum EntertainmentLikeStatus { - None = 'None', - ThumbsUp = 'Thumbs up', - ThumbsDown = 'Thumbs down', +export enum EntertainmentSource { + VesselAlarm = 'Vessel alarm', + Am = 'AM', + Fm = 'FM', + Weather = 'Weather', + Dab = 'DAB', + Aux = 'Aux', + Usb = 'USB', + Cd = 'CD', + Mp3 = 'MP3', + AppleIOs = 'Apple iOS', + Android = 'Android', + Bluetooth = 'Bluetooth', + SiriusXm = 'Sirius XM', + Pandora = 'Pandora', + Spotify = 'Spotify', + Slacker = 'Slacker', + Songza = 'Songza', + AppleRadio = 'Apple Radio', + LastFm = 'Last FM', + Ethernet = 'Ethernet', + VideoMp4 = 'Video MP4', + VideoDvd = 'Video DVD', + VideoBluRay = 'Video BluRay', + Hdmi = 'HDMI', + Video = 'Video', } /** * @category Enumerations */ -export const EntertainmentLikeStatusValues: {[key: string]: number} = { - [EntertainmentLikeStatus.None]: 0x0, - [EntertainmentLikeStatus.ThumbsUp]: 0x1, - [EntertainmentLikeStatus.ThumbsDown]: 0x2, +export const EntertainmentSourceValues: {[key: string]: number} = { + [EntertainmentSource.VesselAlarm]: 0x0, + [EntertainmentSource.Am]: 0x1, + [EntertainmentSource.Fm]: 0x2, + [EntertainmentSource.Weather]: 0x3, + [EntertainmentSource.Dab]: 0x4, + [EntertainmentSource.Aux]: 0x5, + [EntertainmentSource.Usb]: 0x6, + [EntertainmentSource.Cd]: 0x7, + [EntertainmentSource.Mp3]: 0x8, + [EntertainmentSource.AppleIOs]: 0x9, + [EntertainmentSource.Android]: 0xa, + [EntertainmentSource.Bluetooth]: 0xb, + [EntertainmentSource.SiriusXm]: 0xc, + [EntertainmentSource.Pandora]: 0xd, + [EntertainmentSource.Spotify]: 0xe, + [EntertainmentSource.Slacker]: 0xf, + [EntertainmentSource.Songza]: 0x10, + [EntertainmentSource.AppleRadio]: 0x11, + [EntertainmentSource.LastFm]: 0x12, + [EntertainmentSource.Ethernet]: 0x13, + [EntertainmentSource.VideoMp4]: 0x14, + [EntertainmentSource.VideoDvd]: 0x15, + [EntertainmentSource.VideoBluRay]: 0x16, + [EntertainmentSource.Hdmi]: 0x17, + [EntertainmentSource.Video]: 0x18, } /** @@ -2808,1971 +2210,5359 @@ export const EntertainmentTypeValues: {[key: string]: number} = { /** * @category Enumerations */ -export enum EntertainmentGroup { - File = 'File', - PlaylistName = 'Playlist Name', - GenreName = 'Genre Name', - AlbumName = 'Album Name', - ArtistName = 'Artist Name', - TrackName = 'Track Name', - StationName = 'Station Name', - StationNumber = 'Station Number', - FavouriteNumber = 'Favourite Number', - PlayQueue = 'Play Queue', - ContentInfo = 'Content Info', -} - -/** - * @category Enumerations - */ -export const EntertainmentGroupValues: {[key: string]: number} = { - [EntertainmentGroup.File]: 0x0, - [EntertainmentGroup.PlaylistName]: 0x1, - [EntertainmentGroup.GenreName]: 0x2, - [EntertainmentGroup.AlbumName]: 0x3, - [EntertainmentGroup.ArtistName]: 0x4, - [EntertainmentGroup.TrackName]: 0x5, - [EntertainmentGroup.StationName]: 0x6, - [EntertainmentGroup.StationNumber]: 0x7, - [EntertainmentGroup.FavouriteNumber]: 0x8, - [EntertainmentGroup.PlayQueue]: 0x9, - [EntertainmentGroup.ContentInfo]: 0xa, -} - -/** - * @category Enumerations - */ -export enum EntertainmentChannel { - AllChannels = 'All channels', - StereoFullRange = 'Stereo full range', - StereoFront = 'Stereo front', - StereoBack = 'Stereo back', - StereoSurround = 'Stereo surround', - Center = 'Center', - Subwoofer = 'Subwoofer', - FrontLeft = 'Front left', - FrontRight = 'Front right', - BackLeft = 'Back left', - BackRight = 'Back right', - SurroundLeft = 'Surround left', - SurroundRight = 'Surround right', +export enum EntertainmentVolumeControl { + Up = 'Up', + Down = 'Down', } /** * @category Enumerations */ -export const EntertainmentChannelValues: {[key: string]: number} = { - [EntertainmentChannel.AllChannels]: 0x0, - [EntertainmentChannel.StereoFullRange]: 0x1, - [EntertainmentChannel.StereoFront]: 0x2, - [EntertainmentChannel.StereoBack]: 0x3, - [EntertainmentChannel.StereoSurround]: 0x4, - [EntertainmentChannel.Center]: 0x5, - [EntertainmentChannel.Subwoofer]: 0x6, - [EntertainmentChannel.FrontLeft]: 0x7, - [EntertainmentChannel.FrontRight]: 0x8, - [EntertainmentChannel.BackLeft]: 0x9, - [EntertainmentChannel.BackRight]: 0xa, - [EntertainmentChannel.SurroundLeft]: 0xb, - [EntertainmentChannel.SurroundRight]: 0xc, +export const EntertainmentVolumeControlValues: {[key: string]: number} = { + [EntertainmentVolumeControl.Up]: 0x0, + [EntertainmentVolumeControl.Down]: 0x1, } /** * @category Enumerations */ -export enum EntertainmentEq { - Flat = 'Flat', - Rock = 'Rock', - Hall = 'Hall', - Jazz = 'Jazz', - Pop = 'Pop', - Live = 'Live', - Classic = 'Classic', - Vocal = 'Vocal', - Arena = 'Arena', - Cinema = 'Cinema', - Custom = 'Custom', +export enum EntertainmentZone { + AllZones = 'All zones', + Zone1 = 'Zone 1', + Zone2 = 'Zone 2', + Zone3 = 'Zone 3', + Zone4 = 'Zone 4', } /** * @category Enumerations */ -export const EntertainmentEqValues: {[key: string]: number} = { - [EntertainmentEq.Flat]: 0x0, - [EntertainmentEq.Rock]: 0x1, - [EntertainmentEq.Hall]: 0x2, - [EntertainmentEq.Jazz]: 0x3, - [EntertainmentEq.Pop]: 0x4, - [EntertainmentEq.Live]: 0x5, - [EntertainmentEq.Classic]: 0x6, - [EntertainmentEq.Vocal]: 0x7, - [EntertainmentEq.Arena]: 0x8, - [EntertainmentEq.Cinema]: 0x9, - [EntertainmentEq.Custom]: 0xa, +export const EntertainmentZoneValues: {[key: string]: number} = { + [EntertainmentZone.AllZones]: 0x0, + [EntertainmentZone.Zone1]: 0x1, + [EntertainmentZone.Zone2]: 0x2, + [EntertainmentZone.Zone3]: 0x3, + [EntertainmentZone.Zone4]: 0x4, } /** * @category Enumerations */ -export enum EntertainmentFilter { - FullRange = 'Full range', - HighPass = 'High pass', - LowPass = 'Low pass', - BandPass = 'Band pass', - NotchFilter = 'Notch filter', +export enum EquipmentStatus { + Operational = 'Operational', + Fault = 'Fault', } /** * @category Enumerations */ -export const EntertainmentFilterValues: {[key: string]: number} = { - [EntertainmentFilter.FullRange]: 0x0, - [EntertainmentFilter.HighPass]: 0x1, - [EntertainmentFilter.LowPass]: 0x2, - [EntertainmentFilter.BandPass]: 0x3, - [EntertainmentFilter.NotchFilter]: 0x4, +export const EquipmentStatusValues: {[key: string]: number} = { + [EquipmentStatus.Operational]: 0x0, + [EquipmentStatus.Fault]: 0x1, } /** * @category Enumerations */ -export enum AlertType { - EmergencyAlarm = 'Emergency Alarm', - Alarm = 'Alarm', - Warning = 'Warning', - Caution = 'Caution', +export enum FloodState { + Flood = 'Flood', + Slack = 'Slack', + Ebb = 'Ebb', } /** * @category Enumerations */ -export const AlertTypeValues: {[key: string]: number} = { - [AlertType.EmergencyAlarm]: 0x1, - [AlertType.Alarm]: 0x2, - [AlertType.Warning]: 0x5, - [AlertType.Caution]: 0x8, +export const FloodStateValues: {[key: string]: number} = { + [FloodState.Flood]: 0x0, + [FloodState.Slack]: 0x1, + [FloodState.Ebb]: 0x2, } /** * @category Enumerations */ -export enum AlertCategory { - Navigational = 'Navigational', - Technical = 'Technical', +export enum FusionCommand { + Play = 'Play', + Pause = 'Pause', + Next = 'Next', + Prev = 'Prev', } /** * @category Enumerations */ -export const AlertCategoryValues: {[key: string]: number} = { - [AlertCategory.Navigational]: 0x0, - [AlertCategory.Technical]: 0x1, +export const FusionCommandValues: {[key: string]: number} = { + [FusionCommand.Play]: 0x1, + [FusionCommand.Pause]: 0x2, + [FusionCommand.Next]: 0x4, + [FusionCommand.Prev]: 0x6, } /** * @category Enumerations */ -export enum AlertTriggerCondition { - Manual = 'Manual', - Auto = 'Auto', - Test = 'Test', - Disabled = 'Disabled', +export enum FusionMessageId { + RequestStatus = 'Request Status', + SetSource = 'Set Source', + MediaCommand = 'Media Command', + TunerCommand = 'Tuner Command', + MarineTunerCommand = 'Marine Tuner Command', + SetMarineTunerSquelch = 'Set Marine Tuner Squelch', + SetMarineTunerScanMode = 'Set Marine Tuner Scan Mode', + MenuAction = 'Menu Action', + RequestMenuCount = 'Request Menu Count', + RequestMenuItem = 'Request Menu Item', + RequestMenuLockId = 'Request Menu Lock ID', + SetAuxGain = 'Set Aux Gain', + SetSettings = 'Set Settings', + DabUpdtateCommand = 'DAB Updtate Command', + SetMute = 'Set Mute', + SetBalance = 'Set Balance', + SetLowPassFiler = 'Set Low Pass Filer', + SetSublevel = 'Set Sublevel', + SetEqualizer = 'Set Equalizer', + SetVolumeLimit = 'Set Volume Limit', + SetZoneVolume = 'Set Zone Volume', + SetAllVolumes = 'Set All Volumes', + SetLineLevelControl = 'Set Line Level Control', + Power = 'Power', + SetDeviceName = 'Set Device Name', + SendSiriusCommand = 'Send Sirius Command', + SetSiriusParental = 'Set Sirius Parental', + SendFactoryResetCommand = 'Send Factory Reset Command', + SetZoneName = 'Set Zone Name', + SendDvdCommand = 'Send Dvd Command', + DvdPressIrKey = 'Dvd Press Ir Key', + SendSelectSiriusTeam = 'Send Select Sirius Team', + SendSelectSiriusArtist = 'Send Select Sirius Artist', + SendSiriusSportAlertUserAction = 'Send Sirius Sport Alert User Action', + SendSiriusArtistSongUserAction = 'Send Sirius Artist Song User Action', + SendMultiroomCommand = 'Send Multiroom Command', + GetMultiroomDeviceRecord = 'Get Multiroom Device Record', + ScanMultirooomDevices = 'Scan Multirooom Devices', + SendFileTransfer = 'Send File Transfer', + SetLoud = 'Set Loud', + FapiSetSourceMultiroomEnabled = 'Fapi Set Source Multiroom Enabled', + RequestHeadUnitDspSettings = 'Request Head Unit Dsp Settings', + SendTransferStatus = 'Send Transfer Status', + FapiGetServerInfo = 'Fapi Get Server Info', + FapiSetSourceEnabled = 'Fapi Set Source Enabled', + FapiSetSourceName = 'Fapi Set Source Name', + SendExternalAmpGain = 'Send External Amp Gain', + SendInternalAmpGain = 'Send Internal Amp Gain', + SendMono = 'Send Mono', } /** * @category Enumerations */ -export const AlertTriggerConditionValues: {[key: string]: number} = { - [AlertTriggerCondition.Manual]: 0x0, - [AlertTriggerCondition.Auto]: 0x1, - [AlertTriggerCondition.Test]: 0x2, - [AlertTriggerCondition.Disabled]: 0x3, +export const FusionMessageIdValues: {[key: string]: number} = { + [FusionMessageId.RequestStatus]: 0x1, + [FusionMessageId.SetSource]: 0x2, + [FusionMessageId.MediaCommand]: 0x3, + [FusionMessageId.TunerCommand]: 0x5, + [FusionMessageId.MarineTunerCommand]: 0x6, + [FusionMessageId.SetMarineTunerSquelch]: 0x7, + [FusionMessageId.SetMarineTunerScanMode]: 0x8, + [FusionMessageId.MenuAction]: 0x9, + [FusionMessageId.RequestMenuCount]: 0xa, + [FusionMessageId.RequestMenuItem]: 0xb, + [FusionMessageId.RequestMenuLockId]: 0xc, + [FusionMessageId.SetAuxGain]: 0xd, + [FusionMessageId.SetSettings]: 0xf, + [FusionMessageId.DabUpdtateCommand]: 0x10, + [FusionMessageId.SetMute]: 0x11, + [FusionMessageId.SetBalance]: 0x12, + [FusionMessageId.SetLowPassFiler]: 0x13, + [FusionMessageId.SetSublevel]: 0x14, + [FusionMessageId.SetEqualizer]: 0x16, + [FusionMessageId.SetVolumeLimit]: 0x17, + [FusionMessageId.SetZoneVolume]: 0x18, + [FusionMessageId.SetAllVolumes]: 0x19, + [FusionMessageId.SetLineLevelControl]: 0x1b, + [FusionMessageId.Power]: 0x1c, + [FusionMessageId.SetDeviceName]: 0x1d, + [FusionMessageId.SendSiriusCommand]: 0x1e, + [FusionMessageId.SetSiriusParental]: 0x1f, + [FusionMessageId.SendFactoryResetCommand]: 0x21, + [FusionMessageId.SetZoneName]: 0x22, + [FusionMessageId.SendDvdCommand]: 0x23, + [FusionMessageId.DvdPressIrKey]: 0x24, + [FusionMessageId.SendSelectSiriusTeam]: 0x27, + [FusionMessageId.SendSelectSiriusArtist]: 0x28, + [FusionMessageId.SendSiriusSportAlertUserAction]: 0x29, + [FusionMessageId.SendSiriusArtistSongUserAction]: 0x2d, + [FusionMessageId.SendMultiroomCommand]: 0x32, + [FusionMessageId.GetMultiroomDeviceRecord]: 0x33, + [FusionMessageId.ScanMultirooomDevices]: 0x34, + [FusionMessageId.SendFileTransfer]: 0x35, + [FusionMessageId.SetLoud]: 0x36, + [FusionMessageId.FapiSetSourceMultiroomEnabled]: 0x38, + [FusionMessageId.RequestHeadUnitDspSettings]: 0x39, + [FusionMessageId.SendTransferStatus]: 0x40, + [FusionMessageId.FapiGetServerInfo]: 0x41, + [FusionMessageId.FapiSetSourceEnabled]: 0x45, + [FusionMessageId.FapiSetSourceName]: 0x46, + [FusionMessageId.SendExternalAmpGain]: 0x49, + [FusionMessageId.SendInternalAmpGain]: 0x4a, + [FusionMessageId.SendMono]: 0x4b, } /** * @category Enumerations */ -export enum AlertThresholdStatus { - Normal = 'Normal', - ThresholdExceeded = 'Threshold Exceeded', - ExtremeThresholdExceeded = 'Extreme Threshold Exceeded', - LowThresholdExceeded = 'Low Threshold Exceeded', - Acknowledged = 'Acknowledged', - AwaitingAcknowledge = 'Awaiting Acknowledge', +export enum FusionMuteCommand { + MuteOn = 'Mute On', + MuteOff = 'Mute Off', } /** * @category Enumerations */ -export const AlertThresholdStatusValues: {[key: string]: number} = { - [AlertThresholdStatus.Normal]: 0x0, - [AlertThresholdStatus.ThresholdExceeded]: 0x1, - [AlertThresholdStatus.ExtremeThresholdExceeded]: 0x2, - [AlertThresholdStatus.LowThresholdExceeded]: 0x3, - [AlertThresholdStatus.Acknowledged]: 0x4, - [AlertThresholdStatus.AwaitingAcknowledge]: 0x5, +export const FusionMuteCommandValues: {[key: string]: number} = { + [FusionMuteCommand.MuteOn]: 0x1, + [FusionMuteCommand.MuteOff]: 0x2, } /** * @category Enumerations */ -export enum AlertState { - Disabled = 'Disabled', - Normal = 'Normal', - Active = 'Active', - Silenced = 'Silenced', - Acknowledged = 'Acknowledged', - AwaitingAcknowledge = 'Awaiting Acknowledge', +export enum FusionPlayStatus { + Invalid = 'Invalid', + Playing = 'Playing', + Paused = 'Paused', + Stopped = 'Stopped', + SkipForward = 'Skip Forward', + SkipRewind = 'Skip Rewind', } /** * @category Enumerations */ -export const AlertStateValues: {[key: string]: number} = { - [AlertState.Disabled]: 0x0, - [AlertState.Normal]: 0x1, - [AlertState.Active]: 0x2, - [AlertState.Silenced]: 0x3, - [AlertState.Acknowledged]: 0x4, - [AlertState.AwaitingAcknowledge]: 0x5, +export const FusionPlayStatusValues: {[key: string]: number} = { + [FusionPlayStatus.Invalid]: 0x0, + [FusionPlayStatus.Playing]: 0x1, + [FusionPlayStatus.Paused]: 0x2, + [FusionPlayStatus.Stopped]: 0x3, + [FusionPlayStatus.SkipForward]: 0x4, + [FusionPlayStatus.SkipRewind]: 0x5, +} + +/** + * @category Enumerations + */ +export enum FusionPowerState { + On = 'On', + Off = 'Off', } /** * @category Enumerations */ -export enum AlertLanguageId { - Englishus = 'English (US)', - Englishuk = 'English (UK)', - Arabic = 'Arabic', - Chinesesimplified = 'Chinese (simplified)', - Croatian = 'Croatian', - Danish = 'Danish', - Dutch = 'Dutch', - Finnish = 'Finnish', - French = 'French', - German = 'German', - Greek = 'Greek', - Italian = 'Italian', - Japanese = 'Japanese', - Korean = 'Korean', - Norwegian = 'Norwegian', - Polish = 'Polish', - Portuguese = 'Portuguese', - Russian = 'Russian', - Spanish = 'Spanish', - Swedish = 'Swedish', +export const FusionPowerStateValues: {[key: string]: number} = { + [FusionPowerState.On]: 0x1, + [FusionPowerState.Off]: 0x2, } /** * @category Enumerations */ -export const AlertLanguageIdValues: {[key: string]: number} = { - [AlertLanguageId.Englishus]: 0x0, - [AlertLanguageId.Englishuk]: 0x1, - [AlertLanguageId.Arabic]: 0x2, - [AlertLanguageId.Chinesesimplified]: 0x3, - [AlertLanguageId.Croatian]: 0x4, - [AlertLanguageId.Danish]: 0x5, - [AlertLanguageId.Dutch]: 0x6, - [AlertLanguageId.Finnish]: 0x7, - [AlertLanguageId.French]: 0x8, - [AlertLanguageId.German]: 0x9, - [AlertLanguageId.Greek]: 0xa, - [AlertLanguageId.Italian]: 0xb, - [AlertLanguageId.Japanese]: 0xc, - [AlertLanguageId.Korean]: 0xd, - [AlertLanguageId.Norwegian]: 0xe, - [AlertLanguageId.Polish]: 0xf, - [AlertLanguageId.Portuguese]: 0x10, - [AlertLanguageId.Russian]: 0x11, - [AlertLanguageId.Spanish]: 0x12, - [AlertLanguageId.Swedish]: 0x13, +export enum FusionRadioSource { + Am = 'AM', + Fm = 'FM', } /** * @category Enumerations */ -export enum AlertResponseCommand { - Acknowledge = 'Acknowledge', - TemporarySilence = 'Temporary Silence', - TestCommandOff = 'Test Command off', - TestCommandOn = 'Test Command on', +export const FusionRadioSourceValues: {[key: string]: number} = { + [FusionRadioSource.Am]: 0x0, + [FusionRadioSource.Fm]: 0x1, } /** * @category Enumerations */ -export const AlertResponseCommandValues: {[key: string]: number} = { - [AlertResponseCommand.Acknowledge]: 0x0, - [AlertResponseCommand.TemporarySilence]: 0x1, - [AlertResponseCommand.TestCommandOff]: 0x2, - [AlertResponseCommand.TestCommandOn]: 0x3, +export enum FusionRepeatStatus { + Off = 'Off', + Onetrack = 'One/track', + Allalbum = 'All/album', } /** * @category Enumerations */ -export enum ConverterState { - Off = 'Off', - LowPowerMode = 'Low Power Mode', - Fault = 'Fault', - Bulk = 'Bulk', - Absorption = 'Absorption', - Float = 'Float', - Storage = 'Storage', - Equalize = 'Equalize', - PassThru = 'Pass thru', - Inverting = 'Inverting', - Assisting = 'Assisting', +export const FusionRepeatStatusValues: {[key: string]: number} = { + [FusionRepeatStatus.Off]: 0x0, + [FusionRepeatStatus.Onetrack]: 0x1, + [FusionRepeatStatus.Allalbum]: 0x2, } /** * @category Enumerations */ -export const ConverterStateValues: {[key: string]: number} = { - [ConverterState.Off]: 0x0, - [ConverterState.LowPowerMode]: 0x1, - [ConverterState.Fault]: 0x2, - [ConverterState.Bulk]: 0x3, - [ConverterState.Absorption]: 0x4, - [ConverterState.Float]: 0x5, - [ConverterState.Storage]: 0x6, - [ConverterState.Equalize]: 0x7, - [ConverterState.PassThru]: 0x8, - [ConverterState.Inverting]: 0x9, - [ConverterState.Assisting]: 0xa, +export enum FusionSetting { + AlphaSearchThreshold = 'Alpha Search Threshold', + IPodSubtitles = 'iPod Subtitles', + Zone2Linked = 'Zone 2 Linked', + Zone2Enabled = 'Zone 2 Enabled', + Zone3Enabled = 'Zone 3 Enabled', + Zone4Enabled = 'Zone 4 Enabled', + Telemute = 'Telemute', + TunerRegion = 'Tuner Region', + MarineZone = 'Marine Zone', + UsbRepeat = 'USB repeat', + UsbShuffle = 'USB shuffle', + IPodAlbumArtwork = 'iPod Album Artwork', + IPodRepeat = 'iPod repeat', + IPodShuffle = 'iPod shuffle', + AmPreset0 = 'AM Preset 0', + AmPreset1 = 'AM Preset 1', + AmPreset2 = 'AM Preset 2', + AmPreset3 = 'AM Preset 3', + AmPreset4 = 'AM Preset 4', + AmPreset5 = 'AM Preset 5', + AmPreset6 = 'AM Preset 6', + AmPreset7 = 'AM Preset 7', + AmPreset8 = 'AM Preset 8', + AmPreset9 = 'AM Preset 9', + AmPreset10 = 'AM Preset 10', + AmPreset11 = 'AM Preset 11', + AmPreset12 = 'AM Preset 12', + AmPreset13 = 'AM Preset 13', + AmPreset14 = 'AM Preset 14', + FmPreset0 = 'FM Preset 0', + FmPreset1 = 'FM Preset 1', + FmPreset2 = 'FM Preset 2', + FmPreset3 = 'FM Preset 3', + FmPreset4 = 'FM Preset 4', + FmPreset5 = 'FM Preset 5', + FmPreset6 = 'FM Preset 6', + FmPreset7 = 'FM Preset 7', + FmPreset8 = 'FM Preset 8', + FmPreset9 = 'FM Preset 9', + FmPreset10 = 'FM Preset 10', + FmPreset11 = 'FM Preset 11', + FmPreset12 = 'FM Preset 12', + FmPreset13 = 'FM Preset 13', + FmPreset14 = 'FM Preset 14', + VhfPreset0 = 'VHF Preset 0', + VhfPreset1 = 'VHF Preset 1', + VhfPreset2 = 'VHF Preset 2', + VhfPreset3 = 'VHF Preset 3', + VhfPreset4 = 'VHF Preset 4', + VhfPreset5 = 'VHF Preset 5', + VhfPreset6 = 'VHF Preset 6', + VhfPreset7 = 'VHF Preset 7', + VhfPreset8 = 'VHF Preset 8', + VhfPreset9 = 'VHF Preset 9', + VhfPreset10 = 'VHF Preset 10', + VhfPreset11 = 'VHF Preset 11', + VhfPreset12 = 'VHF Preset 12', + VhfPreset13 = 'VHF Preset 13', + VhfPreset14 = 'VHF Preset 14', + ClockTime = 'Clock Time', + ClockAlarm = 'Clock Alarm', + IPodVideoSignal = 'iPod Video Signal', + IPodMonitorAspect = 'iPod Monitor Aspect', + AuxNameIndex = 'Aux Name Index', + AmEnabled = 'AM Enabled', + VhfEnabled = 'VHF Enabled', + Language = 'Language', + InternalAmpsOn = 'Internal Amps On', + MtpRepeat = 'MTP Repeat', + MtpShuffle = 'MTP Shuffle', + IdAccessorySource = 'Id Accessory Source', + NmeaPower = 'NMEA Power', + LowPowerMode = 'Low Power Mode', + DvdRegion = 'DVD region', + VolumeZoneSync = 'Volume Zone Sync', + MaxVolumeStart = 'Max Volume Start', + BtAutoConnect = 'BT Auto Connect', + NullSetting = 'Null Setting', } /** * @category Enumerations */ -export enum ThrusterDirectionControl { - Off = 'Off', - Ready = 'Ready', - ToPort = 'To Port', - ToStarboard = 'To Starboard', +export const FusionSettingValues: {[key: string]: number} = { + [FusionSetting.AlphaSearchThreshold]: 0x0, + [FusionSetting.IPodSubtitles]: 0x1, + [FusionSetting.Zone2Linked]: 0x2, + [FusionSetting.Zone2Enabled]: 0x3, + [FusionSetting.Zone3Enabled]: 0x4, + [FusionSetting.Zone4Enabled]: 0x5, + [FusionSetting.Telemute]: 0x6, + [FusionSetting.TunerRegion]: 0x7, + [FusionSetting.MarineZone]: 0x8, + [FusionSetting.UsbRepeat]: 0x9, + [FusionSetting.UsbShuffle]: 0xa, + [FusionSetting.IPodAlbumArtwork]: 0xb, + [FusionSetting.IPodRepeat]: 0xc, + [FusionSetting.IPodShuffle]: 0xd, + [FusionSetting.AmPreset0]: 0xe, + [FusionSetting.AmPreset1]: 0xf, + [FusionSetting.AmPreset2]: 0x10, + [FusionSetting.AmPreset3]: 0x11, + [FusionSetting.AmPreset4]: 0x12, + [FusionSetting.AmPreset5]: 0x13, + [FusionSetting.AmPreset6]: 0x14, + [FusionSetting.AmPreset7]: 0x15, + [FusionSetting.AmPreset8]: 0x16, + [FusionSetting.AmPreset9]: 0x17, + [FusionSetting.AmPreset10]: 0x18, + [FusionSetting.AmPreset11]: 0x19, + [FusionSetting.AmPreset12]: 0x1a, + [FusionSetting.AmPreset13]: 0x1b, + [FusionSetting.AmPreset14]: 0x1c, + [FusionSetting.FmPreset0]: 0x1d, + [FusionSetting.FmPreset1]: 0x1e, + [FusionSetting.FmPreset2]: 0x1f, + [FusionSetting.FmPreset3]: 0x20, + [FusionSetting.FmPreset4]: 0x21, + [FusionSetting.FmPreset5]: 0x22, + [FusionSetting.FmPreset6]: 0x23, + [FusionSetting.FmPreset7]: 0x24, + [FusionSetting.FmPreset8]: 0x25, + [FusionSetting.FmPreset9]: 0x26, + [FusionSetting.FmPreset10]: 0x27, + [FusionSetting.FmPreset11]: 0x28, + [FusionSetting.FmPreset12]: 0x29, + [FusionSetting.FmPreset13]: 0x2a, + [FusionSetting.FmPreset14]: 0x2b, + [FusionSetting.VhfPreset0]: 0x2c, + [FusionSetting.VhfPreset1]: 0x2d, + [FusionSetting.VhfPreset2]: 0x2e, + [FusionSetting.VhfPreset3]: 0x2f, + [FusionSetting.VhfPreset4]: 0x30, + [FusionSetting.VhfPreset5]: 0x31, + [FusionSetting.VhfPreset6]: 0x32, + [FusionSetting.VhfPreset7]: 0x33, + [FusionSetting.VhfPreset8]: 0x34, + [FusionSetting.VhfPreset9]: 0x35, + [FusionSetting.VhfPreset10]: 0x36, + [FusionSetting.VhfPreset11]: 0x37, + [FusionSetting.VhfPreset12]: 0x38, + [FusionSetting.VhfPreset13]: 0x39, + [FusionSetting.VhfPreset14]: 0x3a, + [FusionSetting.ClockTime]: 0x3b, + [FusionSetting.ClockAlarm]: 0x3c, + [FusionSetting.IPodVideoSignal]: 0x3d, + [FusionSetting.IPodMonitorAspect]: 0x3e, + [FusionSetting.AuxNameIndex]: 0x3f, + [FusionSetting.AmEnabled]: 0x40, + [FusionSetting.VhfEnabled]: 0x41, + [FusionSetting.Language]: 0x42, + [FusionSetting.InternalAmpsOn]: 0x43, + [FusionSetting.MtpRepeat]: 0x44, + [FusionSetting.MtpShuffle]: 0x45, + [FusionSetting.IdAccessorySource]: 0x46, + [FusionSetting.NmeaPower]: 0x47, + [FusionSetting.LowPowerMode]: 0x48, + [FusionSetting.DvdRegion]: 0x49, + [FusionSetting.VolumeZoneSync]: 0x4a, + [FusionSetting.MaxVolumeStart]: 0x4b, + [FusionSetting.BtAutoConnect]: 0x4c, + [FusionSetting.NullSetting]: 0x4d, } /** * @category Enumerations */ -export const ThrusterDirectionControlValues: {[key: string]: number} = { - [ThrusterDirectionControl.Off]: 0x0, - [ThrusterDirectionControl.Ready]: 0x1, - [ThrusterDirectionControl.ToPort]: 0x2, - [ThrusterDirectionControl.ToStarboard]: 0x3, +export enum FusionSiriusCommand { + Next = 'Next', + Prev = 'Prev', } /** * @category Enumerations */ -export enum ThrusterRetractControl { - Off = 'Off', - Extend = 'Extend', - Retract = 'Retract', +export const FusionSiriusCommandValues: {[key: string]: number} = { + [FusionSiriusCommand.Next]: 0x1, + [FusionSiriusCommand.Prev]: 0x2, } /** * @category Enumerations */ -export const ThrusterRetractControlValues: {[key: string]: number} = { - [ThrusterRetractControl.Off]: 0x0, - [ThrusterRetractControl.Extend]: 0x1, - [ThrusterRetractControl.Retract]: 0x2, +export enum FusionSiriusComState { + Unknown = 'Unknown', + Off = 'Off', + Initialising = 'Initialising', + On = 'On', } /** * @category Enumerations */ -export enum ThrusterMotorType { - _12Vdc = '12VDC', - _24Vdc = '24VDC', - _48Vdc = '48VDC', - _24Vac = '24VAC', - Hydraulic = 'Hydraulic', +export const FusionSiriusComStateValues: {[key: string]: number} = { + [FusionSiriusComState.Unknown]: 0xff, + [FusionSiriusComState.Off]: 0x1, + [FusionSiriusComState.Initialising]: 0x2, + [FusionSiriusComState.On]: 0x3, } /** * @category Enumerations */ -export const ThrusterMotorTypeValues: {[key: string]: number} = { - [ThrusterMotorType._12Vdc]: 0x0, - [ThrusterMotorType._24Vdc]: 0x1, - [ThrusterMotorType._48Vdc]: 0x2, - [ThrusterMotorType._24Vac]: 0x3, - [ThrusterMotorType.Hydraulic]: 0x4, +export enum FusionSiriusTuningMode { + Normal = 'Normal', + Category = 'Category', + Preset = 'Preset', } /** * @category Enumerations */ -export enum BootState { - InStartupMonitor = 'in Startup Monitor', - RunningBootloader = 'running Bootloader', - RunningApplication = 'running Application', +export const FusionSiriusTuningModeValues: {[key: string]: number} = { + [FusionSiriusTuningMode.Normal]: 0x1, + [FusionSiriusTuningMode.Category]: 0x2, + [FusionSiriusTuningMode.Preset]: 0x3, } /** * @category Enumerations */ -export const BootStateValues: {[key: string]: number} = { - [BootState.InStartupMonitor]: 0x0, - [BootState.RunningBootloader]: 0x1, - [BootState.RunningApplication]: 0x2, +export enum FusionSourceType { + Am = 'AM', + Fm = 'FM', + Aux = 'Aux', + Sirius = 'Sirius', + Ipod = 'Ipod', + Usb = 'USB', + Dvd = 'DVD', + Vhf = 'VHF', + Invalid = 'Invalid', + Mtp = 'MTP', + Bluetooth = 'Bluetooth', + Arc = 'ARC', + Android = 'Android', + Pandora = 'Pandora', + Dab = 'DAB', + AirPlay = 'AirPlay', + Upnp = 'UPNP', + Unknown = 'Unknown', } /** * @category Enumerations */ -export enum AccessLevel { - Locked = 'Locked', - UnlockedLevel1 = 'unlocked level 1', - UnlockedLevel2 = 'unlocked level 2', +export const FusionSourceTypeValues: {[key: string]: number} = { + [FusionSourceType.Am]: 0x0, + [FusionSourceType.Fm]: 0x1, + [FusionSourceType.Aux]: 0x2, + [FusionSourceType.Sirius]: 0x3, + [FusionSourceType.Ipod]: 0x4, + [FusionSourceType.Usb]: 0x5, + [FusionSourceType.Dvd]: 0x6, + [FusionSourceType.Vhf]: 0x7, + [FusionSourceType.Invalid]: 0x8, + [FusionSourceType.Mtp]: 0x9, + [FusionSourceType.Bluetooth]: 0xa, + [FusionSourceType.Arc]: 0xb, + [FusionSourceType.Android]: 0xc, + [FusionSourceType.Pandora]: 0xd, + [FusionSourceType.Dab]: 0xe, + [FusionSourceType.AirPlay]: 0xf, + [FusionSourceType.Upnp]: 0x10, + [FusionSourceType.Unknown]: 0x11, } /** * @category Enumerations */ -export const AccessLevelValues: {[key: string]: number} = { - [AccessLevel.Locked]: 0x0, - [AccessLevel.UnlockedLevel1]: 0x1, - [AccessLevel.UnlockedLevel2]: 0x2, +export enum FusionStatusMessageId { + Unknown = 'Unknown', + ApiVersion = 'API Version', + Source = 'Source', + SourceCount = 'Source Count', + TrackInfo = 'Track Info', + TrackTitle = 'Track Title', + TrackArtist = 'Track Artist', + TrackAlbum = 'Track Album', + CoverArt = 'Cover Art', + TrackProgress = 'Track Progress', + TunerAlign = 'Tuner Align', + Tuner = 'Tuner', + MarineTuner = 'Marine Tuner', + MarineSquelch = 'Marine Squelch', + MarineScanMode = 'Marine Scan Mode', + MenuAction = 'Menu Action', + MenuCount = 'Menu Count', + MenuItem = 'Menu Item', + MenuLockId = 'Menu Lock ID', + AuxGain = 'Aux Gain', + Setting = 'Setting', + Settings = 'Settings', + UpdateFirmwareResult = 'Update Firmware Result', + Mute = 'Mute', + Balance = 'Balance', + LowPassFilter = 'Low Pass Filter', + Sublevels = 'Sublevels', + Tone = 'Tone', + VolumeLimits = 'Volume Limits', + Volume = 'Volume', + Capabilities = 'Capabilities', + LineLevelControl = 'Line Level Control', + Power = 'Power', + UnitName = 'Unit Name', + Sirius = 'Sirius', + SiriusXmPresetEvent = 'SiriusXM Preset Event', + SiriusXmChannel = 'SiriusXM Channel', + SiriusXmTitle = 'SiriusXM Title', + SiriusXmArtist = 'SiriusXM Artist', + SiriusXmGenre = 'SiriusXM Genre', + SiriusXmCategory = 'SiriusXM Category', + SiriusXmSignal = 'SiriusXm Signal', + SiriusXmParentalRequest = 'SiriusXM Parental Request', + SiriusXmDiagnostics = 'SiriusXM Diagnostics', + SiriusXmPresets = 'SiriusXM Presets', + ZoneName = 'Zone Name', + IpSetting = 'IP Setting', + Multiroom = 'Multiroom', + MultiroomStatus = 'Multiroom Status', + SystemCapabilities = 'System Capabilities', + PartNumber = 'Part Number', + ProcessingBypass = 'Processing Bypass', + ServerInfo = 'Server Info', + RdsData = 'RDS Data', + IgnitionSwitchState = 'Ignition Switch State', + Mono = 'Mono', + SpeedVolumeCurrentSpeed = 'Speed Volume Current Speed', + ZoneCapabilitiesExtended = 'Zone Capabilities Extended', } /** * @category Enumerations */ -export enum TransmissionInterval { - Acknowledge = 'Acknowledge', - TransmitIntervalpriorityNotSupported = 'Transmit Interval/Priority not supported', - TransmitIntervalTooLow = 'Transmit Interval too low', - AccessDenied = 'Access denied', - NotSupported = 'Not supported', +export const FusionStatusMessageIdValues: {[key: string]: number} = { + [FusionStatusMessageId.Unknown]: 0x0, + [FusionStatusMessageId.ApiVersion]: 0x8001, + [FusionStatusMessageId.Source]: 0x8002, + [FusionStatusMessageId.SourceCount]: 0x8003, + [FusionStatusMessageId.TrackInfo]: 0x8004, + [FusionStatusMessageId.TrackTitle]: 0x8005, + [FusionStatusMessageId.TrackArtist]: 0x8006, + [FusionStatusMessageId.TrackAlbum]: 0x8007, + [FusionStatusMessageId.CoverArt]: 0x8008, + [FusionStatusMessageId.TrackProgress]: 0x8009, + [FusionStatusMessageId.TunerAlign]: 0x800a, + [FusionStatusMessageId.Tuner]: 0x800b, + [FusionStatusMessageId.MarineTuner]: 0x800c, + [FusionStatusMessageId.MarineSquelch]: 0x800d, + [FusionStatusMessageId.MarineScanMode]: 0x800e, + [FusionStatusMessageId.MenuAction]: 0x800f, + [FusionStatusMessageId.MenuCount]: 0x8010, + [FusionStatusMessageId.MenuItem]: 0x8011, + [FusionStatusMessageId.MenuLockId]: 0x8012, + [FusionStatusMessageId.AuxGain]: 0x8013, + [FusionStatusMessageId.Setting]: 0x8014, + [FusionStatusMessageId.Settings]: 0x8015, + [FusionStatusMessageId.UpdateFirmwareResult]: 0x8016, + [FusionStatusMessageId.Mute]: 0x8017, + [FusionStatusMessageId.Balance]: 0x8018, + [FusionStatusMessageId.LowPassFilter]: 0x8019, + [FusionStatusMessageId.Sublevels]: 0x801a, + [FusionStatusMessageId.Tone]: 0x801b, + [FusionStatusMessageId.VolumeLimits]: 0x801c, + [FusionStatusMessageId.Volume]: 0x801d, + [FusionStatusMessageId.Capabilities]: 0x801e, + [FusionStatusMessageId.LineLevelControl]: 0x801f, + [FusionStatusMessageId.Power]: 0x8020, + [FusionStatusMessageId.UnitName]: 0x8021, + [FusionStatusMessageId.Sirius]: 0x8022, + [FusionStatusMessageId.SiriusXmPresetEvent]: 0x8023, + [FusionStatusMessageId.SiriusXmChannel]: 0x8024, + [FusionStatusMessageId.SiriusXmTitle]: 0x8025, + [FusionStatusMessageId.SiriusXmArtist]: 0x8026, + [FusionStatusMessageId.SiriusXmGenre]: 0x8027, + [FusionStatusMessageId.SiriusXmCategory]: 0x8028, + [FusionStatusMessageId.SiriusXmSignal]: 0x8029, + [FusionStatusMessageId.SiriusXmParentalRequest]: 0x802a, + [FusionStatusMessageId.SiriusXmDiagnostics]: 0x802b, + [FusionStatusMessageId.SiriusXmPresets]: 0x802c, + [FusionStatusMessageId.ZoneName]: 0x802d, + [FusionStatusMessageId.IpSetting]: 0x8033, + [FusionStatusMessageId.Multiroom]: 0x8038, + [FusionStatusMessageId.MultiroomStatus]: 0x8039, + [FusionStatusMessageId.SystemCapabilities]: 0x803d, + [FusionStatusMessageId.PartNumber]: 0x803e, + [FusionStatusMessageId.ProcessingBypass]: 0x8040, + [FusionStatusMessageId.ServerInfo]: 0x804e, + [FusionStatusMessageId.RdsData]: 0x8052, + [FusionStatusMessageId.IgnitionSwitchState]: 0x805b, + [FusionStatusMessageId.Mono]: 0x805e, + [FusionStatusMessageId.SpeedVolumeCurrentSpeed]: 0x805f, + [FusionStatusMessageId.ZoneCapabilitiesExtended]: 0x8061, } /** * @category Enumerations */ -export const TransmissionIntervalValues: {[key: string]: number} = { - [TransmissionInterval.Acknowledge]: 0x0, - [TransmissionInterval.TransmitIntervalpriorityNotSupported]: 0x1, - [TransmissionInterval.TransmitIntervalTooLow]: 0x2, - [TransmissionInterval.AccessDenied]: 0x3, - [TransmissionInterval.NotSupported]: 0x4, +export enum GarminAttMessageId { + CalibrationMatrixPresent = 'Calibration Matrix Present', + SetNorthState = 'Set North State', + DeviceFlags = 'Device Flags', + CogSourceValidFlag = 'COG Source Valid Flag', } /** * @category Enumerations */ -export enum ParameterField { - Acknowledge = 'Acknowledge', - InvalidParameterField = 'Invalid parameter field', - TemporaryError = 'Temporary error', - ParameterOutOfRange = 'Parameter out of range', - AccessDenied = 'Access denied', - NotSupported = 'Not supported', - ReadOrWriteNotSupported = 'Read or Write not supported', +export const GarminAttMessageIdValues: {[key: string]: number} = { + [GarminAttMessageId.CalibrationMatrixPresent]: 0x28, + [GarminAttMessageId.SetNorthState]: 0x34, + [GarminAttMessageId.DeviceFlags]: 0x41, + [GarminAttMessageId.CogSourceValidFlag]: 0x43, } /** * @category Enumerations */ -export const ParameterFieldValues: {[key: string]: number} = { - [ParameterField.Acknowledge]: 0x0, - [ParameterField.InvalidParameterField]: 0x1, - [ParameterField.TemporaryError]: 0x2, - [ParameterField.ParameterOutOfRange]: 0x3, - [ParameterField.AccessDenied]: 0x4, - [ParameterField.NotSupported]: 0x5, - [ParameterField.ReadOrWriteNotSupported]: 0x6, +export enum GarminAutopilotField { + Heartbeat = 'Heartbeat', + ModeState = 'Mode State', + HeadingToSteer = 'Heading to Steer', + ResponseSetting = 'Response Setting', + RateOfTurn = 'Rate of Turn', + RateOfTurnOrder = 'Rate of Turn Order', + TurnAngleOrder = 'Turn Angle Order', + SystemVoltage = 'System Voltage', + TurnAngleMeasured = 'Turn Angle Measured', + EngineRpmB = 'Engine RPM B', + EngineRpmA = 'Engine RPM A', + Speed = 'Speed', } /** * @category Enumerations */ -export enum PgnListFunction { - TransmitPgnList = 'Transmit PGN list', - ReceivePgnList = 'Receive PGN list', +export const GarminAutopilotFieldValues: {[key: string]: number} = { + [GarminAutopilotField.Heartbeat]: 0x3, + [GarminAutopilotField.ModeState]: 0xa, + [GarminAutopilotField.HeadingToSteer]: 0xb, + [GarminAutopilotField.ResponseSetting]: 0x3e, + [GarminAutopilotField.RateOfTurn]: 0x72, + [GarminAutopilotField.RateOfTurnOrder]: 0x73, + [GarminAutopilotField.TurnAngleOrder]: 0x74, + [GarminAutopilotField.SystemVoltage]: 0x9e, + [GarminAutopilotField.TurnAngleMeasured]: 0xa1, + [GarminAutopilotField.EngineRpmB]: 0xef, + [GarminAutopilotField.EngineRpmA]: 0xf0, + [GarminAutopilotField.Speed]: 0xf6, } /** * @category Enumerations */ -export const PgnListFunctionValues: {[key: string]: number} = { - [PgnListFunction.TransmitPgnList]: 0x0, - [PgnListFunction.ReceivePgnList]: 0x1, +export enum GarminAutopilotModeState { + Standby = 'Standby', + ShadowDrive = 'Shadow Drive', + Engaged = 'Engaged', } /** * @category Enumerations */ -export enum FusionCommand { - Play = 'Play', - Pause = 'Pause', - Next = 'Next', - Prev = 'Prev', +export const GarminAutopilotModeStateValues: {[key: string]: number} = { + [GarminAutopilotModeState.Standby]: 0x2, + [GarminAutopilotModeState.ShadowDrive]: 0x3, + [GarminAutopilotModeState.Engaged]: 0x5, } /** * @category Enumerations */ -export const FusionCommandValues: {[key: string]: number} = { - [FusionCommand.Play]: 0x1, - [FusionCommand.Pause]: 0x2, - [FusionCommand.Next]: 0x4, - [FusionCommand.Prev]: 0x6, +export enum GarminBacklightLevel { + _0 = '0%', + _5 = '5%', + _10 = '10%', + _15 = '15%', + _20 = '20%', + _25 = '25%', + _30 = '30%', + _35 = '35%', + _40 = '40%', + _45 = '45%', + _50 = '50%', + _55 = '55%', + _60 = '60%', + _65 = '65%', + _70 = '70%', + _75 = '75%', + _80 = '80%', + _85 = '85%', + _90 = '90%', + _95 = '95%', + _100 = '100%', } /** * @category Enumerations */ -export enum FusionSiriusCommand { - Next = 'Next', - Prev = 'Prev', +export const GarminBacklightLevelValues: {[key: string]: number} = { + [GarminBacklightLevel._0]: 0x0, + [GarminBacklightLevel._5]: 0x1, + [GarminBacklightLevel._10]: 0x2, + [GarminBacklightLevel._15]: 0x3, + [GarminBacklightLevel._20]: 0x4, + [GarminBacklightLevel._25]: 0x5, + [GarminBacklightLevel._30]: 0x6, + [GarminBacklightLevel._35]: 0x7, + [GarminBacklightLevel._40]: 0x8, + [GarminBacklightLevel._45]: 0x9, + [GarminBacklightLevel._50]: 0xa, + [GarminBacklightLevel._55]: 0xb, + [GarminBacklightLevel._60]: 0xc, + [GarminBacklightLevel._65]: 0xd, + [GarminBacklightLevel._70]: 0xe, + [GarminBacklightLevel._75]: 0xf, + [GarminBacklightLevel._80]: 0x10, + [GarminBacklightLevel._85]: 0x11, + [GarminBacklightLevel._90]: 0x12, + [GarminBacklightLevel._95]: 0x13, + [GarminBacklightLevel._100]: 0x14, } /** * @category Enumerations */ -export const FusionSiriusCommandValues: {[key: string]: number} = { - [FusionSiriusCommand.Next]: 0x1, - [FusionSiriusCommand.Prev]: 0x2, +export enum GarminColor { + DayFullColor = 'Day full color', + DayHighContrast = 'Day high contrast', + NightFullColor = 'Night full color', + NightRedblack = 'Night red/black', + NightGreenblack = 'Night green/black', } /** * @category Enumerations */ -export enum FusionMuteCommand { - MuteOn = 'Mute On', - MuteOff = 'Mute Off', +export const GarminColorValues: {[key: string]: number} = { + [GarminColor.DayFullColor]: 0x0, + [GarminColor.DayHighContrast]: 0x1, + [GarminColor.NightFullColor]: 0x2, + [GarminColor.NightRedblack]: 0x3, + [GarminColor.NightGreenblack]: 0x4, } /** * @category Enumerations */ -export const FusionMuteCommandValues: {[key: string]: number} = { - [FusionMuteCommand.MuteOn]: 0x1, - [FusionMuteCommand.MuteOff]: 0x2, +export enum GarminColorMode { + Day = 'Day', + Night = 'Night', + Color = 'Color', } /** * @category Enumerations */ -export enum SeatalkKeystroke { - Auto = 'Auto', - Standby = 'Standby', - Wind = 'Wind', - _1 = '-1', - _10 = '-10', - Plus1 = '+1', - Plus10 = '+10', - _1And10 = '-1 and -10', - Plus1AndPlus10 = '+1 and +10', - Track = 'Track', +export const GarminColorModeValues: {[key: string]: number} = { + [GarminColorMode.Day]: 0x0, + [GarminColorMode.Night]: 0x1, + [GarminColorMode.Color]: 0xd, } /** * @category Enumerations */ -export const SeatalkKeystrokeValues: {[key: string]: number} = { - [SeatalkKeystroke.Auto]: 0x1, - [SeatalkKeystroke.Standby]: 0x2, - [SeatalkKeystroke.Wind]: 0x3, - [SeatalkKeystroke._1]: 0x5, - [SeatalkKeystroke._10]: 0x6, - [SeatalkKeystroke.Plus1]: 0x7, - [SeatalkKeystroke.Plus10]: 0x8, - [SeatalkKeystroke._1And10]: 0x21, - [SeatalkKeystroke.Plus1AndPlus10]: 0x22, - [SeatalkKeystroke.Track]: 0x23, +export enum GarminMessageId { + AhrsAttTransport = 'AHRS ATT transport', + AutopilotTransport = 'Autopilot transport', } /** * @category Enumerations */ -export enum SeatalkDeviceId { - S100 = 'S100', - CourseComputer = 'Course Computer', +export const GarminMessageIdValues: {[key: string]: number} = { + [GarminMessageId.AhrsAttTransport]: 0x76c, + [GarminMessageId.AutopilotTransport]: 0x1710, } /** * @category Enumerations */ -export const SeatalkDeviceIdValues: {[key: string]: number} = { - [SeatalkDeviceId.S100]: 0x3, - [SeatalkDeviceId.CourseComputer]: 0x5, +export enum GearStatus { + Forward = 'Forward', + Neutral = 'Neutral', + Reverse = 'Reverse', } /** * @category Enumerations */ -export enum SeatalkNetworkGroup { - None = 'None', - Helm1 = 'Helm 1', - Helm2 = 'Helm 2', - Cockpit = 'Cockpit', - Flybridge = 'Flybridge', - Mast = 'Mast', - Group1 = 'Group 1', - Group2 = 'Group 2', - Group3 = 'Group 3', - Group4 = 'Group 4', - Group5 = 'Group 5', +export const GearStatusValues: {[key: string]: number} = { + [GearStatus.Forward]: 0x0, + [GearStatus.Neutral]: 0x1, + [GearStatus.Reverse]: 0x2, } /** * @category Enumerations */ -export const SeatalkNetworkGroupValues: {[key: string]: number} = { - [SeatalkNetworkGroup.None]: 0x0, - [SeatalkNetworkGroup.Helm1]: 0x1, - [SeatalkNetworkGroup.Helm2]: 0x2, - [SeatalkNetworkGroup.Cockpit]: 0x3, - [SeatalkNetworkGroup.Flybridge]: 0x4, - [SeatalkNetworkGroup.Mast]: 0x5, - [SeatalkNetworkGroup.Group1]: 0x6, - [SeatalkNetworkGroup.Group2]: 0x7, - [SeatalkNetworkGroup.Group3]: 0x8, - [SeatalkNetworkGroup.Group4]: 0x9, - [SeatalkNetworkGroup.Group5]: 0xa, +export enum Gns { + Gps = 'GPS', + Glonass = 'GLONASS', + GpsPlusglonass = 'GPS+GLONASS', + GpsPlussbaswaas = 'GPS+SBAS/WAAS', + GpsPlussbaswaasPlusglonass = 'GPS+SBAS/WAAS+GLONASS', + Chayka = 'Chayka', + Integrated = 'integrated', + Surveyed = 'surveyed', + Galileo = 'Galileo', } /** * @category Enumerations */ -export enum SeatalkDisplayColor { - Day1 = 'Day 1', - Day2 = 'Day 2', - Redblack = 'Red/Black', - Inverse = 'Inverse', +export const GnsValues: {[key: string]: number} = { + [Gns.Gps]: 0x0, + [Gns.Glonass]: 0x1, + [Gns.GpsPlusglonass]: 0x2, + [Gns.GpsPlussbaswaas]: 0x3, + [Gns.GpsPlussbaswaasPlusglonass]: 0x4, + [Gns.Chayka]: 0x5, + [Gns.Integrated]: 0x6, + [Gns.Surveyed]: 0x7, + [Gns.Galileo]: 0x8, } /** * @category Enumerations */ -export const SeatalkDisplayColorValues: {[key: string]: number} = { - [SeatalkDisplayColor.Day1]: 0x0, - [SeatalkDisplayColor.Day2]: 0x2, - [SeatalkDisplayColor.Redblack]: 0x3, - [SeatalkDisplayColor.Inverse]: 0x4, +export enum GnssMode { + _1D = '1D', + _2D = '2D', + _3D = '3D', + Auto = 'Auto', } /** * @category Enumerations */ -export enum AirmarCalibrateFunction { - NormalcancelCalibration = 'Normal/cancel calibration', - EnterCalibrationMode = 'Enter calibration mode', - ResetCalibrationTo0 = 'Reset calibration to 0', - Verify = 'Verify', - ResetCompassToDefaults = 'Reset compass to defaults', - ResetDampingToDefaults = 'Reset damping to defaults', +export const GnssModeValues: {[key: string]: number} = { + [GnssMode._1D]: 0x0, + [GnssMode._2D]: 0x1, + [GnssMode._3D]: 0x2, + [GnssMode.Auto]: 0x3, } /** * @category Enumerations */ -export const AirmarCalibrateFunctionValues: {[key: string]: number} = { - [AirmarCalibrateFunction.NormalcancelCalibration]: 0x0, - [AirmarCalibrateFunction.EnterCalibrationMode]: 0x1, - [AirmarCalibrateFunction.ResetCalibrationTo0]: 0x2, - [AirmarCalibrateFunction.Verify]: 0x3, - [AirmarCalibrateFunction.ResetCompassToDefaults]: 0x4, - [AirmarCalibrateFunction.ResetDampingToDefaults]: 0x5, +export enum GnssSystem { + Gps = 'GPS', + Glonass = 'GLONASS', + Galileo = 'Galileo', + BeiDou = 'BeiDou', + Qzss = 'QZSS', } /** * @category Enumerations */ -export enum AirmarCalibrateStatus { - Queried = 'Queried', - Passed = 'Passed', - FailedTimeout = 'Failed - timeout', - FailedTiltError = 'Failed - tilt error', - FailedOther = 'Failed - other', - InProgress = 'In progress', +export const GnssSystemValues: {[key: string]: number} = { + [GnssSystem.Gps]: 0x0, + [GnssSystem.Glonass]: 0x1, + [GnssSystem.Galileo]: 0x2, + [GnssSystem.BeiDou]: 0x3, + [GnssSystem.Qzss]: 0x4, } /** * @category Enumerations */ -export const AirmarCalibrateStatusValues: {[key: string]: number} = { - [AirmarCalibrateStatus.Queried]: 0x0, - [AirmarCalibrateStatus.Passed]: 0x1, - [AirmarCalibrateStatus.FailedTimeout]: 0x2, - [AirmarCalibrateStatus.FailedTiltError]: 0x3, - [AirmarCalibrateStatus.FailedOther]: 0x4, - [AirmarCalibrateStatus.InProgress]: 0x5, +export enum GnsIntegrity { + NoIntegrityChecking = 'No integrity checking', + Safe = 'Safe', + Caution = 'Caution', + Unsafe = 'Unsafe', } /** * @category Enumerations */ -export enum AirmarTemperatureInstance { - DeviceSensor = 'Device Sensor', - OnboardWaterSensor = 'Onboard Water Sensor', - OptionalWaterSensor = 'Optional Water Sensor', +export const GnsIntegrityValues: {[key: string]: number} = { + [GnsIntegrity.NoIntegrityChecking]: 0x0, + [GnsIntegrity.Safe]: 0x1, + [GnsIntegrity.Caution]: 0x2, + [GnsIntegrity.Unsafe]: 0x3, } /** * @category Enumerations */ -export const AirmarTemperatureInstanceValues: {[key: string]: number} = { - [AirmarTemperatureInstance.DeviceSensor]: 0x0, - [AirmarTemperatureInstance.OnboardWaterSensor]: 0x1, - [AirmarTemperatureInstance.OptionalWaterSensor]: 0x2, +export enum GnsMethod { + NoGnss = 'no GNSS', + GnssFix = 'GNSS fix', + DgnssFix = 'DGNSS fix', + PreciseGnss = 'Precise GNSS', + RtkFixedInteger = 'RTK Fixed Integer', + RtkFloat = 'RTK float', + EstimateddrMode = 'Estimated (DR) mode', + ManualInput = 'Manual Input', + SimulateMode = 'Simulate mode', } /** * @category Enumerations */ -export enum AirmarFilter { - NoFilter = 'No filter', - BasicIirFilter = 'Basic IIR filter', +export const GnsMethodValues: {[key: string]: number} = { + [GnsMethod.NoGnss]: 0x0, + [GnsMethod.GnssFix]: 0x1, + [GnsMethod.DgnssFix]: 0x2, + [GnsMethod.PreciseGnss]: 0x3, + [GnsMethod.RtkFixedInteger]: 0x4, + [GnsMethod.RtkFloat]: 0x5, + [GnsMethod.EstimateddrMode]: 0x6, + [GnsMethod.ManualInput]: 0x7, + [GnsMethod.SimulateMode]: 0x8, } /** * @category Enumerations */ -export const AirmarFilterValues: {[key: string]: number} = { - [AirmarFilter.NoFilter]: 0x0, - [AirmarFilter.BasicIirFilter]: 0x1, +export enum GoodWarningError { + Good = 'Good', + Warning = 'Warning', + Error = 'Error', } /** * @category Enumerations */ -export enum ControllerState { - ErrorActive = 'Error Active', - ErrorPassive = 'Error Passive', - BusOff = 'Bus Off', +export const GoodWarningErrorValues: {[key: string]: number} = { + [GoodWarningError.Good]: 0x0, + [GoodWarningError.Warning]: 0x1, + [GoodWarningError.Error]: 0x2, } /** * @category Enumerations */ -export const ControllerStateValues: {[key: string]: number} = { - [ControllerState.ErrorActive]: 0x0, - [ControllerState.ErrorPassive]: 0x1, - [ControllerState.BusOff]: 0x2, +export enum GroupFunction { + Request = 'Request', + Command = 'Command', + Acknowledge = 'Acknowledge', + ReadFields = 'Read Fields', + ReadFieldsReply = 'Read Fields Reply', + WriteFields = 'Write Fields', + WriteFieldsReply = 'Write Fields Reply', } /** * @category Enumerations */ -export enum EquipmentStatus { - Operational = 'Operational', - Fault = 'Fault', +export const GroupFunctionValues: {[key: string]: number} = { + [GroupFunction.Request]: 0x0, + [GroupFunction.Command]: 0x1, + [GroupFunction.Acknowledge]: 0x2, + [GroupFunction.ReadFields]: 0x3, + [GroupFunction.ReadFieldsReply]: 0x4, + [GroupFunction.WriteFields]: 0x5, + [GroupFunction.WriteFieldsReply]: 0x6, } /** * @category Enumerations */ -export const EquipmentStatusValues: {[key: string]: number} = { - [EquipmentStatus.Operational]: 0x0, - [EquipmentStatus.Fault]: 0x1, +export enum HumiditySource { + Inside = 'Inside', + Outside = 'Outside', } /** * @category Enumerations */ -export enum MobStatus { - MobEmitterActivated = 'MOB Emitter Activated', - ManualOnBoardMobButtonActivation = 'Manual on-board MOB Button Activation', - TestMode = 'Test mode', +export const HumiditySourceValues: {[key: string]: number} = { + [HumiditySource.Inside]: 0x0, + [HumiditySource.Outside]: 0x1, } /** * @category Enumerations */ -export const MobStatusValues: {[key: string]: number} = { - [MobStatus.MobEmitterActivated]: 0x0, - [MobStatus.ManualOnBoardMobButtonActivation]: 0x1, - [MobStatus.TestMode]: 0x2, +export enum IndustryCode { + Global = 'Global', + Highway = 'Highway', + Agriculture = 'Agriculture', + Construction = 'Construction', + MarineIndustry = 'Marine Industry', + Industrial = 'Industrial', + // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values + Marine = 'Marine Industry', } /** * @category Enumerations */ -export enum LowBattery { - Good = 'Good', - Low = 'Low', +export const IndustryCodeValues: {[key: string]: number} = { + [IndustryCode.Global]: 0x0, + [IndustryCode.Highway]: 0x1, + [IndustryCode.Agriculture]: 0x2, + [IndustryCode.Construction]: 0x3, + [IndustryCode.MarineIndustry]: 0x4, + [IndustryCode.Industrial]: 0x5, + Marine: 0x4, } /** * @category Enumerations */ -export const LowBatteryValues: {[key: string]: number} = { - [LowBattery.Good]: 0x0, - [LowBattery.Low]: 0x1, +export enum InverterMode { + Standalone = 'Standalone', + SeriesMaster = 'Series Master', + SeriesSlave = 'Series Slave', + ParallelMaster = 'Parallel Master', + ParallelSlave = 'Parallel Slave', } /** * @category Enumerations */ -export enum TurnMode { - RudderLimitControlled = 'Rudder limit controlled', - TurnRateControlled = 'Turn rate controlled', - RadiusControlled = 'Radius controlled', +export const InverterModeValues: {[key: string]: number} = { + [InverterMode.Standalone]: 0x0, + [InverterMode.SeriesMaster]: 0x1, + [InverterMode.SeriesSlave]: 0x2, + [InverterMode.ParallelMaster]: 0x3, + [InverterMode.ParallelSlave]: 0x4, } /** * @category Enumerations */ -export const TurnModeValues: {[key: string]: number} = { - [TurnMode.RudderLimitControlled]: 0x0, - [TurnMode.TurnRateControlled]: 0x1, - [TurnMode.RadiusControlled]: 0x2, +export enum InverterState { + Invert = 'Invert', + AcPassthru = 'AC passthru', + LoadSense = 'Load sense', + Fault = 'Fault', + Disabled = 'Disabled', } /** * @category Enumerations */ -export enum Acceptability { - BadLevel = 'Bad level', - BadFrequency = 'Bad frequency', - BeingQualified = 'Being qualified', - Good = 'Good', +export const InverterStateValues: {[key: string]: number} = { + [InverterState.Invert]: 0x0, + [InverterState.AcPassthru]: 0x1, + [InverterState.LoadSense]: 0x2, + [InverterState.Fault]: 0x3, + [InverterState.Disabled]: 0x4, } /** * @category Enumerations */ -export const AcceptabilityValues: {[key: string]: number} = { - [Acceptability.BadLevel]: 0x0, - [Acceptability.BadFrequency]: 0x1, - [Acceptability.BeingQualified]: 0x2, - [Acceptability.Good]: 0x3, +export enum IsoCommand { + Ack = 'ACK', + Rts = 'RTS', + Cts = 'CTS', + Eom = 'EOM', + Bam = 'BAM', + Abort = 'Abort', } /** * @category Enumerations */ -export enum Line { - Line1 = 'Line 1', - Line2 = 'Line 2', - Line3 = 'Line 3', +export const IsoCommandValues: {[key: string]: number} = { + [IsoCommand.Ack]: 0x0, + [IsoCommand.Rts]: 0x10, + [IsoCommand.Cts]: 0x11, + [IsoCommand.Eom]: 0x13, + [IsoCommand.Bam]: 0x20, + [IsoCommand.Abort]: 0xff, } /** * @category Enumerations */ -export const LineValues: {[key: string]: number} = { - [Line.Line1]: 0x0, - [Line.Line2]: 0x1, - [Line.Line3]: 0x2, +export enum IsoControl { + Ack = 'ACK', + Nak = 'NAK', + AccessDenied = 'Access Denied', + AddressBusy = 'Address Busy', } /** * @category Enumerations */ -export enum Waveform { - SineWave = 'Sine wave', - ModifiedSineWave = 'Modified sine wave', +export const IsoControlValues: {[key: string]: number} = { + [IsoControl.Ack]: 0x0, + [IsoControl.Nak]: 0x1, + [IsoControl.AccessDenied]: 0x2, + [IsoControl.AddressBusy]: 0x3, } /** * @category Enumerations */ -export const WaveformValues: {[key: string]: number} = { - [Waveform.SineWave]: 0x0, - [Waveform.ModifiedSineWave]: 0x1, +export enum LightingCommand { + Idle = 'Idle', + DetectDevices = 'Detect Devices', + Reboot = 'Reboot', + FactoryReset = 'Factory Reset', + PoweringUp = 'Powering Up', } /** * @category Enumerations */ -export enum TankType { - Fuel = 'Fuel', - Water = 'Water', - GrayWater = 'Gray water', - LiveWell = 'Live well', - Oil = 'Oil', - BlackWater = 'Black water', +export const LightingCommandValues: {[key: string]: number} = { + [LightingCommand.Idle]: 0x0, + [LightingCommand.DetectDevices]: 0x1, + [LightingCommand.Reboot]: 0x2, + [LightingCommand.FactoryReset]: 0x3, + [LightingCommand.PoweringUp]: 0x4, } /** * @category Enumerations */ -export const TankTypeValues: {[key: string]: number} = { - [TankType.Fuel]: 0x0, - [TankType.Water]: 0x1, - [TankType.GrayWater]: 0x2, - [TankType.LiveWell]: 0x3, - [TankType.Oil]: 0x4, - [TankType.BlackWater]: 0x5, +export enum Line { + Line1 = 'Line 1', + Line2 = 'Line 2', + Line3 = 'Line 3', } /** * @category Enumerations */ -export enum DcSource { - Battery = 'Battery', - Alternator = 'Alternator', - Convertor = 'Convertor', - SolarCell = 'Solar cell', - WindGenerator = 'Wind generator', +export const LineValues: {[key: string]: number} = { + [Line.Line1]: 0x0, + [Line.Line2]: 0x1, + [Line.Line3]: 0x2, } /** * @category Enumerations */ -export const DcSourceValues: {[key: string]: number} = { - [DcSource.Battery]: 0x0, - [DcSource.Alternator]: 0x1, - [DcSource.Convertor]: 0x2, - [DcSource.SolarCell]: 0x3, - [DcSource.WindGenerator]: 0x4, +export enum LowBattery { + Good = 'Good', + Low = 'Low', } /** * @category Enumerations */ -export enum ChargerState { - NotCharging = 'Not charging', - Bulk = 'Bulk', - Absorption = 'Absorption', - Overcharge = 'Overcharge', - Equalise = 'Equalise', - Float = 'Float', - NoFloat = 'No float', - ConstantVi = 'Constant VI', - Disabled = 'Disabled', - Fault = 'Fault', +export const LowBatteryValues: {[key: string]: number} = { + [LowBattery.Good]: 0x0, + [LowBattery.Low]: 0x1, } /** * @category Enumerations */ -export const ChargerStateValues: {[key: string]: number} = { - [ChargerState.NotCharging]: 0x0, - [ChargerState.Bulk]: 0x1, - [ChargerState.Absorption]: 0x2, - [ChargerState.Overcharge]: 0x3, - [ChargerState.Equalise]: 0x4, - [ChargerState.Float]: 0x5, - [ChargerState.NoFloat]: 0x6, - [ChargerState.ConstantVi]: 0x7, - [ChargerState.Disabled]: 0x8, - [ChargerState.Fault]: 0x9, +export enum MagneticVariation { + Manual = 'Manual', + AutomaticChart = 'Automatic Chart', + AutomaticTable = 'Automatic Table', + AutomaticCalculation = 'Automatic Calculation', + Wmm2000 = 'WMM 2000', + Wmm2005 = 'WMM 2005', + Wmm2010 = 'WMM 2010', + Wmm2015 = 'WMM 2015', + Wmm2020 = 'WMM 2020', + Wmm2025 = 'WMM 2025', } /** * @category Enumerations */ -export enum ChargingAlgorithm { - Trickle = 'Trickle', - ConstantVoltageConstantCurrent = 'Constant voltage / Constant current', - _2StagenoFloat = '2 stage (no float)', - _3Stage = '3 stage', +export const MagneticVariationValues: {[key: string]: number} = { + [MagneticVariation.Manual]: 0x0, + [MagneticVariation.AutomaticChart]: 0x1, + [MagneticVariation.AutomaticTable]: 0x2, + [MagneticVariation.AutomaticCalculation]: 0x3, + [MagneticVariation.Wmm2000]: 0x4, + [MagneticVariation.Wmm2005]: 0x5, + [MagneticVariation.Wmm2010]: 0x6, + [MagneticVariation.Wmm2015]: 0x7, + [MagneticVariation.Wmm2020]: 0x8, + [MagneticVariation.Wmm2025]: 0x9, } /** * @category Enumerations */ -export const ChargingAlgorithmValues: {[key: string]: number} = { - [ChargingAlgorithm.Trickle]: 0x0, - [ChargingAlgorithm.ConstantVoltageConstantCurrent]: 0x1, - [ChargingAlgorithm._2StagenoFloat]: 0x2, - [ChargingAlgorithm._3Stage]: 0x3, +export enum ManufacturerCode { + ArksEnterprisesInc = 'ARKS Enterprises, Inc.', + FwMurphyenovationControls = 'FW Murphy/Enovation Controls', + TwinDisc = 'Twin Disc', + KohlerPowerSystems = 'Kohler Power Systems', + HemisphereGpsInc = 'Hemisphere GPS Inc', + BepMarine = 'BEP Marine', + Airmar = 'Airmar', + Maretron = 'Maretron', + Lowrance = 'Lowrance', + MercuryMarine = 'Mercury Marine', + NautibusElectronicGmbH = 'Nautibus Electronic GmbH', + BlueWaterData = 'Blue Water Data', + Westerbeke = 'Westerbeke', + IssproInc = 'ISSPRO Inc', + OffshoreSystemsukLtd = 'Offshore Systems (UK) Ltd.', + Evinrudebrp = 'Evinrude/BRP', + CpacSystemsAb = 'CPAC Systems AB', + XantrexTechnologyInc = 'Xantrex Technology Inc.', + MarlinTechnologiesInc = 'Marlin Technologies, Inc.', + YanmarMarine = 'Yanmar Marine', + VolvoPenta = 'Volvo Penta', + HondaMarine = 'Honda Marine', + CarlingTechnologiesIncmoritzAerospace = 'Carling Technologies Inc. (Moritz Aerospace)', + BeedeInstruments = 'Beede Instruments', + FloscanInstrumentCoInc = 'Floscan Instrument Co. Inc.', + Nobletec = 'Nobletec', + MysticValleyCommunications = 'Mystic Valley Communications', + Actia = 'Actia', + HondaMarine2 = 'Honda Marine 2', + DisenosYTechnologia = 'Disenos Y Technologia', + DigitalSwitchingSystems = 'Digital Switching Systems', + Xintexatena = 'Xintex/Atena', + EmmiNetworkSL = 'EMMI NETWORK S.L.', + HondaMarine3 = 'Honda Marine 3', + Zf = 'ZF', + Garmin = 'Garmin', + YachtMonitoringSolutions = 'Yacht Monitoring Solutions', + SailormadeMarineTelemetrytetraTechnologyLtd = 'Sailormade Marine Telemetry/Tetra Technology LTD', + Eride = 'Eride', + HondaMarine4 = 'Honda Marine 4', + HondaMotorCompanyLtd = 'Honda Motor Company LTD', + Groco = 'Groco', + Actisense = 'Actisense', + AmphenolLtwTechnology = 'Amphenol LTW Technology', + Navico = 'Navico', + HamiltonJet = 'Hamilton Jet', + SeaRecovery = 'Sea Recovery', + CoelmoSrlItaly = 'Coelmo SRL Italy', + BepMarine2 = 'BEP Marine 2', + EmpirBus = 'Empir Bus', + NovAtel = 'NovAtel', + SleipnerMotorAs = 'Sleipner Motor AS', + MbwTechnologies = 'MBW Technologies', + FischerPanda = 'Fischer Panda', + Icom = 'ICOM', + Qwerty = 'Qwerty', + Dief = 'Dief', + BoeningAutomationstechnologieGmbHCoKg = 'Boening Automationstechnologie GmbH & Co. KG', + KoreanMaritimeUniversity = 'Korean Maritime University', + ThraneAndThrane = 'Thrane and Thrane', + Mastervolt = 'Mastervolt', + FischerPandaGenerators = 'Fischer Panda Generators', + VictronEnergy = 'Victron Energy', + RollsRoyceMarine = 'Rolls Royce Marine', + ElectronicDesign = 'Electronic Design', + NorthernLights = 'Northern Lights', + Glendinning = 'Glendinning', + BG = 'B & G', + RosePointNavigationSystems = 'Rose Point Navigation Systems', + JohnsonOutdoorsMarineElectronicsIncGeonav = 'Johnson Outdoors Marine Electronics Inc Geonav', + Capi2 = 'Capi 2', + BeyondMeasure = 'Beyond Measure', + LivorsiMarine = 'Livorsi Marine', + ComNav = 'ComNav', + Chetco = 'Chetco', + FusionElectronics = 'Fusion Electronics', + StandardHorizon = 'Standard Horizon', + TrueHeadingAb = 'True Heading AB', + EgersundMarineElectronicsAs = 'Egersund Marine Electronics AS', + EmTrakMarineElectronics = 'em-trak Marine Electronics', + TohatsuCoJp = 'Tohatsu Co, JP', + DigitalYacht = 'Digital Yacht', + ComarSystemsLimited = 'Comar Systems Limited', + Cummins = 'Cummins', + VdoakaContinentalCorporation = 'VDO (aka Continental-Corporation)', + ParkerHannifinAkaVillageMarineTech = 'Parker Hannifin aka Village Marine Tech', + AlltekMarineElectronicsCorp = 'Alltek Marine Electronics Corp', + SanGiorgioSEIN = 'SAN GIORGIO S.E.I.N', + VeethreeElectronicsMarine = 'Veethree Electronics & Marine', + HumminbirdMarineElectronics = 'Humminbird Marine Electronics', + SiTexMarineElectronics = 'SI-TEX Marine Electronics', + SeaCrossMarineAb = 'Sea Cross Marine AB', + GmeAkaStandardCommunicationsPtyLtd = 'GME aka Standard Communications Pty LTD', + HumminbirdMarineElectronics2 = 'Humminbird Marine Electronics 2', + OceanSatBv = 'Ocean Sat BV', + ChetcoDigitialInstruments = 'Chetco Digitial Instruments', + Watcheye = 'Watcheye', + LcjCapteurs = 'Lcj Capteurs', + AttwoodMarine = 'Attwood Marine', + NaviopSRL = 'Naviop S.R.L.', + VesperMarineLtd = 'Vesper Marine Ltd', + MarinesoftCoLtd = 'Marinesoft Co. LTD', + Simarine = 'Simarine', + NoLandEngineering = 'NoLand Engineering', + TransasUsa = 'Transas USA', + NationalInstrumentsKorea = 'National Instruments Korea', + NationalMarineElectronicsAssociation = 'National Marine Electronics Association', + OnwaMarine = 'Onwa Marine', + Webasto = 'Webasto', + MarinecraftsouthKorea = 'Marinecraft (South Korea)', + McMurdoGroupAkaOroliaLtd = 'McMurdo Group aka Orolia LTD', + Advansea = 'Advansea', + Kvh = 'KVH', + SanJoseTechnology = 'San Jose Technology', + YachtControl = 'Yacht Control', + SuzukiMotorCorporation = 'Suzuki Motor Corporation', + UsCoastGuard = 'US Coast Guard', + ShipModuleAkaCustomware = 'Ship Module aka Customware', + AquaticAv = 'Aquatic AV', + AventicsGmbH = 'Aventics GmbH', + Intellian = 'Intellian', + SamwonIt = 'SamwonIT', + ArltTecnologies = 'Arlt Tecnologies', + BavariaYacts = 'Bavaria Yacts', + DiverseYachtServices = 'Diverse Yacht Services', + WemaUSADbaKus = 'Wema U.S.A dba KUS', + Garmin2 = 'Garmin 2', + ShenzhenJiuzhouHimunication = 'Shenzhen Jiuzhou Himunication', + RockfordCorp = 'Rockford Corp', + HarmanInternational = 'Harman International', + JlAudio = 'JL Audio', + LarsThrane = 'Lars Thrane', + Autonnic = 'Autonnic', + YachtDevices = 'Yacht Devices', + ReapSystems = 'REAP Systems', + AuElectronicsGroup = 'Au Electronics Group', + LxNav = 'LxNav', + LittelfuseIncformerlyCarlingTechnologies = 'Littelfuse, Inc (formerly Carling Technologies)', + DaeMyung = 'DaeMyung', + Woosung = 'Woosung', + IsottaIfraSrl = 'ISOTTA IFRA srl', + ClarionUs = 'Clarion US', + HmiSystems = 'HMI Systems', + OceanSignal = 'Ocean Signal', + Seekeeper = 'Seekeeper', + PolyPlanar = 'Poly Planar', + FischerPandaDe = 'Fischer Panda DE', + BroydaIndustries = 'Broyda Industries', + CanadianAutomotive = 'Canadian Automotive', + TidesMarine = 'Tides Marine', + Lumishore = 'Lumishore', + StillWaterDesignsAndAudio = 'Still Water Designs and Audio', + BjTechnologiesbeneteau = 'BJ Technologies (Beneteau)', + GillSensors = 'Gill Sensors', + BlueWaterDesalination = 'Blue Water Desalination', + Flir = 'FLIR', + UndheimSystems = 'Undheim Systems', + LewmarInc = 'Lewmar Inc', + TeamSurv = 'TeamSurv', + FellMarine = 'Fell Marine', + Oceanvolt = 'Oceanvolt', + Prospec = 'Prospec', + DataPanelCorp = 'Data Panel Corp', + L3Technologies = 'L3 Technologies', + RhodanMarineSystems = 'Rhodan Marine Systems', + NexfourSolutions = 'Nexfour Solutions', + AsaElectronics = 'ASA Electronics', + MarinesCosouthKorea = 'Marines Co (South Korea)', + NauticOn = 'Nautic-on', + Sentinel = 'Sentinel', + JlMarineYstems = 'JL Marine ystems', + Ecotronix = 'Ecotronix', + ZontisaMarine = 'Zontisa Marine', + ExorInternational = 'EXOR International', + TimbolierIndustries = 'Timbolier Industries', + TjcMicro = 'TJC Micro', + CoxPowertrain = 'Cox Powertrain', + BlueSeas = 'Blue Seas', + KobeltManufacturingCoLtd = 'Kobelt Manufacturing Co. Ltd', + BlueOceanIot = 'Blue Ocean IOT', + XentaSystems = 'Xenta Systems', + SignalK = 'Signal K', + UltraflexSpA = 'Ultraflex SpA', + LintestSmartBoat = 'Lintest SmartBoat', + Soundmax = 'Soundmax', + TeamItaliaMarineonyxMarineAutomationSRL = 'Team Italia Marine (Onyx Marine Automation s.r.l)', + Entratech = 'Entratech', + ItcInc = 'ITC Inc.', + TheMarineGuardianLlc = 'The Marine Guardian LLC', + SonicCorporation = 'Sonic Corporation', + ProNav = 'ProNav', + VetusMaxwellInc = 'Vetus Maxwell INC.', + LithiumPros = 'Lithium Pros', + Boatrax = 'Boatrax', + MarolCoLtd = 'Marol Co ltd', + CalypsoInstruments = 'CALYPSO Instruments', + SpotZeroWater = 'Spot Zero Water', + LithionicsBatteryLlc = 'Lithionics Battery LLC', + QuickTeckElectronicsLtd = 'Quick-teck Electronics Ltd', + UnidenAmerica = 'Uniden America', + Nauticoncept = 'Nauticoncept', + ShadowCasterLedLightingLlc = 'Shadow-Caster LED lighting LLC', + WetSoundsLlc = 'Wet Sounds, LLC', + ETACircuitBreakers = 'E-T-A Circuit Breakers', + Scheiber = 'Scheiber', + SmartYachtsInternationalLimited = 'Smart Yachts International Limited', + Dockmate = 'Dockmate', + BobsMachine = 'Bobs Machine', + L3HarrisAsv = 'L3Harris ASV', + BalmarLlc = 'Balmar LLC', + ElettromediaSpa = 'Elettromedia spa', + Electromaax = 'Electromaax', + AcrossOceansSystemsLtd = 'Across Oceans Systems Ltd.', + KiwiYachting = 'Kiwi Yachting', + BsbArtificialIntelligenceGmbH = 'BSB Artificial Intelligence GmbH', + OrcaTechnologoesAs = 'Orca Technologoes AS', + TbsElectronicsBv = 'TBS Electronics BV', + TechnotonElectroics = 'Technoton Electroics', + MgEnergySystemsBV = 'MG Energy Systems B.V.', + SeaMacineRoboticsInc = 'Sea Macine Robotics Inc.', + VistaManufacturing = 'Vista Manufacturing', + Zipwake = 'Zipwake', + SailmonBv = 'Sailmon BV', + AirmoniqProKft = 'Airmoniq Pro Kft', + SierraMarine = 'Sierra Marine', + XinuoInformationTechnologyxiamen = 'Xinuo Information Technology (Xiamen)', + Septentrio = 'Septentrio', + NkeMarineElecronics = 'NKE Marine Elecronics', + SuperTrackAps = 'SuperTrack Aps', + HondaElectronicsCoLtd = 'Honda Electronics Co., LTD', + RaritanEngineeringCompanyInc = 'Raritan Engineering Company, Inc', + IntegratedPowerSolutionsAg = 'Integrated Power Solutions AG', + InteractiveTechnologiesInc = 'Interactive Technologies, Inc.', + LtgTech = 'LTG-Tech', + EnergySolutionsukLtd = 'Energy Solutions (UK) LTD.', + WattFuelCellCorp = 'WATT Fuel Cell Corp', + ProMainer = 'Pro Mainer', + DragonflyEnergy = 'Dragonfly Energy', + KodenElectronicsCoLtd = 'Koden Electronics Co., Ltd', + HumphreeAb = 'Humphree AB', + HinkleyYachts = 'Hinkley Yachts', + GlobalMarineManagementGmbHgmm = 'Global Marine Management GmbH (GMM)', + TriskelMarineLtd = 'Triskel Marine Ltd', + WarwickControlTechnologies = 'Warwick Control Technologies', + DolphinCharger = 'Dolphin Charger', + BarnacleSystemsInc = 'Barnacle Systems Inc', + RadianIoTInc = 'Radian IoT, Inc.', + OceanLedMarineLtd = 'Ocean LED Marine Ltd', + BluNav = 'BluNav', + OvanantongSaiyangElectronicsCoLtd = 'OVA (Nantong Saiyang Electronics Co., Ltd)', + RadPropulsion = 'RAD Propulsion', + ElectricYacht = 'Electric Yacht', + ElcoMotorYachts = 'Elco Motor Yachts', + TecnosealFoundrySRL = 'Tecnoseal Foundry S.r.l', + ProChargingSystemsLlc = 'Pro Charging Systems, LLC', + EvexCoLtd = 'EVEX Co., LTD', + GobiusSensorTechnologyAb = 'Gobius Sensor Technology AB', + ArcoMarine = 'Arco Marine', + LencoMarineInc = 'Lenco Marine Inc.', + NaocontrolSL = 'Naocontrol S.L.', + Revatek = 'Revatek', + Aeolionics = 'Aeolionics', + PredictWindLtd = 'PredictWind Ltd', + EgisMobileElectric = 'Egis Mobile Electric', + StarboardYachtGroup = 'Starboard Yacht Group', + RoswellMarine = 'Roswell Marine', + EPropulsionguangdongEPropulsionTechnologyLtd = 'ePropulsion (Guangdong ePropulsion Technology Ltd.)', + MicroAirLlc = 'Micro-Air LLC', + VitalBattery = 'Vital Battery', + RideControllerLlc = 'Ride Controller LLC', + TocaroBlue = 'Tocaro Blue', + VanquishYachts = 'Vanquish Yachts', + FtTechnologies = 'FT Technologies', + AlpsAlpineCoLtd = 'Alps Alpine Co., Ltd.', + EForceMarine = 'E-Force Marine', + CmcMarine = 'CMC Marine', + NanjingSandemarineInformationTechnologyCoLtd = 'Nanjing Sandemarine Information Technology Co., Ltd.', + TeleflexMarineseaStarSolutions = 'Teleflex Marine (SeaStar Solutions)', + Raymarine = 'Raymarine', + Navionics = 'Navionics', + JapanRadioCo = 'Japan Radio Co', + NorthstarTechnologies = 'Northstar Technologies', + Furuno = 'Furuno', + Trimble = 'Trimble', + Simrad = 'Simrad', + Litton = 'Litton', + KvasarAb = 'Kvasar AB', + Mmp = 'MMP', + VectorCantech = 'Vector Cantech', + YamahaMarine = 'Yamaha Marine', + FariaInstruments = 'Faria Instruments', } /** * @category Enumerations */ -export enum ChargerMode { - Standalone = 'Standalone', - Primary = 'Primary', - Secondary = 'Secondary', - Echo = 'Echo', +export const ManufacturerCodeValues: {[key: string]: number} = { + [ManufacturerCode.ArksEnterprisesInc]: 0x45, + [ManufacturerCode.FwMurphyenovationControls]: 0x4e, + [ManufacturerCode.TwinDisc]: 0x50, + [ManufacturerCode.KohlerPowerSystems]: 0x55, + [ManufacturerCode.HemisphereGpsInc]: 0x58, + [ManufacturerCode.BepMarine]: 0x74, + [ManufacturerCode.Airmar]: 0x87, + [ManufacturerCode.Maretron]: 0x89, + [ManufacturerCode.Lowrance]: 0x8c, + [ManufacturerCode.MercuryMarine]: 0x90, + [ManufacturerCode.NautibusElectronicGmbH]: 0x93, + [ManufacturerCode.BlueWaterData]: 0x94, + [ManufacturerCode.Westerbeke]: 0x9a, + [ManufacturerCode.IssproInc]: 0x9d, + [ManufacturerCode.OffshoreSystemsukLtd]: 0xa1, + [ManufacturerCode.Evinrudebrp]: 0xa3, + [ManufacturerCode.CpacSystemsAb]: 0xa5, + [ManufacturerCode.XantrexTechnologyInc]: 0xa8, + [ManufacturerCode.MarlinTechnologiesInc]: 0xa9, + [ManufacturerCode.YanmarMarine]: 0xac, + [ManufacturerCode.VolvoPenta]: 0xae, + [ManufacturerCode.HondaMarine]: 0xaf, + [ManufacturerCode.CarlingTechnologiesIncmoritzAerospace]: 0xb0, + [ManufacturerCode.BeedeInstruments]: 0xb9, + [ManufacturerCode.FloscanInstrumentCoInc]: 0xc0, + [ManufacturerCode.Nobletec]: 0xc1, + [ManufacturerCode.MysticValleyCommunications]: 0xc6, + [ManufacturerCode.Actia]: 0xc7, + [ManufacturerCode.HondaMarine2]: 0xc8, + [ManufacturerCode.DisenosYTechnologia]: 0xc9, + [ManufacturerCode.DigitalSwitchingSystems]: 0xd3, + [ManufacturerCode.Xintexatena]: 0xd7, + [ManufacturerCode.EmmiNetworkSL]: 0xe0, + [ManufacturerCode.HondaMarine3]: 0xe1, + [ManufacturerCode.Zf]: 0xe4, + [ManufacturerCode.Garmin]: 0xe5, + [ManufacturerCode.YachtMonitoringSolutions]: 0xe9, + [ManufacturerCode.SailormadeMarineTelemetrytetraTechnologyLtd]: 0xeb, + [ManufacturerCode.Eride]: 0xf3, + [ManufacturerCode.HondaMarine4]: 0xfa, + [ManufacturerCode.HondaMotorCompanyLtd]: 0x101, + [ManufacturerCode.Groco]: 0x110, + [ManufacturerCode.Actisense]: 0x111, + [ManufacturerCode.AmphenolLtwTechnology]: 0x112, + [ManufacturerCode.Navico]: 0x113, + [ManufacturerCode.HamiltonJet]: 0x11b, + [ManufacturerCode.SeaRecovery]: 0x11d, + [ManufacturerCode.CoelmoSrlItaly]: 0x11e, + [ManufacturerCode.BepMarine2]: 0x127, + [ManufacturerCode.EmpirBus]: 0x130, + [ManufacturerCode.NovAtel]: 0x131, + [ManufacturerCode.SleipnerMotorAs]: 0x132, + [ManufacturerCode.MbwTechnologies]: 0x133, + [ManufacturerCode.FischerPanda]: 0x137, + [ManufacturerCode.Icom]: 0x13b, + [ManufacturerCode.Qwerty]: 0x148, + [ManufacturerCode.Dief]: 0x149, + [ManufacturerCode.BoeningAutomationstechnologieGmbHCoKg]: 0x155, + [ManufacturerCode.KoreanMaritimeUniversity]: 0x159, + [ManufacturerCode.ThraneAndThrane]: 0x15f, + [ManufacturerCode.Mastervolt]: 0x163, + [ManufacturerCode.FischerPandaGenerators]: 0x164, + [ManufacturerCode.VictronEnergy]: 0x166, + [ManufacturerCode.RollsRoyceMarine]: 0x172, + [ManufacturerCode.ElectronicDesign]: 0x175, + [ManufacturerCode.NorthernLights]: 0x176, + [ManufacturerCode.Glendinning]: 0x17a, + [ManufacturerCode.BG]: 0x17d, + [ManufacturerCode.RosePointNavigationSystems]: 0x180, + [ManufacturerCode.JohnsonOutdoorsMarineElectronicsIncGeonav]: 0x181, + [ManufacturerCode.Capi2]: 0x18a, + [ManufacturerCode.BeyondMeasure]: 0x18c, + [ManufacturerCode.LivorsiMarine]: 0x190, + [ManufacturerCode.ComNav]: 0x194, + [ManufacturerCode.Chetco]: 0x199, + [ManufacturerCode.FusionElectronics]: 0x1a3, + [ManufacturerCode.StandardHorizon]: 0x1a5, + [ManufacturerCode.TrueHeadingAb]: 0x1a6, + [ManufacturerCode.EgersundMarineElectronicsAs]: 0x1aa, + [ManufacturerCode.EmTrakMarineElectronics]: 0x1ab, + [ManufacturerCode.TohatsuCoJp]: 0x1af, + [ManufacturerCode.DigitalYacht]: 0x1b5, + [ManufacturerCode.ComarSystemsLimited]: 0x1b6, + [ManufacturerCode.Cummins]: 0x1b8, + [ManufacturerCode.VdoakaContinentalCorporation]: 0x1bb, + [ManufacturerCode.ParkerHannifinAkaVillageMarineTech]: 0x1c3, + [ManufacturerCode.AlltekMarineElectronicsCorp]: 0x1cb, + [ManufacturerCode.SanGiorgioSEIN]: 0x1cc, + [ManufacturerCode.VeethreeElectronicsMarine]: 0x1d2, + [ManufacturerCode.HumminbirdMarineElectronics]: 0x1d3, + [ManufacturerCode.SiTexMarineElectronics]: 0x1d6, + [ManufacturerCode.SeaCrossMarineAb]: 0x1d7, + [ManufacturerCode.GmeAkaStandardCommunicationsPtyLtd]: 0x1db, + [ManufacturerCode.HumminbirdMarineElectronics2]: 0x1dc, + [ManufacturerCode.OceanSatBv]: 0x1de, + [ManufacturerCode.ChetcoDigitialInstruments]: 0x1e1, + [ManufacturerCode.Watcheye]: 0x1ed, + [ManufacturerCode.LcjCapteurs]: 0x1f3, + [ManufacturerCode.AttwoodMarine]: 0x1f6, + [ManufacturerCode.NaviopSRL]: 0x1f7, + [ManufacturerCode.VesperMarineLtd]: 0x1f8, + [ManufacturerCode.MarinesoftCoLtd]: 0x1fe, + [ManufacturerCode.Simarine]: 0x201, + [ManufacturerCode.NoLandEngineering]: 0x205, + [ManufacturerCode.TransasUsa]: 0x206, + [ManufacturerCode.NationalInstrumentsKorea]: 0x211, + [ManufacturerCode.NationalMarineElectronicsAssociation]: 0x212, + [ManufacturerCode.OnwaMarine]: 0x214, + [ManufacturerCode.Webasto]: 0x21c, + [ManufacturerCode.MarinecraftsouthKorea]: 0x23b, + [ManufacturerCode.McMurdoGroupAkaOroliaLtd]: 0x23d, + [ManufacturerCode.Advansea]: 0x242, + [ManufacturerCode.Kvh]: 0x243, + [ManufacturerCode.SanJoseTechnology]: 0x244, + [ManufacturerCode.YachtControl]: 0x247, + [ManufacturerCode.SuzukiMotorCorporation]: 0x24a, + [ManufacturerCode.UsCoastGuard]: 0x24f, + [ManufacturerCode.ShipModuleAkaCustomware]: 0x253, + [ManufacturerCode.AquaticAv]: 0x258, + [ManufacturerCode.AventicsGmbH]: 0x25d, + [ManufacturerCode.Intellian]: 0x25e, + [ManufacturerCode.SamwonIt]: 0x264, + [ManufacturerCode.ArltTecnologies]: 0x266, + [ManufacturerCode.BavariaYacts]: 0x27d, + [ManufacturerCode.DiverseYachtServices]: 0x281, + [ManufacturerCode.WemaUSADbaKus]: 0x284, + [ManufacturerCode.Garmin2]: 0x285, + [ManufacturerCode.ShenzhenJiuzhouHimunication]: 0x292, + [ManufacturerCode.RockfordCorp]: 0x2b0, + [ManufacturerCode.HarmanInternational]: 0x2bb, + [ManufacturerCode.JlAudio]: 0x2c0, + [ManufacturerCode.LarsThrane]: 0x2c4, + [ManufacturerCode.Autonnic]: 0x2cb, + [ManufacturerCode.YachtDevices]: 0x2cd, + [ManufacturerCode.ReapSystems]: 0x2de, + [ManufacturerCode.AuElectronicsGroup]: 0x2df, + [ManufacturerCode.LxNav]: 0x2e3, + [ManufacturerCode.LittelfuseIncformerlyCarlingTechnologies]: 0x2e5, + [ManufacturerCode.DaeMyung]: 0x2e7, + [ManufacturerCode.Woosung]: 0x2e8, + [ManufacturerCode.IsottaIfraSrl]: 0x2ec, + [ManufacturerCode.ClarionUs]: 0x305, + [ManufacturerCode.HmiSystems]: 0x308, + [ManufacturerCode.OceanSignal]: 0x309, + [ManufacturerCode.Seekeeper]: 0x30a, + [ManufacturerCode.PolyPlanar]: 0x30d, + [ManufacturerCode.FischerPandaDe]: 0x311, + [ManufacturerCode.BroydaIndustries]: 0x31b, + [ManufacturerCode.CanadianAutomotive]: 0x31c, + [ManufacturerCode.TidesMarine]: 0x31d, + [ManufacturerCode.Lumishore]: 0x31e, + [ManufacturerCode.StillWaterDesignsAndAudio]: 0x31f, + [ManufacturerCode.BjTechnologiesbeneteau]: 0x322, + [ManufacturerCode.GillSensors]: 0x323, + [ManufacturerCode.BlueWaterDesalination]: 0x32b, + [ManufacturerCode.Flir]: 0x32f, + [ManufacturerCode.UndheimSystems]: 0x338, + [ManufacturerCode.LewmarInc]: 0x33a, + [ManufacturerCode.TeamSurv]: 0x346, + [ManufacturerCode.FellMarine]: 0x34c, + [ManufacturerCode.Oceanvolt]: 0x34f, + [ManufacturerCode.Prospec]: 0x35e, + [ManufacturerCode.DataPanelCorp]: 0x364, + [ManufacturerCode.L3Technologies]: 0x37a, + [ManufacturerCode.RhodanMarineSystems]: 0x37e, + [ManufacturerCode.NexfourSolutions]: 0x380, + [ManufacturerCode.AsaElectronics]: 0x389, + [ManufacturerCode.MarinesCosouthKorea]: 0x38d, + [ManufacturerCode.NauticOn]: 0x38f, + [ManufacturerCode.Sentinel]: 0x395, + [ManufacturerCode.JlMarineYstems]: 0x3a1, + [ManufacturerCode.Ecotronix]: 0x3a2, + [ManufacturerCode.ZontisaMarine]: 0x3b0, + [ManufacturerCode.ExorInternational]: 0x3b7, + [ManufacturerCode.TimbolierIndustries]: 0x3c2, + [ManufacturerCode.TjcMicro]: 0x3c3, + [ManufacturerCode.CoxPowertrain]: 0x3c8, + [ManufacturerCode.BlueSeas]: 0x3c9, + [ManufacturerCode.KobeltManufacturingCoLtd]: 0x3d5, + [ManufacturerCode.BlueOceanIot]: 0x3e0, + [ManufacturerCode.XentaSystems]: 0x3e5, + [ManufacturerCode.SignalK]: 0x3e7, + [ManufacturerCode.UltraflexSpA]: 0x3ec, + [ManufacturerCode.LintestSmartBoat]: 0x3f0, + [ManufacturerCode.Soundmax]: 0x3f3, + [ManufacturerCode.TeamItaliaMarineonyxMarineAutomationSRL]: 0x3fc, + [ManufacturerCode.Entratech]: 0x3fd, + [ManufacturerCode.ItcInc]: 0x3fe, + [ManufacturerCode.TheMarineGuardianLlc]: 0x405, + [ManufacturerCode.SonicCorporation]: 0x417, + [ManufacturerCode.ProNav]: 0x41b, + [ManufacturerCode.VetusMaxwellInc]: 0x41d, + [ManufacturerCode.LithiumPros]: 0x420, + [ManufacturerCode.Boatrax]: 0x423, + [ManufacturerCode.MarolCoLtd]: 0x426, + [ManufacturerCode.CalypsoInstruments]: 0x429, + [ManufacturerCode.SpotZeroWater]: 0x42a, + [ManufacturerCode.LithionicsBatteryLlc]: 0x42d, + [ManufacturerCode.QuickTeckElectronicsLtd]: 0x42e, + [ManufacturerCode.UnidenAmerica]: 0x433, + [ManufacturerCode.Nauticoncept]: 0x43b, + [ManufacturerCode.ShadowCasterLedLightingLlc]: 0x43c, + [ManufacturerCode.WetSoundsLlc]: 0x43d, + [ManufacturerCode.ETACircuitBreakers]: 0x440, + [ManufacturerCode.Scheiber]: 0x444, + [ManufacturerCode.SmartYachtsInternationalLimited]: 0x44c, + [ManufacturerCode.Dockmate]: 0x455, + [ManufacturerCode.BobsMachine]: 0x45a, + [ManufacturerCode.L3HarrisAsv]: 0x45e, + [ManufacturerCode.BalmarLlc]: 0x45f, + [ManufacturerCode.ElettromediaSpa]: 0x460, + [ManufacturerCode.Electromaax]: 0x467, + [ManufacturerCode.AcrossOceansSystemsLtd]: 0x474, + [ManufacturerCode.KiwiYachting]: 0x479, + [ManufacturerCode.BsbArtificialIntelligenceGmbH]: 0x47e, + [ManufacturerCode.OrcaTechnologoesAs]: 0x47f, + [ManufacturerCode.TbsElectronicsBv]: 0x482, + [ManufacturerCode.TechnotonElectroics]: 0x486, + [ManufacturerCode.MgEnergySystemsBV]: 0x488, + [ManufacturerCode.SeaMacineRoboticsInc]: 0x491, + [ManufacturerCode.VistaManufacturing]: 0x493, + [ManufacturerCode.Zipwake]: 0x49f, + [ManufacturerCode.SailmonBv]: 0x4a2, + [ManufacturerCode.AirmoniqProKft]: 0x4a8, + [ManufacturerCode.SierraMarine]: 0x4aa, + [ManufacturerCode.XinuoInformationTechnologyxiamen]: 0x4b0, + [ManufacturerCode.Septentrio]: 0x4c2, + [ManufacturerCode.NkeMarineElecronics]: 0x4d1, + [ManufacturerCode.SuperTrackAps]: 0x4d6, + [ManufacturerCode.HondaElectronicsCoLtd]: 0x4d7, + [ManufacturerCode.RaritanEngineeringCompanyInc]: 0x4dd, + [ManufacturerCode.IntegratedPowerSolutionsAg]: 0x4e1, + [ManufacturerCode.InteractiveTechnologiesInc]: 0x4ec, + [ManufacturerCode.LtgTech]: 0x503, + [ManufacturerCode.EnergySolutionsukLtd]: 0x513, + [ManufacturerCode.WattFuelCellCorp]: 0x514, + [ManufacturerCode.ProMainer]: 0x516, + [ManufacturerCode.DragonflyEnergy]: 0x519, + [ManufacturerCode.KodenElectronicsCoLtd]: 0x51a, + [ManufacturerCode.HumphreeAb]: 0x51f, + [ManufacturerCode.HinkleyYachts]: 0x524, + [ManufacturerCode.GlobalMarineManagementGmbHgmm]: 0x525, + [ManufacturerCode.TriskelMarineLtd]: 0x528, + [ManufacturerCode.WarwickControlTechnologies]: 0x532, + [ManufacturerCode.DolphinCharger]: 0x533, + [ManufacturerCode.BarnacleSystemsInc]: 0x539, + [ManufacturerCode.RadianIoTInc]: 0x544, + [ManufacturerCode.OceanLedMarineLtd]: 0x549, + [ManufacturerCode.BluNav]: 0x54f, + [ManufacturerCode.OvanantongSaiyangElectronicsCoLtd]: 0x551, + [ManufacturerCode.RadPropulsion]: 0x558, + [ManufacturerCode.ElectricYacht]: 0x559, + [ManufacturerCode.ElcoMotorYachts]: 0x55c, + [ManufacturerCode.TecnosealFoundrySRL]: 0x568, + [ManufacturerCode.ProChargingSystemsLlc]: 0x569, + [ManufacturerCode.EvexCoLtd]: 0x56d, + [ManufacturerCode.GobiusSensorTechnologyAb]: 0x576, + [ManufacturerCode.ArcoMarine]: 0x57b, + [ManufacturerCode.LencoMarineInc]: 0x580, + [ManufacturerCode.NaocontrolSL]: 0x585, + [ManufacturerCode.Revatek]: 0x589, + [ManufacturerCode.Aeolionics]: 0x59e, + [ManufacturerCode.PredictWindLtd]: 0x59f, + [ManufacturerCode.EgisMobileElectric]: 0x5a0, + [ManufacturerCode.StarboardYachtGroup]: 0x5a5, + [ManufacturerCode.RoswellMarine]: 0x5a6, + [ManufacturerCode.EPropulsionguangdongEPropulsionTechnologyLtd]: 0x5ab, + [ManufacturerCode.MicroAirLlc]: 0x5ac, + [ManufacturerCode.VitalBattery]: 0x5ad, + [ManufacturerCode.RideControllerLlc]: 0x5b2, + [ManufacturerCode.TocaroBlue]: 0x5b4, + [ManufacturerCode.VanquishYachts]: 0x5b5, + [ManufacturerCode.FtTechnologies]: 0x5bf, + [ManufacturerCode.AlpsAlpineCoLtd]: 0x5c6, + [ManufacturerCode.EForceMarine]: 0x5c9, + [ManufacturerCode.CmcMarine]: 0x5ca, + [ManufacturerCode.NanjingSandemarineInformationTechnologyCoLtd]: 0x5cb, + [ManufacturerCode.TeleflexMarineseaStarSolutions]: 0x73a, + [ManufacturerCode.Raymarine]: 0x73b, + [ManufacturerCode.Navionics]: 0x73c, + [ManufacturerCode.JapanRadioCo]: 0x73d, + [ManufacturerCode.NorthstarTechnologies]: 0x73e, + [ManufacturerCode.Furuno]: 0x73f, + [ManufacturerCode.Trimble]: 0x740, + [ManufacturerCode.Simrad]: 0x741, + [ManufacturerCode.Litton]: 0x742, + [ManufacturerCode.KvasarAb]: 0x743, + [ManufacturerCode.Mmp]: 0x744, + [ManufacturerCode.VectorCantech]: 0x745, + [ManufacturerCode.YamahaMarine]: 0x746, + [ManufacturerCode.FariaInstruments]: 0x747, } /** * @category Enumerations */ -export const ChargerModeValues: {[key: string]: number} = { - [ChargerMode.Standalone]: 0x0, - [ChargerMode.Primary]: 0x1, - [ChargerMode.Secondary]: 0x2, - [ChargerMode.Echo]: 0x3, +export enum MaretronCommand { + DeviationCalibration = 'Deviation calibration', } /** * @category Enumerations */ -export enum InverterState { - Invert = 'Invert', - AcPassthru = 'AC passthru', - LoadSense = 'Load sense', - Fault = 'Fault', - Disabled = 'Disabled', +export const MaretronCommandValues: {[key: string]: number} = { + [MaretronCommand.DeviationCalibration]: 0x50, } /** * @category Enumerations */ -export const InverterStateValues: {[key: string]: number} = { - [InverterState.Invert]: 0x0, - [InverterState.AcPassthru]: 0x1, - [InverterState.LoadSense]: 0x2, - [InverterState.Fault]: 0x3, - [InverterState.Disabled]: 0x4, +export enum MaretronOpcode { + ReadAll = 'Read All', + WriteRegister = 'Write Register', + ReadConfig = 'Read Config', + WriteConfig = 'Write Config', + Calibrate = 'Calibrate', + ClearCalibration = 'Clear Calibration', + Status = 'Status', + ClearStatus = 'Clear Status', + ResetFactoryDefault = 'Reset Factory Default', + Debug = 'Debug', + WriteInstance = 'Write Instance', + ReadInstance = 'Read Instance', + WriteLabel = 'Write Label', + ReadLabel = 'Read Label', + WriteSwitchConfig = 'Write Switch Config', + ReadSwitchConfig = 'Read Switch Config', + WriteAlertConfig = 'Write Alert Config', + ReadAlertConfig = 'Read Alert Config', + WriteChannelConfig = 'Write Channel Config', + ReadChannelConfig = 'Read Channel Config', + ReadChannelConfigExtended = 'Read Channel Config Extended', + WriteChannelConfigExtended = 'Write Channel Config Extended', } /** * @category Enumerations */ -export enum BatteryType { - Flooded = 'Flooded', - Gel = 'Gel', - Agm = 'AGM', +export const MaretronOpcodeValues: {[key: string]: number} = { + [MaretronOpcode.ReadAll]: 0x0, + [MaretronOpcode.WriteRegister]: 0x1, + [MaretronOpcode.ReadConfig]: 0x2, + [MaretronOpcode.WriteConfig]: 0x3, + [MaretronOpcode.Calibrate]: 0x4, + [MaretronOpcode.ClearCalibration]: 0x5, + [MaretronOpcode.Status]: 0x6, + [MaretronOpcode.ClearStatus]: 0x7, + [MaretronOpcode.ResetFactoryDefault]: 0x8, + [MaretronOpcode.Debug]: 0x9, + [MaretronOpcode.WriteInstance]: 0x10, + [MaretronOpcode.ReadInstance]: 0x11, + [MaretronOpcode.WriteLabel]: 0x20, + [MaretronOpcode.ReadLabel]: 0x21, + [MaretronOpcode.WriteSwitchConfig]: 0x30, + [MaretronOpcode.ReadSwitchConfig]: 0x31, + [MaretronOpcode.WriteAlertConfig]: 0x40, + [MaretronOpcode.ReadAlertConfig]: 0x41, + [MaretronOpcode.WriteChannelConfig]: 0x50, + [MaretronOpcode.ReadChannelConfig]: 0x51, + [MaretronOpcode.ReadChannelConfigExtended]: 0x56, + [MaretronOpcode.WriteChannelConfigExtended]: 0x57, } /** * @category Enumerations */ -export const BatteryTypeValues: {[key: string]: number} = { - [BatteryType.Flooded]: 0x0, - [BatteryType.Gel]: 0x1, - [BatteryType.Agm]: 0x2, +export enum MaretronProductCode { + Ssc200 = 'SSC200', + Sms100 = 'SMS100', + Mbb200C = 'MBB200C', + Dst110 = 'DST110', + Gps100 = 'GPS100', + Clm100 = 'CLM100', + Ssc300 = 'SSC300', + Tla100 = 'TLA100', + Gps200 = 'GPS200', + Dst100 = 'DST100', + Ffm100 = 'FFM100', + Nbe100 = 'NBE100', + Raa100 = 'RAA100', + Rim100 = 'RIM100', + J2K100 = 'J2K100', + Alm100 = 'ALM100', + Ipg100 = 'IPG100', + Dcm100 = 'DCM100', + Ems100 = 'EMS100', + Clmd16 = 'CLMD16', + Dsm250 = 'DSM250', + Tmp100 = 'TMP100', + Dsm150 = 'DSM150', + Fpm100 = 'FPM100', + Dcr100 = 'DCR100', + Sim100 = 'SIM100', + Acm100 = 'ACM100', + Mbb300C = 'MBB300C', + MConnect = 'MConnect', } /** * @category Enumerations */ -export enum BatteryVoltage { - _6V = '6V', - _12V = '12V', - _24V = '24V', - _32V = '32V', - _36V = '36V', - _42V = '42V', - _48V = '48V', +export const MaretronProductCodeValues: {[key: string]: number} = { + [MaretronProductCode.Ssc200]: 0x1b2, + [MaretronProductCode.Sms100]: 0x417, + [MaretronProductCode.Mbb200C]: 0x47f, + [MaretronProductCode.Dst110]: 0x5fe, + [MaretronProductCode.Gps100]: 0x6f0, + [MaretronProductCode.Clm100]: 0xa2e, + [MaretronProductCode.Ssc300]: 0xa7e, + [MaretronProductCode.Tla100]: 0xadd, + [MaretronProductCode.Gps200]: 0xd2d, + [MaretronProductCode.Dst100]: 0xdeb, + [MaretronProductCode.Ffm100]: 0xe35, + [MaretronProductCode.Nbe100]: 0xf8b, + [MaretronProductCode.Raa100]: 0xfb2, + [MaretronProductCode.Rim100]: 0xfee, + [MaretronProductCode.J2K100]: 0x10df, + [MaretronProductCode.Alm100]: 0x1fe5, + [MaretronProductCode.Ipg100]: 0x247b, + [MaretronProductCode.Dcm100]: 0x249f, + [MaretronProductCode.Ems100]: 0x2675, + [MaretronProductCode.Clmd16]: 0x3031, + [MaretronProductCode.Dsm250]: 0x4032, + [MaretronProductCode.Tmp100]: 0x4e63, + [MaretronProductCode.Dsm150]: 0x4f4a, + [MaretronProductCode.Fpm100]: 0x54c7, + [MaretronProductCode.Dcr100]: 0x5839, + [MaretronProductCode.Sim100]: 0x5c33, + [MaretronProductCode.Acm100]: 0x677d, + [MaretronProductCode.Mbb300C]: 0x6a6c, + [MaretronProductCode.MConnect]: 0x6dad, } /** * @category Enumerations */ -export const BatteryVoltageValues: {[key: string]: number} = { - [BatteryVoltage._6V]: 0x0, - [BatteryVoltage._12V]: 0x1, - [BatteryVoltage._24V]: 0x2, - [BatteryVoltage._32V]: 0x3, - [BatteryVoltage._36V]: 0x4, - [BatteryVoltage._42V]: 0x5, - [BatteryVoltage._48V]: 0x6, +export enum MaretronSoftwareCode { + Version1 = 'Version 1', } /** * @category Enumerations */ -export enum BatteryChemistry { - Pblead = 'Pb (Lead)', - Li = 'Li', - NiCd = 'NiCd', - ZnO = 'ZnO', - NiMh = 'NiMH', +export const MaretronSoftwareCodeValues: {[key: string]: number} = { + [MaretronSoftwareCode.Version1]: 0x1, } /** * @category Enumerations */ -export const BatteryChemistryValues: {[key: string]: number} = { - [BatteryChemistry.Pblead]: 0x0, - [BatteryChemistry.Li]: 0x1, - [BatteryChemistry.NiCd]: 0x2, - [BatteryChemistry.ZnO]: 0x3, - [BatteryChemistry.NiMh]: 0x4, +export enum MaretronStatusDeviation { + Started = 'Started', + CompletedSuccessfully = 'Completed successfully', + FailedToComplete = 'Failed to complete', + TurningTooFast = 'Turning too fast', + TurningTooSlow = 'Turning too slow', + InvalidMovement = 'Invalid movement', } /** * @category Enumerations */ -export enum GoodWarningError { - Good = 'Good', - Warning = 'Warning', - Error = 'Error', +export const MaretronStatusDeviationValues: {[key: string]: number} = { + [MaretronStatusDeviation.Started]: 0x1, + [MaretronStatusDeviation.CompletedSuccessfully]: 0x2, + [MaretronStatusDeviation.FailedToComplete]: 0x3, + [MaretronStatusDeviation.TurningTooFast]: 0x4, + [MaretronStatusDeviation.TurningTooSlow]: 0x5, + [MaretronStatusDeviation.InvalidMovement]: 0x6, } /** * @category Enumerations */ -export const GoodWarningErrorValues: {[key: string]: number} = { - [GoodWarningError.Good]: 0x0, - [GoodWarningError.Warning]: 0x1, - [GoodWarningError.Error]: 0x2, +export enum MarkType { + Collision = 'Collision', + TurningPoint = 'Turning point', + Reference = 'Reference', + Wheelover = 'Wheelover', + Waypoint = 'Waypoint', } /** * @category Enumerations */ -export enum Tracking { - Cancelled = 'Cancelled', - Acquiring = 'Acquiring', - Tracking = 'Tracking', - Lost = 'Lost', +export const MarkTypeValues: {[key: string]: number} = { + [MarkType.Collision]: 0x0, + [MarkType.TurningPoint]: 0x1, + [MarkType.Reference]: 0x2, + [MarkType.Wheelover]: 0x3, + [MarkType.Waypoint]: 0x4, } /** * @category Enumerations */ -export const TrackingValues: {[key: string]: number} = { - [Tracking.Cancelled]: 0x0, - [Tracking.Acquiring]: 0x1, - [Tracking.Tracking]: 0x2, - [Tracking.Lost]: 0x3, +export enum MercuryCommandOpcode { + HornControl = 'Horn Control', + MaintenanceResetCommand = 'Maintenance Reset Command', + MaintenanceResetResponse = 'Maintenance Reset Response', + CruiseControl = 'Cruise Control', + GlobalBrightness = 'Global Brightness', + ActiveTrimCommand = 'Active Trim Command', + ActiveTrimStatus = 'Active Trim Status', + AutopilotCommand = 'Autopilot Command', + ActiveExhaust = 'Active Exhaust', + OilLevelCheckCommand = 'Oil Level Check Command', + OilLevelResetResponse = 'Oil Level Reset Response', } /** * @category Enumerations */ -export enum TargetAcquisition { - Manual = 'Manual', - Automatic = 'Automatic', +export const MercuryCommandOpcodeValues: {[key: string]: number} = { + [MercuryCommandOpcode.HornControl]: 0x0, + [MercuryCommandOpcode.MaintenanceResetCommand]: 0x1, + [MercuryCommandOpcode.MaintenanceResetResponse]: 0x2, + [MercuryCommandOpcode.CruiseControl]: 0x4, + [MercuryCommandOpcode.GlobalBrightness]: 0x5, + [MercuryCommandOpcode.ActiveTrimCommand]: 0x6, + [MercuryCommandOpcode.ActiveTrimStatus]: 0x7, + [MercuryCommandOpcode.AutopilotCommand]: 0x8, + [MercuryCommandOpcode.ActiveExhaust]: 0x9, + [MercuryCommandOpcode.OilLevelCheckCommand]: 0xc, + [MercuryCommandOpcode.OilLevelResetResponse]: 0xd, } /** * @category Enumerations */ -export const TargetAcquisitionValues: {[key: string]: number} = { - [TargetAcquisition.Manual]: 0x0, - [TargetAcquisition.Automatic]: 0x1, +export enum MobPositionSource { + PositionEstimatedByTheVessel = 'Position estimated by the vessel', + PositionReportedByMobEmitter = 'Position reported by MOB emitter', } /** * @category Enumerations */ -export enum WindlassDirection { - Off = 'Off', - Down = 'Down', - Up = 'Up', +export const MobPositionSourceValues: {[key: string]: number} = { + [MobPositionSource.PositionEstimatedByTheVessel]: 0x0, + [MobPositionSource.PositionReportedByMobEmitter]: 0x1, } /** * @category Enumerations */ -export const WindlassDirectionValues: {[key: string]: number} = { - [WindlassDirection.Off]: 0x0, - [WindlassDirection.Down]: 0x1, - [WindlassDirection.Up]: 0x2, +export enum MobStatus { + MobEmitterActivated = 'MOB Emitter Activated', + ManualOnBoardMobButtonActivation = 'Manual on-board MOB Button Activation', + TestMode = 'Test mode', + MobNotActive = 'MOB Not Active', } /** * @category Enumerations */ -export enum SpeedType { - SingleSpeed = 'Single speed', - DualSpeed = 'Dual speed', - ProportionalSpeed = 'Proportional speed', +export const MobStatusValues: {[key: string]: number} = { + [MobStatus.MobEmitterActivated]: 0x0, + [MobStatus.ManualOnBoardMobButtonActivation]: 0x1, + [MobStatus.TestMode]: 0x2, + [MobStatus.MobNotActive]: 0x3, } /** * @category Enumerations */ -export const SpeedTypeValues: {[key: string]: number} = { - [SpeedType.SingleSpeed]: 0x0, - [SpeedType.DualSpeed]: 0x1, - [SpeedType.ProportionalSpeed]: 0x2, +export enum NavicoDataType { + Altitude = 'Altitude', + Position = 'Position', + PositionError = 'Position Error', + Hdop = 'HDOP', + Vdop = 'VDOP', + Tdop = 'TDOP', + Pdop = 'PDOP', + GeoidalSeperation = 'Geoidal Seperation', + Cog = 'COG', + PositionQuality = 'Position Quality', + PositionIntegrity = 'Position Integrity', + SatsInView = 'Sats In View', + WaasStatus = 'Waas Status', + Bearing = 'Bearing', + Course = 'Course', + CdiGraphic = 'CDI Graphic', + CourseToSteer = 'Course To Steer', + CrossTrack = 'Cross Track', + VelocityMadeGood = 'Velocity Made Good', + Destination = 'Destination', + DistanceToTurn = 'Distance To Turn', + DistanceToDest = 'Distance To Dest', + TimeToTurn = 'Time To Turn', + TimeToDest = 'Time To Dest', + EtaAtTurn = 'ETA At Turn', + EtaAtDest = 'ETA At Dest', + TotalDistance = 'Total Distance', + SteerArrow = 'Steer Arrow', + Odometer = 'Odometer', + TripDistance = 'Trip Distance', + TripTime = 'Trip Time', + Date = 'Date', + Time = 'Time', + UtcDate = 'UTC Date', + UtcTime = 'UTC Time', + LocalTimeOffset = 'Local Time Offset', + Heading = 'Heading', + WasVoltage = 'Was Voltage', + CurrentSet = 'Current Set', + CurrentDrift = 'Current Drift', + SpeedSog = 'Speed SOG', + SpeedWater = 'Speed Water', + SpeedPitot = 'Speed Pitot', + SpeedTripAvg = 'Speed Trip Avg', + SpeedTripMax = 'Speed Trip Max', + SpeedWindApp = 'Speed Wind App', + SpeedWindTrue = 'Speed Wind True', + TempWater = 'Temp Water', + TempOutside = 'Temp Outside', + TempInside = 'Temp Inside', + TempEngineRoom = 'Temp Engine Room', + TempMainCabin = 'Temp Main Cabin', + TempLiveWell = 'Temp Live Well', + TempBaitWell = 'Temp Bait Well', + TempRefrigeration = 'Temp Refrigeration', + TempHeatingSystem = 'Temp Heating System', + TempDewPoint = 'Temp Dew Point', + TempWindChillApp = 'Temp Wind Chill App', + TempWindChillTheoretic = 'Temp Wind Chill Theoretic', + TempHeatIndex = 'Temp Heat Index', + TempFreezer = 'Temp Freezer', + EngineTemp = 'Engine Temp', + EngineAirTemp = 'Engine Air Temp', + EngineOilTemp = 'Engine Oil Temp', + TempBattery = 'Temp Battery', + PressureAtmospheric = 'Pressure Atmospheric', + EngineBoostPres = 'Engine Boost Pres', + EngineOilPres = 'Engine Oil Pres', + EngineWaterPres = 'Engine Water Pres', + EngineFuelPres = 'Engine Fuel Pres', + EngineManifoldPres = 'Engine Manifold Pres', + PressureSteam = 'Pressure Steam', + PressureComprAir = 'Pressure Compr Air', + PressureHydraulic = 'Pressure Hydraulic', + WasGenericPressureLo = 'Was Generic Pressure Lo', + WasGenericPressureHi = 'Was Generic Pressure Hi', + Depth = 'Depth', + WaterDistance = 'Water Distance', + EngineRpm = 'Engine RPM', + EngineTrim = 'Engine Trim', + EngineAlternatorPotential = 'Engine Alternator Potential', + EngineFuelRate = 'Engine Fuel Rate', + EnginePercentLoad = 'Engine Percent Load', + EnginePercentTorque = 'Engine Percent Torque', + WasSuzukiAlarmLevLo = 'Was Suzuki Alarm Lev Lo', + WasSuzukiAlarmLevHigh = 'Was Suzuki Alarm Lev High', + TankFuelLevel = 'Tank Fuel Level', + FluidLevelFreshWater = 'Fluid Level Fresh Water', + FluidLevelGrayWater = 'Fluid Level Gray Water', + FluidLevelLiveWell = 'Fluid Level Live Well', + FluidLevelOil = 'Fluid Level Oil', + FluidLevelBlackWater = 'Fluid Level Black Water', + TankFuelRemaining = 'Tank Fuel Remaining', + FluidVolumeFreshWater = 'Fluid Volume Fresh Water', + FluidVolumeGrayWater = 'Fluid Volume Gray Water', + FluidVolumeLiveWell = 'Fluid Volume Live Well', + FluidVolumeOil = 'Fluid Volume Oil', + FluidVolumeBlackWater = 'Fluid Volume Black Water', + GenFluidVolume = 'Gen Fluid Volume', + WasTankFuelLevelLo = 'Was Tank Fuel Level Lo', + WasFluidLevelLoFreshWater = 'Was Fluid Level Lo Fresh Water', + WasFluidLevelLoGrayWater = 'Was Fluid Level Lo Gray Water', + WasFluidLevelLoLiveWell = 'Was Fluid Level Lo Live Well', + WasFluidLevelLoOil = 'Was Fluid Level Lo Oil', + GenTankCapacity = 'Gen Tank Capacity', + TankFuelCapacity = 'Tank Fuel Capacity', + TankCapacityFreshWater = 'Tank Capacity Fresh Water', + TankCapacityGrayWater = 'Tank Capacity Gray Water', + TankCapacityLiveWell = 'Tank Capacity Live Well', + TankCapacityOil = 'Tank Capacity Oil', + TankCapacityBlackWater = 'Tank Capacity Black Water', + WasTankFuelUsed = 'Was Tank Fuel Used', + EngineFuelUsed = 'Engine Fuel Used', + EngineFuelUsedTrip = 'Engine Fuel Used Trip', + EngineFuelUsedSeasonal = 'Engine Fuel Used Seasonal', + EngineFuelKValue = 'Engine Fuel K Value', + BatteryPotential = 'Battery Potential', + BatteryCurrent = 'Battery Current', + TrimTab = 'Trim Tab', + WasTrimStbdTab = 'Was Trim Stbd Tab', + RateOfTurn = 'Rate Of Turn', + AttitudeYaw = 'Attitude Yaw', + AttitudePitch = 'Attitude Pitch', + AttitudeRoll = 'Attitude Roll', + MagneticVariation = 'Magnetic Variation', + Deviation = 'Deviation', + FuelEconomyWtr = 'Fuel Economy Wtr', + FuelEconomyGps = 'Fuel Economy GPS', + WasFuelRemaining = 'Was Fuel Remaining', + WasFuelRangeWtr = 'Was Fuel Range Wtr', + WasFuelRangeGps = 'Was Fuel Range GPS', + EngineHoursUsed = 'Engine Hours Used', + EngineType = 'Engine Type', + VesselFuelRate = 'Vessel Fuel Rate', + VesselFuelEconomyWtr = 'Vessel Fuel Economy Wtr', + VesselFuelEconomyGps = 'Vessel Fuel Economy GPS', + VesselFuelRemaining = 'Vessel Fuel Remaining', + VesselFuelRangeWtr = 'Vessel Fuel Range Wtr', + VesselFuelRangeGps = 'Vessel Fuel Range GPS', + WindAppAngle = 'Wind App Angle', + WindTrueAngle = 'Wind True Angle', + WindTrueDirection = 'Wind True Direction', + HumidityInside = 'Humidity Inside', + HumidityOutside = 'Humidity Outside', + SetHumidity = 'Set Humidity', + RudderAngle = 'Rudder Angle', + TransGear = 'Trans Gear', + TransOilPressure = 'Trans Oil Pressure', + TransOilTemp = 'Trans Oil Temp', + CmdRudderAngle = 'Cmd Rudder Angle', + RudderLimit = 'Rudder Limit', + OffHeadingLim = 'Off Heading Lim', + RadiusOfTurnOrder = 'Radius Of Turn Order', + RateOfTurnOrder = 'Rate Of Turn Order', + OffTrackLim = 'Off Track Lim', + LoggingTimeRemaining = 'Logging Time Remaining', + PositionFixType = 'Position Fix Type', + EngineDiscreteStatus = 'Engine Discrete Status', + TransmissionDiscreteStatus = 'Transmission Discrete Status', + GpsBestOfFourSnr = 'GPS Best Of Four Snr', + GenFluidLevel = 'Gen Fluid Level', + GenPressure = 'Gen Pressure', + GenTemperature = 'Gen Temperature', + InternalVoltage = 'Internal Voltage', + DepthOffset = 'Depth Offset', + StructureDepth = 'Structure Depth', + LoranPosition = 'Loran Position', + VesselStatus = 'Vessel Status', + BatteryDcType = 'Battery DC Type', + BatteryStateOfCharge = 'Battery State Of Charge', + BatteryStateOfHealth = 'Battery State Of Health', + BatteryTimeRemaining = 'Battery Time Remaining', + BatteryRippleVoltage = 'Battery Ripple Voltage', + Ac1Acceptability = 'Ac1 Acceptability', + Ac2Acceptability = 'Ac2 Acceptability', + Ac3Acceptability = 'Ac3 Acceptability', + Ac1Voltage = 'Ac1 Voltage', + Ac2Voltage = 'Ac2 Voltage', + Ac3Voltage = 'Ac3 Voltage', + Ac1Current = 'Ac1 Current', + Ac2Current = 'Ac2 Current', + Ac3Current = 'Ac3 Current', + Ac1Frequency = 'Ac1 Frequency', + Ac2Frequency = 'Ac2 Frequency', + Ac3Frequency = 'Ac3 Frequency', + Ac1BreakerSize = 'Ac1 Breaker Size', + Ac2BreakerSize = 'Ac2 Breaker Size', + Ac3BreakerSize = 'Ac3 Breaker Size', + Ac1RealPower = 'Ac1 Real Power', + Ac2RealPower = 'Ac2 Real Power', + Ac3RealPower = 'Ac3 Real Power', + Ac1ReactivePower = 'Ac1 Reactive Power', + Ac2ReactivePower = 'Ac2 Reactive Power', + Ac3ReactivePower = 'Ac3 Reactive Power', + Ac1PowerFactor = 'Ac1 Power Factor', + Ac2PowerFactor = 'Ac2 Power Factor', + Ac3PowerFactor = 'Ac3 Power Factor', + SwitchState = 'Switch State', + SwitchCurrent = 'Switch Current', + SwitchFault = 'Switch Fault', + SwitchDimLevel = 'Switch Dim Level', + PreviousCmdHeading = 'Previous Cmd Heading', + CmdWindAngle = 'Cmd Wind Angle', + WasCmdBearingOffset = 'Was Cmd Bearing Offset', + CmdBearing = 'Cmd Bearing', + CmdDepthContour = 'Cmd Depth Contour', + CmdCourseChange = 'Cmd Course Change', + PilotDrift = 'Pilot Drift', + PilotDistanceToTurn = 'Pilot Distance To Turn', + PilotTimeToTurn = 'Pilot Time To Turn', + PilotReferencePosition = 'Pilot Reference Position', + DcStatus = 'DC Status', + Ac1Status = 'Ac1 Status', + WasSwitchVoltage = 'Was Switch Voltage', + BatteryCapacityRemaining = 'Battery Capacity Remaining', + PilotHeadingReference = 'Pilot Heading Reference', + BAndGLinear1 = 'B And G Linear 1', + BAndGLinear2 = 'B And G Linear 2', + BAndGLinear3 = 'B And G Linear 3', + BoomPosition = 'Boom Position', + SailingCourse = 'Sailing Course', + DaggerboardPosition = 'Daggerboard Position', + BAndGLinear4 = 'B And G Linear 4', + HeadingOnNextTack = 'Heading On Next Tack', + KeelAngle = 'Keel Angle', + Leeway = 'Leeway', + MastAngle = 'Mast Angle', + TargetTrueWindAngle = 'Target True Wind Angle', + KeelTrimTab = 'Keel Trim Tab', + RaceTimer = 'Race Timer', + CanardAngle = 'Canard Angle', + NextLegApparentWindAngle = 'Next Leg Apparent Wind Angle', + NextLegApparentWindSpeed = 'Next Leg Apparent Wind Speed', + TargetBoatSpeed = 'Target Boat Speed', + VmgToWind = 'VMG To Wind', + TimeToLaylines = 'Time To Laylines', + DistanceToLaylines = 'Distance To Laylines', + AftDepth = 'Aft Depth', + Forestay = 'Forestay', + PolarSpeed = 'Polar Speed', + PolarPerformance = 'Polar Performance', + TackingPerformance = 'Tacking Performance', + WindAngleToMast = 'Wind Angle To Mast', + CanBusVoltage = 'Can Bus Voltage', + InternalTemperature = 'Internal Temperature', + EngageCurrent = 'Engage Current', + UrefVoltage = 'Uref Voltage', + SupplyVoltage = 'Supply Voltage', + DestinationPosition = 'Destination Position', + CompassHeadingReference = 'Compass Heading Reference', + CmdRudderDirection = 'Cmd Rudder Direction', + WasEngineSyncState = 'Was Engine Sync State', + EngineGeneralMaintenance = 'Engine General Maintenance', + EnginePercentThrottle = 'Engine Percent Throttle', + EngineSteeringAngle = 'Engine Steering Angle', + EngineBreakInReqd = 'Engine Break In Reqd', + GpsAll = 'GPS All', + EngineBreakInAccum = 'Engine Break In Accum', + EngineTrimStatus = 'Engine Trim Status', + PilotPresent = 'Pilot Present', + Ac1OutWaveform = 'Ac1 Out Waveform', + Ac2OutWaveform = 'Ac2 Out Waveform', + Ac3OutWaveform = 'Ac3 Out Waveform', + Ac1OutVoltage = 'Ac1 Out Voltage', + Ac2OutVoltage = 'Ac2 Out Voltage', + Ac3OutVoltage = 'Ac3 Out Voltage', + Ac1OutCurrent = 'Ac1 Out Current', + Ac2OutCurrent = 'Ac2 Out Current', + Ac3OutCurrent = 'Ac3 Out Current', + Ac1OutFrequency = 'Ac1 Out Frequency', + Ac2OutFrequency = 'Ac2 Out Frequency', + Ac3OutFrequency = 'Ac3 Out Frequency', + Ac1OutBreakerSize = 'Ac1 Out Breaker Size', + Ac2OutBreakerSize = 'Ac2 Out Breaker Size', + Ac3OutBreakerSize = 'Ac3 Out Breaker Size', + Ac1OutRealPower = 'Ac1 Out Real Power', + Ac2OutRealPower = 'Ac2 Out Real Power', + Ac3OutRealPower = 'Ac3 Out Real Power', + Ac1OutReactivePower = 'Ac1 Out Reactive Power', + Ac2OutReactivePower = 'Ac2 Out Reactive Power', + Ac3OutReactivePower = 'Ac3 Out Reactive Power', + Ac1OutPowerFactor = 'Ac1 Out Power Factor', + Ac2OutPowerFactor = 'Ac2 Out Power Factor', + Ac3OutPowerFactor = 'Ac3 Out Power Factor', + Ac2Status = 'Ac2 Status', + Ac3Status = 'Ac3 Status', + Ac1OutStatus = 'Ac1 Out Status', + Ac2OutStatus = 'Ac2 Out Status', + Ac3OutStatus = 'Ac3 Out Status', + SwitchManualOverride = 'Switch Manual Override', + SwitchReversePolarity = 'Switch Reverse Polarity', + SwitchAcsourceAvailable = 'Switch Acsource Available', + SwitchAccontactorSystemsonstate = 'Switch Accontactor Systemsonstate', + ChargerBatteryInstance = 'Charger Battery Instance', + ChargerOperatingState = 'Charger Operating State', + ChargerMode = 'Charger Mode', + ChargerEnabled = 'Charger Enabled', + ChargerEqualizationPending = 'Charger Equalization Pending', + ChargerEqualizationTimeRemaining = 'Charger Equalization Time Remaining', + InverterAcInstance = 'Inverter AC Instance', + InverterDcInstance = 'Inverter DC Instance', + InverterOperatingState = 'Inverter Operating State', + InverterEnabled = 'Inverter Enabled', + ThrusterPower = 'Thruster Power', + FuelToTurn = 'Fuel To Turn', + EngineMil = 'Engine Mil', + EngineWarningFlags = 'Engine Warning Flags', + SpeedStw = 'Speed Stw', + EnginePerformanceSog = 'Engine Performance SOG', + EnginePerformanceStw = 'Engine Performance Stw', + EngineControlFlags = 'Engine Control Flags', + EngineTrollRpmSetpoint = 'Engine Troll RPM Setpoint', + ActiveHelm = 'Active Helm', + CruiseRpmSetpoint = 'Cruise RPM Setpoint', + CruiseSpeedSetpoint = 'Cruise Speed Setpoint', + CmdPatternDir = 'Cmd Pattern Dir', + SmartContextual = 'Smart Contextual', + SailingTimeToWaypoint = 'Sailing Time To Waypoint', + SailingDistanceToWaypoint = 'Sailing Distance To Waypoint', + SailingEta = 'Sailing ETA', + GeneratorTemp = 'Generator Temp', + GeneratorOilTemp = 'Generator Oil Temp', + GeneratorOilPres = 'Generator Oil Pres', + GeneratorWaterPres = 'Generator Water Pres', + GeneratorFuelPres = 'Generator Fuel Pres', + GeneratorFuelRate = 'Generator Fuel Rate', + GeneratorHoursUsed = 'Generator Hours Used', + GeneratorDiscreteStatus = 'Generator Discrete Status', + GeneratorPercentLoad = 'Generator Percent Load', + GeneratorPercentTorque = 'Generator Percent Torque', + GeneratorBatteryVoltage = 'Generator Battery Voltage', + GeneratorAverageVoltage = 'Generator Average Voltage', + GeneratorAverageFrequency = 'Generator Average Frequency', + GeneratorAverageCurrent = 'Generator Average Current', + PilotMode = 'Pilot Mode', + PilotResponseLevel = 'Pilot Response Level', + CruiseSmarttowOvershoot = 'Cruise Smarttow Overshoot', + PilotCmdHeading = 'Pilot Cmd Heading', + MobDrPosition = 'MOB Dr Position', + MobDrRange = 'MOB Dr Range', + MobDrBearing = 'MOB Dr Bearing', + BowPosition = 'Bow Position', + StartLineBearing = 'Start Line Bearing', + StartLineBias = 'Start Line Bias', + DistanceToStartLine = 'Distance To Start Line', + DistanceToStartLinePortEnd = 'Distance To Start Line Port End', + DistanceToStartLineStbdEnd = 'Distance To Start Line Stbd End', + StartLinePortPosition = 'Start Line Port Position', + StartLineStbdPosition = 'Start Line Stbd Position', + StartLineBoatLengthAdvantage = 'Start Line Boat Length Advantage', + DistanceToStartLineBoatLengths = 'Distance To Start Line Boat Lengths', + Backstay = 'Backstay', + BoomAngle = 'Boom Angle', + BoomVang = 'Boom Vang', + ChainLength = 'Chain Length', + Cunningham = 'Cunningham', + InnerForestayLoad = 'Inner Forestay Load', + InnerForestayHalyardLoad = 'Inner Forestay Halyard Load', + JibFurl = 'Jib Furl', + JibHalyardLoad = 'Jib Halyard Load', + OptimumWindAngle = 'Optimum Wind Angle', + OuthaulLoad = 'Outhaul Load', + PitchRate = 'Pitch Rate', + PlowAngle = 'Plow Angle', + RollRate = 'Roll Rate', + VmgPerformance = 'VMG Performance', + BAndGLinear5 = 'B And G Linear 5', + BAndGLinear6 = 'B And G Linear 6', + BAndGLinear7 = 'B And G Linear 7', + BAndGLinear8 = 'B And G Linear 8', + BAndGLinear9 = 'B And G Linear 9', + BAndGLinear10 = 'B And G Linear 10', + BAndGLinear11 = 'B And G Linear 11', + BAndGLinear12 = 'B And G Linear 12', + BAndGLinear13 = 'B And G Linear 13', + BAndGLinear14 = 'B And G Linear 14', + BAndGLinear15 = 'B And G Linear 15', + BAndGLinear16 = 'B And G Linear 16', + KeelDraught = 'Keel Draught', + PoolTemperature = 'Pool Temperature', + JacuzziTemperature = 'Jacuzzi Temperature', + TripDrBearing = 'Trip Dr Bearing', + TripDrDistance = 'Trip Dr Distance', + CodeZeroLoad = 'Code Zero Load', + BAndGMobPosition = 'B And G MOB Position', + DistanceBehindStartLine = 'Distance Behind Start Line', + DistanceBehindStartLineBoatLengths = 'Distance Behind Start Line Boat Lengths', + BiasAdvantage = 'Bias Advantage', + OppositeTackCog = 'Opposite Tack COG', + OppositeTackTargetHeading = 'Opposite Tack Target Heading', + MastRake = 'Mast Rake', + NextLegBearing = 'Next Leg Bearing', + NextLegTargetSpeed = 'Next Leg Target Speed', + GroundWindDirection = 'Ground Wind Direction', + GroundWindSpeed = 'Ground Wind Speed', + MastCantAngle = 'Mast Cant Angle', + RudderToeIn = 'Rudder Toe In', + DaggerboardPort = 'Daggerboard Port', + DaggerboardStarboard = 'Daggerboard Starboard', + BAndGRemote0 = 'B And G Remote 0', + BAndGRemote1 = 'B And G Remote 1', + BAndGRemote2 = 'B And G Remote 2', + BAndGRemote3 = 'B And G Remote 3', + BAndGRemote4 = 'B And G Remote 4', + BAndGRemote5 = 'B And G Remote 5', + BAndGRemote6 = 'B And G Remote 6', + BAndGRemote7 = 'B And G Remote 7', + BAndGRemote8 = 'B And G Remote 8', + BAndGRemote9 = 'B And G Remote 9', + ForwardDepth = 'Forward Depth', + CriticalRange = 'Critical Range', + CautionRange = 'Caution Range', + MaxRange = 'Max Range', + GeneratorAlternatorVoltage = 'Generator Alternator Voltage', + TrollingPropRate = 'Trolling Prop Rate', + TrollingCruiseControlSpeed = 'Trolling Cruise Control Speed', + VesselFuelUsed = 'Vessel Fuel Used', + SuzukiEngineBaroPressure = 'Suzuki Engine Baro Pressure', + SuzukiCylinderTemperature = 'Suzuki Cylinder Temperature', + SuzukiIntakeAirTemperature = 'Suzuki Intake Air Temperature', + SuzukiIgnitionTiming = 'Suzuki Ignition Timing', + SuzukiFuelInjectorPulseWidth = 'Suzuki Fuel Injector Pulse Width', + WasSuzukiInjectedFuelAmount = 'Was Suzuki Injected Fuel Amount', + SuzukiIacValveDuty = 'Suzuki Iac Valve Duty', + SuzukiDiscreteStatus1 = 'Suzuki Discrete Status 1', + SuzukiDiscreteStatus2 = 'Suzuki Discrete Status 2', + SuzukiDiscreteStatus3 = 'Suzuki Discrete Status 3', + SuzukiDiscreteStatus4 = 'Suzuki Discrete Status 4', + FuelEconomyPit = 'Fuel Economy Pit', + VesselFuelEconomyPit = 'Vessel Fuel Economy Pit', + VesselFuelRangePit = 'Vessel Fuel Range Pit', + Waypoint = 'Waypoint', + AverageWindDirection = 'Average Wind Direction', + WindPhase = 'Wind Phase', + WindLift = 'Wind Lift', + FuelRangeSeasonalAverage = 'Fuel Range Seasonal Average', + FuelRangeInstantaneous = 'Fuel Range Instantaneous', + VesselFuelEconomy = 'Vessel Fuel Economy', + AverageFuelEconomySeasonal = 'Average Fuel Economy Seasonal', + AverageFuelEconomyTrip = 'Average Fuel Economy Trip', + BestFuelEconomySeasonal = 'Best Fuel Economy Seasonal', + BestFuelEconomyTrip = 'Best Fuel Economy Trip', + VesselFuelLevel = 'Vessel Fuel Level', + VesselFuelUsedTrip = 'Vessel Fuel Used Trip', + BAndGLinear17 = 'B And G Linear 17', + BAndGLinear18 = 'B And G Linear 18', + BAndGLinear19 = 'B And G Linear 19', + BAndGLinear20 = 'B And G Linear 20', + BAndGLinear21 = 'B And G Linear 21', + BAndGLinear22 = 'B And G Linear 22', + BAndGLinear23 = 'B And G Linear 23', + BAndGLinear24 = 'B And G Linear 24', + BAndGLinear25 = 'B And G Linear 25', + BAndGLinear26 = 'B And G Linear 26', + BAndGLinear27 = 'B And G Linear 27', + BAndGLinear28 = 'B And G Linear 28', + BAndGLinear29 = 'B And G Linear 29', + BAndGLinear30 = 'B And G Linear 30', + BAndGLinear31 = 'B And G Linear 31', + BAndGLinear32 = 'B And G Linear 32', + OriginWayPointNumber = 'Origin Way Point Number', + DestWayPointNumber = 'Dest Way Point Number', + ArrivalNotification = 'Arrival Notification', + ArrivalCircleNotification = 'Arrival Circle Notification', + WasNavTerminated = 'Was Nav Terminated', + Bobstay = 'Bobstay', + J1 = 'J1', + J2 = 'J2', + J3 = 'J3', + MastBase = 'Mast Base', + Mainsheet = 'Mainsheet', + D0Port = 'D0 Port', + D0Starboard = 'D0 Starboard', + RunnerPort = 'Runner Port', + RunnerStarboard = 'Runner Starboard', + FoilPort = 'Foil Port', + FoilStarboard = 'Foil Starboard', + SailtackPort = 'Sailtack Port', + SailtackStarboard = 'Sailtack Starboard', + DeflectPort = 'Deflect Port', + DeflectStarboard = 'Deflect Starboard', + RudderLoadPort = 'Rudder Load Port', + RudderLoadStarboard = 'Rudder Load Starboard', + D1Port = 'D1 Port', + D1Starboard = 'D1 Starboard', + V0Port = 'V0 Port', + V0Starboard = 'V0 Starboard', + V1Port = 'V1 Port', + V1Starboard = 'V1 Starboard', + GnssSystem = 'Gnss System', + SvCount = 'Sv Count', + GnssOpMode = 'Gnss Op Mode', + DgnssMode = 'Dgnss Mode', + SuzukiFuelPumpDuty = 'Suzuki Fuel Pump Duty', + SpeedLogWaterLongitudinal = 'Speed Log Water Longitudinal', + SpeedLogWaterTransverse = 'Speed Log Water Transverse', + SpeedLogWaterResultant = 'Speed Log Water Resultant', + SpeedLogWaterAngle = 'Speed Log Water Angle', + SpeedLogGroundLongitudinal = 'Speed Log Ground Longitudinal', + SpeedLogGroundTransverse = 'Speed Log Ground Transverse', + SpeedLogGroundResultant = 'Speed Log Ground Resultant', + SpeedLogGroundAngle = 'Speed Log Ground Angle', + SpeedLogSternWaterTransverse = 'Speed Log Stern Water Transverse', + SpeedLogSternGroundTransverse = 'Speed Log Stern Ground Transverse', + PositionDatum = 'Position Datum', + SpeedBoat = 'Speed Boat', + WasEngineFuelUsedMercury = 'Was Engine Fuel Used Mercury', + Heave = 'Heave', + SpeedTripMaxRpm = 'Speed Trip Max RPM', + HondaEngineStatusParams = 'Honda Engine Status Params', + PilotFeatures = 'Pilot Features', + PilotSetpointHeading = 'Pilot Setpoint Heading', + IdleSpeedControlMode = 'Idle Speed Control Mode', + IdleSpeedControlValue = 'Idle Speed Control Value', + TrollingMode = 'Trolling Mode', + ImmobilizerLockStatus = 'Immobilizer Lock Status', + EngineDiscreteParams1 = 'Engine Discrete Params 1', + EngineDiscreteParams2 = 'Engine Discrete Params 2', + EngineDiscreteParams3 = 'Engine Discrete Params 3', + EngineDiscreteParams4 = 'Engine Discrete Params 4', + EngineDiscreteParams5 = 'Engine Discrete Params 5', + EngineDiscreteParams6 = 'Engine Discrete Params 6', + IdleSpeedLimitLow = 'Idle Speed Limit Low', + IdleSpeedLimitHigh = 'Idle Speed Limit High', + WasTrollingVariableRpmInfo = 'Was Trolling Variable RPM Info', + IdleSpeedControlTargetRev = 'Idle Speed Control Target Rev', + IdleControl = 'Idle Control', + IdleFeedback = 'Idle Feedback', + ImmediatelyAfterStartingControl = 'Immediately After Starting Control', + GatewayParams = 'Gateway Params', + GatewayProtocol = 'Gateway Protocol', + EngineWallTemp = 'Engine Wall Temp', + SubstituteBatteryVoltage = 'Substitute Battery Voltage', + YamahaEngineM6DiagCode = 'Yamaha Engine M6 Diag Code', + WirelessSensorBatteryStatus = 'Wireless Sensor Battery Status', + WirelessSensorBatteryChargeStatus = 'Wireless Sensor Battery Charge Status', + WirelessSensorBatteryStatusVoltage = 'Wireless Sensor Battery Status Voltage', + WirelessSensorBatteryChargeStatusCurrent = 'Wireless Sensor Battery Charge Status Current', + FluidTypeMode = 'Fluid Type Mode', + Datetime = 'Datetime', + ReacherLoad = 'Reacher Load', + BladeLoad = 'Blade Load', + StaysailLoad = 'Staysail Load', + TackLoad = 'Tack Load', + J4Load = 'J4 Load', + SolentLoad = 'Solent Load', + TackPortLoad = 'Tack Port Load', + TackStarboardLoad = 'Tack Starboard Load', + DeflectUpperLoad = 'Deflect Upper Load', + DeflectLowerLoad = 'Deflect Lower Load', + WinchPortLoad = 'Winch Port Load', + WinchStarboardLoad = 'Winch Starboard Load', + SpinHalyardPortLoad = 'Spin Halyard Port Load', + SpinHalyardStarboardLoad = 'Spin Halyard Starboard Load', + MainHalyward = 'Main Halyward', + Load1Load = 'Load 1 Load', + Load2Load = 'Load 2 Load', + MastBase2Load = 'Mast Base 2 Load', + PilotActivePerfMode = 'Pilot Active Perf Mode', + PilotGust = 'Pilot Gust', + PilotTwsResponse = 'Pilot Tws Response', + PilotHeelComp = 'Pilot Heel Comp', + PilotNetCourse = 'Pilot Net Course', + PilotTargetWindAngle = 'Pilot Target Wind Angle', + PilotWeatherHelm = 'Pilot Weather Helm', + PilotMeanHeel = 'Pilot Mean Heel', + PropellerShaftPitchAngle = 'Propeller Shaft Pitch Angle', + PropellerShaftPitchPercent = 'Propeller Shaft Pitch Percent', + PropellerShaftRpm = 'Propeller Shaft RPM', + ThrusterPitchAngle = 'Thruster Pitch Angle', + ThrusterPitchPercent = 'Thruster Pitch Percent', + GroundWindAngle = 'Ground Wind Angle', + FuelFlowOffset = 'Fuel Flow Offset', + FluidLevelGasoline = 'Fluid Level Gasoline', + FluidVolumeGasoline = 'Fluid Volume Gasoline', + TankCapacityGasoline = 'Tank Capacity Gasoline', + CmdXteOffset = 'Cmd Xte Offset', + Engine4StrokeOil = 'Engine 4Stroke Oil', + WirelessSensorSignalStrength = 'Wireless Sensor Signal Strength', + WirelessSensorSoftwareUpdateProgress = 'Wireless Sensor Software Update Progress', + TrollingStatus = 'Trolling Status', + MercuryExhaustValve = 'Mercury Exhaust Valve', + MercuryExhaustStatus = 'Mercury Exhaust Status', + YanmarEngineEcuAlarms = 'Yanmar Engine Ecu Alarms', + YanmarHelmEcuAlarms = 'Yanmar Helm Ecu Alarms', + YanmarDriveEcuAlarms = 'Yanmar Drive Ecu Alarms', + DgpsCorrectionData = 'Dgps Correction Data', + DgpsReferenceStationId = 'Dgps Reference Station Id', + DgpsReferenceStationHealth = 'Dgps Reference Station Health', + DgpsSignalSnr = 'Dgps Signal Snr', + DgpsSignalFrequency = 'Dgps Signal Frequency', + DgpsSignalStrength = 'Dgps Signal Strength', + EngineFuelTemp = 'Engine Fuel Temp', + DepthQuality = 'Depth Quality', + NumberOfActiveDtc = 'Number Of Active Dtc', + YanmarFuelLevelTank1Port = 'Yanmar Fuel Level Tank1 Port', + YanmarFuelLevelTank2Port = 'Yanmar Fuel Level Tank2 Port', + YanmarFuelLevelTank1Stbd = 'Yanmar Fuel Level Tank1 Stbd', + YanmarFuelLevelTank2Stbd = 'Yanmar Fuel Level Tank2 Stbd', + YanmarFuelLevelTank1Center = 'Yanmar Fuel Level Tank1 Center', + YanmarFuelLevelTank2Center = 'Yanmar Fuel Level Tank2 Center', + YanmarFreshWaterLevelTank1Port = 'Yanmar Fresh Water Level Tank1 Port', + YanmarFreshWaterLevelTank2Port = 'Yanmar Fresh Water Level Tank2 Port', + YanmarFreshWaterLevelTank1Stbd = 'Yanmar Fresh Water Level Tank1 Stbd', + YanmarFreshWaterLevelTank2Stbd = 'Yanmar Fresh Water Level Tank2 Stbd', + YanmarFreshWaterLevelTank1Center = 'Yanmar Fresh Water Level Tank1 Center', + YanmarFreshWaterLevelTank2Center = 'Yanmar Fresh Water Level Tank2 Center', + YanmarGrayWaterLevelTank1Port = 'Yanmar Gray Water Level Tank1 Port', + YanmarGrayWaterLevelTank2Port = 'Yanmar Gray Water Level Tank2 Port', + YanmarGrayWaterLevelTank1Stbd = 'Yanmar Gray Water Level Tank1 Stbd', + YanmarGrayWaterLevelTank2Stbd = 'Yanmar Gray Water Level Tank2 Stbd', + YanmarGrayWaterLevelTank1Center = 'Yanmar Gray Water Level Tank1 Center', + YanmarGrayWaterLevelTank2Center = 'Yanmar Gray Water Level Tank2 Center', + RudderAnglePercentage = 'Rudder Angle Percentage', + TrollActiveHelm = 'Troll Active Helm', + TidesGraphic = 'Tides Graphic', + AnchorDistance = 'Anchor Distance', + AnchorSize = 'Anchor Size', + AnchorDepth = 'Anchor Depth', + AnchorBearing = 'Anchor Bearing', + HondaEngineWarningParams = 'Honda Engine Warning Params', + HondaEngineDiscreteParams1 = 'Honda Engine Discrete Params 1', + HondaEngineDiscreteParams2 = 'Honda Engine Discrete Params 2', + HondaEngineDiscreteParams3 = 'Honda Engine Discrete Params 3', + HondaEngineDiscreteParams4 = 'Honda Engine Discrete Params 4', + MainsailHeadLoad = 'Mainsail Head Load', + MainsailClewLoad = 'Mainsail Clew Load', + MainsailTackLoad = 'Mainsail Tack Load', + J1HeadLoad = 'J1 Head Load', + J1ClewLoad = 'J1 Clew Load', + J1TackLoad = 'J1 Tack Load', + J2HeadLoad = 'J2 Head Load', + J2ClewLoad = 'J2 Clew Load', + J2TackLoad = 'J2 Tack Load', + J3HeadLoad = 'J3 Head Load', + J3ClewLoad = 'J3 Clew Load', + J3TackLoad = 'J3 Tack Load', + CodeZeroHeadLoad = 'Code Zero Head Load', + CodeZeroClewLoad = 'Code Zero Clew Load', + CodeZeroTackLoad = 'Code Zero Tack Load', + SuzukiEngineAlertI = 'Suzuki Engine Alert I', + EngineOilLife = 'Engine Oil Life', + EngineOilLevelStatus = 'Engine Oil Level Status', + TransFluidStatus = 'Trans Fluid Status', + HondaEcoStatusAllEngines = 'Honda Eco Status All Engines', + OutputRpm = 'Output RPM', + SuzukiEngineAlertA = 'Suzuki Engine Alert A', + SuzukiEngineAlertB = 'Suzuki Engine Alert B', + SuzukiEngineAlertC = 'Suzuki Engine Alert C', + SuzukiEngineAlertD = 'Suzuki Engine Alert D', + SuzukiEngineAlertE = 'Suzuki Engine Alert E', + SuzukiEngineAlertF = 'Suzuki Engine Alert F', + SuzukiEngineAlertG = 'Suzuki Engine Alert G', + SuzukiEngineAlertH = 'Suzuki Engine Alert H', + SuzukiEngineAlertJ = 'Suzuki Engine Alert J', + SuzukiBcmFault = 'Suzuki Bcm Fault', + SuzukiBcmMode = 'Suzuki Bcm Mode', + SuzukiEngineKlsStatus = 'Suzuki Engine Kls Status', + SuzukiSwitchFault = 'Suzuki Switch Fault', + SuzukiShiftPositionStatus = 'Suzuki Shift Position Status', + VesselFuelUsedSeasonal = 'Vessel Fuel Used Seasonal', + VesselFuelCapacity = 'Vessel Fuel Capacity', + SuzukiEngineAutoTrimStatus = 'Suzuki Engine Auto Trim Status', + TrollingModeActive = 'Trolling Mode Active', + TrollingModeActiveMaster = 'Trolling Mode Active Master', + KeylessCommunicationState = 'Keyless Communication State', + LinearActuatorPosition = 'Linear Actuator Position', + EngineExhaustTemp = 'Engine Exhaust Temp', + EngineGuardianPowerLimit = 'Engine Guardian Power Limit', + EngineState = 'Engine State', + SailingTimeToBurn = 'Sailing Time To Burn', + MastTwist = 'Mast Twist', + VhfChannel = 'VHF Channel', + TrollingLowerUnitDirection = 'Trolling Lower Unit Direction', + PropulsionBatteryStatus = 'Propulsion Battery Status', + PropulsionBatteryIsolationStatus = 'Propulsion Battery Isolation Status', + PropulsionBatteryError = 'Propulsion Battery Error', + PropulsionBatteryVoltage = 'Propulsion Battery Voltage', + PropulsionBatteryCurrent = 'Propulsion Battery Current', + PropulsionBatteryStateOfCharge = 'Propulsion Battery State Of Charge', + PropulsionBatteryTimeRemaining = 'Propulsion Battery Time Remaining', + PropulsionBatteryHighestCellTemperature = 'Propulsion Battery Highest Cell Temperature', + PropulsionBatteryLowestCellTemperature = 'Propulsion Battery Lowest Cell Temperature', + PropulsionBatteryAverageCellTemperature = 'Propulsion Battery Average Cell Temperature', + PropulsionBatteryMaximumDischargeCurrent = 'Propulsion Battery Maximum Discharge Current', + PropulsionBatteryMaximumChargeCurrent = 'Propulsion Battery Maximum Charge Current', + PropulsionBatteryCoolingSystemStatus = 'Propulsion Battery Cooling System Status', + PropulsionBatteryHeatingSystemStatus = 'Propulsion Battery Heating System Status', + PropulsionBatteryStorageMode = 'Propulsion Battery Storage Mode', + PropulsionBatteryChemistry = 'Propulsion Battery Chemistry', + PropulsionBatteryMaximumTemperatureDerating = 'Propulsion Battery Maximum Temperature Derating', + PropulsionBatteryMaximumTemperatureShutoff = 'Propulsion Battery Maximum Temperature Shutoff', + PropulsionBatteryMinimumTemperatureDerating = 'Propulsion Battery Minimum Temperature Derating', + PropulsionBatteryMinimumTemperatureShutoff = 'Propulsion Battery Minimum Temperature Shutoff', + PropulsionBatteryUsableEnergy = 'Propulsion Battery Usable Energy', + PropulsionBatteryStateOfHealth = 'Propulsion Battery State Of Health', + PropulsionBatteryDischargeCyclesCount = 'Propulsion Battery Discharge Cycles Count', + PropulsionBatteryFullStatus = 'Propulsion Battery Full Status', + PropulsionBatteryEmptyStatus = 'Propulsion Battery Empty Status', + PropulsionBatteryMaximumChargeSoc = 'Propulsion Battery Maximum Charge Soc', + PropulsionBatteryMinimumDischargeSoc = 'Propulsion Battery Minimum Discharge Soc', + ActiveMotorMode = 'Active Motor Mode', + MotorBrakeMode = 'Motor Brake Mode', + MotorRotationalShaftSpeed = 'Motor Rotational Shaft Speed', + MotorVoltage = 'Motor Voltage', + MotorCurrent = 'Motor Current', + MotorOperatingMode = 'Motor Operating Mode', + MotorTemperature = 'Motor Temperature', + MotorInverterTemperature = 'Motor Inverter Temperature', + MotorCoolantTemperature = 'Motor Coolant Temperature', + MotorGearTemperature = 'Motor Gear Temperature', + MotorShaftTorquePercent = 'Motor Shaft Torque Percent', + MotorVoltageType = 'Motor Voltage Type', + MotorVoltageRating = 'Motor Voltage Rating', + MotorMaxContinuousPower = 'Motor Max Continuous Power', + MotorMaxBoostPower = 'Motor Max Boost Power', + MotorMaxTemperatureRating = 'Motor Max Temperature Rating', + MotorRatedSpeed = 'Motor Rated Speed', + MotorMaxControllerTemperatureRating = 'Motor Max Controller Temperature Rating', + MotorShaftTorqueRating = 'Motor Shaft Torque Rating', + MotorDcVoltageDeratingThreshold = 'Motor DC Voltage Derating Threshold', + MotorDcVoltageCutoffThreshold = 'Motor DC Voltage Cutoff Threshold', + MotorRuntime = 'Motor Runtime', + SailingPingTimePort = 'Sailing Ping Time Port', + SailingPingTimeStbd = 'Sailing Ping Time Stbd', + HeadingSource = 'Heading Source', + Invalid = 'Invalid', } /** * @category Enumerations */ -export enum WindlassMotion { - WindlassStopped = 'Windlass stopped', - DeploymentOccurring = 'Deployment occurring', - RetrievalOccurring = 'Retrieval occurring', +export const NavicoDataTypeValues: {[key: string]: number} = { + [NavicoDataType.Altitude]: 0x0, + [NavicoDataType.Position]: 0x1, + [NavicoDataType.PositionError]: 0x2, + [NavicoDataType.Hdop]: 0x3, + [NavicoDataType.Vdop]: 0x4, + [NavicoDataType.Tdop]: 0x5, + [NavicoDataType.Pdop]: 0x6, + [NavicoDataType.GeoidalSeperation]: 0x7, + [NavicoDataType.Cog]: 0x8, + [NavicoDataType.PositionQuality]: 0x9, + [NavicoDataType.PositionIntegrity]: 0xa, + [NavicoDataType.SatsInView]: 0xb, + [NavicoDataType.WaasStatus]: 0xc, + [NavicoDataType.Bearing]: 0xd, + [NavicoDataType.Course]: 0xe, + [NavicoDataType.CdiGraphic]: 0xf, + [NavicoDataType.CourseToSteer]: 0x10, + [NavicoDataType.CrossTrack]: 0x11, + [NavicoDataType.VelocityMadeGood]: 0x12, + [NavicoDataType.Destination]: 0x13, + [NavicoDataType.DistanceToTurn]: 0x14, + [NavicoDataType.DistanceToDest]: 0x15, + [NavicoDataType.TimeToTurn]: 0x16, + [NavicoDataType.TimeToDest]: 0x17, + [NavicoDataType.EtaAtTurn]: 0x18, + [NavicoDataType.EtaAtDest]: 0x19, + [NavicoDataType.TotalDistance]: 0x1a, + [NavicoDataType.SteerArrow]: 0x1b, + [NavicoDataType.Odometer]: 0x1c, + [NavicoDataType.TripDistance]: 0x1d, + [NavicoDataType.TripTime]: 0x1e, + [NavicoDataType.Date]: 0x1f, + [NavicoDataType.Time]: 0x20, + [NavicoDataType.UtcDate]: 0x21, + [NavicoDataType.UtcTime]: 0x22, + [NavicoDataType.LocalTimeOffset]: 0x23, + [NavicoDataType.Heading]: 0x24, + [NavicoDataType.WasVoltage]: 0x25, + [NavicoDataType.CurrentSet]: 0x26, + [NavicoDataType.CurrentDrift]: 0x27, + [NavicoDataType.SpeedSog]: 0x28, + [NavicoDataType.SpeedWater]: 0x29, + [NavicoDataType.SpeedPitot]: 0x2a, + [NavicoDataType.SpeedTripAvg]: 0x2b, + [NavicoDataType.SpeedTripMax]: 0x2c, + [NavicoDataType.SpeedWindApp]: 0x2d, + [NavicoDataType.SpeedWindTrue]: 0x2e, + [NavicoDataType.TempWater]: 0x2f, + [NavicoDataType.TempOutside]: 0x30, + [NavicoDataType.TempInside]: 0x31, + [NavicoDataType.TempEngineRoom]: 0x32, + [NavicoDataType.TempMainCabin]: 0x33, + [NavicoDataType.TempLiveWell]: 0x34, + [NavicoDataType.TempBaitWell]: 0x35, + [NavicoDataType.TempRefrigeration]: 0x36, + [NavicoDataType.TempHeatingSystem]: 0x37, + [NavicoDataType.TempDewPoint]: 0x38, + [NavicoDataType.TempWindChillApp]: 0x39, + [NavicoDataType.TempWindChillTheoretic]: 0x3a, + [NavicoDataType.TempHeatIndex]: 0x3b, + [NavicoDataType.TempFreezer]: 0x3c, + [NavicoDataType.EngineTemp]: 0x3d, + [NavicoDataType.EngineAirTemp]: 0x3e, + [NavicoDataType.EngineOilTemp]: 0x3f, + [NavicoDataType.TempBattery]: 0x40, + [NavicoDataType.PressureAtmospheric]: 0x41, + [NavicoDataType.EngineBoostPres]: 0x42, + [NavicoDataType.EngineOilPres]: 0x43, + [NavicoDataType.EngineWaterPres]: 0x44, + [NavicoDataType.EngineFuelPres]: 0x45, + [NavicoDataType.EngineManifoldPres]: 0x46, + [NavicoDataType.PressureSteam]: 0x47, + [NavicoDataType.PressureComprAir]: 0x48, + [NavicoDataType.PressureHydraulic]: 0x49, + [NavicoDataType.WasGenericPressureLo]: 0x4a, + [NavicoDataType.WasGenericPressureHi]: 0x4b, + [NavicoDataType.Depth]: 0x4c, + [NavicoDataType.WaterDistance]: 0x4d, + [NavicoDataType.EngineRpm]: 0x4e, + [NavicoDataType.EngineTrim]: 0x4f, + [NavicoDataType.EngineAlternatorPotential]: 0x50, + [NavicoDataType.EngineFuelRate]: 0x51, + [NavicoDataType.EnginePercentLoad]: 0x52, + [NavicoDataType.EnginePercentTorque]: 0x53, + [NavicoDataType.WasSuzukiAlarmLevLo]: 0x54, + [NavicoDataType.WasSuzukiAlarmLevHigh]: 0x55, + [NavicoDataType.TankFuelLevel]: 0x56, + [NavicoDataType.FluidLevelFreshWater]: 0x57, + [NavicoDataType.FluidLevelGrayWater]: 0x58, + [NavicoDataType.FluidLevelLiveWell]: 0x59, + [NavicoDataType.FluidLevelOil]: 0x5a, + [NavicoDataType.FluidLevelBlackWater]: 0x5b, + [NavicoDataType.TankFuelRemaining]: 0x5c, + [NavicoDataType.FluidVolumeFreshWater]: 0x5d, + [NavicoDataType.FluidVolumeGrayWater]: 0x5e, + [NavicoDataType.FluidVolumeLiveWell]: 0x5f, + [NavicoDataType.FluidVolumeOil]: 0x60, + [NavicoDataType.FluidVolumeBlackWater]: 0x61, + [NavicoDataType.GenFluidVolume]: 0x62, + [NavicoDataType.WasTankFuelLevelLo]: 0x63, + [NavicoDataType.WasFluidLevelLoFreshWater]: 0x64, + [NavicoDataType.WasFluidLevelLoGrayWater]: 0x65, + [NavicoDataType.WasFluidLevelLoLiveWell]: 0x66, + [NavicoDataType.WasFluidLevelLoOil]: 0x67, + [NavicoDataType.GenTankCapacity]: 0x68, + [NavicoDataType.TankFuelCapacity]: 0x69, + [NavicoDataType.TankCapacityFreshWater]: 0x6a, + [NavicoDataType.TankCapacityGrayWater]: 0x6b, + [NavicoDataType.TankCapacityLiveWell]: 0x6c, + [NavicoDataType.TankCapacityOil]: 0x6d, + [NavicoDataType.TankCapacityBlackWater]: 0x6e, + [NavicoDataType.WasTankFuelUsed]: 0x6f, + [NavicoDataType.EngineFuelUsed]: 0x70, + [NavicoDataType.EngineFuelUsedTrip]: 0x71, + [NavicoDataType.EngineFuelUsedSeasonal]: 0x72, + [NavicoDataType.EngineFuelKValue]: 0x73, + [NavicoDataType.BatteryPotential]: 0x74, + [NavicoDataType.BatteryCurrent]: 0x75, + [NavicoDataType.TrimTab]: 0x76, + [NavicoDataType.WasTrimStbdTab]: 0x77, + [NavicoDataType.RateOfTurn]: 0x78, + [NavicoDataType.AttitudeYaw]: 0x79, + [NavicoDataType.AttitudePitch]: 0x7a, + [NavicoDataType.AttitudeRoll]: 0x7b, + [NavicoDataType.MagneticVariation]: 0x7c, + [NavicoDataType.Deviation]: 0x7d, + [NavicoDataType.FuelEconomyWtr]: 0x7e, + [NavicoDataType.FuelEconomyGps]: 0x7f, + [NavicoDataType.WasFuelRemaining]: 0x80, + [NavicoDataType.WasFuelRangeWtr]: 0x81, + [NavicoDataType.WasFuelRangeGps]: 0x82, + [NavicoDataType.EngineHoursUsed]: 0x83, + [NavicoDataType.EngineType]: 0x84, + [NavicoDataType.VesselFuelRate]: 0x85, + [NavicoDataType.VesselFuelEconomyWtr]: 0x86, + [NavicoDataType.VesselFuelEconomyGps]: 0x87, + [NavicoDataType.VesselFuelRemaining]: 0x88, + [NavicoDataType.VesselFuelRangeWtr]: 0x89, + [NavicoDataType.VesselFuelRangeGps]: 0x8a, + [NavicoDataType.WindAppAngle]: 0x8b, + [NavicoDataType.WindTrueAngle]: 0x8c, + [NavicoDataType.WindTrueDirection]: 0x8d, + [NavicoDataType.HumidityInside]: 0x8e, + [NavicoDataType.HumidityOutside]: 0x8f, + [NavicoDataType.SetHumidity]: 0x90, + [NavicoDataType.RudderAngle]: 0x91, + [NavicoDataType.TransGear]: 0x92, + [NavicoDataType.TransOilPressure]: 0x93, + [NavicoDataType.TransOilTemp]: 0x94, + [NavicoDataType.CmdRudderAngle]: 0x95, + [NavicoDataType.RudderLimit]: 0x96, + [NavicoDataType.OffHeadingLim]: 0x97, + [NavicoDataType.RadiusOfTurnOrder]: 0x98, + [NavicoDataType.RateOfTurnOrder]: 0x99, + [NavicoDataType.OffTrackLim]: 0x9a, + [NavicoDataType.LoggingTimeRemaining]: 0x9b, + [NavicoDataType.PositionFixType]: 0x9c, + [NavicoDataType.EngineDiscreteStatus]: 0x9d, + [NavicoDataType.TransmissionDiscreteStatus]: 0x9e, + [NavicoDataType.GpsBestOfFourSnr]: 0x9f, + [NavicoDataType.GenFluidLevel]: 0xa0, + [NavicoDataType.GenPressure]: 0xa1, + [NavicoDataType.GenTemperature]: 0xa2, + [NavicoDataType.InternalVoltage]: 0xa3, + [NavicoDataType.DepthOffset]: 0xa4, + [NavicoDataType.StructureDepth]: 0xa5, + [NavicoDataType.LoranPosition]: 0xa6, + [NavicoDataType.VesselStatus]: 0xa7, + [NavicoDataType.BatteryDcType]: 0xa8, + [NavicoDataType.BatteryStateOfCharge]: 0xa9, + [NavicoDataType.BatteryStateOfHealth]: 0xaa, + [NavicoDataType.BatteryTimeRemaining]: 0xab, + [NavicoDataType.BatteryRippleVoltage]: 0xac, + [NavicoDataType.Ac1Acceptability]: 0xad, + [NavicoDataType.Ac2Acceptability]: 0xae, + [NavicoDataType.Ac3Acceptability]: 0xaf, + [NavicoDataType.Ac1Voltage]: 0xb0, + [NavicoDataType.Ac2Voltage]: 0xb1, + [NavicoDataType.Ac3Voltage]: 0xb2, + [NavicoDataType.Ac1Current]: 0xb3, + [NavicoDataType.Ac2Current]: 0xb4, + [NavicoDataType.Ac3Current]: 0xb5, + [NavicoDataType.Ac1Frequency]: 0xb6, + [NavicoDataType.Ac2Frequency]: 0xb7, + [NavicoDataType.Ac3Frequency]: 0xb8, + [NavicoDataType.Ac1BreakerSize]: 0xb9, + [NavicoDataType.Ac2BreakerSize]: 0xba, + [NavicoDataType.Ac3BreakerSize]: 0xbb, + [NavicoDataType.Ac1RealPower]: 0xbc, + [NavicoDataType.Ac2RealPower]: 0xbd, + [NavicoDataType.Ac3RealPower]: 0xbe, + [NavicoDataType.Ac1ReactivePower]: 0xbf, + [NavicoDataType.Ac2ReactivePower]: 0xc0, + [NavicoDataType.Ac3ReactivePower]: 0xc1, + [NavicoDataType.Ac1PowerFactor]: 0xc2, + [NavicoDataType.Ac2PowerFactor]: 0xc3, + [NavicoDataType.Ac3PowerFactor]: 0xc4, + [NavicoDataType.SwitchState]: 0xc5, + [NavicoDataType.SwitchCurrent]: 0xc6, + [NavicoDataType.SwitchFault]: 0xc7, + [NavicoDataType.SwitchDimLevel]: 0xc8, + [NavicoDataType.PreviousCmdHeading]: 0xc9, + [NavicoDataType.CmdWindAngle]: 0xca, + [NavicoDataType.WasCmdBearingOffset]: 0xcb, + [NavicoDataType.CmdBearing]: 0xcc, + [NavicoDataType.CmdDepthContour]: 0xcd, + [NavicoDataType.CmdCourseChange]: 0xce, + [NavicoDataType.PilotDrift]: 0xcf, + [NavicoDataType.PilotDistanceToTurn]: 0xd0, + [NavicoDataType.PilotTimeToTurn]: 0xd1, + [NavicoDataType.PilotReferencePosition]: 0xd2, + [NavicoDataType.DcStatus]: 0xd3, + [NavicoDataType.Ac1Status]: 0xd4, + [NavicoDataType.WasSwitchVoltage]: 0xd5, + [NavicoDataType.BatteryCapacityRemaining]: 0xd6, + [NavicoDataType.PilotHeadingReference]: 0xd7, + [NavicoDataType.BAndGLinear1]: 0xd8, + [NavicoDataType.BAndGLinear2]: 0xd9, + [NavicoDataType.BAndGLinear3]: 0xda, + [NavicoDataType.BoomPosition]: 0xdb, + [NavicoDataType.SailingCourse]: 0xdc, + [NavicoDataType.DaggerboardPosition]: 0xdd, + [NavicoDataType.BAndGLinear4]: 0xde, + [NavicoDataType.HeadingOnNextTack]: 0xdf, + [NavicoDataType.KeelAngle]: 0xe0, + [NavicoDataType.Leeway]: 0xe1, + [NavicoDataType.MastAngle]: 0xe2, + [NavicoDataType.TargetTrueWindAngle]: 0xe3, + [NavicoDataType.KeelTrimTab]: 0xe4, + [NavicoDataType.RaceTimer]: 0xe5, + [NavicoDataType.CanardAngle]: 0xe6, + [NavicoDataType.NextLegApparentWindAngle]: 0xe7, + [NavicoDataType.NextLegApparentWindSpeed]: 0xe8, + [NavicoDataType.TargetBoatSpeed]: 0xe9, + [NavicoDataType.VmgToWind]: 0xea, + [NavicoDataType.TimeToLaylines]: 0xeb, + [NavicoDataType.DistanceToLaylines]: 0xec, + [NavicoDataType.AftDepth]: 0xed, + [NavicoDataType.Forestay]: 0xee, + [NavicoDataType.PolarSpeed]: 0xef, + [NavicoDataType.PolarPerformance]: 0xf0, + [NavicoDataType.TackingPerformance]: 0xf1, + [NavicoDataType.WindAngleToMast]: 0xf2, + [NavicoDataType.CanBusVoltage]: 0xf3, + [NavicoDataType.InternalTemperature]: 0xf4, + [NavicoDataType.EngageCurrent]: 0xf5, + [NavicoDataType.UrefVoltage]: 0xf6, + [NavicoDataType.SupplyVoltage]: 0xf7, + [NavicoDataType.DestinationPosition]: 0xf8, + [NavicoDataType.CompassHeadingReference]: 0xf9, + [NavicoDataType.CmdRudderDirection]: 0xfa, + [NavicoDataType.WasEngineSyncState]: 0xfb, + [NavicoDataType.EngineGeneralMaintenance]: 0xfc, + [NavicoDataType.EnginePercentThrottle]: 0xfd, + [NavicoDataType.EngineSteeringAngle]: 0xfe, + [NavicoDataType.EngineBreakInReqd]: 0xff, + [NavicoDataType.GpsAll]: 0x100, + [NavicoDataType.EngineBreakInAccum]: 0x101, + [NavicoDataType.EngineTrimStatus]: 0x102, + [NavicoDataType.PilotPresent]: 0x103, + [NavicoDataType.Ac1OutWaveform]: 0x104, + [NavicoDataType.Ac2OutWaveform]: 0x105, + [NavicoDataType.Ac3OutWaveform]: 0x106, + [NavicoDataType.Ac1OutVoltage]: 0x107, + [NavicoDataType.Ac2OutVoltage]: 0x108, + [NavicoDataType.Ac3OutVoltage]: 0x109, + [NavicoDataType.Ac1OutCurrent]: 0x10a, + [NavicoDataType.Ac2OutCurrent]: 0x10b, + [NavicoDataType.Ac3OutCurrent]: 0x10c, + [NavicoDataType.Ac1OutFrequency]: 0x10d, + [NavicoDataType.Ac2OutFrequency]: 0x10e, + [NavicoDataType.Ac3OutFrequency]: 0x10f, + [NavicoDataType.Ac1OutBreakerSize]: 0x110, + [NavicoDataType.Ac2OutBreakerSize]: 0x111, + [NavicoDataType.Ac3OutBreakerSize]: 0x112, + [NavicoDataType.Ac1OutRealPower]: 0x113, + [NavicoDataType.Ac2OutRealPower]: 0x114, + [NavicoDataType.Ac3OutRealPower]: 0x115, + [NavicoDataType.Ac1OutReactivePower]: 0x116, + [NavicoDataType.Ac2OutReactivePower]: 0x117, + [NavicoDataType.Ac3OutReactivePower]: 0x118, + [NavicoDataType.Ac1OutPowerFactor]: 0x119, + [NavicoDataType.Ac2OutPowerFactor]: 0x11a, + [NavicoDataType.Ac3OutPowerFactor]: 0x11b, + [NavicoDataType.Ac2Status]: 0x11c, + [NavicoDataType.Ac3Status]: 0x11d, + [NavicoDataType.Ac1OutStatus]: 0x11e, + [NavicoDataType.Ac2OutStatus]: 0x11f, + [NavicoDataType.Ac3OutStatus]: 0x120, + [NavicoDataType.SwitchManualOverride]: 0x121, + [NavicoDataType.SwitchReversePolarity]: 0x122, + [NavicoDataType.SwitchAcsourceAvailable]: 0x123, + [NavicoDataType.SwitchAccontactorSystemsonstate]: 0x124, + [NavicoDataType.ChargerBatteryInstance]: 0x125, + [NavicoDataType.ChargerOperatingState]: 0x126, + [NavicoDataType.ChargerMode]: 0x127, + [NavicoDataType.ChargerEnabled]: 0x128, + [NavicoDataType.ChargerEqualizationPending]: 0x129, + [NavicoDataType.ChargerEqualizationTimeRemaining]: 0x12a, + [NavicoDataType.InverterAcInstance]: 0x12b, + [NavicoDataType.InverterDcInstance]: 0x12c, + [NavicoDataType.InverterOperatingState]: 0x12d, + [NavicoDataType.InverterEnabled]: 0x12e, + [NavicoDataType.ThrusterPower]: 0x12f, + [NavicoDataType.FuelToTurn]: 0x130, + [NavicoDataType.EngineMil]: 0x131, + [NavicoDataType.EngineWarningFlags]: 0x132, + [NavicoDataType.SpeedStw]: 0x133, + [NavicoDataType.EnginePerformanceSog]: 0x134, + [NavicoDataType.EnginePerformanceStw]: 0x135, + [NavicoDataType.EngineControlFlags]: 0x136, + [NavicoDataType.EngineTrollRpmSetpoint]: 0x137, + [NavicoDataType.ActiveHelm]: 0x138, + [NavicoDataType.CruiseRpmSetpoint]: 0x139, + [NavicoDataType.CruiseSpeedSetpoint]: 0x13a, + [NavicoDataType.CmdPatternDir]: 0x13b, + [NavicoDataType.SmartContextual]: 0x13c, + [NavicoDataType.SailingTimeToWaypoint]: 0x13d, + [NavicoDataType.SailingDistanceToWaypoint]: 0x13e, + [NavicoDataType.SailingEta]: 0x13f, + [NavicoDataType.GeneratorTemp]: 0x140, + [NavicoDataType.GeneratorOilTemp]: 0x141, + [NavicoDataType.GeneratorOilPres]: 0x142, + [NavicoDataType.GeneratorWaterPres]: 0x143, + [NavicoDataType.GeneratorFuelPres]: 0x144, + [NavicoDataType.GeneratorFuelRate]: 0x145, + [NavicoDataType.GeneratorHoursUsed]: 0x146, + [NavicoDataType.GeneratorDiscreteStatus]: 0x147, + [NavicoDataType.GeneratorPercentLoad]: 0x148, + [NavicoDataType.GeneratorPercentTorque]: 0x149, + [NavicoDataType.GeneratorBatteryVoltage]: 0x14a, + [NavicoDataType.GeneratorAverageVoltage]: 0x14b, + [NavicoDataType.GeneratorAverageFrequency]: 0x14c, + [NavicoDataType.GeneratorAverageCurrent]: 0x14d, + [NavicoDataType.PilotMode]: 0x14e, + [NavicoDataType.PilotResponseLevel]: 0x14f, + [NavicoDataType.CruiseSmarttowOvershoot]: 0x150, + [NavicoDataType.PilotCmdHeading]: 0x151, + [NavicoDataType.MobDrPosition]: 0x152, + [NavicoDataType.MobDrRange]: 0x153, + [NavicoDataType.MobDrBearing]: 0x154, + [NavicoDataType.BowPosition]: 0x155, + [NavicoDataType.StartLineBearing]: 0x156, + [NavicoDataType.StartLineBias]: 0x157, + [NavicoDataType.DistanceToStartLine]: 0x158, + [NavicoDataType.DistanceToStartLinePortEnd]: 0x159, + [NavicoDataType.DistanceToStartLineStbdEnd]: 0x15a, + [NavicoDataType.StartLinePortPosition]: 0x15b, + [NavicoDataType.StartLineStbdPosition]: 0x15c, + [NavicoDataType.StartLineBoatLengthAdvantage]: 0x15d, + [NavicoDataType.DistanceToStartLineBoatLengths]: 0x15e, + [NavicoDataType.Backstay]: 0x15f, + [NavicoDataType.BoomAngle]: 0x160, + [NavicoDataType.BoomVang]: 0x161, + [NavicoDataType.ChainLength]: 0x162, + [NavicoDataType.Cunningham]: 0x163, + [NavicoDataType.InnerForestayLoad]: 0x164, + [NavicoDataType.InnerForestayHalyardLoad]: 0x165, + [NavicoDataType.JibFurl]: 0x166, + [NavicoDataType.JibHalyardLoad]: 0x167, + [NavicoDataType.OptimumWindAngle]: 0x168, + [NavicoDataType.OuthaulLoad]: 0x169, + [NavicoDataType.PitchRate]: 0x16a, + [NavicoDataType.PlowAngle]: 0x16b, + [NavicoDataType.RollRate]: 0x16c, + [NavicoDataType.VmgPerformance]: 0x16d, + [NavicoDataType.BAndGLinear5]: 0x16e, + [NavicoDataType.BAndGLinear6]: 0x16f, + [NavicoDataType.BAndGLinear7]: 0x170, + [NavicoDataType.BAndGLinear8]: 0x171, + [NavicoDataType.BAndGLinear9]: 0x172, + [NavicoDataType.BAndGLinear10]: 0x173, + [NavicoDataType.BAndGLinear11]: 0x174, + [NavicoDataType.BAndGLinear12]: 0x175, + [NavicoDataType.BAndGLinear13]: 0x176, + [NavicoDataType.BAndGLinear14]: 0x177, + [NavicoDataType.BAndGLinear15]: 0x178, + [NavicoDataType.BAndGLinear16]: 0x179, + [NavicoDataType.KeelDraught]: 0x17a, + [NavicoDataType.PoolTemperature]: 0x17b, + [NavicoDataType.JacuzziTemperature]: 0x17c, + [NavicoDataType.TripDrBearing]: 0x17d, + [NavicoDataType.TripDrDistance]: 0x17e, + [NavicoDataType.CodeZeroLoad]: 0x17f, + [NavicoDataType.BAndGMobPosition]: 0x180, + [NavicoDataType.DistanceBehindStartLine]: 0x181, + [NavicoDataType.DistanceBehindStartLineBoatLengths]: 0x182, + [NavicoDataType.BiasAdvantage]: 0x183, + [NavicoDataType.OppositeTackCog]: 0x184, + [NavicoDataType.OppositeTackTargetHeading]: 0x185, + [NavicoDataType.MastRake]: 0x186, + [NavicoDataType.NextLegBearing]: 0x187, + [NavicoDataType.NextLegTargetSpeed]: 0x188, + [NavicoDataType.GroundWindDirection]: 0x189, + [NavicoDataType.GroundWindSpeed]: 0x18a, + [NavicoDataType.MastCantAngle]: 0x18b, + [NavicoDataType.RudderToeIn]: 0x18c, + [NavicoDataType.DaggerboardPort]: 0x18d, + [NavicoDataType.DaggerboardStarboard]: 0x18e, + [NavicoDataType.BAndGRemote0]: 0x18f, + [NavicoDataType.BAndGRemote1]: 0x190, + [NavicoDataType.BAndGRemote2]: 0x191, + [NavicoDataType.BAndGRemote3]: 0x192, + [NavicoDataType.BAndGRemote4]: 0x193, + [NavicoDataType.BAndGRemote5]: 0x194, + [NavicoDataType.BAndGRemote6]: 0x195, + [NavicoDataType.BAndGRemote7]: 0x196, + [NavicoDataType.BAndGRemote8]: 0x197, + [NavicoDataType.BAndGRemote9]: 0x198, + [NavicoDataType.ForwardDepth]: 0x199, + [NavicoDataType.CriticalRange]: 0x19a, + [NavicoDataType.CautionRange]: 0x19b, + [NavicoDataType.MaxRange]: 0x19c, + [NavicoDataType.GeneratorAlternatorVoltage]: 0x19d, + [NavicoDataType.TrollingPropRate]: 0x19e, + [NavicoDataType.TrollingCruiseControlSpeed]: 0x19f, + [NavicoDataType.VesselFuelUsed]: 0x1a0, + [NavicoDataType.SuzukiEngineBaroPressure]: 0x1a1, + [NavicoDataType.SuzukiCylinderTemperature]: 0x1a2, + [NavicoDataType.SuzukiIntakeAirTemperature]: 0x1a3, + [NavicoDataType.SuzukiIgnitionTiming]: 0x1a4, + [NavicoDataType.SuzukiFuelInjectorPulseWidth]: 0x1a5, + [NavicoDataType.WasSuzukiInjectedFuelAmount]: 0x1a6, + [NavicoDataType.SuzukiIacValveDuty]: 0x1a7, + [NavicoDataType.SuzukiDiscreteStatus1]: 0x1a8, + [NavicoDataType.SuzukiDiscreteStatus2]: 0x1a9, + [NavicoDataType.SuzukiDiscreteStatus3]: 0x1aa, + [NavicoDataType.SuzukiDiscreteStatus4]: 0x1ab, + [NavicoDataType.FuelEconomyPit]: 0x1ac, + [NavicoDataType.VesselFuelEconomyPit]: 0x1ad, + [NavicoDataType.VesselFuelRangePit]: 0x1ae, + [NavicoDataType.Waypoint]: 0x1af, + [NavicoDataType.AverageWindDirection]: 0x1b0, + [NavicoDataType.WindPhase]: 0x1b1, + [NavicoDataType.WindLift]: 0x1b2, + [NavicoDataType.FuelRangeSeasonalAverage]: 0x1b3, + [NavicoDataType.FuelRangeInstantaneous]: 0x1b4, + [NavicoDataType.VesselFuelEconomy]: 0x1b5, + [NavicoDataType.AverageFuelEconomySeasonal]: 0x1b6, + [NavicoDataType.AverageFuelEconomyTrip]: 0x1b7, + [NavicoDataType.BestFuelEconomySeasonal]: 0x1b8, + [NavicoDataType.BestFuelEconomyTrip]: 0x1b9, + [NavicoDataType.VesselFuelLevel]: 0x1ba, + [NavicoDataType.VesselFuelUsedTrip]: 0x1bb, + [NavicoDataType.BAndGLinear17]: 0x1bc, + [NavicoDataType.BAndGLinear18]: 0x1bd, + [NavicoDataType.BAndGLinear19]: 0x1be, + [NavicoDataType.BAndGLinear20]: 0x1bf, + [NavicoDataType.BAndGLinear21]: 0x1c0, + [NavicoDataType.BAndGLinear22]: 0x1c1, + [NavicoDataType.BAndGLinear23]: 0x1c2, + [NavicoDataType.BAndGLinear24]: 0x1c3, + [NavicoDataType.BAndGLinear25]: 0x1c4, + [NavicoDataType.BAndGLinear26]: 0x1c5, + [NavicoDataType.BAndGLinear27]: 0x1c6, + [NavicoDataType.BAndGLinear28]: 0x1c7, + [NavicoDataType.BAndGLinear29]: 0x1c8, + [NavicoDataType.BAndGLinear30]: 0x1c9, + [NavicoDataType.BAndGLinear31]: 0x1ca, + [NavicoDataType.BAndGLinear32]: 0x1cb, + [NavicoDataType.OriginWayPointNumber]: 0x1cc, + [NavicoDataType.DestWayPointNumber]: 0x1cd, + [NavicoDataType.ArrivalNotification]: 0x1ce, + [NavicoDataType.ArrivalCircleNotification]: 0x1cf, + [NavicoDataType.WasNavTerminated]: 0x1d0, + [NavicoDataType.Bobstay]: 0x1d1, + [NavicoDataType.J1]: 0x1d2, + [NavicoDataType.J2]: 0x1d3, + [NavicoDataType.J3]: 0x1d4, + [NavicoDataType.MastBase]: 0x1d5, + [NavicoDataType.Mainsheet]: 0x1d6, + [NavicoDataType.D0Port]: 0x1d7, + [NavicoDataType.D0Starboard]: 0x1d8, + [NavicoDataType.RunnerPort]: 0x1d9, + [NavicoDataType.RunnerStarboard]: 0x1da, + [NavicoDataType.FoilPort]: 0x1db, + [NavicoDataType.FoilStarboard]: 0x1dc, + [NavicoDataType.SailtackPort]: 0x1dd, + [NavicoDataType.SailtackStarboard]: 0x1de, + [NavicoDataType.DeflectPort]: 0x1df, + [NavicoDataType.DeflectStarboard]: 0x1e0, + [NavicoDataType.RudderLoadPort]: 0x1e1, + [NavicoDataType.RudderLoadStarboard]: 0x1e2, + [NavicoDataType.D1Port]: 0x1e3, + [NavicoDataType.D1Starboard]: 0x1e4, + [NavicoDataType.V0Port]: 0x1e5, + [NavicoDataType.V0Starboard]: 0x1e6, + [NavicoDataType.V1Port]: 0x1e7, + [NavicoDataType.V1Starboard]: 0x1e8, + [NavicoDataType.GnssSystem]: 0x1e9, + [NavicoDataType.SvCount]: 0x1ea, + [NavicoDataType.GnssOpMode]: 0x1eb, + [NavicoDataType.DgnssMode]: 0x1ec, + [NavicoDataType.SuzukiFuelPumpDuty]: 0x1ed, + [NavicoDataType.SpeedLogWaterLongitudinal]: 0x1ee, + [NavicoDataType.SpeedLogWaterTransverse]: 0x1ef, + [NavicoDataType.SpeedLogWaterResultant]: 0x1f0, + [NavicoDataType.SpeedLogWaterAngle]: 0x1f1, + [NavicoDataType.SpeedLogGroundLongitudinal]: 0x1f2, + [NavicoDataType.SpeedLogGroundTransverse]: 0x1f3, + [NavicoDataType.SpeedLogGroundResultant]: 0x1f4, + [NavicoDataType.SpeedLogGroundAngle]: 0x1f5, + [NavicoDataType.SpeedLogSternWaterTransverse]: 0x1f6, + [NavicoDataType.SpeedLogSternGroundTransverse]: 0x1f7, + [NavicoDataType.PositionDatum]: 0x1f8, + [NavicoDataType.SpeedBoat]: 0x1f9, + [NavicoDataType.WasEngineFuelUsedMercury]: 0x1fa, + [NavicoDataType.Heave]: 0x1fb, + [NavicoDataType.SpeedTripMaxRpm]: 0x1fc, + [NavicoDataType.HondaEngineStatusParams]: 0x1fd, + [NavicoDataType.PilotFeatures]: 0x1fe, + [NavicoDataType.PilotSetpointHeading]: 0x1ff, + [NavicoDataType.IdleSpeedControlMode]: 0x200, + [NavicoDataType.IdleSpeedControlValue]: 0x201, + [NavicoDataType.TrollingMode]: 0x202, + [NavicoDataType.ImmobilizerLockStatus]: 0x203, + [NavicoDataType.EngineDiscreteParams1]: 0x204, + [NavicoDataType.EngineDiscreteParams2]: 0x205, + [NavicoDataType.EngineDiscreteParams3]: 0x206, + [NavicoDataType.EngineDiscreteParams4]: 0x207, + [NavicoDataType.EngineDiscreteParams5]: 0x208, + [NavicoDataType.EngineDiscreteParams6]: 0x209, + [NavicoDataType.IdleSpeedLimitLow]: 0x20a, + [NavicoDataType.IdleSpeedLimitHigh]: 0x20b, + [NavicoDataType.WasTrollingVariableRpmInfo]: 0x20c, + [NavicoDataType.IdleSpeedControlTargetRev]: 0x20d, + [NavicoDataType.IdleControl]: 0x20e, + [NavicoDataType.IdleFeedback]: 0x20f, + [NavicoDataType.ImmediatelyAfterStartingControl]: 0x210, + [NavicoDataType.GatewayParams]: 0x211, + [NavicoDataType.GatewayProtocol]: 0x212, + [NavicoDataType.EngineWallTemp]: 0x213, + [NavicoDataType.SubstituteBatteryVoltage]: 0x214, + [NavicoDataType.YamahaEngineM6DiagCode]: 0x215, + [NavicoDataType.WirelessSensorBatteryStatus]: 0x216, + [NavicoDataType.WirelessSensorBatteryChargeStatus]: 0x217, + [NavicoDataType.WirelessSensorBatteryStatusVoltage]: 0x218, + [NavicoDataType.WirelessSensorBatteryChargeStatusCurrent]: 0x219, + [NavicoDataType.FluidTypeMode]: 0x21a, + [NavicoDataType.Datetime]: 0x21b, + [NavicoDataType.ReacherLoad]: 0x21c, + [NavicoDataType.BladeLoad]: 0x21d, + [NavicoDataType.StaysailLoad]: 0x21e, + [NavicoDataType.TackLoad]: 0x21f, + [NavicoDataType.J4Load]: 0x220, + [NavicoDataType.SolentLoad]: 0x221, + [NavicoDataType.TackPortLoad]: 0x222, + [NavicoDataType.TackStarboardLoad]: 0x223, + [NavicoDataType.DeflectUpperLoad]: 0x224, + [NavicoDataType.DeflectLowerLoad]: 0x225, + [NavicoDataType.WinchPortLoad]: 0x226, + [NavicoDataType.WinchStarboardLoad]: 0x227, + [NavicoDataType.SpinHalyardPortLoad]: 0x228, + [NavicoDataType.SpinHalyardStarboardLoad]: 0x229, + [NavicoDataType.MainHalyward]: 0x22a, + [NavicoDataType.Load1Load]: 0x22b, + [NavicoDataType.Load2Load]: 0x22c, + [NavicoDataType.MastBase2Load]: 0x22d, + [NavicoDataType.PilotActivePerfMode]: 0x22e, + [NavicoDataType.PilotGust]: 0x22f, + [NavicoDataType.PilotTwsResponse]: 0x230, + [NavicoDataType.PilotHeelComp]: 0x231, + [NavicoDataType.PilotNetCourse]: 0x232, + [NavicoDataType.PilotTargetWindAngle]: 0x233, + [NavicoDataType.PilotWeatherHelm]: 0x234, + [NavicoDataType.PilotMeanHeel]: 0x235, + [NavicoDataType.PropellerShaftPitchAngle]: 0x236, + [NavicoDataType.PropellerShaftPitchPercent]: 0x237, + [NavicoDataType.PropellerShaftRpm]: 0x238, + [NavicoDataType.ThrusterPitchAngle]: 0x239, + [NavicoDataType.ThrusterPitchPercent]: 0x23a, + [NavicoDataType.GroundWindAngle]: 0x23b, + [NavicoDataType.FuelFlowOffset]: 0x23c, + [NavicoDataType.FluidLevelGasoline]: 0x23d, + [NavicoDataType.FluidVolumeGasoline]: 0x23e, + [NavicoDataType.TankCapacityGasoline]: 0x23f, + [NavicoDataType.CmdXteOffset]: 0x240, + [NavicoDataType.Engine4StrokeOil]: 0x241, + [NavicoDataType.WirelessSensorSignalStrength]: 0x242, + [NavicoDataType.WirelessSensorSoftwareUpdateProgress]: 0x243, + [NavicoDataType.TrollingStatus]: 0x244, + [NavicoDataType.MercuryExhaustValve]: 0x245, + [NavicoDataType.MercuryExhaustStatus]: 0x246, + [NavicoDataType.YanmarEngineEcuAlarms]: 0x247, + [NavicoDataType.YanmarHelmEcuAlarms]: 0x248, + [NavicoDataType.YanmarDriveEcuAlarms]: 0x249, + [NavicoDataType.DgpsCorrectionData]: 0x24a, + [NavicoDataType.DgpsReferenceStationId]: 0x24b, + [NavicoDataType.DgpsReferenceStationHealth]: 0x24c, + [NavicoDataType.DgpsSignalSnr]: 0x24d, + [NavicoDataType.DgpsSignalFrequency]: 0x24e, + [NavicoDataType.DgpsSignalStrength]: 0x24f, + [NavicoDataType.EngineFuelTemp]: 0x250, + [NavicoDataType.DepthQuality]: 0x251, + [NavicoDataType.NumberOfActiveDtc]: 0x252, + [NavicoDataType.YanmarFuelLevelTank1Port]: 0x253, + [NavicoDataType.YanmarFuelLevelTank2Port]: 0x254, + [NavicoDataType.YanmarFuelLevelTank1Stbd]: 0x255, + [NavicoDataType.YanmarFuelLevelTank2Stbd]: 0x256, + [NavicoDataType.YanmarFuelLevelTank1Center]: 0x257, + [NavicoDataType.YanmarFuelLevelTank2Center]: 0x258, + [NavicoDataType.YanmarFreshWaterLevelTank1Port]: 0x259, + [NavicoDataType.YanmarFreshWaterLevelTank2Port]: 0x25a, + [NavicoDataType.YanmarFreshWaterLevelTank1Stbd]: 0x25b, + [NavicoDataType.YanmarFreshWaterLevelTank2Stbd]: 0x25c, + [NavicoDataType.YanmarFreshWaterLevelTank1Center]: 0x25d, + [NavicoDataType.YanmarFreshWaterLevelTank2Center]: 0x25e, + [NavicoDataType.YanmarGrayWaterLevelTank1Port]: 0x25f, + [NavicoDataType.YanmarGrayWaterLevelTank2Port]: 0x260, + [NavicoDataType.YanmarGrayWaterLevelTank1Stbd]: 0x261, + [NavicoDataType.YanmarGrayWaterLevelTank2Stbd]: 0x262, + [NavicoDataType.YanmarGrayWaterLevelTank1Center]: 0x263, + [NavicoDataType.YanmarGrayWaterLevelTank2Center]: 0x264, + [NavicoDataType.RudderAnglePercentage]: 0x265, + [NavicoDataType.TrollActiveHelm]: 0x266, + [NavicoDataType.TidesGraphic]: 0x267, + [NavicoDataType.AnchorDistance]: 0x268, + [NavicoDataType.AnchorSize]: 0x269, + [NavicoDataType.AnchorDepth]: 0x26a, + [NavicoDataType.AnchorBearing]: 0x26b, + [NavicoDataType.HondaEngineWarningParams]: 0x26c, + [NavicoDataType.HondaEngineDiscreteParams1]: 0x26d, + [NavicoDataType.HondaEngineDiscreteParams2]: 0x26e, + [NavicoDataType.HondaEngineDiscreteParams3]: 0x26f, + [NavicoDataType.HondaEngineDiscreteParams4]: 0x270, + [NavicoDataType.MainsailHeadLoad]: 0x271, + [NavicoDataType.MainsailClewLoad]: 0x272, + [NavicoDataType.MainsailTackLoad]: 0x273, + [NavicoDataType.J1HeadLoad]: 0x274, + [NavicoDataType.J1ClewLoad]: 0x275, + [NavicoDataType.J1TackLoad]: 0x276, + [NavicoDataType.J2HeadLoad]: 0x277, + [NavicoDataType.J2ClewLoad]: 0x278, + [NavicoDataType.J2TackLoad]: 0x279, + [NavicoDataType.J3HeadLoad]: 0x27a, + [NavicoDataType.J3ClewLoad]: 0x27b, + [NavicoDataType.J3TackLoad]: 0x27c, + [NavicoDataType.CodeZeroHeadLoad]: 0x27d, + [NavicoDataType.CodeZeroClewLoad]: 0x27e, + [NavicoDataType.CodeZeroTackLoad]: 0x27f, + [NavicoDataType.SuzukiEngineAlertI]: 0x280, + [NavicoDataType.EngineOilLife]: 0x281, + [NavicoDataType.EngineOilLevelStatus]: 0x282, + [NavicoDataType.TransFluidStatus]: 0x283, + [NavicoDataType.HondaEcoStatusAllEngines]: 0x284, + [NavicoDataType.OutputRpm]: 0x285, + [NavicoDataType.SuzukiEngineAlertA]: 0x286, + [NavicoDataType.SuzukiEngineAlertB]: 0x287, + [NavicoDataType.SuzukiEngineAlertC]: 0x288, + [NavicoDataType.SuzukiEngineAlertD]: 0x289, + [NavicoDataType.SuzukiEngineAlertE]: 0x28a, + [NavicoDataType.SuzukiEngineAlertF]: 0x28b, + [NavicoDataType.SuzukiEngineAlertG]: 0x28c, + [NavicoDataType.SuzukiEngineAlertH]: 0x28d, + [NavicoDataType.SuzukiEngineAlertJ]: 0x28e, + [NavicoDataType.SuzukiBcmFault]: 0x28f, + [NavicoDataType.SuzukiBcmMode]: 0x290, + [NavicoDataType.SuzukiEngineKlsStatus]: 0x291, + [NavicoDataType.SuzukiSwitchFault]: 0x292, + [NavicoDataType.SuzukiShiftPositionStatus]: 0x293, + [NavicoDataType.VesselFuelUsedSeasonal]: 0x294, + [NavicoDataType.VesselFuelCapacity]: 0x295, + [NavicoDataType.SuzukiEngineAutoTrimStatus]: 0x296, + [NavicoDataType.TrollingModeActive]: 0x297, + [NavicoDataType.TrollingModeActiveMaster]: 0x298, + [NavicoDataType.KeylessCommunicationState]: 0x299, + [NavicoDataType.LinearActuatorPosition]: 0x29a, + [NavicoDataType.EngineExhaustTemp]: 0x29b, + [NavicoDataType.EngineGuardianPowerLimit]: 0x29c, + [NavicoDataType.EngineState]: 0x29d, + [NavicoDataType.SailingTimeToBurn]: 0x29e, + [NavicoDataType.MastTwist]: 0x29f, + [NavicoDataType.VhfChannel]: 0x2a0, + [NavicoDataType.TrollingLowerUnitDirection]: 0x2a1, + [NavicoDataType.PropulsionBatteryStatus]: 0x2a2, + [NavicoDataType.PropulsionBatteryIsolationStatus]: 0x2a3, + [NavicoDataType.PropulsionBatteryError]: 0x2a4, + [NavicoDataType.PropulsionBatteryVoltage]: 0x2a5, + [NavicoDataType.PropulsionBatteryCurrent]: 0x2a6, + [NavicoDataType.PropulsionBatteryStateOfCharge]: 0x2a7, + [NavicoDataType.PropulsionBatteryTimeRemaining]: 0x2a8, + [NavicoDataType.PropulsionBatteryHighestCellTemperature]: 0x2a9, + [NavicoDataType.PropulsionBatteryLowestCellTemperature]: 0x2aa, + [NavicoDataType.PropulsionBatteryAverageCellTemperature]: 0x2ab, + [NavicoDataType.PropulsionBatteryMaximumDischargeCurrent]: 0x2ac, + [NavicoDataType.PropulsionBatteryMaximumChargeCurrent]: 0x2ad, + [NavicoDataType.PropulsionBatteryCoolingSystemStatus]: 0x2ae, + [NavicoDataType.PropulsionBatteryHeatingSystemStatus]: 0x2af, + [NavicoDataType.PropulsionBatteryStorageMode]: 0x2b0, + [NavicoDataType.PropulsionBatteryChemistry]: 0x2b1, + [NavicoDataType.PropulsionBatteryMaximumTemperatureDerating]: 0x2b2, + [NavicoDataType.PropulsionBatteryMaximumTemperatureShutoff]: 0x2b3, + [NavicoDataType.PropulsionBatteryMinimumTemperatureDerating]: 0x2b4, + [NavicoDataType.PropulsionBatteryMinimumTemperatureShutoff]: 0x2b5, + [NavicoDataType.PropulsionBatteryUsableEnergy]: 0x2b6, + [NavicoDataType.PropulsionBatteryStateOfHealth]: 0x2b7, + [NavicoDataType.PropulsionBatteryDischargeCyclesCount]: 0x2b8, + [NavicoDataType.PropulsionBatteryFullStatus]: 0x2b9, + [NavicoDataType.PropulsionBatteryEmptyStatus]: 0x2ba, + [NavicoDataType.PropulsionBatteryMaximumChargeSoc]: 0x2bb, + [NavicoDataType.PropulsionBatteryMinimumDischargeSoc]: 0x2bc, + [NavicoDataType.ActiveMotorMode]: 0x2bd, + [NavicoDataType.MotorBrakeMode]: 0x2be, + [NavicoDataType.MotorRotationalShaftSpeed]: 0x2bf, + [NavicoDataType.MotorVoltage]: 0x2c0, + [NavicoDataType.MotorCurrent]: 0x2c1, + [NavicoDataType.MotorOperatingMode]: 0x2c2, + [NavicoDataType.MotorTemperature]: 0x2c3, + [NavicoDataType.MotorInverterTemperature]: 0x2c4, + [NavicoDataType.MotorCoolantTemperature]: 0x2c5, + [NavicoDataType.MotorGearTemperature]: 0x2c6, + [NavicoDataType.MotorShaftTorquePercent]: 0x2c7, + [NavicoDataType.MotorVoltageType]: 0x2c8, + [NavicoDataType.MotorVoltageRating]: 0x2c9, + [NavicoDataType.MotorMaxContinuousPower]: 0x2ca, + [NavicoDataType.MotorMaxBoostPower]: 0x2cb, + [NavicoDataType.MotorMaxTemperatureRating]: 0x2cc, + [NavicoDataType.MotorRatedSpeed]: 0x2cd, + [NavicoDataType.MotorMaxControllerTemperatureRating]: 0x2ce, + [NavicoDataType.MotorShaftTorqueRating]: 0x2cf, + [NavicoDataType.MotorDcVoltageDeratingThreshold]: 0x2d0, + [NavicoDataType.MotorDcVoltageCutoffThreshold]: 0x2d1, + [NavicoDataType.MotorRuntime]: 0x2d2, + [NavicoDataType.SailingPingTimePort]: 0x2d3, + [NavicoDataType.SailingPingTimeStbd]: 0x2d4, + [NavicoDataType.HeadingSource]: 0x2d5, + [NavicoDataType.Invalid]: 0x2d6, } /** * @category Enumerations */ -export const WindlassMotionValues: {[key: string]: number} = { - [WindlassMotion.WindlassStopped]: 0x0, - [WindlassMotion.DeploymentOccurring]: 0x1, - [WindlassMotion.RetrievalOccurring]: 0x2, +export enum NavStatus { + UnderWayUsingEngine = 'Under way using engine', + AtAnchor = 'At anchor', + NotUnderCommand = 'Not under command', + RestrictedManeuverability = 'Restricted maneuverability', + ConstrainedByHerDraught = 'Constrained by her draught', + Moored = 'Moored', + Aground = 'Aground', + EngagedInFishing = 'Engaged in Fishing', + UnderWaySailing = 'Under way sailing', + HazardousMaterialHighSpeed = 'Hazardous material - High Speed', + HazardousMaterialWingInGround = 'Hazardous material - Wing in Ground', + PowerDrivenVesselTowingAstern = 'Power-driven vessel towing astern', + PowerDrivenVesselPushingAheadOrTowingAlongside = 'Power-driven vessel pushing ahead or towing alongside', + AisSart = 'AIS-SART', } /** * @category Enumerations */ -export enum RodeType { - ChainPresentlyDetected = 'Chain presently detected', - RopePresentlyDetected = 'Rope presently detected', +export const NavStatusValues: {[key: string]: number} = { + [NavStatus.UnderWayUsingEngine]: 0x0, + [NavStatus.AtAnchor]: 0x1, + [NavStatus.NotUnderCommand]: 0x2, + [NavStatus.RestrictedManeuverability]: 0x3, + [NavStatus.ConstrainedByHerDraught]: 0x4, + [NavStatus.Moored]: 0x5, + [NavStatus.Aground]: 0x6, + [NavStatus.EngagedInFishing]: 0x7, + [NavStatus.UnderWaySailing]: 0x8, + [NavStatus.HazardousMaterialHighSpeed]: 0x9, + [NavStatus.HazardousMaterialWingInGround]: 0xa, + [NavStatus.PowerDrivenVesselTowingAstern]: 0xb, + [NavStatus.PowerDrivenVesselPushingAheadOrTowingAlongside]: 0xc, + [NavStatus.AisSart]: 0xe, } /** * @category Enumerations */ -export const RodeTypeValues: {[key: string]: number} = { - [RodeType.ChainPresentlyDetected]: 0x0, - [RodeType.RopePresentlyDetected]: 0x1, +export enum OffOn { + Off = 'Off', + On = 'On', } /** * @category Enumerations */ -export enum DockingStatus { - NotDocked = 'Not docked', - FullyDocked = 'Fully docked', +export const OffOnValues: {[key: string]: number} = { + [OffOn.Off]: 0x0, + [OffOn.On]: 0x1, } /** * @category Enumerations */ -export const DockingStatusValues: {[key: string]: number} = { - [DockingStatus.NotDocked]: 0x0, - [DockingStatus.FullyDocked]: 0x1, +export enum OffOnControl { + Off = 'Off', + On = 'On', + Reserved = 'Reserved', + TakeNoActionnoChange = 'Take no action (no change)', } /** * @category Enumerations */ -export enum AisType { - Sotdma = 'SOTDMA', - Cs = 'CS', +export const OffOnControlValues: {[key: string]: number} = { + [OffOnControl.Off]: 0x0, + [OffOnControl.On]: 0x1, + [OffOnControl.Reserved]: 0x2, + [OffOnControl.TakeNoActionnoChange]: 0x3, } /** * @category Enumerations */ -export const AisTypeValues: {[key: string]: number} = { - [AisType.Sotdma]: 0x0, - [AisType.Cs]: 0x1, +export enum OkWarning { + Ok = 'OK', + Warning = 'Warning', } /** * @category Enumerations */ -export enum AisBand { - Top525KHzOfMarineBand = 'Top 525 kHz of marine band', - EntireMarineBand = 'Entire marine band', +export const OkWarningValues: {[key: string]: number} = { + [OkWarning.Ok]: 0x0, + [OkWarning.Warning]: 0x1, } /** * @category Enumerations */ -export const AisBandValues: {[key: string]: number} = { - [AisBand.Top525KHzOfMarineBand]: 0x0, - [AisBand.EntireMarineBand]: 0x1, +export enum ParameterField { + Acknowledge = 'Acknowledge', + InvalidParameterField = 'Invalid parameter field', + TemporaryError = 'Temporary error', + ParameterOutOfRange = 'Parameter out of range', + AccessDenied = 'Access denied', + NotSupported = 'Not supported', + ReadOrWriteNotSupported = 'Read or Write not supported', } /** * @category Enumerations */ -export enum AisMode { - Autonomous = 'Autonomous', - Assigned = 'Assigned', +export const ParameterFieldValues: {[key: string]: number} = { + [ParameterField.Acknowledge]: 0x0, + [ParameterField.InvalidParameterField]: 0x1, + [ParameterField.TemporaryError]: 0x2, + [ParameterField.ParameterOutOfRange]: 0x3, + [ParameterField.AccessDenied]: 0x4, + [ParameterField.NotSupported]: 0x5, + [ParameterField.ReadOrWriteNotSupported]: 0x6, } /** * @category Enumerations */ -export const AisModeValues: {[key: string]: number} = { - [AisMode.Autonomous]: 0x0, - [AisMode.Assigned]: 0x1, +export enum PgnErrorCode { + Acknowledge = 'Acknowledge', + PgnNotSupported = 'PGN not supported', + PgnNotAvailable = 'PGN not available', + AccessDenied = 'Access denied', + NotSupported = 'Not supported', + TagNotSupported = 'Tag not supported', + ReadOrWriteNotSupported = 'Read or Write not supported', } /** * @category Enumerations */ -export enum AisCommunicationState { - Sotdma = 'SOTDMA', - Itdma = 'ITDMA', +export const PgnErrorCodeValues: {[key: string]: number} = { + [PgnErrorCode.Acknowledge]: 0x0, + [PgnErrorCode.PgnNotSupported]: 0x1, + [PgnErrorCode.PgnNotAvailable]: 0x2, + [PgnErrorCode.AccessDenied]: 0x3, + [PgnErrorCode.NotSupported]: 0x4, + [PgnErrorCode.TagNotSupported]: 0x5, + [PgnErrorCode.ReadOrWriteNotSupported]: 0x6, } /** * @category Enumerations */ -export const AisCommunicationStateValues: {[key: string]: number} = { - [AisCommunicationState.Sotdma]: 0x0, - [AisCommunicationState.Itdma]: 0x1, +export enum PgnListFunction { + TransmitPgnList = 'Transmit PGN list', + ReceivePgnList = 'Receive PGN list', } /** * @category Enumerations */ -export enum Available { - Available = 'Available', - NotAvailable = 'Not available', +export const PgnListFunctionValues: {[key: string]: number} = { + [PgnListFunction.TransmitPgnList]: 0x0, + [PgnListFunction.ReceivePgnList]: 0x1, } /** * @category Enumerations */ -export const AvailableValues: {[key: string]: number} = { - [Available.Available]: 0x0, - [Available.NotAvailable]: 0x1, +export enum PositionAccuracy { + Low = 'Low', + High = 'High', } /** * @category Enumerations */ -export enum BearingMode { - GreatCircle = 'Great Circle', - Rhumbline = 'Rhumbline', +export const PositionAccuracyValues: {[key: string]: number} = { + [PositionAccuracy.Low]: 0x0, + [PositionAccuracy.High]: 0x1, } /** * @category Enumerations */ -export const BearingModeValues: {[key: string]: number} = { - [BearingMode.GreatCircle]: 0x0, - [BearingMode.Rhumbline]: 0x1, +export enum PositionFixDevice { + DefaultUndefined = 'Default: undefined', + Gps = 'GPS', + Glonass = 'GLONASS', + CombinedGpsglonass = 'Combined GPS/GLONASS', + LoranC = 'Loran-C', + Chayka = 'Chayka', + IntegratedNavigationSystem = 'Integrated navigation system', + Surveyed = 'Surveyed', + Galileo = 'Galileo', } /** * @category Enumerations */ -export enum MarkType { - Collision = 'Collision', - TurningPoint = 'Turning point', - Reference = 'Reference', - Wheelover = 'Wheelover', - Waypoint = 'Waypoint', +export const PositionFixDeviceValues: {[key: string]: number} = { + [PositionFixDevice.DefaultUndefined]: 0x0, + [PositionFixDevice.Gps]: 0x1, + [PositionFixDevice.Glonass]: 0x2, + [PositionFixDevice.CombinedGpsglonass]: 0x3, + [PositionFixDevice.LoranC]: 0x4, + [PositionFixDevice.Chayka]: 0x5, + [PositionFixDevice.IntegratedNavigationSystem]: 0x6, + [PositionFixDevice.Surveyed]: 0x7, + [PositionFixDevice.Galileo]: 0x8, } /** * @category Enumerations */ -export const MarkTypeValues: {[key: string]: number} = { - [MarkType.Collision]: 0x0, - [MarkType.TurningPoint]: 0x1, - [MarkType.Reference]: 0x2, - [MarkType.Wheelover]: 0x3, - [MarkType.Waypoint]: 0x4, +export enum PowerFactor { + Leading = 'Leading', + Lagging = 'Lagging', + Error = 'Error', } /** * @category Enumerations */ -export enum GnssMode { - _1D = '1D', - _2D = '2D', - _3D = '3D', - Auto = 'Auto', +export const PowerFactorValues: {[key: string]: number} = { + [PowerFactor.Leading]: 0x0, + [PowerFactor.Lagging]: 0x1, + [PowerFactor.Error]: 0x2, } /** * @category Enumerations */ -export const GnssModeValues: {[key: string]: number} = { - [GnssMode._1D]: 0x0, - [GnssMode._2D]: 0x1, - [GnssMode._3D]: 0x2, - [GnssMode.Auto]: 0x3, +export enum PowerMode { + High = 'High', + Low = 'Low', } /** * @category Enumerations */ -export enum RangeResidualMode { - RangeResidualsWereUsedToCalculateData = 'Range residuals were used to calculate data', - RangeResidualsWereCalculatedAfterThePosition = 'Range residuals were calculated after the position', +export const PowerModeValues: {[key: string]: number} = { + [PowerMode.High]: 0x0, + [PowerMode.Low]: 0x1, } /** * @category Enumerations */ -export const RangeResidualModeValues: {[key: string]: number} = { - [RangeResidualMode.RangeResidualsWereUsedToCalculateData]: 0x0, - [RangeResidualMode.RangeResidualsWereCalculatedAfterThePosition]: 0x1, +export enum PressureSource { + Atmospheric = 'Atmospheric', + Water = 'Water', + Steam = 'Steam', + CompressedAir = 'Compressed Air', + Hydraulic = 'Hydraulic', + Filter = 'Filter', + AltimeterSetting = 'AltimeterSetting', + Oil = 'Oil', + Fuel = 'Fuel', } /** * @category Enumerations */ -export enum DgnssMode { - None = 'None', - SbasIfAvailable = 'SBAS if available', - Sbas = 'SBAS', +export const PressureSourceValues: {[key: string]: number} = { + [PressureSource.Atmospheric]: 0x0, + [PressureSource.Water]: 0x1, + [PressureSource.Steam]: 0x2, + [PressureSource.CompressedAir]: 0x3, + [PressureSource.Hydraulic]: 0x4, + [PressureSource.Filter]: 0x5, + [PressureSource.AltimeterSetting]: 0x6, + [PressureSource.Oil]: 0x7, + [PressureSource.Fuel]: 0x8, } /** * @category Enumerations */ -export const DgnssModeValues: {[key: string]: number} = { - [DgnssMode.None]: 0x0, - [DgnssMode.SbasIfAvailable]: 0x1, - [DgnssMode.Sbas]: 0x3, +export enum Priority { + _0 = '0', + _1 = '1', + _2 = '2', + _3 = '3', + _4 = '4', + _5 = '5', + _6 = '6', + _7 = '7', + LeaveUnchanged = 'Leave unchanged', + ResetToDefault = 'Reset to default', } /** * @category Enumerations */ -export enum SatelliteStatus { - NotTracked = 'Not tracked', - Tracked = 'Tracked', - Used = 'Used', - NotTrackedPlusdiff = 'Not tracked+Diff', - TrackedPlusdiff = 'Tracked+Diff', - UsedPlusdiff = 'Used+Diff', +export const PriorityValues: {[key: string]: number} = { + [Priority._0]: 0x0, + [Priority._1]: 0x1, + [Priority._2]: 0x2, + [Priority._3]: 0x3, + [Priority._4]: 0x4, + [Priority._5]: 0x5, + [Priority._6]: 0x6, + [Priority._7]: 0x7, + [Priority.LeaveUnchanged]: 0x8, + [Priority.ResetToDefault]: 0x9, } /** * @category Enumerations */ -export const SatelliteStatusValues: {[key: string]: number} = { - [SatelliteStatus.NotTracked]: 0x0, - [SatelliteStatus.Tracked]: 0x1, - [SatelliteStatus.Used]: 0x2, - [SatelliteStatus.NotTrackedPlusdiff]: 0x3, - [SatelliteStatus.TrackedPlusdiff]: 0x4, - [SatelliteStatus.UsedPlusdiff]: 0x5, +export enum RaimFlag { + NotInUse = 'not in use', + InUse = 'in use', } /** * @category Enumerations */ -export enum AisVersion { - ItuRM13711 = 'ITU-R M.1371-1', - ItuRM13713 = 'ITU-R M.1371-3', - ItuRM13715 = 'ITU-R M.1371-5', - ItuRM1371FutureEdition = 'ITU-R M.1371 future edition', +export const RaimFlagValues: {[key: string]: number} = { + [RaimFlag.NotInUse]: 0x0, + [RaimFlag.InUse]: 0x1, } /** * @category Enumerations */ -export const AisVersionValues: {[key: string]: number} = { - [AisVersion.ItuRM13711]: 0x0, - [AisVersion.ItuRM13713]: 0x1, - [AisVersion.ItuRM13715]: 0x2, - [AisVersion.ItuRM1371FutureEdition]: 0x3, +export enum RangeResidualMode { + RangeResidualsWereUsedToCalculateData = 'Range residuals were used to calculate data', + RangeResidualsWereCalculatedAfterThePosition = 'Range residuals were calculated after the position', } /** * @category Enumerations */ -export enum Tide { - Falling = 'Falling', - Rising = 'Rising', +export const RangeResidualModeValues: {[key: string]: number} = { + [RangeResidualMode.RangeResidualsWereUsedToCalculateData]: 0x0, + [RangeResidualMode.RangeResidualsWereCalculatedAfterThePosition]: 0x1, } /** * @category Enumerations */ -export const TideValues: {[key: string]: number} = { - [Tide.Falling]: 0x0, - [Tide.Rising]: 0x1, +export enum RepeatIndicator { + Initial = 'Initial', + FirstRetransmission = 'First retransmission', + SecondRetransmission = 'Second retransmission', + FinalRetransmission = 'Final retransmission', } /** * @category Enumerations */ -export enum WatermakerState { - Stopped = 'Stopped', - Starting = 'Starting', - Running = 'Running', - Stopping = 'Stopping', - Flushing = 'Flushing', - Rinsing = 'Rinsing', - Initiating = 'Initiating', - Manual = 'Manual', +export const RepeatIndicatorValues: {[key: string]: number} = { + [RepeatIndicator.Initial]: 0x0, + [RepeatIndicator.FirstRetransmission]: 0x1, + [RepeatIndicator.SecondRetransmission]: 0x2, + [RepeatIndicator.FinalRetransmission]: 0x3, } /** * @category Enumerations */ -export const WatermakerStateValues: {[key: string]: number} = { - [WatermakerState.Stopped]: 0x0, - [WatermakerState.Starting]: 0x1, - [WatermakerState.Running]: 0x2, - [WatermakerState.Stopping]: 0x3, - [WatermakerState.Flushing]: 0x4, - [WatermakerState.Rinsing]: 0x5, - [WatermakerState.Initiating]: 0x6, - [WatermakerState.Manual]: 0x7, +export enum ReportingInterval { + AsGivenByTheAutonomousMode = 'As given by the autonomous mode', + _10Min = '10 min', + _6Min = '6 min', + _3Min = '3 min', + _1Min = '1 min', + _30Sec = '30 sec', + _15Sec = '15 sec', + _10Sec = '10 sec', + _5Sec = '5 sec', + _2SecnotApplicableToClassBCs = '2 sec (not applicable to Class B CS)', + NextShorterReportingInterval = 'Next shorter reporting interval', + NextLongerReportingInterval = 'Next longer reporting interval', } /** * @category Enumerations */ -export enum EntertainmentIdType { - Group = 'Group', - File = 'File', - EncryptedGroup = 'Encrypted group', - EncryptedFile = 'Encrypted file', +export const ReportingIntervalValues: {[key: string]: number} = { + [ReportingInterval.AsGivenByTheAutonomousMode]: 0x0, + [ReportingInterval._10Min]: 0x1, + [ReportingInterval._6Min]: 0x2, + [ReportingInterval._3Min]: 0x3, + [ReportingInterval._1Min]: 0x4, + [ReportingInterval._30Sec]: 0x5, + [ReportingInterval._15Sec]: 0x6, + [ReportingInterval._10Sec]: 0x7, + [ReportingInterval._5Sec]: 0x8, + [ReportingInterval._2SecnotApplicableToClassBCs]: 0x9, + [ReportingInterval.NextShorterReportingInterval]: 0xa, + [ReportingInterval.NextLongerReportingInterval]: 0xb, } /** * @category Enumerations */ -export const EntertainmentIdTypeValues: {[key: string]: number} = { - [EntertainmentIdType.Group]: 0x0, - [EntertainmentIdType.File]: 0x1, - [EntertainmentIdType.EncryptedGroup]: 0x2, - [EntertainmentIdType.EncryptedFile]: 0x3, +export enum ResidualMode { + Autonomous = 'Autonomous', + DifferentialEnhanced = 'Differential enhanced', + Estimated = 'Estimated', + Simulator = 'Simulator', + Manual = 'Manual', } /** * @category Enumerations */ -export enum EntertainmentDefaultSettings { - SaveCurrentSettingsAsUserDefault = 'Save current settings as user default', - LoadUserDefault = 'Load user default', - LoadManufacturerDefault = 'Load manufacturer default', +export const ResidualModeValues: {[key: string]: number} = { + [ResidualMode.Autonomous]: 0x0, + [ResidualMode.DifferentialEnhanced]: 0x1, + [ResidualMode.Estimated]: 0x2, + [ResidualMode.Simulator]: 0x3, + [ResidualMode.Manual]: 0x4, } /** * @category Enumerations */ -export const EntertainmentDefaultSettingsValues: {[key: string]: number} = { - [EntertainmentDefaultSettings.SaveCurrentSettingsAsUserDefault]: 0x0, - [EntertainmentDefaultSettings.LoadUserDefault]: 0x1, - [EntertainmentDefaultSettings.LoadManufacturerDefault]: 0x2, +export enum RodeType { + ChainPresentlyDetected = 'Chain presently detected', + RopePresentlyDetected = 'Rope presently detected', } /** * @category Enumerations */ -export enum EntertainmentRegions { - Usa = 'USA', - Europe = 'Europe', - Asia = 'Asia', - MiddleEast = 'Middle East', - LatinAmerica = 'Latin America', - Australia = 'Australia', - Russia = 'Russia', - Japan = 'Japan', +export const RodeTypeValues: {[key: string]: number} = { + [RodeType.ChainPresentlyDetected]: 0x0, + [RodeType.RopePresentlyDetected]: 0x1, } /** * @category Enumerations */ -export const EntertainmentRegionsValues: {[key: string]: number} = { - [EntertainmentRegions.Usa]: 0x0, - [EntertainmentRegions.Europe]: 0x1, - [EntertainmentRegions.Asia]: 0x2, - [EntertainmentRegions.MiddleEast]: 0x3, - [EntertainmentRegions.LatinAmerica]: 0x4, - [EntertainmentRegions.Australia]: 0x5, - [EntertainmentRegions.Russia]: 0x6, - [EntertainmentRegions.Japan]: 0x7, +export enum SatelliteStatus { + NotTracked = 'Not tracked', + Tracked = 'Tracked', + Used = 'Used', + NotTrackedPlusdiff = 'Not tracked+Diff', + TrackedPlusdiff = 'Tracked+Diff', + UsedPlusdiff = 'Used+Diff', } /** * @category Enumerations */ -export enum VideoProtocols { - Pal = 'PAL', - Ntsc = 'NTSC', +export const SatelliteStatusValues: {[key: string]: number} = { + [SatelliteStatus.NotTracked]: 0x0, + [SatelliteStatus.Tracked]: 0x1, + [SatelliteStatus.Used]: 0x2, + [SatelliteStatus.NotTrackedPlusdiff]: 0x3, + [SatelliteStatus.TrackedPlusdiff]: 0x4, + [SatelliteStatus.UsedPlusdiff]: 0x5, } /** * @category Enumerations */ -export const VideoProtocolsValues: {[key: string]: number} = { - [VideoProtocols.Pal]: 0x0, - [VideoProtocols.Ntsc]: 0x1, +export enum SbasSv { + _120 = '120', + _121 = '121', + _122 = '122', + _123 = '123', + _124 = '124', + _125 = '125', + _126 = '126', + _127 = '127', + _128 = '128', + _129 = '129', + _130 = '130', + _131 = '131', + _132 = '132', + _133 = '133', + _134 = '134', + _135 = '135', + _136 = '136', + _137 = '137', + _138 = '138', } /** * @category Enumerations */ -export enum EntertainmentVolumeControl { - Up = 'Up', - Down = 'Down', +export const SbasSvValues: {[key: string]: number} = { + [SbasSv._120]: 0x0, + [SbasSv._121]: 0x1, + [SbasSv._122]: 0x2, + [SbasSv._123]: 0x3, + [SbasSv._124]: 0x4, + [SbasSv._125]: 0x5, + [SbasSv._126]: 0x6, + [SbasSv._127]: 0x7, + [SbasSv._128]: 0x8, + [SbasSv._129]: 0x9, + [SbasSv._130]: 0xa, + [SbasSv._131]: 0xb, + [SbasSv._132]: 0xc, + [SbasSv._133]: 0xd, + [SbasSv._134]: 0xe, + [SbasSv._135]: 0xf, + [SbasSv._136]: 0x10, + [SbasSv._137]: 0x11, + [SbasSv._138]: 0x12, } /** * @category Enumerations */ -export const EntertainmentVolumeControlValues: {[key: string]: number} = { - [EntertainmentVolumeControl.Up]: 0x0, - [EntertainmentVolumeControl.Down]: 0x1, +export enum Seatalk1Command { + DepthBelowTransducer = 'Depth Below Transducer', + EquipmentId = 'Equipment ID', + EngineRpmAndPitch = 'Engine RPM and PITCH', + ApparentWindAngle = 'Apparent Wind Angle', + ApparentWindSpeed = 'Apparent Wind Speed', + SpeedThroughWater = 'Speed through water', + TripMileage = 'Trip Mileage', + TotalMileage = 'Total Mileage', + WaterTemperaturest50 = 'Water temperature (ST50)', + DisplayUnitsForMileageSpeed = 'Display units for Mileage & Speed', + TotalTripLog = 'Total & Trip Log', + SpeedThroughWaterwithAverage = 'Speed through water (with average)', + WaterTemperature = 'Water temperature', + SetLampIntensity = 'Set lamp Intensity', + CancelMobmanOverBoardCondition = 'Cancel MOB (Man Over Board) condition', + CodelockData = 'Codelock data', + LatPosition = 'LAT position', + LonPosition = 'LON position', + SpeedOverGround = 'Speed over Ground', + CourseOverGroundcog = 'Course over Ground (COG)', + GmtTime = 'GMT-time', + TrackKeystrokeOnGpsUnit = 'TRACK keystroke on GPS unit', + Date = 'Date', + SatInfo = 'Sat Info', + LatlonrawUnfiltered = 'LAT/LON (raw unfiltered)', + SetCountDownTimer = 'Set Count Down Timer', + IssuedByE80MultifunctionDisplayAtInitialization = 'Issued by E-80 multifunction display at initialization', + SelectFathomDisplayUnitsForDepthDisplay = 'Select Fathom display units for depth display', + WindAlarm = 'Wind alarm', + AlarmAcknowledgmentKeystroke = 'Alarm acknowledgment keystroke', + SecondEquipmentIdDatagram = 'Second equipment-ID datagram', + MobmanOverBoard = 'MOB (Man Over Board)', + KeystrokeOnRaymarineA25006St60MaxiviewRemoteControl = 'Keystroke on Raymarine A25006 ST60 Maxiview Remote Control', + SentByCourseComputerDuringSetup = 'Sent by course computer during setup', + TargetWaypointName = 'Target waypoint name', + SentByCourseComputer = 'Sent by course computer', + CompassHeadingAutopilotCourseAndRudderPosition = 'Compass heading Autopilot course and Rudder position', + NavigationToWaypointInformation = 'Navigation to waypoint information', + Keystroke = 'Keystroke', + SetResponseLevel = 'Set Response level', + AutopilotParameter = 'Autopilot Parameter', + CompassHeadingSentBySt40CompassInstrument = 'Compass heading sent by ST40 compass instrument', + DeviceIndentification = 'Device Indentification', + SetRudderGain = 'Set Rudder gain', + SetAutopilotParameter = 'Set Autopilot Parameter', + EnterApSetup = 'Enter AP-Setup', + ReplacesCommand84WhileAutopilotIsInValueSettingMode = 'Replaces command 84 while autopilot is in value setting mode', + CompassVariation = 'Compass variation', + VersionString = 'Version String', + CompassHeadingAndRudderPosition = 'Compass heading and Rudder position', + WaypointDefinition = 'Waypoint definition', + DestinationWaypointInfo = 'Destination Waypoint Info', + ArrivalInfo = 'Arrival Info', + BroadcastQueryresponseToIdentifyDevices = 'Broadcast query/response to identify devices', + GpsAndDgpsInfo = 'GPS and DGPS Info', + UnknownMeaning = 'Unknown meaning', + AlarmOnoffForGuard = 'Alarm ON/OFF for Guard', } /** * @category Enumerations */ -export enum BluetoothStatus { - Connected = 'Connected', - NotConnected = 'Not connected', - NotPaired = 'Not paired', +export const Seatalk1CommandValues: {[key: string]: number} = { + [Seatalk1Command.DepthBelowTransducer]: 0x0, + [Seatalk1Command.EquipmentId]: 0x1, + [Seatalk1Command.EngineRpmAndPitch]: 0x5, + [Seatalk1Command.ApparentWindAngle]: 0x10, + [Seatalk1Command.ApparentWindSpeed]: 0x11, + [Seatalk1Command.SpeedThroughWater]: 0x20, + [Seatalk1Command.TripMileage]: 0x21, + [Seatalk1Command.TotalMileage]: 0x22, + [Seatalk1Command.WaterTemperaturest50]: 0x23, + [Seatalk1Command.DisplayUnitsForMileageSpeed]: 0x24, + [Seatalk1Command.TotalTripLog]: 0x25, + [Seatalk1Command.SpeedThroughWaterwithAverage]: 0x26, + [Seatalk1Command.WaterTemperature]: 0x27, + [Seatalk1Command.SetLampIntensity]: 0x30, + [Seatalk1Command.CancelMobmanOverBoardCondition]: 0x36, + [Seatalk1Command.CodelockData]: 0x38, + [Seatalk1Command.LatPosition]: 0x50, + [Seatalk1Command.LonPosition]: 0x51, + [Seatalk1Command.SpeedOverGround]: 0x52, + [Seatalk1Command.CourseOverGroundcog]: 0x53, + [Seatalk1Command.GmtTime]: 0x54, + [Seatalk1Command.TrackKeystrokeOnGpsUnit]: 0x55, + [Seatalk1Command.Date]: 0x56, + [Seatalk1Command.SatInfo]: 0x57, + [Seatalk1Command.LatlonrawUnfiltered]: 0x58, + [Seatalk1Command.SetCountDownTimer]: 0x59, + [Seatalk1Command.IssuedByE80MultifunctionDisplayAtInitialization]: 0x61, + [Seatalk1Command.SelectFathomDisplayUnitsForDepthDisplay]: 0x65, + [Seatalk1Command.WindAlarm]: 0x66, + [Seatalk1Command.AlarmAcknowledgmentKeystroke]: 0x68, + [Seatalk1Command.SecondEquipmentIdDatagram]: 0x6c, + [Seatalk1Command.MobmanOverBoard]: 0x6e, + [Seatalk1Command.KeystrokeOnRaymarineA25006St60MaxiviewRemoteControl]: 0x70, + SetLampIntensity2: 0x80, + [Seatalk1Command.SentByCourseComputerDuringSetup]: 0x81, + [Seatalk1Command.TargetWaypointName]: 0x82, + [Seatalk1Command.SentByCourseComputer]: 0x83, + [Seatalk1Command.CompassHeadingAutopilotCourseAndRudderPosition]: 0x84, + [Seatalk1Command.NavigationToWaypointInformation]: 0x85, + [Seatalk1Command.Keystroke]: 0x86, + [Seatalk1Command.SetResponseLevel]: 0x87, + [Seatalk1Command.AutopilotParameter]: 0x88, + [Seatalk1Command.CompassHeadingSentBySt40CompassInstrument]: 0x89, + [Seatalk1Command.DeviceIndentification]: 0x90, + [Seatalk1Command.SetRudderGain]: 0x91, + [Seatalk1Command.SetAutopilotParameter]: 0x92, + [Seatalk1Command.EnterApSetup]: 0x93, + [Seatalk1Command.ReplacesCommand84WhileAutopilotIsInValueSettingMode]: 0x95, + [Seatalk1Command.CompassVariation]: 0x99, + [Seatalk1Command.VersionString]: 0x9a, + [Seatalk1Command.CompassHeadingAndRudderPosition]: 0x9c, + [Seatalk1Command.WaypointDefinition]: 0x9e, + [Seatalk1Command.DestinationWaypointInfo]: 0xa1, + [Seatalk1Command.ArrivalInfo]: 0xa2, + [Seatalk1Command.BroadcastQueryresponseToIdentifyDevices]: 0xa4, + [Seatalk1Command.GpsAndDgpsInfo]: 0xa5, + [Seatalk1Command.UnknownMeaning]: 0xa7, + [Seatalk1Command.AlarmOnoffForGuard]: 0xa8, + AlarmOnoffForGuard2: 0xab, } /** * @category Enumerations */ -export const BluetoothStatusValues: {[key: string]: number} = { - [BluetoothStatus.Connected]: 0x0, - [BluetoothStatus.NotConnected]: 0x1, - [BluetoothStatus.NotPaired]: 0x2, +export enum SeatalkAlarmGroup { + Instrument = 'Instrument', + Autopilot = 'Autopilot', + Radar = 'Radar', + ChartPlotter = 'Chart Plotter', + Ais = 'AIS', + BluetoothAccessory = 'Bluetooth Accessory', } /** * @category Enumerations */ -export enum BluetoothSourceStatus { - Reserved = 'Reserved', - Connected = 'Connected', - Connecting = 'Connecting', - NotConnected = 'Not connected', +export const SeatalkAlarmGroupValues: {[key: string]: number} = { + [SeatalkAlarmGroup.Instrument]: 0x0, + [SeatalkAlarmGroup.Autopilot]: 0x1, + [SeatalkAlarmGroup.Radar]: 0x2, + [SeatalkAlarmGroup.ChartPlotter]: 0x3, + [SeatalkAlarmGroup.Ais]: 0x4, + [SeatalkAlarmGroup.BluetoothAccessory]: 0x5, } /** * @category Enumerations */ -export const BluetoothSourceStatusValues: {[key: string]: number} = { - [BluetoothSourceStatus.Reserved]: 0x0, - [BluetoothSourceStatus.Connected]: 0x1, - [BluetoothSourceStatus.Connecting]: 0x2, - [BluetoothSourceStatus.NotConnected]: 0x3, +export enum SeatalkAlarmId { + NoAlarm = 'No Alarm', + ShallowDepth = 'Shallow Depth', + DeepDepth = 'Deep Depth', + ShallowAnchor = 'Shallow Anchor', + DeepAnchor = 'Deep Anchor', + OffCourse = 'Off Course', + AwaHigh = 'AWA High', + AwaLow = 'AWA Low', + AwsHigh = 'AWS High', + AwsLow = 'AWS Low', + TwaHigh = 'TWA High', + TwaLow = 'TWA Low', + TwsHigh = 'TWS High', + TwsLow = 'TWS Low', + WpArrival = 'WP Arrival', + BoatSpeedHigh = 'Boat Speed High', + BoatSpeedLow = 'Boat Speed Low', + SeaTemperatureHigh = 'Sea Temperature High', + SeaTemperatureLow = 'Sea Temperature Low', + PilotWatch = 'Pilot Watch', + PilotOffCourse = 'Pilot Off Course', + PilotWindShift = 'Pilot Wind Shift', + PilotLowBattery = 'Pilot Low Battery', + PilotLastMinuteOfWatch = 'Pilot Last Minute Of Watch', + PilotNoNmeaData = 'Pilot No NMEA Data', + PilotLargeXte = 'Pilot Large XTE', + PilotNmeaDataError = 'Pilot NMEA DataError', + PilotCuDisconnected = 'Pilot CU Disconnected', + PilotAutoRelease = 'Pilot Auto Release', + PilotWayPointAdvance = 'Pilot Way Point Advance', + PilotDriveStopped = 'Pilot Drive Stopped', + PilotTypeUnspecified = 'Pilot Type Unspecified', + PilotCalibrationRequired = 'Pilot Calibration Required', + PilotLastHeading = 'Pilot Last Heading', + PilotNoPilot = 'Pilot No Pilot', + PilotRouteComplete = 'Pilot Route Complete', + PilotVariableText = 'Pilot Variable Text', + GpsFailure = 'GPS Failure', + Mob = 'MOB', + Seatalk1Anchor = 'Seatalk1 Anchor', + PilotSwappedMotorPower = 'Pilot Swapped Motor Power', + PilotStandbyTooFastToFish = 'Pilot Standby Too Fast To Fish', + PilotNoGpsFix = 'Pilot No GPS Fix', + PilotNoGpsCog = 'Pilot No GPS COG', + PilotStartUp = 'Pilot Start Up', + PilotTooSlow = 'Pilot Too Slow', + PilotNoCompass = 'Pilot No Compass', + PilotRateGyroFault = 'Pilot Rate Gyro Fault', + PilotCurrentLimit = 'Pilot Current Limit', + PilotWayPointAdvancePort = 'Pilot Way Point Advance Port', + PilotWayPointAdvanceStbd = 'Pilot Way Point Advance Stbd', + PilotNoWindData = 'Pilot No Wind Data', + PilotNoSpeedData = 'Pilot No Speed Data', + PilotSeatalkFail1 = 'Pilot Seatalk Fail1', + PilotSeatalkFail2 = 'Pilot Seatalk Fail2', + PilotWarningTooFastToFish = 'Pilot Warning Too Fast To Fish', + PilotAutoDocksideFail = 'Pilot Auto Dockside Fail', + PilotTurnTooFast = 'Pilot Turn Too Fast', + PilotNoNavData = 'Pilot No Nav Data', + PilotLostWaypointData = 'Pilot Lost Waypoint Data', + PilotEepromCorrupt = 'Pilot EEPROM Corrupt', + PilotRudderFeedbackFail = 'Pilot Rudder Feedback Fail', + PilotAutolearnFail1 = 'Pilot Autolearn Fail1', + PilotAutolearnFail2 = 'Pilot Autolearn Fail2', + PilotAutolearnFail3 = 'Pilot Autolearn Fail3', + PilotAutolearnFail4 = 'Pilot Autolearn Fail4', + PilotAutolearnFail5 = 'Pilot Autolearn Fail5', + PilotAutolearnFail6 = 'Pilot Autolearn Fail6', + PilotWarningCalRequired = 'Pilot Warning Cal Required', + PilotWarningOffCourse = 'Pilot Warning OffCourse', + PilotWarningXte = 'Pilot Warning XTE', + PilotWarningWindShift = 'Pilot Warning Wind Shift', + PilotWarningDriveShort = 'Pilot Warning Drive Short', + PilotWarningClutchShort = 'Pilot Warning Clutch Short', + PilotWarningSolenoidShort = 'Pilot Warning Solenoid Short', + PilotJoystickFault = 'Pilot Joystick Fault', + PilotNoJoystickData = 'Pilot No Joystick Data', + PilotInvalidCommand = 'Pilot Invalid Command', + AisTxMalfunction = 'AIS TX Malfunction', + AisAntennaVswrFault = 'AIS Antenna VSWR fault', + AisRxChannel1Malfunction = 'AIS Rx channel 1 malfunction', + AisRxChannel2Malfunction = 'AIS Rx channel 2 malfunction', + AisNoSensorPositionInUse = 'AIS No sensor position in use', + AisNoValidSogInformation = 'AIS No valid SOG information', + AisNoValidCogInformation = 'AIS No valid COG information', + Ais12VAlarm = 'AIS 12V alarm', + Ais6VAlarm = 'AIS 6V alarm', + AisNoiseThresholdExceededChannelA = 'AIS Noise threshold exceeded channel A', + AisNoiseThresholdExceededChannelB = 'AIS Noise threshold exceeded channel B', + AisTransmitterPaFault = 'AIS Transmitter PA fault', + Ais3V3Alarm = 'AIS 3V3 alarm', + AisRxChannel70Malfunction = 'AIS Rx channel 70 malfunction', + AisHeadingLostinvalid = 'AIS Heading lost/invalid', + AisInternalGpsLost = 'AIS internal GPS lost', + AisNoSensorPosition = 'AIS No sensor position', + AisLockFailure = 'AIS Lock failure', + AisInternalGgaTimeout = 'AIS Internal GGA timeout', + AisProtocolStackRestart = 'AIS Protocol stack restart', + PilotNoIpsCommunications = 'Pilot No IPS communications', + PilotPowerOnOrSleepSwitchResetWhileEngaged = 'Pilot Power-On or Sleep-Switch Reset While Engaged', + PilotUnexpectedResetWhileEngaged = 'Pilot Unexpected Reset While Engaged', + AisDangerousTarget = 'AIS Dangerous Target', + AisLostTarget = 'AIS Lost Target', + AisSafetyRelatedMessageusedToSilence = 'AIS Safety Related Message (used to silence)', + AisConnectionLost = 'AIS Connection Lost', + NoFix = 'No Fix', + PilotCompassCalibrationComplete = 'Pilot Compass Calibration Complete', + AisTransmitterDisabledMmsiRequired = 'AIS Transmitter Disabled - MMSI Required', + BluetoothDeviceLowBattery = 'Bluetooth Device Low Battery', + BluetoothDeviceSleepMode = 'Bluetooth Device Sleep Mode', + BluetoothDeviceHighBatteryTemperature = 'Bluetooth Device High Battery Temperature', + BluetoothDeviceLostCommunications = 'Bluetooth Device Lost Communications', } /** * @category Enumerations */ -export enum SonichubCommand { - Init2 = 'Init #2', - AmRadio = 'AM Radio', - ZoneInfo = 'Zone Info', - Source = 'Source', - SourceList = 'Source List', - Control = 'Control', - FmRadio = 'FM Radio', - Playlist = 'Playlist', - Track = 'Track', - Artist = 'Artist', - Album = 'Album', - MenuItem = 'Menu Item', - Zones = 'Zones', - MaxVolume = 'Max Volume', - Volume = 'Volume', - Init1 = 'Init #1', - Position = 'Position', - Init3 = 'Init #3', +export const SeatalkAlarmIdValues: {[key: string]: number} = { + [SeatalkAlarmId.NoAlarm]: 0x0, + [SeatalkAlarmId.ShallowDepth]: 0x1, + [SeatalkAlarmId.DeepDepth]: 0x2, + [SeatalkAlarmId.ShallowAnchor]: 0x3, + [SeatalkAlarmId.DeepAnchor]: 0x4, + [SeatalkAlarmId.OffCourse]: 0x5, + [SeatalkAlarmId.AwaHigh]: 0x6, + [SeatalkAlarmId.AwaLow]: 0x7, + [SeatalkAlarmId.AwsHigh]: 0x8, + [SeatalkAlarmId.AwsLow]: 0x9, + [SeatalkAlarmId.TwaHigh]: 0xa, + [SeatalkAlarmId.TwaLow]: 0xb, + [SeatalkAlarmId.TwsHigh]: 0xc, + [SeatalkAlarmId.TwsLow]: 0xd, + [SeatalkAlarmId.WpArrival]: 0xe, + [SeatalkAlarmId.BoatSpeedHigh]: 0xf, + [SeatalkAlarmId.BoatSpeedLow]: 0x10, + [SeatalkAlarmId.SeaTemperatureHigh]: 0x11, + [SeatalkAlarmId.SeaTemperatureLow]: 0x12, + [SeatalkAlarmId.PilotWatch]: 0x13, + [SeatalkAlarmId.PilotOffCourse]: 0x14, + [SeatalkAlarmId.PilotWindShift]: 0x15, + [SeatalkAlarmId.PilotLowBattery]: 0x16, + [SeatalkAlarmId.PilotLastMinuteOfWatch]: 0x17, + [SeatalkAlarmId.PilotNoNmeaData]: 0x18, + [SeatalkAlarmId.PilotLargeXte]: 0x19, + [SeatalkAlarmId.PilotNmeaDataError]: 0x1a, + [SeatalkAlarmId.PilotCuDisconnected]: 0x1b, + [SeatalkAlarmId.PilotAutoRelease]: 0x1c, + [SeatalkAlarmId.PilotWayPointAdvance]: 0x1d, + [SeatalkAlarmId.PilotDriveStopped]: 0x1e, + [SeatalkAlarmId.PilotTypeUnspecified]: 0x1f, + [SeatalkAlarmId.PilotCalibrationRequired]: 0x20, + [SeatalkAlarmId.PilotLastHeading]: 0x21, + [SeatalkAlarmId.PilotNoPilot]: 0x22, + [SeatalkAlarmId.PilotRouteComplete]: 0x23, + [SeatalkAlarmId.PilotVariableText]: 0x24, + [SeatalkAlarmId.GpsFailure]: 0x25, + [SeatalkAlarmId.Mob]: 0x26, + [SeatalkAlarmId.Seatalk1Anchor]: 0x27, + [SeatalkAlarmId.PilotSwappedMotorPower]: 0x28, + [SeatalkAlarmId.PilotStandbyTooFastToFish]: 0x29, + [SeatalkAlarmId.PilotNoGpsFix]: 0x2a, + [SeatalkAlarmId.PilotNoGpsCog]: 0x2b, + [SeatalkAlarmId.PilotStartUp]: 0x2c, + [SeatalkAlarmId.PilotTooSlow]: 0x2d, + [SeatalkAlarmId.PilotNoCompass]: 0x2e, + [SeatalkAlarmId.PilotRateGyroFault]: 0x2f, + [SeatalkAlarmId.PilotCurrentLimit]: 0x30, + [SeatalkAlarmId.PilotWayPointAdvancePort]: 0x31, + [SeatalkAlarmId.PilotWayPointAdvanceStbd]: 0x32, + [SeatalkAlarmId.PilotNoWindData]: 0x33, + [SeatalkAlarmId.PilotNoSpeedData]: 0x34, + [SeatalkAlarmId.PilotSeatalkFail1]: 0x35, + [SeatalkAlarmId.PilotSeatalkFail2]: 0x36, + [SeatalkAlarmId.PilotWarningTooFastToFish]: 0x37, + [SeatalkAlarmId.PilotAutoDocksideFail]: 0x38, + [SeatalkAlarmId.PilotTurnTooFast]: 0x39, + [SeatalkAlarmId.PilotNoNavData]: 0x3a, + [SeatalkAlarmId.PilotLostWaypointData]: 0x3b, + [SeatalkAlarmId.PilotEepromCorrupt]: 0x3c, + [SeatalkAlarmId.PilotRudderFeedbackFail]: 0x3d, + [SeatalkAlarmId.PilotAutolearnFail1]: 0x3e, + [SeatalkAlarmId.PilotAutolearnFail2]: 0x3f, + [SeatalkAlarmId.PilotAutolearnFail3]: 0x40, + [SeatalkAlarmId.PilotAutolearnFail4]: 0x41, + [SeatalkAlarmId.PilotAutolearnFail5]: 0x42, + [SeatalkAlarmId.PilotAutolearnFail6]: 0x43, + [SeatalkAlarmId.PilotWarningCalRequired]: 0x44, + [SeatalkAlarmId.PilotWarningOffCourse]: 0x45, + [SeatalkAlarmId.PilotWarningXte]: 0x46, + [SeatalkAlarmId.PilotWarningWindShift]: 0x47, + [SeatalkAlarmId.PilotWarningDriveShort]: 0x48, + [SeatalkAlarmId.PilotWarningClutchShort]: 0x49, + [SeatalkAlarmId.PilotWarningSolenoidShort]: 0x4a, + [SeatalkAlarmId.PilotJoystickFault]: 0x4b, + [SeatalkAlarmId.PilotNoJoystickData]: 0x4c, + [SeatalkAlarmId.PilotInvalidCommand]: 0x50, + [SeatalkAlarmId.AisTxMalfunction]: 0x51, + [SeatalkAlarmId.AisAntennaVswrFault]: 0x52, + [SeatalkAlarmId.AisRxChannel1Malfunction]: 0x53, + [SeatalkAlarmId.AisRxChannel2Malfunction]: 0x54, + [SeatalkAlarmId.AisNoSensorPositionInUse]: 0x55, + [SeatalkAlarmId.AisNoValidSogInformation]: 0x56, + [SeatalkAlarmId.AisNoValidCogInformation]: 0x57, + [SeatalkAlarmId.Ais12VAlarm]: 0x58, + [SeatalkAlarmId.Ais6VAlarm]: 0x59, + [SeatalkAlarmId.AisNoiseThresholdExceededChannelA]: 0x5a, + [SeatalkAlarmId.AisNoiseThresholdExceededChannelB]: 0x5b, + [SeatalkAlarmId.AisTransmitterPaFault]: 0x5c, + [SeatalkAlarmId.Ais3V3Alarm]: 0x5d, + [SeatalkAlarmId.AisRxChannel70Malfunction]: 0x5e, + [SeatalkAlarmId.AisHeadingLostinvalid]: 0x5f, + [SeatalkAlarmId.AisInternalGpsLost]: 0x60, + [SeatalkAlarmId.AisNoSensorPosition]: 0x61, + [SeatalkAlarmId.AisLockFailure]: 0x62, + [SeatalkAlarmId.AisInternalGgaTimeout]: 0x63, + [SeatalkAlarmId.AisProtocolStackRestart]: 0x64, + [SeatalkAlarmId.PilotNoIpsCommunications]: 0x65, + [SeatalkAlarmId.PilotPowerOnOrSleepSwitchResetWhileEngaged]: 0x66, + [SeatalkAlarmId.PilotUnexpectedResetWhileEngaged]: 0x67, + [SeatalkAlarmId.AisDangerousTarget]: 0x68, + [SeatalkAlarmId.AisLostTarget]: 0x69, + [SeatalkAlarmId.AisSafetyRelatedMessageusedToSilence]: 0x6a, + [SeatalkAlarmId.AisConnectionLost]: 0x6b, + [SeatalkAlarmId.NoFix]: 0x6c, + [SeatalkAlarmId.PilotCompassCalibrationComplete]: 0x70, + [SeatalkAlarmId.AisTransmitterDisabledMmsiRequired]: 0x71, + [SeatalkAlarmId.BluetoothDeviceLowBattery]: 0x7a, + [SeatalkAlarmId.BluetoothDeviceSleepMode]: 0x7b, + [SeatalkAlarmId.BluetoothDeviceHighBatteryTemperature]: 0x7c, + [SeatalkAlarmId.BluetoothDeviceLostCommunications]: 0x7d, } /** * @category Enumerations */ -export const SonichubCommandValues: {[key: string]: number} = { - [SonichubCommand.Init2]: 0x1, - [SonichubCommand.AmRadio]: 0x4, - [SonichubCommand.ZoneInfo]: 0x5, - [SonichubCommand.Source]: 0x6, - [SonichubCommand.SourceList]: 0x8, - [SonichubCommand.Control]: 0x9, - [SonichubCommand.FmRadio]: 0xc, - [SonichubCommand.Playlist]: 0xd, - [SonichubCommand.Track]: 0xe, - [SonichubCommand.Artist]: 0xf, - [SonichubCommand.Album]: 0x10, - [SonichubCommand.MenuItem]: 0x13, - [SonichubCommand.Zones]: 0x14, - [SonichubCommand.MaxVolume]: 0x17, - [SonichubCommand.Volume]: 0x18, - [SonichubCommand.Init1]: 0x19, - [SonichubCommand.Position]: 0x30, - [SonichubCommand.Init3]: 0x32, +export enum SeatalkAlarmStatus { + AlarmConditionNotMet = 'Alarm condition not met', + AlarmConditionMetAndNotSilenced = 'Alarm condition met and not silenced', + AlarmConditionMetAndSilenced = 'Alarm condition met and silenced', } /** * @category Enumerations */ -export enum SimnetApMode { - Heading = 'Heading', - Wind = 'Wind', - Nav = 'Nav', - NoDrift = 'No Drift', +export const SeatalkAlarmStatusValues: {[key: string]: number} = { + [SeatalkAlarmStatus.AlarmConditionNotMet]: 0x0, + [SeatalkAlarmStatus.AlarmConditionMetAndNotSilenced]: 0x1, + [SeatalkAlarmStatus.AlarmConditionMetAndSilenced]: 0x2, } /** * @category Enumerations */ -export const SimnetApModeValues: {[key: string]: number} = { - [SimnetApMode.Heading]: 0x2, - [SimnetApMode.Wind]: 0x3, - [SimnetApMode.Nav]: 0xa, - [SimnetApMode.NoDrift]: 0xb, +export enum SeatalkCommand { + Seatalk1 = 'Seatalk1', + HullType = 'Hull Type', + AutoTurn = 'Auto Turn', + Settings = 'Settings', + RudderLimit = 'Rudder Limit', + RudderDamping = 'Rudder Damping', + RudderOffset = 'Rudder Offset', + ReverseRudderReference = 'Reverse Rudder Reference', + CruiseSpeed = 'Cruise Speed', + PowerSteerMode = 'Power Steer Mode', + WindType = 'Wind Type', + CalibrationLock = 'Calibration Lock', + GybeInhibit = 'Gybe Inhibit', + CompassOffset = 'Compass Offset', + DriveType = 'Drive Type', + ResponseLevel = 'Response Level', + MaxCompassDeviation = 'Max Compass Deviation', + HardOverTime = 'Hard Over Time', + DebugLevel = 'Debug Level', + CompassLock = 'Compass Lock', + SpeedInput = 'Speed Input', + CompassLinearisationProgress = 'Compass Linearisation Progress', + AcuDebugLevel = 'ACU Debug Level', + WindShiftAlarm = 'Wind Shift Alarm', + AutoTurnTimeout = 'Auto Turn Timeout', } /** * @category Enumerations */ -export enum SimnetDeviceModel { - Ac = 'AC', - OtherDevice = 'Other device', - Nac = 'NAC', +export const SeatalkCommandValues: {[key: string]: number} = { + [SeatalkCommand.Seatalk1]: 0x81, + [SeatalkCommand.HullType]: 0x16, + [SeatalkCommand.AutoTurn]: 0x26, + [SeatalkCommand.Settings]: 0xc, + [SeatalkCommand.RudderLimit]: 0x2, + [SeatalkCommand.RudderDamping]: 0x3, + [SeatalkCommand.RudderOffset]: 0x4, + [SeatalkCommand.ReverseRudderReference]: 0x6, + [SeatalkCommand.CruiseSpeed]: 0x8, + [SeatalkCommand.PowerSteerMode]: 0xb, + [SeatalkCommand.WindType]: 0xf, + AutoTurn2: 0x11, + [SeatalkCommand.CalibrationLock]: 0x12, + [SeatalkCommand.GybeInhibit]: 0x14, + [SeatalkCommand.CompassOffset]: 0x15, + [SeatalkCommand.DriveType]: 0x17, + [SeatalkCommand.ResponseLevel]: 0x19, + [SeatalkCommand.MaxCompassDeviation]: 0x1a, + [SeatalkCommand.HardOverTime]: 0x1b, + [SeatalkCommand.DebugLevel]: 0x1d, + [SeatalkCommand.CompassLock]: 0x21, + [SeatalkCommand.SpeedInput]: 0x22, + [SeatalkCommand.CompassLinearisationProgress]: 0x23, + [SeatalkCommand.AcuDebugLevel]: 0x24, + [SeatalkCommand.WindShiftAlarm]: 0x25, + [SeatalkCommand.AutoTurnTimeout]: 0x27, } /** * @category Enumerations */ -export const SimnetDeviceModelValues: {[key: string]: number} = { - [SimnetDeviceModel.Ac]: 0x0, - [SimnetDeviceModel.OtherDevice]: 0x1, - [SimnetDeviceModel.Nac]: 0x64, +export enum SeatalkDeviceId { + S100 = 'S100', + CourseComputer = 'Course Computer', } /** * @category Enumerations */ -export enum SimnetDeviceReport { - Status = 'Status', - SendStatus = 'Send Status', - Mode = 'Mode', - SendMode = 'Send Mode', - SailingProcessorStatus = 'Sailing Processor Status', +export const SeatalkDeviceIdValues: {[key: string]: number} = { + [SeatalkDeviceId.S100]: 0x3, + [SeatalkDeviceId.CourseComputer]: 0x5, } /** * @category Enumerations */ -export const SimnetDeviceReportValues: {[key: string]: number} = { - [SimnetDeviceReport.Status]: 0x2, - [SimnetDeviceReport.SendStatus]: 0x3, - [SimnetDeviceReport.Mode]: 0xa, - [SimnetDeviceReport.SendMode]: 0xb, - [SimnetDeviceReport.SailingProcessorStatus]: 0x17, +export enum SeatalkDisplayColor { + Day1 = 'Day 1', + Day2 = 'Day 2', + Redblack = 'Red/Black', + Inverse = 'Inverse', } /** * @category Enumerations */ -export enum SimnetApStatus { - Manual = 'Manual', - Automatic = 'Automatic', +export const SeatalkDisplayColorValues: {[key: string]: number} = { + [SeatalkDisplayColor.Day1]: 0x0, + [SeatalkDisplayColor.Day2]: 0x2, + [SeatalkDisplayColor.Redblack]: 0x3, + [SeatalkDisplayColor.Inverse]: 0x4, } /** * @category Enumerations */ -export const SimnetApStatusValues: {[key: string]: number} = { - [SimnetApStatus.Manual]: 0x2, - [SimnetApStatus.Automatic]: 0x10, +export enum SeatalkKeystroke { + Auto = 'Auto', + Standby = 'Standby', + Wind = 'Wind', + _1 = '-1', + _10 = '-10', + Plus1 = '+1', + Plus10 = '+10', + _1And10 = '-1 and -10', + Plus1AndPlus10 = '+1 and +10', + Track = 'Track', } /** * @category Enumerations */ -export enum SimnetAutopilotModeClass { - Standby = 'Standby', - Engaged = 'Engaged', +export const SeatalkKeystrokeValues: {[key: string]: number} = { + [SeatalkKeystroke.Auto]: 0x1, + [SeatalkKeystroke.Standby]: 0x2, + [SeatalkKeystroke.Wind]: 0x3, + [SeatalkKeystroke._1]: 0x5, + [SeatalkKeystroke._10]: 0x6, + [SeatalkKeystroke.Plus1]: 0x7, + [SeatalkKeystroke.Plus10]: 0x8, + [SeatalkKeystroke._1And10]: 0x21, + [SeatalkKeystroke.Plus1AndPlus10]: 0x22, + [SeatalkKeystroke.Track]: 0x23, } /** * @category Enumerations */ -export const SimnetAutopilotModeClassValues: {[key: string]: number} = { - [SimnetAutopilotModeClass.Standby]: 0x0, - [SimnetAutopilotModeClass.Engaged]: 0x10, +export enum SeatalkMessageId { + Seatalk1Encoded = 'Seatalk 1 Encoded', + Display = 'Display', + PilotConfiguration = 'Pilot Configuration', } /** * @category Enumerations */ -export enum SimnetAutopilotMode { - Standby = 'Standby', - Heading = 'Heading', - Mode4 = 'Mode 4', - Wind = 'Wind', - NonFollowUp = 'Non-Follow-Up', - Navigation = 'Navigation', +export const SeatalkMessageIdValues: {[key: string]: number} = { + [SeatalkMessageId.Seatalk1Encoded]: 0xf0, + [SeatalkMessageId.Display]: 0x8c, + [SeatalkMessageId.PilotConfiguration]: 0x6c, } /** * @category Enumerations */ -export const SimnetAutopilotModeValues: {[key: string]: number} = { - [SimnetAutopilotMode.Standby]: 0x0, - [SimnetAutopilotMode.Heading]: 0x1, - [SimnetAutopilotMode.Mode4]: 0x3, - [SimnetAutopilotMode.Wind]: 0x4, - [SimnetAutopilotMode.NonFollowUp]: 0x5, - [SimnetAutopilotMode.Navigation]: 0x6, +export enum SeatalkNetworkGroup { + None = 'None', + Helm1 = 'Helm 1', + Helm2 = 'Helm 2', + Cockpit = 'Cockpit', + Flybridge = 'Flybridge', + Mast = 'Mast', + Group1 = 'Group 1', + Group2 = 'Group 2', + Group3 = 'Group 3', + Group4 = 'Group 4', + Group5 = 'Group 5', } /** * @category Enumerations */ -export enum SimnetDataSource { - RudderFeedback = 'Rudder Feedback', - Position = 'Position', - Heading = 'Heading', - Depth = 'Depth', - BoatSpeed = 'Boat Speed', - ApparentWind = 'Apparent Wind', - BarometricPressure = 'Barometric Pressure', +export const SeatalkNetworkGroupValues: {[key: string]: number} = { + [SeatalkNetworkGroup.None]: 0x0, + [SeatalkNetworkGroup.Helm1]: 0x1, + [SeatalkNetworkGroup.Helm2]: 0x2, + [SeatalkNetworkGroup.Cockpit]: 0x3, + [SeatalkNetworkGroup.Flybridge]: 0x4, + [SeatalkNetworkGroup.Mast]: 0x5, + [SeatalkNetworkGroup.Group1]: 0x6, + [SeatalkNetworkGroup.Group2]: 0x7, + [SeatalkNetworkGroup.Group3]: 0x8, + [SeatalkNetworkGroup.Group4]: 0x9, + [SeatalkNetworkGroup.Group5]: 0xa, } /** * @category Enumerations */ -export const SimnetDataSourceValues: {[key: string]: number} = { - [SimnetDataSource.RudderFeedback]: 0x11, - [SimnetDataSource.Position]: 0x13, - [SimnetDataSource.Heading]: 0x1b, - [SimnetDataSource.Depth]: 0x23, - [SimnetDataSource.BoatSpeed]: 0x24, - [SimnetDataSource.ApparentWind]: 0x2a, - [SimnetDataSource.BarometricPressure]: 0x2b, +export enum SeatalkPilotHullType { + Sail = 'Sail', + SailslowTurn = 'Sail (slow turn)', + SailCatamaran = 'Sail Catamaran', + PowerslowTurn = 'Power (slow turn)', + PowerfastTurn = 'Power (fast turn)', + Power = 'Power', } /** * @category Enumerations */ -export enum SimnetCommand { - Text = 'Text', +export const SeatalkPilotHullTypeValues: {[key: string]: number} = { + [SeatalkPilotHullType.Sail]: 0x0, + [SeatalkPilotHullType.SailslowTurn]: 0x1, + [SeatalkPilotHullType.SailCatamaran]: 0x2, + [SeatalkPilotHullType.PowerslowTurn]: 0x3, + [SeatalkPilotHullType.PowerfastTurn]: 0x4, + [SeatalkPilotHullType.Power]: 0x8, } /** * @category Enumerations */ -export const SimnetCommandValues: {[key: string]: number} = { - [SimnetCommand.Text]: 0x32, +export enum SeatalkPilotMode { + Standby = 'Standby', + Auto = 'Auto', + Wind = 'Wind', + Track = 'Track', } /** * @category Enumerations */ -export enum SimnetEventCommand { - Alarm = 'Alarm', - ApCommand = 'AP command', - Autopilot = 'Autopilot', +export const SeatalkPilotModeValues: {[key: string]: number} = { + [SeatalkPilotMode.Standby]: 0x40, + [SeatalkPilotMode.Auto]: 0x42, + [SeatalkPilotMode.Wind]: 0x46, + [SeatalkPilotMode.Track]: 0x4a, } /** * @category Enumerations */ -export const SimnetEventCommandValues: {[key: string]: number} = { - [SimnetEventCommand.Alarm]: 0x1, - [SimnetEventCommand.ApCommand]: 0x2, - [SimnetEventCommand.Autopilot]: 0xff, +export enum SeatalkPilotMode16 { + Standby = 'Standby', + AutoCompassCommanded = 'Auto, compass commanded', + VaneWindMode = 'Vane, Wind Mode', + TrackMode = 'Track Mode', + NoDriftCogReferencedinTrackCourseChanges = 'No Drift, COG referenced (In track, course changes)', } /** * @category Enumerations */ -export enum SimnetNightMode { - Day = 'Day', - Night = 'Night', +export const SeatalkPilotMode16Values: {[key: string]: number} = { + [SeatalkPilotMode16.Standby]: 0x0, + [SeatalkPilotMode16.AutoCompassCommanded]: 0x40, + [SeatalkPilotMode16.VaneWindMode]: 0x100, + [SeatalkPilotMode16.TrackMode]: 0x180, + [SeatalkPilotMode16.NoDriftCogReferencedinTrackCourseChanges]: 0x181, } /** * @category Enumerations */ -export const SimnetNightModeValues: {[key: string]: number} = { - [SimnetNightMode.Day]: 0x2, - [SimnetNightMode.Night]: 0x4, +export enum SeatalkShared { + Shared = 'Shared', + NotShared = 'Not Shared', } /** * @category Enumerations */ -export enum SimnetNightModeColor { - Red = 'Red', - Green = 'Green', - Blue = 'Blue', - White = 'White', - Magenta = 'Magenta', +export const SeatalkSharedValues: {[key: string]: number} = { + [SeatalkShared.Shared]: 0x1, + [SeatalkShared.NotShared]: 0x2, } /** * @category Enumerations */ -export const SimnetNightModeColorValues: {[key: string]: number} = { - [SimnetNightModeColor.Red]: 0x0, - [SimnetNightModeColor.Green]: 0x1, - [SimnetNightModeColor.Blue]: 0x2, - [SimnetNightModeColor.White]: 0x3, - [SimnetNightModeColor.Magenta]: 0x4, +export enum SerialBitRate { + _25 = '25', + _50 = '50', + _100 = '100', + _200 = '200', + _300 = '300', + _600 = '600', + _1200 = '1200', + _2400 = '2400', + _4800 = '4800', + _9600 = '9600', + _19200 = '19200', + _38400 = '38400', + _57600 = '57600', } /** * @category Enumerations */ -export enum SimnetDisplayGroup { - Default = 'Default', - Group1 = 'Group 1', - Group2 = 'Group 2', - Group3 = 'Group 3', - Group4 = 'Group 4', - Group5 = 'Group 5', - Group6 = 'Group 6', +export const SerialBitRateValues: {[key: string]: number} = { + [SerialBitRate._25]: 0x0, + [SerialBitRate._50]: 0x1, + [SerialBitRate._100]: 0x2, + [SerialBitRate._200]: 0x3, + [SerialBitRate._300]: 0x4, + [SerialBitRate._600]: 0x5, + [SerialBitRate._1200]: 0x6, + [SerialBitRate._2400]: 0x7, + [SerialBitRate._4800]: 0x8, + [SerialBitRate._9600]: 0x9, + [SerialBitRate._19200]: 0xa, + [SerialBitRate._38400]: 0xb, + [SerialBitRate._57600]: 0xc, } /** * @category Enumerations */ -export const SimnetDisplayGroupValues: {[key: string]: number} = { - [SimnetDisplayGroup.Default]: 0x1, - [SimnetDisplayGroup.Group1]: 0x2, - [SimnetDisplayGroup.Group2]: 0x3, - [SimnetDisplayGroup.Group3]: 0x4, - [SimnetDisplayGroup.Group4]: 0x5, - [SimnetDisplayGroup.Group5]: 0x6, - [SimnetDisplayGroup.Group6]: 0x7, +export enum SerialDetectionMode { + AutoBitRate = 'Auto bit rate', + ManualBitRate = 'Manual bit rate', } /** * @category Enumerations */ -export enum SimnetHourDisplay { - _24Hour = '24 hour', - _12Hour = '12 hour', +export const SerialDetectionModeValues: {[key: string]: number} = { + [SerialDetectionMode.AutoBitRate]: 0x0, + [SerialDetectionMode.ManualBitRate]: 0x1, } /** * @category Enumerations */ -export const SimnetHourDisplayValues: {[key: string]: number} = { - [SimnetHourDisplay._24Hour]: 0x0, - [SimnetHourDisplay._12Hour]: 0x1, +export enum ShipType { + Unavailable = 'Unavailable', + WingInGround = 'Wing In Ground', + WingInGroundhazardCatX = 'Wing In Ground (hazard cat X)', + WingInGroundhazardCatY = 'Wing In Ground (hazard cat Y)', + WingInGroundhazardCatZ = 'Wing In Ground (hazard cat Z)', + WingInGroundhazardCatOs = 'Wing In Ground (hazard cat OS)', + WingInGroundnoAdditionalInformation = 'Wing In Ground (no additional information)', + Fishing = 'Fishing', + Towing = 'Towing', + TowingExceeds200MOrWiderThan25M = 'Towing exceeds 200m or wider than 25m', + EngagedInDredgingOrUnderwaterOperations = 'Engaged in dredging or underwater operations', + EngagedInDivingOperations = 'Engaged in diving operations', + EngagedInMilitaryOperations = 'Engaged in military operations', + Sailing = 'Sailing', + Pleasure = 'Pleasure', + HighSpeedCraft = 'High speed craft', + HighSpeedCrafthazardCatX = 'High speed craft (hazard cat X)', + HighSpeedCrafthazardCatY = 'High speed craft (hazard cat Y)', + HighSpeedCrafthazardCatZ = 'High speed craft (hazard cat Z)', + HighSpeedCrafthazardCatOs = 'High speed craft (hazard cat OS)', + HighSpeedCraftnoAdditionalInformation = 'High speed craft (no additional information)', + PilotVessel = 'Pilot vessel', + Sar = 'SAR', + Tug = 'Tug', + PortTender = 'Port tender', + AntiPollution = 'Anti-pollution', + LawEnforcement = 'Law enforcement', + Spare = 'Spare', + Spare2 = 'Spare #2', + Medical = 'Medical', + ShipsAndAircraftOfStatesNotPartiesToAnArmedConflict = 'Ships and aircraft of States not parties to an armed conflict', + PassengerShip = 'Passenger ship', + PassengerShiphazardCatX = 'Passenger ship (hazard cat X)', + PassengerShiphazardCatY = 'Passenger ship (hazard cat Y)', + PassengerShiphazardCatZ = 'Passenger ship (hazard cat Z)', + PassengerShiphazardCatOs = 'Passenger ship (hazard cat OS)', + PassengerShipnoAdditionalInformation = 'Passenger ship (no additional information)', + CargoShip = 'Cargo ship', + CargoShiphazardCatX = 'Cargo ship (hazard cat X)', + CargoShiphazardCatY = 'Cargo ship (hazard cat Y)', + CargoShiphazardCatZ = 'Cargo ship (hazard cat Z)', + CargoShiphazardCatOs = 'Cargo ship (hazard cat OS)', + CargoShipnoAdditionalInformation = 'Cargo ship (no additional information)', + Tanker = 'Tanker', + TankerhazardCatX = 'Tanker (hazard cat X)', + TankerhazardCatY = 'Tanker (hazard cat Y)', + TankerhazardCatZ = 'Tanker (hazard cat Z)', + TankerhazardCatOs = 'Tanker (hazard cat OS)', + TankernoAdditionalInformation = 'Tanker (no additional information)', + Other = 'Other', + OtherhazardCatX = 'Other (hazard cat X)', + OtherhazardCatY = 'Other (hazard cat Y)', + OtherhazardCatZ = 'Other (hazard cat Z)', + OtherhazardCatOs = 'Other (hazard cat OS)', + OthernoAdditionalInformation = 'Other (no additional information)', } /** * @category Enumerations */ -export enum SimnetTimeFormat { - Mmddyyyy = 'MM/dd/yyyy', - Ddmmyyyy = 'dd/MM/yyyy', +export const ShipTypeValues: {[key: string]: number} = { + [ShipType.Unavailable]: 0x0, + [ShipType.WingInGround]: 0x14, + [ShipType.WingInGroundhazardCatX]: 0x15, + [ShipType.WingInGroundhazardCatY]: 0x16, + [ShipType.WingInGroundhazardCatZ]: 0x17, + [ShipType.WingInGroundhazardCatOs]: 0x18, + [ShipType.WingInGroundnoAdditionalInformation]: 0x1d, + [ShipType.Fishing]: 0x1e, + [ShipType.Towing]: 0x1f, + [ShipType.TowingExceeds200MOrWiderThan25M]: 0x20, + [ShipType.EngagedInDredgingOrUnderwaterOperations]: 0x21, + [ShipType.EngagedInDivingOperations]: 0x22, + [ShipType.EngagedInMilitaryOperations]: 0x23, + [ShipType.Sailing]: 0x24, + [ShipType.Pleasure]: 0x25, + [ShipType.HighSpeedCraft]: 0x28, + [ShipType.HighSpeedCrafthazardCatX]: 0x29, + [ShipType.HighSpeedCrafthazardCatY]: 0x2a, + [ShipType.HighSpeedCrafthazardCatZ]: 0x2b, + [ShipType.HighSpeedCrafthazardCatOs]: 0x2c, + [ShipType.HighSpeedCraftnoAdditionalInformation]: 0x31, + [ShipType.PilotVessel]: 0x32, + [ShipType.Sar]: 0x33, + [ShipType.Tug]: 0x34, + [ShipType.PortTender]: 0x35, + [ShipType.AntiPollution]: 0x36, + [ShipType.LawEnforcement]: 0x37, + [ShipType.Spare]: 0x38, + [ShipType.Spare2]: 0x39, + [ShipType.Medical]: 0x3a, + [ShipType.ShipsAndAircraftOfStatesNotPartiesToAnArmedConflict]: 0x3b, + [ShipType.PassengerShip]: 0x3c, + [ShipType.PassengerShiphazardCatX]: 0x3d, + [ShipType.PassengerShiphazardCatY]: 0x3e, + [ShipType.PassengerShiphazardCatZ]: 0x3f, + [ShipType.PassengerShiphazardCatOs]: 0x40, + [ShipType.PassengerShipnoAdditionalInformation]: 0x45, + [ShipType.CargoShip]: 0x46, + [ShipType.CargoShiphazardCatX]: 0x47, + [ShipType.CargoShiphazardCatY]: 0x48, + [ShipType.CargoShiphazardCatZ]: 0x49, + [ShipType.CargoShiphazardCatOs]: 0x4a, + [ShipType.CargoShipnoAdditionalInformation]: 0x4f, + [ShipType.Tanker]: 0x50, + [ShipType.TankerhazardCatX]: 0x51, + [ShipType.TankerhazardCatY]: 0x52, + [ShipType.TankerhazardCatZ]: 0x53, + [ShipType.TankerhazardCatOs]: 0x54, + [ShipType.TankernoAdditionalInformation]: 0x59, + [ShipType.Other]: 0x5a, + [ShipType.OtherhazardCatX]: 0x5b, + [ShipType.OtherhazardCatY]: 0x5c, + [ShipType.OtherhazardCatZ]: 0x5d, + [ShipType.OtherhazardCatOs]: 0x5e, + [ShipType.OthernoAdditionalInformation]: 0x63, } /** * @category Enumerations */ -export const SimnetTimeFormatValues: {[key: string]: number} = { - [SimnetTimeFormat.Mmddyyyy]: 0x1, - [SimnetTimeFormat.Ddmmyyyy]: 0x2, +export enum SimnetAlarmCommand { + Deactivate = 'Deactivate', + Activate = 'Activate', + Acknowledge = 'Acknowledge', + Silence = 'Silence', + TackgybeConfirm = 'Tack/Gybe Confirm', + AlarmHistory = 'Alarm History', + MobActivated = 'MOB Activated', + MobCancelled = 'MOB Cancelled', } /** * @category Enumerations */ -export enum SimnetBacklightLevel { - _10min = '10% (Min)', - DayMode = 'Day mode', - NightMode = 'Night mode', - _20 = '20%', - _30 = '30%', - _40 = '40%', - _50 = '50%', - _60 = '60%', - _70 = '70%', - _80 = '80%', - _90 = '90%', - _100max = '100% (Max)', +export const SimnetAlarmCommandValues: {[key: string]: number} = { + [SimnetAlarmCommand.Deactivate]: 0x38, + [SimnetAlarmCommand.Activate]: 0x39, + [SimnetAlarmCommand.Acknowledge]: 0x3a, + [SimnetAlarmCommand.Silence]: 0x44, + [SimnetAlarmCommand.TackgybeConfirm]: 0x58, + [SimnetAlarmCommand.AlarmHistory]: 0x68, + [SimnetAlarmCommand.MobActivated]: 0x6b, + [SimnetAlarmCommand.MobCancelled]: 0x6c, } /** * @category Enumerations */ -export const SimnetBacklightLevelValues: {[key: string]: number} = { - [SimnetBacklightLevel._10min]: 0x0, - [SimnetBacklightLevel.DayMode]: 0x1, - [SimnetBacklightLevel.NightMode]: 0x4, - [SimnetBacklightLevel._20]: 0xb, - [SimnetBacklightLevel._30]: 0x16, - [SimnetBacklightLevel._40]: 0x21, - [SimnetBacklightLevel._50]: 0x2c, - [SimnetBacklightLevel._60]: 0x37, - [SimnetBacklightLevel._70]: 0x42, - [SimnetBacklightLevel._80]: 0x4d, - [SimnetBacklightLevel._90]: 0x58, - [SimnetBacklightLevel._100max]: 0x63, +export enum SimnetAlarmId { + ShallowWater = 'Shallow water', + DeepWater = 'Deep water', + AnchorDepth = 'Anchor depth', + TrueWindShift = 'True wind shift', + TrueWindHigh = 'True wind high', + TrueWindLow = 'True wind low', + LowBoatSpeed = 'Low boat speed', + HighVoltage = 'High voltage', + LowVoltage = 'Low voltage', + DepthDataMissing = 'Depth data missing', + WindDataMissing = 'Wind data missing', + NavDataMissing = 'Nav data missing', + HeadingMissing = 'Heading missing', + Xte = 'XTE', + RudderDataMissing = 'Rudder data missing', + RudderControllerFault = 'Rudder controller fault', + NoRudderResponse = 'No rudder response', + RudderDriveOverload = 'Rudder drive overload', + HighInternalTemperature = 'High internal temperature', + ApClutchOverload = 'AP clutch overload', + ApClutchDisengaged = 'AP clutch disengaged', + HighDriveSupply = 'High drive supply', + LowDriveSupply = 'Low drive supply', + NoActiveAutopilotControlUnit = 'No active autopilot control unit', + NoAutopilotComputer = 'No autopilot computer', + MemoryFail = 'Memory fail', + WaterTempMissing = 'Water temp missing', + LowWaterTemp = 'Low water temp', + HighWaterTemp = 'High water temp', + WaterTempRate = 'Water temp rate', + Fish = 'Fish', + NoGpsFix = 'No GPS fix', + Waasdgps = 'WAAS/DGPS', + Arrival = 'Arrival', + Anchor = 'Anchor', + FuelLow = 'Fuel low', + FuelHigh = 'Fuel high', + TankLow = 'Tank low', + TankHigh = 'Tank high', + Bep = 'BEP', + WaypointRadius = 'Waypoint radius', + Cpa = 'CPA', + AisRangeToVessel = 'AIS range to vessel', + AisVesselLost = 'AIS vessel lost', + VesselMessage = 'Vessel message', + Lightning = 'Lightning', + SevereWeather = 'Severe weather', + Storm = 'Storm', + EngineCheck = 'Engine Check', + EngineOverTemperature = 'Engine over temperature', + EngineLowOilPressure = 'Engine low oil pressure', + EngineLowOilLevel = 'Engine low oil level', + EngineLowFuelPressure = 'Engine low fuel pressure', + EngineLowVoltage = 'Engine low voltage', + EngineLowCoolantLevel = 'Engine low coolant level', + EngineWaterFlow = 'Engine water flow', + EngineWaterInFuel = 'Engine water in fuel', + EngineCharge = 'Engine charge', + EnginePreheat = 'Engine preheat', + EngineHighBoostPressure = 'Engine high boost pressure', + EngineRevLimit = 'Engine rev limit', + EngineEgrSystem = 'Engine EGR system', + EngineThrottlePosition = 'Engine throttle position', + EngineEmergencyStop = 'Engine emergency stop', + EngineWarningLevel1 = 'Engine warning level 1', + EngineWarningLevel2 = 'Engine warning level 2', + EnginePowerReduction = 'Engine power reduction', + EngineMaintenance = 'Engine maintenance', + EngineCommError = 'Engine comm error', + EngineThrottle = 'Engine throttle', + EngineStartProtect = 'Engine start protect', + EngineShuttingDown = 'Engine shutting down', + TransmissionCheck = 'Transmission Check', + TransmissionOverTemperature = 'Transmission over temperature', + TransmissionLowOilPressure = 'Transmission low oil pressure', + TransmissionLowOilLevel = 'Transmission low oil level', + SailDrive = 'Sail drive', + FreshWaterLow = 'Fresh water low', + FreshWaterHigh = 'Fresh water high', + GrayWaterLow = 'Gray water low', + GrayWaterHigh = 'Gray water high', + LiveWellLow = 'Live well low', + LiveWellHigh = 'Live well high', + OilLow = 'Oil low', + OilHigh = 'Oil high', + BlackWaterLow = 'Black water low', + BlackWaterHigh = 'Black water high', + WeatherDataMissing = 'Weather data missing', + ApPositionDataMissing = 'AP Position data missing', + ApSpeedDataMissing = 'AP Speed data missing', + ApDepthDataMissing = 'AP Depth data missing', + ApHeadingDataMissing = 'AP Heading data missing', + ApNavDataMissing = 'AP Nav data missing', + ApOffCourse = 'AP Off course', + ApRudderDataMissing = 'AP Rudder data missing', + ApWindDataMissing = 'AP Wind data missing', + RadarGuardZone = 'Radar guard zone', + MarpaTargetLost = 'MARPA target lost', + MarpaUnavailable = 'MARPA unavailable', + DangerousVessel = 'Dangerous vessel', + RadarError = 'Radar error', + CZoneCritical = 'CZone critical', + CZoneImportant = 'CZone important', + CZoneStandard = 'CZone standard', + CZoneWarning = 'CZone warning', + EvcComError = 'EVC Com Error', + EvcOverride = 'EVC override', + HighDriveTemperature = 'High drive temperature', + DriveInhibit = 'Drive inhibit', + CanBusSupplyOverload = 'CAN bus supply overload', + DriveRefVoltageMissing = 'Drive ref voltage missing', + RudderLimit = 'Rudder limit', + CompassDifference = 'Compass difference', + ApLowBoatSpeed = 'AP Low boat speed', + MonitorCompassMissing = 'Monitor compass missing', + CrossTrackDistanceLimit = 'Cross track distance limit', + EndOfRoute = 'End of route', + CompassAlignment = 'Compass alignment', + RAIM = 'R.A.I.M', + OffHeading = 'Off heading', + SupplyVoltage = 'Supply voltage', + LowCanBusVoltage = 'Low CAN bus voltage', + CanBusFailure = 'CAN bus failure', + DriveReadyMissing = 'Drive ready missing', + DriveComputerMissing = 'Drive computer missing', + ExternalModeIllegal = 'External mode illegal', + RudderTooSlow = 'Rudder too slow', + WheelOver = 'Wheel over', + ThrusterInhibited = 'Thruster inhibited', + CheckHeading = 'Check heading', + TrueWindSpeedHigh = 'True wind speed high', + Override = 'Override', + SpeedThroughWaterRationalityFault = 'Speed through water rationality fault', + NoDrivesAvailable = 'No drives available', + FuelRemainingLow = 'Fuel remaining low', + FuelRemainingHigh = 'Fuel remaining high', + GeneratorCheck = 'Generator Check', + GeneratorOverTemperature = 'Generator over temperature', + GeneratorLowOilPressure = 'Generator low oil pressure', + GeneratorLowOilLevel = 'Generator low oil level', + GeneratorLowFuelPressure = 'Generator low fuel pressure', + GeneratorLowVoltage = 'Generator low voltage', + GeneratorLowCoolantLevel = 'Generator low coolant level', + GeneratorWaterFlow = 'Generator water flow', + GeneratorWaterInFuel = 'Generator water in fuel', + GeneratorCharge = 'Generator charge', + GeneratorPreheat = 'Generator preheat', + GeneratorHighBoostPressure = 'Generator high boost pressure', + GeneratorRevLimit = 'Generator rev limit', + GeneratorEgrSystem = 'Generator EGR system', + GeneratorThrottlePosition = 'Generator throttle position', + GeneratorEmergencyStop = 'Generator emergency stop', + GeneratorWarningLevel1 = 'Generator warning level 1', + GeneratorWarningLevel2 = 'Generator warning level 2', + GeneratorPowerReduction = 'Generator power reduction', + GeneratorMaintenance = 'Generator maintenance', + GeneratorCommError = 'Generator comm error', + GeneratorThrottle = 'Generator throttle', + GeneratorStartProtect = 'Generator start protect', + GeneratorShuttingDown = 'Generator shutting down', + ShallowAftDepth = 'Shallow aft depth', + ForwardRange = 'Forward range', + AlarmSourceMissing = 'Alarm source missing', + External = 'External', + WindSensorBatteryLow = 'Wind sensor battery low', + GasolineLow = 'Gasoline low', + GasolineHigh = 'Gasoline high', + ChargingSystem = 'Charging System', + SeawaterFlow = 'Seawater Flow', + WaterInDriveSeal = 'Water in Drive Seal', + Turnover = 'Turnover', + HelmEcuDetectFailure = 'Helm ECU Detect Failure', + JoystickEcuDetectFailure = 'Joystick ECU Detect Failure', + DriveEcuDetectFailure = 'Drive ECU Detect Failure', + HotTransmission = 'Hot Transmission', + LowGearOilPressure = 'Low Gear Oil Pressure', + LowDriveLubOilLevel = 'Low Drive Lub Oil Level', + CheckThermostat = 'Check Thermostat', + TrackOffsetActive = 'Track offset active', + NavigationNotSupported = 'Navigation Not Supported', +} + +/** + * @category Enumerations + */ +export const SimnetAlarmIdValues: {[key: string]: number} = { + [SimnetAlarmId.ShallowWater]: 0xa, + [SimnetAlarmId.DeepWater]: 0xb, + [SimnetAlarmId.AnchorDepth]: 0xc, + [SimnetAlarmId.TrueWindShift]: 0xd, + [SimnetAlarmId.TrueWindHigh]: 0xe, + [SimnetAlarmId.TrueWindLow]: 0xf, + [SimnetAlarmId.LowBoatSpeed]: 0x10, + [SimnetAlarmId.HighVoltage]: 0x11, + [SimnetAlarmId.LowVoltage]: 0x12, + [SimnetAlarmId.DepthDataMissing]: 0x13, + [SimnetAlarmId.WindDataMissing]: 0x14, + [SimnetAlarmId.NavDataMissing]: 0x15, + [SimnetAlarmId.HeadingMissing]: 0x16, + [SimnetAlarmId.Xte]: 0x17, + [SimnetAlarmId.RudderDataMissing]: 0x18, + [SimnetAlarmId.RudderControllerFault]: 0x19, + [SimnetAlarmId.NoRudderResponse]: 0x1a, + [SimnetAlarmId.RudderDriveOverload]: 0x1b, + [SimnetAlarmId.HighInternalTemperature]: 0x1c, + [SimnetAlarmId.ApClutchOverload]: 0x1d, + [SimnetAlarmId.ApClutchDisengaged]: 0x1e, + [SimnetAlarmId.HighDriveSupply]: 0x1f, + [SimnetAlarmId.LowDriveSupply]: 0x20, + [SimnetAlarmId.NoActiveAutopilotControlUnit]: 0x21, + [SimnetAlarmId.NoAutopilotComputer]: 0x22, + [SimnetAlarmId.MemoryFail]: 0x23, + [SimnetAlarmId.WaterTempMissing]: 0x24, + [SimnetAlarmId.LowWaterTemp]: 0x25, + [SimnetAlarmId.HighWaterTemp]: 0x26, + [SimnetAlarmId.WaterTempRate]: 0x27, + [SimnetAlarmId.Fish]: 0x28, + [SimnetAlarmId.NoGpsFix]: 0x29, + [SimnetAlarmId.Waasdgps]: 0x2a, + [SimnetAlarmId.Arrival]: 0x2d, + [SimnetAlarmId.Anchor]: 0x2e, + [SimnetAlarmId.FuelLow]: 0x2f, + [SimnetAlarmId.FuelHigh]: 0x30, + [SimnetAlarmId.TankLow]: 0x31, + [SimnetAlarmId.TankHigh]: 0x32, + [SimnetAlarmId.Bep]: 0x33, + [SimnetAlarmId.WaypointRadius]: 0x34, + [SimnetAlarmId.Cpa]: 0x35, + [SimnetAlarmId.AisRangeToVessel]: 0x36, + [SimnetAlarmId.AisVesselLost]: 0x37, + [SimnetAlarmId.VesselMessage]: 0x38, + [SimnetAlarmId.Lightning]: 0x39, + [SimnetAlarmId.SevereWeather]: 0x3a, + [SimnetAlarmId.Storm]: 0x3b, + [SimnetAlarmId.EngineCheck]: 0x3d, + [SimnetAlarmId.EngineOverTemperature]: 0x3e, + [SimnetAlarmId.EngineLowOilPressure]: 0x3f, + [SimnetAlarmId.EngineLowOilLevel]: 0x40, + [SimnetAlarmId.EngineLowFuelPressure]: 0x41, + [SimnetAlarmId.EngineLowVoltage]: 0x42, + [SimnetAlarmId.EngineLowCoolantLevel]: 0x43, + [SimnetAlarmId.EngineWaterFlow]: 0x44, + [SimnetAlarmId.EngineWaterInFuel]: 0x45, + [SimnetAlarmId.EngineCharge]: 0x46, + [SimnetAlarmId.EnginePreheat]: 0x47, + [SimnetAlarmId.EngineHighBoostPressure]: 0x48, + [SimnetAlarmId.EngineRevLimit]: 0x49, + [SimnetAlarmId.EngineEgrSystem]: 0x4a, + [SimnetAlarmId.EngineThrottlePosition]: 0x4b, + [SimnetAlarmId.EngineEmergencyStop]: 0x4c, + [SimnetAlarmId.EngineWarningLevel1]: 0x4d, + [SimnetAlarmId.EngineWarningLevel2]: 0x4e, + [SimnetAlarmId.EnginePowerReduction]: 0x4f, + [SimnetAlarmId.EngineMaintenance]: 0x50, + [SimnetAlarmId.EngineCommError]: 0x51, + [SimnetAlarmId.EngineThrottle]: 0x52, + [SimnetAlarmId.EngineStartProtect]: 0x53, + [SimnetAlarmId.EngineShuttingDown]: 0x54, + [SimnetAlarmId.TransmissionCheck]: 0x55, + [SimnetAlarmId.TransmissionOverTemperature]: 0x56, + [SimnetAlarmId.TransmissionLowOilPressure]: 0x57, + [SimnetAlarmId.TransmissionLowOilLevel]: 0x58, + [SimnetAlarmId.SailDrive]: 0x59, + [SimnetAlarmId.FreshWaterLow]: 0x60, + [SimnetAlarmId.FreshWaterHigh]: 0x61, + [SimnetAlarmId.GrayWaterLow]: 0x62, + [SimnetAlarmId.GrayWaterHigh]: 0x63, + [SimnetAlarmId.LiveWellLow]: 0x64, + [SimnetAlarmId.LiveWellHigh]: 0x65, + [SimnetAlarmId.OilLow]: 0x66, + [SimnetAlarmId.OilHigh]: 0x67, + [SimnetAlarmId.BlackWaterLow]: 0x68, + [SimnetAlarmId.BlackWaterHigh]: 0x69, + [SimnetAlarmId.WeatherDataMissing]: 0x6a, + [SimnetAlarmId.ApPositionDataMissing]: 0x6b, + [SimnetAlarmId.ApSpeedDataMissing]: 0x6c, + [SimnetAlarmId.ApDepthDataMissing]: 0x6d, + [SimnetAlarmId.ApHeadingDataMissing]: 0x6e, + [SimnetAlarmId.ApNavDataMissing]: 0x6f, + [SimnetAlarmId.ApOffCourse]: 0x70, + [SimnetAlarmId.ApRudderDataMissing]: 0x71, + [SimnetAlarmId.ApWindDataMissing]: 0x72, + [SimnetAlarmId.RadarGuardZone]: 0x73, + [SimnetAlarmId.MarpaTargetLost]: 0x74, + [SimnetAlarmId.MarpaUnavailable]: 0x75, + [SimnetAlarmId.DangerousVessel]: 0x76, + [SimnetAlarmId.RadarError]: 0x77, + [SimnetAlarmId.CZoneCritical]: 0x78, + [SimnetAlarmId.CZoneImportant]: 0x79, + [SimnetAlarmId.CZoneStandard]: 0x7a, + [SimnetAlarmId.CZoneWarning]: 0x7b, + TrueWindShift2: 0x7c, + [SimnetAlarmId.EvcComError]: 0x7d, + [SimnetAlarmId.EvcOverride]: 0x7e, + [SimnetAlarmId.HighDriveTemperature]: 0x7f, + [SimnetAlarmId.DriveInhibit]: 0x80, + [SimnetAlarmId.CanBusSupplyOverload]: 0x81, + [SimnetAlarmId.DriveRefVoltageMissing]: 0x82, + [SimnetAlarmId.RudderLimit]: 0x83, + [SimnetAlarmId.CompassDifference]: 0x84, + [SimnetAlarmId.ApLowBoatSpeed]: 0x85, + [SimnetAlarmId.MonitorCompassMissing]: 0x86, + [SimnetAlarmId.CrossTrackDistanceLimit]: 0x87, + [SimnetAlarmId.EndOfRoute]: 0x89, + [SimnetAlarmId.CompassAlignment]: 0x8a, + [SimnetAlarmId.RAIM]: 0x8b, + [SimnetAlarmId.OffHeading]: 0x8d, + [SimnetAlarmId.SupplyVoltage]: 0x8e, + [SimnetAlarmId.LowCanBusVoltage]: 0x8f, + [SimnetAlarmId.CanBusFailure]: 0x90, + [SimnetAlarmId.DriveReadyMissing]: 0x91, + [SimnetAlarmId.DriveComputerMissing]: 0x92, + [SimnetAlarmId.ExternalModeIllegal]: 0x93, + [SimnetAlarmId.RudderTooSlow]: 0x94, + [SimnetAlarmId.WheelOver]: 0x95, + [SimnetAlarmId.ThrusterInhibited]: 0x96, + [SimnetAlarmId.CheckHeading]: 0x97, + [SimnetAlarmId.TrueWindSpeedHigh]: 0x98, + [SimnetAlarmId.Override]: 0x99, + [SimnetAlarmId.SpeedThroughWaterRationalityFault]: 0x9a, + [SimnetAlarmId.NoDrivesAvailable]: 0x9b, + [SimnetAlarmId.FuelRemainingLow]: 0x9c, + [SimnetAlarmId.FuelRemainingHigh]: 0x9d, + [SimnetAlarmId.GeneratorCheck]: 0x9e, + [SimnetAlarmId.GeneratorOverTemperature]: 0x9f, + [SimnetAlarmId.GeneratorLowOilPressure]: 0xa0, + [SimnetAlarmId.GeneratorLowOilLevel]: 0xa1, + [SimnetAlarmId.GeneratorLowFuelPressure]: 0xa2, + [SimnetAlarmId.GeneratorLowVoltage]: 0xa3, + [SimnetAlarmId.GeneratorLowCoolantLevel]: 0xa4, + [SimnetAlarmId.GeneratorWaterFlow]: 0xa5, + [SimnetAlarmId.GeneratorWaterInFuel]: 0xa6, + [SimnetAlarmId.GeneratorCharge]: 0xa7, + [SimnetAlarmId.GeneratorPreheat]: 0xa8, + [SimnetAlarmId.GeneratorHighBoostPressure]: 0xa9, + [SimnetAlarmId.GeneratorRevLimit]: 0xaa, + [SimnetAlarmId.GeneratorEgrSystem]: 0xab, + [SimnetAlarmId.GeneratorThrottlePosition]: 0xac, + [SimnetAlarmId.GeneratorEmergencyStop]: 0xad, + [SimnetAlarmId.GeneratorWarningLevel1]: 0xae, + [SimnetAlarmId.GeneratorWarningLevel2]: 0xaf, + [SimnetAlarmId.GeneratorPowerReduction]: 0xb0, + [SimnetAlarmId.GeneratorMaintenance]: 0xb1, + [SimnetAlarmId.GeneratorCommError]: 0xb2, + [SimnetAlarmId.GeneratorThrottle]: 0xb3, + [SimnetAlarmId.GeneratorStartProtect]: 0xb4, + [SimnetAlarmId.GeneratorShuttingDown]: 0xb5, + [SimnetAlarmId.ShallowAftDepth]: 0xb6, + [SimnetAlarmId.ForwardRange]: 0xb7, + [SimnetAlarmId.AlarmSourceMissing]: 0xf5, + [SimnetAlarmId.External]: 0xf6, + EvcComError2: 0xf7, + [SimnetAlarmId.WindSensorBatteryLow]: 0xf8, + [SimnetAlarmId.GasolineLow]: 0x10a, + [SimnetAlarmId.GasolineHigh]: 0x10b, + [SimnetAlarmId.ChargingSystem]: 0x10c, + [SimnetAlarmId.SeawaterFlow]: 0x10d, + [SimnetAlarmId.WaterInDriveSeal]: 0x10e, + [SimnetAlarmId.Turnover]: 0x110, + [SimnetAlarmId.HelmEcuDetectFailure]: 0x111, + [SimnetAlarmId.JoystickEcuDetectFailure]: 0x112, + [SimnetAlarmId.DriveEcuDetectFailure]: 0x113, + [SimnetAlarmId.HotTransmission]: 0x114, + [SimnetAlarmId.LowGearOilPressure]: 0x115, + [SimnetAlarmId.LowDriveLubOilLevel]: 0x116, + [SimnetAlarmId.CheckThermostat]: 0x11d, + [SimnetAlarmId.TrackOffsetActive]: 0x11f, + [SimnetAlarmId.NavigationNotSupported]: 0x181, } /** @@ -4797,6 +7587,8 @@ export enum SimnetApEvents { Depthturn = 'Depth (Turn)', ChangeCourse = 'Change course', TimerSync = 'Timer sync', + MobActivated = 'MOB Activated', + MobDeactivated = 'MOB Deactivated', PingPortEnd = 'Ping port end', PingStarboardEnd = 'Ping starboard end', } @@ -4823,6 +7615,8 @@ export const SimnetApEventsValues: {[key: string]: number} = { [SimnetApEvents.Depthturn]: 0x18, [SimnetApEvents.ChangeCourse]: 0x1a, [SimnetApEvents.TimerSync]: 0x3d, + [SimnetApEvents.MobActivated]: 0x6b, + [SimnetApEvents.MobDeactivated]: 0x6c, [SimnetApEvents.PingPortEnd]: 0x70, [SimnetApEvents.PingStarboardEnd]: 0x71, } @@ -4830,1173 +7624,759 @@ export const SimnetApEventsValues: {[key: string]: number} = { /** * @category Enumerations */ -export enum SimnetDirection { - Port = 'Port', - Starboard = 'Starboard', - LeftRudderport = 'Left rudder (port)', - RightRudderstarboard = 'Right rudder (starboard)', -} - -/** - * @category Enumerations - */ -export const SimnetDirectionValues: {[key: string]: number} = { - [SimnetDirection.Port]: 0x2, - [SimnetDirection.Starboard]: 0x3, - [SimnetDirection.LeftRudderport]: 0x4, - [SimnetDirection.RightRudderstarboard]: 0x5, -} - -/** - * @category Enumerations - */ -export enum SimnetApCommandType { - FollowUp = 'Follow Up', - ApCommand = 'AP Command', -} - -/** - * @category Enumerations - */ -export const SimnetApCommandTypeValues: {[key: string]: number} = { - [SimnetApCommandType.FollowUp]: 0x2, - [SimnetApCommandType.ApCommand]: 0xa, -} - -/** - * @category Enumerations - */ -export enum SimnetAlarm { - LowBoatSpeed = 'Low boat speed', - NoAutopilotComputer = 'No autopilot computer', - NavDataMissing = 'Nav data missing', +export enum SimnetApMode { + Heading = 'Heading', + Wind = 'Wind', + Nav = 'Nav', + NoDrift = 'No Drift', } /** * @category Enumerations */ -export const SimnetAlarmValues: {[key: string]: number} = { - [SimnetAlarm.LowBoatSpeed]: 0x39, - [SimnetAlarm.NoAutopilotComputer]: 0x38, - [SimnetAlarm.NavDataMissing]: 0x3a, +export const SimnetApModeValues: {[key: string]: number} = { + [SimnetApMode.Heading]: 0x2, + [SimnetApMode.Wind]: 0x3, + [SimnetApMode.Nav]: 0xa, + [SimnetApMode.NoDrift]: 0xb, } - -/** - * @category Enumerations - */ -export enum FusionMessageId { - RequestStatus = 'Request Status', - SetSource = 'Set Source', - MediaCommand = 'Media Command', - TunerCommand = 'Tuner Command', - MarineTunerCommand = 'Marine Tuner Command', - SetMarineTunerSquelch = 'Set Marine Tuner Squelch', - SetMarineTunerScanMode = 'Set Marine Tuner Scan Mode', - MenuAction = 'Menu Action', - RequestMenuCount = 'Request Menu Count', - RequestMenuItem = 'Request Menu Item', - RequestMenuLockId = 'Request Menu Lock ID', - SetAuxGain = 'Set Aux Gain', - SetSettings = 'Set Settings', - DabUpdtateCommand = 'DAB Updtate Command', - SetMute = 'Set Mute', - SetBalance = 'Set Balance', - SetLowPassFiler = 'Set Low Pass Filer', - SetSublevel = 'Set Sublevel', - SetEqualizer = 'Set Equalizer', - SetVolumeLimit = 'Set Volume Limit', - SetZoneVolume = 'Set Zone Volume', - SetAllVolumes = 'Set All Volumes', - SetLineLevelControl = 'Set Line Level Control', - Power = 'Power', - SetDeviceName = 'Set Device Name', - SendSiriusCommand = 'Send Sirius Command', - SetSiriusParental = 'Set Sirius Parental', - SendFactoryResetCommand = 'Send Factory Reset Command', - SetZoneName = 'Set Zone Name', - SendDvdCommand = 'Send Dvd Command', - DvdPressIrKey = 'Dvd Press Ir Key', - SendSelectSiriusTeam = 'Send Select Sirius Team', - SendSelectSiriusArtist = 'Send Select Sirius Artist', - SendSiriusSportAlertUserAction = 'Send Sirius Sport Alert User Action', - SendSiriusArtistSongUserAction = 'Send Sirius Artist Song User Action', - SendMultiroomCommand = 'Send Multiroom Command', - GetMultiroomDeviceRecord = 'Get Multiroom Device Record', - ScanMultirooomDevices = 'Scan Multirooom Devices', - SendFileTransfer = 'Send File Transfer', - SetLoud = 'Set Loud', - FapiSetSourceMultiroomEnabled = 'Fapi Set Source Multiroom Enabled', - RequestHeadUnitDspSettings = 'Request Head Unit Dsp Settings', - SendTransferStatus = 'Send Transfer Status', - FapiGetServerInfo = 'Fapi Get Server Info', - FapiSetSourceEnabled = 'Fapi Set Source Enabled', - FapiSetSourceName = 'Fapi Set Source Name', - SendExternalAmpGain = 'Send External Amp Gain', - SendInternalAmpGain = 'Send Internal Amp Gain', - SendMono = 'Send Mono', + +/** + * @category Enumerations + */ +export enum SimnetApStatus { + Manual = 'Manual', + Automatic = 'Automatic', } /** * @category Enumerations */ -export const FusionMessageIdValues: {[key: string]: number} = { - [FusionMessageId.RequestStatus]: 0x1, - [FusionMessageId.SetSource]: 0x2, - [FusionMessageId.MediaCommand]: 0x3, - [FusionMessageId.TunerCommand]: 0x5, - [FusionMessageId.MarineTunerCommand]: 0x6, - [FusionMessageId.SetMarineTunerSquelch]: 0x7, - [FusionMessageId.SetMarineTunerScanMode]: 0x8, - [FusionMessageId.MenuAction]: 0x9, - [FusionMessageId.RequestMenuCount]: 0xa, - [FusionMessageId.RequestMenuItem]: 0xb, - [FusionMessageId.RequestMenuLockId]: 0xc, - [FusionMessageId.SetAuxGain]: 0xd, - [FusionMessageId.SetSettings]: 0xf, - [FusionMessageId.DabUpdtateCommand]: 0x10, - [FusionMessageId.SetMute]: 0x11, - [FusionMessageId.SetBalance]: 0x12, - [FusionMessageId.SetLowPassFiler]: 0x13, - [FusionMessageId.SetSublevel]: 0x14, - [FusionMessageId.SetEqualizer]: 0x16, - [FusionMessageId.SetVolumeLimit]: 0x17, - [FusionMessageId.SetZoneVolume]: 0x18, - [FusionMessageId.SetAllVolumes]: 0x19, - [FusionMessageId.SetLineLevelControl]: 0x1b, - [FusionMessageId.Power]: 0x1c, - [FusionMessageId.SetDeviceName]: 0x1d, - [FusionMessageId.SendSiriusCommand]: 0x1e, - [FusionMessageId.SetSiriusParental]: 0x1f, - [FusionMessageId.SendFactoryResetCommand]: 0x21, - [FusionMessageId.SetZoneName]: 0x22, - [FusionMessageId.SendDvdCommand]: 0x23, - [FusionMessageId.DvdPressIrKey]: 0x24, - [FusionMessageId.SendSelectSiriusTeam]: 0x27, - [FusionMessageId.SendSelectSiriusArtist]: 0x28, - [FusionMessageId.SendSiriusSportAlertUserAction]: 0x29, - [FusionMessageId.SendSiriusArtistSongUserAction]: 0x2d, - [FusionMessageId.SendMultiroomCommand]: 0x32, - [FusionMessageId.GetMultiroomDeviceRecord]: 0x33, - [FusionMessageId.ScanMultirooomDevices]: 0x34, - [FusionMessageId.SendFileTransfer]: 0x35, - [FusionMessageId.SetLoud]: 0x36, - [FusionMessageId.FapiSetSourceMultiroomEnabled]: 0x38, - [FusionMessageId.RequestHeadUnitDspSettings]: 0x39, - [FusionMessageId.SendTransferStatus]: 0x40, - [FusionMessageId.FapiGetServerInfo]: 0x41, - [FusionMessageId.FapiSetSourceEnabled]: 0x45, - [FusionMessageId.FapiSetSourceName]: 0x46, - [FusionMessageId.SendExternalAmpGain]: 0x49, - [FusionMessageId.SendInternalAmpGain]: 0x4a, - [FusionMessageId.SendMono]: 0x4b, +export const SimnetApStatusValues: {[key: string]: number} = { + [SimnetApStatus.Manual]: 0x2, + [SimnetApStatus.Automatic]: 0x10, } /** * @category Enumerations */ -export enum FusionPlayStatus { - Invalid = 'Invalid', - Playing = 'Playing', - Paused = 'Paused', - Stopped = 'Stopped', - SkipForward = 'Skip Forward', - SkipRewind = 'Skip Rewind', +export enum SimnetAutopilotMode { + Standby = 'Standby', + Heading = 'Heading', + Mode4 = 'Mode 4', + Wind = 'Wind', + NonFollowUp = 'Non-Follow-Up', + Navigation = 'Navigation', } /** * @category Enumerations */ -export const FusionPlayStatusValues: {[key: string]: number} = { - [FusionPlayStatus.Invalid]: 0x0, - [FusionPlayStatus.Playing]: 0x1, - [FusionPlayStatus.Paused]: 0x2, - [FusionPlayStatus.Stopped]: 0x3, - [FusionPlayStatus.SkipForward]: 0x4, - [FusionPlayStatus.SkipRewind]: 0x5, +export const SimnetAutopilotModeValues: {[key: string]: number} = { + [SimnetAutopilotMode.Standby]: 0x0, + [SimnetAutopilotMode.Heading]: 0x1, + [SimnetAutopilotMode.Mode4]: 0x3, + [SimnetAutopilotMode.Wind]: 0x4, + [SimnetAutopilotMode.NonFollowUp]: 0x5, + [SimnetAutopilotMode.Navigation]: 0x6, } /** * @category Enumerations */ -export enum FusionSourceType { - Am = 'AM', - Fm = 'FM', - Aux = 'Aux', - Sirius = 'Sirius', - Ipod = 'Ipod', - Usb = 'USB', - Dvd = 'DVD', - Vhf = 'VHF', - Invalid = 'Invalid', - Mtp = 'MTP', - Bluetooth = 'Bluetooth', - Arc = 'ARC', - Android = 'Android', - Pandora = 'Pandora', - Dab = 'DAB', - AirPlay = 'AirPlay', - Upnp = 'UPNP', - Unknown = 'Unknown', +export enum SimnetAutopilotModeClass { + Standby = 'Standby', + Engaged = 'Engaged', } /** * @category Enumerations */ -export const FusionSourceTypeValues: {[key: string]: number} = { - [FusionSourceType.Am]: 0x0, - [FusionSourceType.Fm]: 0x1, - [FusionSourceType.Aux]: 0x2, - [FusionSourceType.Sirius]: 0x3, - [FusionSourceType.Ipod]: 0x4, - [FusionSourceType.Usb]: 0x5, - [FusionSourceType.Dvd]: 0x6, - [FusionSourceType.Vhf]: 0x7, - [FusionSourceType.Invalid]: 0x8, - [FusionSourceType.Mtp]: 0x9, - [FusionSourceType.Bluetooth]: 0xa, - [FusionSourceType.Arc]: 0xb, - [FusionSourceType.Android]: 0xc, - [FusionSourceType.Pandora]: 0xd, - [FusionSourceType.Dab]: 0xe, - [FusionSourceType.AirPlay]: 0xf, - [FusionSourceType.Upnp]: 0x10, - [FusionSourceType.Unknown]: 0x11, +export const SimnetAutopilotModeClassValues: {[key: string]: number} = { + [SimnetAutopilotModeClass.Standby]: 0x0, + [SimnetAutopilotModeClass.Engaged]: 0x10, } /** * @category Enumerations */ -export enum FusionSiriusComState { - Unknown = 'Unknown', - Off = 'Off', - Initialising = 'Initialising', - On = 'On', +export enum SimnetBacklightLevel { + _10min = '10% (Min)', + DayMode = 'Day mode', + NightMode = 'Night mode', + _20 = '20%', + _30 = '30%', + _40 = '40%', + _50 = '50%', + _60 = '60%', + _70 = '70%', + _80 = '80%', + _90 = '90%', + _100max = '100% (Max)', } /** * @category Enumerations */ -export const FusionSiriusComStateValues: {[key: string]: number} = { - [FusionSiriusComState.Unknown]: 0xff, - [FusionSiriusComState.Off]: 0x1, - [FusionSiriusComState.Initialising]: 0x2, - [FusionSiriusComState.On]: 0x3, +export const SimnetBacklightLevelValues: {[key: string]: number} = { + [SimnetBacklightLevel._10min]: 0x0, + [SimnetBacklightLevel.DayMode]: 0x1, + [SimnetBacklightLevel.NightMode]: 0x4, + [SimnetBacklightLevel._20]: 0xb, + [SimnetBacklightLevel._30]: 0x16, + [SimnetBacklightLevel._40]: 0x21, + [SimnetBacklightLevel._50]: 0x2c, + [SimnetBacklightLevel._60]: 0x37, + [SimnetBacklightLevel._70]: 0x42, + [SimnetBacklightLevel._80]: 0x4d, + [SimnetBacklightLevel._90]: 0x58, + [SimnetBacklightLevel._100max]: 0x63, } /** * @category Enumerations */ -export enum FusionSiriusAlert { - Unknown = 'Unknown', - None = 'None', - Antenna = 'Antenna', - NoSignal = 'NoSignal', - SubscriptionUpdate = 'Subscription Update', +export enum SimnetBaroPressureUnit { + Millibar = 'Millibar', + Hectopascal = 'Hectopascal', + InchesOfMercury = 'Inches of mercury', } /** * @category Enumerations */ -export const FusionSiriusAlertValues: {[key: string]: number} = { - [FusionSiriusAlert.Unknown]: 0xff, - [FusionSiriusAlert.None]: 0x1, - [FusionSiriusAlert.Antenna]: 0x2, - [FusionSiriusAlert.NoSignal]: 0x3, - [FusionSiriusAlert.SubscriptionUpdate]: 0x4, +export const SimnetBaroPressureUnitValues: {[key: string]: number} = { + [SimnetBaroPressureUnit.Millibar]: 0x0, + [SimnetBaroPressureUnit.Hectopascal]: 0x2, + [SimnetBaroPressureUnit.InchesOfMercury]: 0x5, } /** * @category Enumerations */ -export enum FusionSiriusTuningMode { - Normal = 'Normal', - Category = 'Category', - Preset = 'Preset', +export enum SimnetCommand { + Text = 'Text', } /** * @category Enumerations */ -export const FusionSiriusTuningModeValues: {[key: string]: number} = { - [FusionSiriusTuningMode.Normal]: 0x1, - [FusionSiriusTuningMode.Category]: 0x2, - [FusionSiriusTuningMode.Preset]: 0x3, +export const SimnetCommandValues: {[key: string]: number} = { + [SimnetCommand.Text]: 0x32, } /** * @category Enumerations */ -export enum FusionStatusMessageId { - Unknown = 'Unknown', - ApiVersion = 'API Version', - Source = 'Source', - SourceCount = 'Source Count', - TrackInfo = 'Track Info', - TrackTitle = 'Track Title', - TrackArtist = 'Track Artist', - TrackAlbum = 'Track Album', - CoverArt = 'Cover Art', - TrackProgress = 'Track Progress', - TunerAlign = 'Tuner Align', - Tuner = 'Tuner', - MarineTuner = 'Marine Tuner', - MarineSquelch = 'Marine Squelch', - MarineScanMode = 'Marine Scan Mode', - MenuAction = 'Menu Action', - MenuCount = 'Menu Count', - MenuItem = 'Menu Item', - MenuLockId = 'Menu Lock ID', - AuxGain = 'Aux Gain', - Setting = 'Setting', - Settings = 'Settings', - UpdateFirmwareResult = 'Update Firmware Result', - Mute = 'Mute', - Balance = 'Balance', - LowPassFilter = 'Low Pass Filter', - Sublevels = 'Sublevels', - Tone = 'Tone', - VolumeLimits = 'Volume Limits', - Volume = 'Volume', - Capabilities = 'Capabilities', - LineLevelControl = 'Line Level Control', - Power = 'Power', - UnitName = 'Unit Name', - Sirius = 'Sirius', - SiriusXmPresetEvent = 'SiriusXM Preset Event', - SiriusXmChannel = 'SiriusXM Channel', - SiriusXmTitle = 'SiriusXM Title', - SiriusXmArtist = 'SiriusXM Artist', - SiriusXmGenre = 'SiriusXM Genre', - SiriusXmCategory = 'SiriusXM Category', - SiriusXmSignal = 'SiriusXm Signal', - SiriusXmParentalRequest = 'SiriusXM Parental Request', - SiriusXmDiagnostics = 'SiriusXM Diagnostics', - SiriusXmPresets = 'SiriusXM Presets', - ZoneName = 'Zone Name', - IpSetting = 'IP Setting', - Multiroom = 'Multiroom', - MultiroomStatus = 'Multiroom Status', - SystemCapabilities = 'System Capabilities', - PartNumber = 'Part Number', - ProcessingBypass = 'Processing Bypass', - ServerInfo = 'Server Info', - RdsData = 'RDS Data', - IgnitionSwitchState = 'Ignition Switch State', - Mono = 'Mono', - SpeedVolumeCurrentSpeed = 'Speed Volume Current Speed', - ZoneCapabilitiesExtended = 'Zone Capabilities Extended', +export enum SimnetCompassAutocalMode { + Off = 'Off', + On = 'On', + AutoLocked = 'Auto locked', + Auto = 'Auto', +} + +/** + * @category Enumerations + */ +export const SimnetCompassAutocalModeValues: {[key: string]: number} = { + [SimnetCompassAutocalMode.Off]: 0x0, + [SimnetCompassAutocalMode.On]: 0x1, + [SimnetCompassAutocalMode.AutoLocked]: 0x2, + [SimnetCompassAutocalMode.Auto]: 0x3, +} + +/** + * @category Enumerations + */ +export enum SimnetDataSource { + Heading = 'Heading', + Navigation = 'Navigation', + Position = 'Position', + ApparentWind = 'Apparent Wind', + TrueWind = 'True Wind', + SpeedThroughWater = 'Speed Through Water', + SeaTemperature = 'Sea Temperature', + DistanceLog = 'Distance Log', + Depth = 'Depth', + RudderFeedback = 'Rudder Feedback', + MonitorCompass = 'Monitor Compass', + PositionBackup = 'Position Backup', + BoatSpeedBackup = 'Boat Speed Backup', + AirTemperature = 'Air Temperature', + BarometricPressure = 'Barometric Pressure', + HeelAngle = 'Heel Angle', + SailingNavigation = 'Sailing Navigation', + TrimAngle = 'Trim Angle', + Sailing = 'Sailing', + AftDepth = 'Aft Depth', + SpeedLog = 'Speed Log', + RtcmSignal = 'RTCM Signal', + RtcmCorrections = 'RTCM Corrections', + Autopilot = 'Autopilot', + AutopilotFunctionBackup = 'Autopilot Function Backup', + AutopilotControl = 'Autopilot Control', } /** * @category Enumerations */ -export const FusionStatusMessageIdValues: {[key: string]: number} = { - [FusionStatusMessageId.Unknown]: 0x0, - [FusionStatusMessageId.ApiVersion]: 0x8001, - [FusionStatusMessageId.Source]: 0x8002, - [FusionStatusMessageId.SourceCount]: 0x8003, - [FusionStatusMessageId.TrackInfo]: 0x8004, - [FusionStatusMessageId.TrackTitle]: 0x8005, - [FusionStatusMessageId.TrackArtist]: 0x8006, - [FusionStatusMessageId.TrackAlbum]: 0x8007, - [FusionStatusMessageId.CoverArt]: 0x8008, - [FusionStatusMessageId.TrackProgress]: 0x8009, - [FusionStatusMessageId.TunerAlign]: 0x800a, - [FusionStatusMessageId.Tuner]: 0x800b, - [FusionStatusMessageId.MarineTuner]: 0x800c, - [FusionStatusMessageId.MarineSquelch]: 0x800d, - [FusionStatusMessageId.MarineScanMode]: 0x800e, - [FusionStatusMessageId.MenuAction]: 0x800f, - [FusionStatusMessageId.MenuCount]: 0x8010, - [FusionStatusMessageId.MenuItem]: 0x8011, - [FusionStatusMessageId.MenuLockId]: 0x8012, - [FusionStatusMessageId.AuxGain]: 0x8013, - [FusionStatusMessageId.Setting]: 0x8014, - [FusionStatusMessageId.Settings]: 0x8015, - [FusionStatusMessageId.UpdateFirmwareResult]: 0x8016, - [FusionStatusMessageId.Mute]: 0x8017, - [FusionStatusMessageId.Balance]: 0x8018, - [FusionStatusMessageId.LowPassFilter]: 0x8019, - [FusionStatusMessageId.Sublevels]: 0x801a, - [FusionStatusMessageId.Tone]: 0x801b, - [FusionStatusMessageId.VolumeLimits]: 0x801c, - [FusionStatusMessageId.Volume]: 0x801d, - [FusionStatusMessageId.Capabilities]: 0x801e, - [FusionStatusMessageId.LineLevelControl]: 0x801f, - [FusionStatusMessageId.Power]: 0x8020, - [FusionStatusMessageId.UnitName]: 0x8021, - [FusionStatusMessageId.Sirius]: 0x8022, - [FusionStatusMessageId.SiriusXmPresetEvent]: 0x8023, - [FusionStatusMessageId.SiriusXmChannel]: 0x8024, - [FusionStatusMessageId.SiriusXmTitle]: 0x8025, - [FusionStatusMessageId.SiriusXmArtist]: 0x8026, - [FusionStatusMessageId.SiriusXmGenre]: 0x8027, - [FusionStatusMessageId.SiriusXmCategory]: 0x8028, - [FusionStatusMessageId.SiriusXmSignal]: 0x8029, - [FusionStatusMessageId.SiriusXmParentalRequest]: 0x802a, - [FusionStatusMessageId.SiriusXmDiagnostics]: 0x802b, - [FusionStatusMessageId.SiriusXmPresets]: 0x802c, - [FusionStatusMessageId.ZoneName]: 0x802d, - [FusionStatusMessageId.IpSetting]: 0x8033, - [FusionStatusMessageId.Multiroom]: 0x8038, - [FusionStatusMessageId.MultiroomStatus]: 0x8039, - [FusionStatusMessageId.SystemCapabilities]: 0x803d, - [FusionStatusMessageId.PartNumber]: 0x803e, - [FusionStatusMessageId.ProcessingBypass]: 0x8040, - [FusionStatusMessageId.ServerInfo]: 0x804e, - [FusionStatusMessageId.RdsData]: 0x8052, - [FusionStatusMessageId.IgnitionSwitchState]: 0x805b, - [FusionStatusMessageId.Mono]: 0x805e, - [FusionStatusMessageId.SpeedVolumeCurrentSpeed]: 0x805f, - [FusionStatusMessageId.ZoneCapabilitiesExtended]: 0x8061, +export const SimnetDataSourceValues: {[key: string]: number} = { + [SimnetDataSource.Heading]: 0x0, + [SimnetDataSource.Navigation]: 0x1, + [SimnetDataSource.Position]: 0x2, + [SimnetDataSource.ApparentWind]: 0x3, + [SimnetDataSource.TrueWind]: 0x4, + [SimnetDataSource.SpeedThroughWater]: 0x5, + [SimnetDataSource.SeaTemperature]: 0x6, + [SimnetDataSource.DistanceLog]: 0x7, + [SimnetDataSource.Depth]: 0x8, + [SimnetDataSource.RudderFeedback]: 0x9, + [SimnetDataSource.MonitorCompass]: 0x13, + [SimnetDataSource.PositionBackup]: 0x14, + [SimnetDataSource.BoatSpeedBackup]: 0x15, + [SimnetDataSource.AirTemperature]: 0x16, + [SimnetDataSource.BarometricPressure]: 0x1c, + [SimnetDataSource.HeelAngle]: 0x1e, + [SimnetDataSource.SailingNavigation]: 0x22, + [SimnetDataSource.TrimAngle]: 0x23, + [SimnetDataSource.Sailing]: 0x24, + [SimnetDataSource.AftDepth]: 0x25, + [SimnetDataSource.SpeedLog]: 0x26, + [SimnetDataSource.RtcmSignal]: 0x27, + [SimnetDataSource.RtcmCorrections]: 0x28, + [SimnetDataSource.Autopilot]: 0x36, + [SimnetDataSource.AutopilotFunctionBackup]: 0x3b, + [SimnetDataSource.AutopilotControl]: 0x68, } /** * @category Enumerations */ -export enum SonichubControl { - Set = 'Set', - Ack = 'Ack', +export enum SimnetDepthUnit { + Meters = 'Meters', + Feet = 'Feet', + Fathoms = 'Fathoms', } /** * @category Enumerations */ -export const SonichubControlValues: {[key: string]: number} = { - [SonichubControl.Set]: 0x0, - [SonichubControl.Ack]: 0x80, +export const SimnetDepthUnitValues: {[key: string]: number} = { + [SimnetDepthUnit.Meters]: 0x0, + [SimnetDepthUnit.Feet]: 0x1, + [SimnetDepthUnit.Fathoms]: 0x2, } /** * @category Enumerations */ -export enum SonichubSource { - Am = 'AM', - Fm = 'FM', - IPod = 'iPod', - Usb = 'USB', - Aux = 'AUX', - Aux2 = 'AUX 2', - Mic = 'Mic', +export enum SimnetDeviceModel { + Ac = 'AC', + OtherDevice = 'Other device', + Nac = 'NAC', } /** * @category Enumerations */ -export const SonichubSourceValues: {[key: string]: number} = { - [SonichubSource.Am]: 0x0, - [SonichubSource.Fm]: 0x1, - [SonichubSource.IPod]: 0x2, - [SonichubSource.Usb]: 0x3, - [SonichubSource.Aux]: 0x4, - [SonichubSource.Aux2]: 0x5, - [SonichubSource.Mic]: 0x6, +export const SimnetDeviceModelValues: {[key: string]: number} = { + [SimnetDeviceModel.Ac]: 0x0, + [SimnetDeviceModel.OtherDevice]: 0x1, + [SimnetDeviceModel.Nac]: 0x64, } /** * @category Enumerations */ -export enum IsoControl { - Ack = 'ACK', - Nak = 'NAK', - AccessDenied = 'Access Denied', - AddressBusy = 'Address Busy', +export enum SimnetDeviceReport { + Status = 'Status', + SendStatus = 'Send Status', + Mode = 'Mode', + SendMode = 'Send Mode', + SailingProcessorStatus = 'Sailing Processor Status', } /** * @category Enumerations */ -export const IsoControlValues: {[key: string]: number} = { - [IsoControl.Ack]: 0x0, - [IsoControl.Nak]: 0x1, - [IsoControl.AccessDenied]: 0x2, - [IsoControl.AddressBusy]: 0x3, +export const SimnetDeviceReportValues: {[key: string]: number} = { + [SimnetDeviceReport.Status]: 0x2, + [SimnetDeviceReport.SendStatus]: 0x3, + [SimnetDeviceReport.Mode]: 0xa, + [SimnetDeviceReport.SendMode]: 0xb, + [SimnetDeviceReport.SailingProcessorStatus]: 0x17, } /** * @category Enumerations */ -export enum IsoCommand { - Ack = 'ACK', - Rts = 'RTS', - Cts = 'CTS', - Eom = 'EOM', - Bam = 'BAM', - Abort = 'Abort', +export enum SimnetDirection { + Port = 'Port', + Starboard = 'Starboard', + LeftRudderport = 'Left rudder (port)', + RightRudderstarboard = 'Right rudder (starboard)', } /** * @category Enumerations */ -export const IsoCommandValues: {[key: string]: number} = { - [IsoCommand.Ack]: 0x0, - [IsoCommand.Rts]: 0x10, - [IsoCommand.Cts]: 0x11, - [IsoCommand.Eom]: 0x13, - [IsoCommand.Bam]: 0x20, - [IsoCommand.Abort]: 0xff, +export const SimnetDirectionValues: {[key: string]: number} = { + [SimnetDirection.Port]: 0x2, + [SimnetDirection.Starboard]: 0x3, + [SimnetDirection.LeftRudderport]: 0x4, + [SimnetDirection.RightRudderstarboard]: 0x5, } /** * @category Enumerations */ -export enum GroupFunction { - Request = 'Request', - Command = 'Command', - Acknowledge = 'Acknowledge', - ReadFields = 'Read Fields', - ReadFieldsReply = 'Read Fields Reply', - WriteFields = 'Write Fields', - WriteFieldsReply = 'Write Fields Reply', +export enum SimnetDistanceSmallUnit { + Feet = 'Feet', + Meters = 'Meters', + Yards = 'Yards', } /** * @category Enumerations */ -export const GroupFunctionValues: {[key: string]: number} = { - [GroupFunction.Request]: 0x0, - [GroupFunction.Command]: 0x1, - [GroupFunction.Acknowledge]: 0x2, - [GroupFunction.ReadFields]: 0x3, - [GroupFunction.ReadFieldsReply]: 0x4, - [GroupFunction.WriteFields]: 0x5, - [GroupFunction.WriteFieldsReply]: 0x6, +export const SimnetDistanceSmallUnitValues: {[key: string]: number} = { + [SimnetDistanceSmallUnit.Feet]: 0x0, + [SimnetDistanceSmallUnit.Meters]: 0x1, + [SimnetDistanceSmallUnit.Yards]: 0x2, } /** * @category Enumerations */ -export enum AirmarCommand { - AttitudeOffsets = 'Attitude Offsets', - CalibrateCompass = 'Calibrate Compass', - TrueWindOptions = 'True Wind Options', - SimulateMode = 'Simulate Mode', - CalibrateDepth = 'Calibrate Depth', - CalibrateSpeed = 'Calibrate Speed', - CalibrateTemperature = 'Calibrate Temperature', - SpeedFilter = 'Speed Filter', - TemperatureFilter = 'Temperature Filter', - Nmea2000Options = 'NMEA 2000 options', +export enum SimnetDistanceUnit { + NauticalMiles = 'Nautical miles', + Kilometers = 'Kilometers', + Miles = 'Miles', } /** * @category Enumerations */ -export const AirmarCommandValues: {[key: string]: number} = { - [AirmarCommand.AttitudeOffsets]: 0x20, - [AirmarCommand.CalibrateCompass]: 0x21, - [AirmarCommand.TrueWindOptions]: 0x22, - [AirmarCommand.SimulateMode]: 0x23, - [AirmarCommand.CalibrateDepth]: 0x28, - [AirmarCommand.CalibrateSpeed]: 0x29, - [AirmarCommand.CalibrateTemperature]: 0x2a, - [AirmarCommand.SpeedFilter]: 0x2b, - [AirmarCommand.TemperatureFilter]: 0x2c, - [AirmarCommand.Nmea2000Options]: 0x2e, +export const SimnetDistanceUnitValues: {[key: string]: number} = { + [SimnetDistanceUnit.NauticalMiles]: 0x0, + [SimnetDistanceUnit.Kilometers]: 0x1, + [SimnetDistanceUnit.Miles]: 0x2, } /** * @category Enumerations */ -export enum AirmarDepthQualityFactor { - DepthUnlocked = 'Depth unlocked', - Quality10 = 'Quality 10%', - Quality20 = 'Quality 20%', - Quality30 = 'Quality 30%', - Quality40 = 'Quality 40%', - Quality50 = 'Quality 50%', - Quality60 = 'Quality 60%', - Quality70 = 'Quality 70%', - Quality80 = 'Quality 80%', - Quality90 = 'Quality 90%', - Quality100 = 'Quality 100%', +export enum SimnetEventType { + FollowUp = 'Follow Up', + ApCommand = 'AP Command', + Timer = 'Timer', + Siren = 'Siren', + AisVesselSelected = 'AIS vessel selected', + Alarm = 'Alarm', } /** * @category Enumerations */ -export const AirmarDepthQualityFactorValues: {[key: string]: number} = { - [AirmarDepthQualityFactor.DepthUnlocked]: 0x0, - [AirmarDepthQualityFactor.Quality10]: 0x1, - [AirmarDepthQualityFactor.Quality20]: 0x2, - [AirmarDepthQualityFactor.Quality30]: 0x3, - [AirmarDepthQualityFactor.Quality40]: 0x4, - [AirmarDepthQualityFactor.Quality50]: 0x5, - [AirmarDepthQualityFactor.Quality60]: 0x6, - [AirmarDepthQualityFactor.Quality70]: 0x7, - [AirmarDepthQualityFactor.Quality80]: 0x8, - [AirmarDepthQualityFactor.Quality90]: 0x9, - [AirmarDepthQualityFactor.Quality100]: 0xa, +export const SimnetEventTypeValues: {[key: string]: number} = { + [SimnetEventType.FollowUp]: 0x2, + [SimnetEventType.ApCommand]: 0xa, + [SimnetEventType.Timer]: 0x17, + [SimnetEventType.Siren]: 0x1f, + [SimnetEventType.AisVesselSelected]: 0x24, + [SimnetEventType.Alarm]: 0xff, } /** * @category Enumerations */ -export enum PgnErrorCode { - Acknowledge = 'Acknowledge', - PgnNotSupported = 'PGN not supported', - PgnNotAvailable = 'PGN not available', - AccessDenied = 'Access denied', - NotSupported = 'Not supported', - TagNotSupported = 'Tag not supported', - ReadOrWriteNotSupported = 'Read or Write not supported', +export enum SimnetHeadingUnit { + Magnetic = 'Magnetic', + True = 'True', } /** * @category Enumerations */ -export const PgnErrorCodeValues: {[key: string]: number} = { - [PgnErrorCode.Acknowledge]: 0x0, - [PgnErrorCode.PgnNotSupported]: 0x1, - [PgnErrorCode.PgnNotAvailable]: 0x2, - [PgnErrorCode.AccessDenied]: 0x3, - [PgnErrorCode.NotSupported]: 0x4, - [PgnErrorCode.TagNotSupported]: 0x5, - [PgnErrorCode.ReadOrWriteNotSupported]: 0x6, +export const SimnetHeadingUnitValues: {[key: string]: number} = { + [SimnetHeadingUnit.Magnetic]: 0x0, + [SimnetHeadingUnit.True]: 0x1, } /** * @category Enumerations */ -export enum AirmarTransmissionInterval { - MeasureInterval = 'Measure interval', - RequestedByUser = 'Requested by user', +export enum SimnetHourDisplay { + _24Hour = '24 hour', + _12Hour = '12 hour', } /** * @category Enumerations */ -export const AirmarTransmissionIntervalValues: {[key: string]: number} = { - [AirmarTransmissionInterval.MeasureInterval]: 0x0, - [AirmarTransmissionInterval.RequestedByUser]: 0x1, +export const SimnetHourDisplayValues: {[key: string]: number} = { + [SimnetHourDisplay._24Hour]: 0x0, + [SimnetHourDisplay._12Hour]: 0x1, } /** * @category Enumerations */ -export enum MobPositionSource { - PositionEstimatedByTheVessel = 'Position estimated by the vessel', - PositionReportedByMobEmitter = 'Position reported by MOB emitter', +export enum SimnetKeyOperation { + Read = 'Read', + Set = 'Set', + Reply = 'Reply', } /** * @category Enumerations */ -export const MobPositionSourceValues: {[key: string]: number} = { - [MobPositionSource.PositionEstimatedByTheVessel]: 0x0, - [MobPositionSource.PositionReportedByMobEmitter]: 0x1, +export const SimnetKeyOperationValues: {[key: string]: number} = { + [SimnetKeyOperation.Read]: 0x0, + [SimnetKeyOperation.Set]: 0x1, + [SimnetKeyOperation.Reply]: 0x2, } /** - * @category Enumerations - */ -export enum SteeringMode { - MainSteering = 'Main Steering', - NonFollowUpDevice = 'Non-Follow-Up Device', - FollowUpDevice = 'Follow-Up Device', - HeadingControlStandalone = 'Heading Control Standalone', - HeadingControl = 'Heading Control', - TrackControl = 'Track Control', + * @category Enumerations + */ +export enum SimnetNetworkGroup { + None = 'None', + Default = 'Default', + Group1 = 'Group 1', + Group2 = 'Group 2', + Group3 = 'Group 3', + Group4 = 'Group 4', + Group5 = 'Group 5', + Group6 = 'Group 6', } /** * @category Enumerations */ -export const SteeringModeValues: {[key: string]: number} = { - [SteeringMode.MainSteering]: 0x0, - [SteeringMode.NonFollowUpDevice]: 0x1, - [SteeringMode.FollowUpDevice]: 0x2, - [SteeringMode.HeadingControlStandalone]: 0x3, - [SteeringMode.HeadingControl]: 0x4, - [SteeringMode.TrackControl]: 0x5, +export const SimnetNetworkGroupValues: {[key: string]: number} = { + [SimnetNetworkGroup.None]: 0x0, + [SimnetNetworkGroup.Default]: 0x1, + [SimnetNetworkGroup.Group1]: 0x2, + [SimnetNetworkGroup.Group2]: 0x3, + [SimnetNetworkGroup.Group3]: 0x4, + [SimnetNetworkGroup.Group4]: 0x5, + [SimnetNetworkGroup.Group5]: 0x6, + [SimnetNetworkGroup.Group6]: 0x7, } /** * @category Enumerations */ -export enum FusionRadioSource { - Am = 'AM', - Fm = 'FM', +export enum SimnetNightMode { + Day = 'Day', + Night = 'Night', } /** * @category Enumerations */ -export const FusionRadioSourceValues: {[key: string]: number} = { - [FusionRadioSource.Am]: 0x0, - [FusionRadioSource.Fm]: 0x1, +export const SimnetNightModeValues: {[key: string]: number} = { + [SimnetNightMode.Day]: 0x2, + [SimnetNightMode.Night]: 0x4, } /** * @category Enumerations */ -export enum FusionSetting { - AlphaSearchThreshold = 'Alpha Search Threshold', - IPodSubtitles = 'iPod Subtitles', - Zone2Linked = 'Zone 2 Linked', - Zone2Enabled = 'Zone 2 Enabled', - Zone3Enabled = 'Zone 3 Enabled', - Zone4Enabled = 'Zone 4 Enabled', - Telemute = 'Telemute', - TunerRegion = 'Tuner Region', - MarineZone = 'Marine Zone', - UsbRepeat = 'USB repeat', - UsbShuffle = 'USB shuffle', - IPodAlbumArtwork = 'iPod Album Artwork', - IPodRepeat = 'iPod repeat', - IPodShuffle = 'iPod shuffle', - AmPreset0 = 'AM Preset 0', - AmPreset1 = 'AM Preset 1', - AmPreset2 = 'AM Preset 2', - AmPreset3 = 'AM Preset 3', - AmPreset4 = 'AM Preset 4', - AmPreset5 = 'AM Preset 5', - AmPreset6 = 'AM Preset 6', - AmPreset7 = 'AM Preset 7', - AmPreset8 = 'AM Preset 8', - AmPreset9 = 'AM Preset 9', - AmPreset10 = 'AM Preset 10', - AmPreset11 = 'AM Preset 11', - AmPreset12 = 'AM Preset 12', - AmPreset13 = 'AM Preset 13', - AmPreset14 = 'AM Preset 14', - FmPreset0 = 'FM Preset 0', - FmPreset1 = 'FM Preset 1', - FmPreset2 = 'FM Preset 2', - FmPreset3 = 'FM Preset 3', - FmPreset4 = 'FM Preset 4', - FmPreset5 = 'FM Preset 5', - FmPreset6 = 'FM Preset 6', - FmPreset7 = 'FM Preset 7', - FmPreset8 = 'FM Preset 8', - FmPreset9 = 'FM Preset 9', - FmPreset10 = 'FM Preset 10', - FmPreset11 = 'FM Preset 11', - FmPreset12 = 'FM Preset 12', - FmPreset13 = 'FM Preset 13', - FmPreset14 = 'FM Preset 14', - VhfPreset0 = 'VHF Preset 0', - VhfPreset1 = 'VHF Preset 1', - VhfPreset2 = 'VHF Preset 2', - VhfPreset3 = 'VHF Preset 3', - VhfPreset4 = 'VHF Preset 4', - VhfPreset5 = 'VHF Preset 5', - VhfPreset6 = 'VHF Preset 6', - VhfPreset7 = 'VHF Preset 7', - VhfPreset8 = 'VHF Preset 8', - VhfPreset9 = 'VHF Preset 9', - VhfPreset10 = 'VHF Preset 10', - VhfPreset11 = 'VHF Preset 11', - VhfPreset12 = 'VHF Preset 12', - VhfPreset13 = 'VHF Preset 13', - VhfPreset14 = 'VHF Preset 14', - ClockTime = 'Clock Time', - ClockAlarm = 'Clock Alarm', - IPodVideoSignal = 'iPod Video Signal', - IPodMonitorAspect = 'iPod Monitor Aspect', - AuxNameIndex = 'Aux Name Index', - AmEnabled = 'AM Enabled', - VhfEnabled = 'VHF Enabled', - Language = 'Language', - InternalAmpsOn = 'Internal Amps On', - MtpRepeat = 'MTP Repeat', - MtpShuffle = 'MTP Shuffle', - IdAccessorySource = 'Id Accessory Source', - NmeaPower = 'NMEA Power', - LowPowerMode = 'Low Power Mode', - DvdRegion = 'DVD region', - VolumeZoneSync = 'Volume Zone Sync', - MaxVolumeStart = 'Max Volume Start', - BtAutoConnect = 'BT Auto Connect', - NullSetting = 'Null Setting', +export enum SimnetNightModeColor { + Red = 'Red', + Green = 'Green', + Blue = 'Blue', + White = 'White', + Magenta = 'Magenta', } /** * @category Enumerations */ -export const FusionSettingValues: {[key: string]: number} = { - [FusionSetting.AlphaSearchThreshold]: 0x0, - [FusionSetting.IPodSubtitles]: 0x1, - [FusionSetting.Zone2Linked]: 0x2, - [FusionSetting.Zone2Enabled]: 0x3, - [FusionSetting.Zone3Enabled]: 0x4, - [FusionSetting.Zone4Enabled]: 0x5, - [FusionSetting.Telemute]: 0x6, - [FusionSetting.TunerRegion]: 0x7, - [FusionSetting.MarineZone]: 0x8, - [FusionSetting.UsbRepeat]: 0x9, - [FusionSetting.UsbShuffle]: 0xa, - [FusionSetting.IPodAlbumArtwork]: 0xb, - [FusionSetting.IPodRepeat]: 0xc, - [FusionSetting.IPodShuffle]: 0xd, - [FusionSetting.AmPreset0]: 0xe, - [FusionSetting.AmPreset1]: 0xf, - [FusionSetting.AmPreset2]: 0x10, - [FusionSetting.AmPreset3]: 0x11, - [FusionSetting.AmPreset4]: 0x12, - [FusionSetting.AmPreset5]: 0x13, - [FusionSetting.AmPreset6]: 0x14, - [FusionSetting.AmPreset7]: 0x15, - [FusionSetting.AmPreset8]: 0x16, - [FusionSetting.AmPreset9]: 0x17, - [FusionSetting.AmPreset10]: 0x18, - [FusionSetting.AmPreset11]: 0x19, - [FusionSetting.AmPreset12]: 0x1a, - [FusionSetting.AmPreset13]: 0x1b, - [FusionSetting.AmPreset14]: 0x1c, - [FusionSetting.FmPreset0]: 0x1d, - [FusionSetting.FmPreset1]: 0x1e, - [FusionSetting.FmPreset2]: 0x1f, - [FusionSetting.FmPreset3]: 0x20, - [FusionSetting.FmPreset4]: 0x21, - [FusionSetting.FmPreset5]: 0x22, - [FusionSetting.FmPreset6]: 0x23, - [FusionSetting.FmPreset7]: 0x24, - [FusionSetting.FmPreset8]: 0x25, - [FusionSetting.FmPreset9]: 0x26, - [FusionSetting.FmPreset10]: 0x27, - [FusionSetting.FmPreset11]: 0x28, - [FusionSetting.FmPreset12]: 0x29, - [FusionSetting.FmPreset13]: 0x2a, - [FusionSetting.FmPreset14]: 0x2b, - [FusionSetting.VhfPreset0]: 0x2c, - [FusionSetting.VhfPreset1]: 0x2d, - [FusionSetting.VhfPreset2]: 0x2e, - [FusionSetting.VhfPreset3]: 0x2f, - [FusionSetting.VhfPreset4]: 0x30, - [FusionSetting.VhfPreset5]: 0x31, - [FusionSetting.VhfPreset6]: 0x32, - [FusionSetting.VhfPreset7]: 0x33, - [FusionSetting.VhfPreset8]: 0x34, - [FusionSetting.VhfPreset9]: 0x35, - [FusionSetting.VhfPreset10]: 0x36, - [FusionSetting.VhfPreset11]: 0x37, - [FusionSetting.VhfPreset12]: 0x38, - [FusionSetting.VhfPreset13]: 0x39, - [FusionSetting.VhfPreset14]: 0x3a, - [FusionSetting.ClockTime]: 0x3b, - [FusionSetting.ClockAlarm]: 0x3c, - [FusionSetting.IPodVideoSignal]: 0x3d, - [FusionSetting.IPodMonitorAspect]: 0x3e, - [FusionSetting.AuxNameIndex]: 0x3f, - [FusionSetting.AmEnabled]: 0x40, - [FusionSetting.VhfEnabled]: 0x41, - [FusionSetting.Language]: 0x42, - [FusionSetting.InternalAmpsOn]: 0x43, - [FusionSetting.MtpRepeat]: 0x44, - [FusionSetting.MtpShuffle]: 0x45, - [FusionSetting.IdAccessorySource]: 0x46, - [FusionSetting.NmeaPower]: 0x47, - [FusionSetting.LowPowerMode]: 0x48, - [FusionSetting.DvdRegion]: 0x49, - [FusionSetting.VolumeZoneSync]: 0x4a, - [FusionSetting.MaxVolumeStart]: 0x4b, - [FusionSetting.BtAutoConnect]: 0x4c, - [FusionSetting.NullSetting]: 0x4d, +export const SimnetNightModeColorValues: {[key: string]: number} = { + [SimnetNightModeColor.Red]: 0x0, + [SimnetNightModeColor.Green]: 0x1, + [SimnetNightModeColor.Blue]: 0x2, + [SimnetNightModeColor.White]: 0x3, + [SimnetNightModeColor.Magenta]: 0x4, } /** * @category Enumerations */ -export enum FusionRepeatStatus { - Off = 'Off', - Onetrack = 'One/track', - Allalbum = 'All/album', +export enum SimnetPressureUnit { + Psi = 'PSI', + Kilopascal = 'Kilopascal', + InchesOfMercury = 'Inches of mercury', + Bar = 'Bar', } /** * @category Enumerations */ -export const FusionRepeatStatusValues: {[key: string]: number} = { - [FusionRepeatStatus.Off]: 0x0, - [FusionRepeatStatus.Onetrack]: 0x1, - [FusionRepeatStatus.Allalbum]: 0x2, +export const SimnetPressureUnitValues: {[key: string]: number} = { + [SimnetPressureUnit.Psi]: 0x1, + [SimnetPressureUnit.Kilopascal]: 0x3, + [SimnetPressureUnit.InchesOfMercury]: 0x5, + [SimnetPressureUnit.Bar]: 0x6, } /** * @category Enumerations */ -export enum AirmarPostControl { - ReportPreviousValues = 'Report previous values', - GenerateNewValues = 'Generate new values', +export enum SimnetSpeedUnit { + Knots = 'Knots', + KilometersPerHour = 'Kilometers per hour', + MilesPerHour = 'Miles per hour', } /** * @category Enumerations */ -export const AirmarPostControlValues: {[key: string]: number} = { - [AirmarPostControl.ReportPreviousValues]: 0x0, - [AirmarPostControl.GenerateNewValues]: 0x1, +export const SimnetSpeedUnitValues: {[key: string]: number} = { + [SimnetSpeedUnit.Knots]: 0x0, + [SimnetSpeedUnit.KilometersPerHour]: 0x1, + [SimnetSpeedUnit.MilesPerHour]: 0x2, } /** * @category Enumerations */ -export enum AirmarPostId { - FormatCode = 'Format Code', - FactoryEeprom = 'Factory EEPROM', - UserEeprom = 'User EEPROM', - WaterTemperatureSensor = 'Water Temperature Sensor', - SonarTransceiver = 'Sonar Transceiver', - SpeedSensor = 'Speed sensor', - InternalTemperatureSensor = 'Internal temperature sensor', - BatteryVoltageSensor = 'Battery voltage sensor', +export enum SimnetTemperatureUnit { + Celsius = 'Celsius', + Fahrenheit = 'Fahrenheit', } /** * @category Enumerations */ -export const AirmarPostIdValues: {[key: string]: number} = { - [AirmarPostId.FormatCode]: 0x1, - [AirmarPostId.FactoryEeprom]: 0x2, - [AirmarPostId.UserEeprom]: 0x3, - [AirmarPostId.WaterTemperatureSensor]: 0x4, - [AirmarPostId.SonarTransceiver]: 0x5, - [AirmarPostId.SpeedSensor]: 0x6, - [AirmarPostId.InternalTemperatureSensor]: 0x7, - [AirmarPostId.BatteryVoltageSensor]: 0x8, +export const SimnetTemperatureUnitValues: {[key: string]: number} = { + [SimnetTemperatureUnit.Celsius]: 0x0, + [SimnetTemperatureUnit.Fahrenheit]: 0x1, } /** * @category Enumerations */ -export enum SonichubTuning { - SeekingUp = 'Seeking up', - Tuned = 'Tuned', - SeekingDown = 'Seeking down', +export enum SimnetTimerEvent { + RaceTimerStart = 'Race Timer Start', + RaceTimerStop = 'Race Timer Stop', + RaceTimerSync = 'Race Timer Sync', + RaceTimerReset = 'Race Timer Reset', + TripTimerResetAll = 'Trip Timer Reset All', + TripTimerEnable = 'Trip Timer Enable', + TripTimerDisable = 'Trip Timer Disable', } /** * @category Enumerations */ -export const SonichubTuningValues: {[key: string]: number} = { - [SonichubTuning.SeekingUp]: 0x1, - [SonichubTuning.Tuned]: 0x2, - [SonichubTuning.SeekingDown]: 0x3, +export const SimnetTimerEventValues: {[key: string]: number} = { + [SimnetTimerEvent.RaceTimerStart]: 0x3d, + [SimnetTimerEvent.RaceTimerStop]: 0x3e, + [SimnetTimerEvent.RaceTimerSync]: 0x3f, + [SimnetTimerEvent.RaceTimerReset]: 0x40, + [SimnetTimerEvent.TripTimerResetAll]: 0x41, + [SimnetTimerEvent.TripTimerEnable]: 0x64, + [SimnetTimerEvent.TripTimerDisable]: 0x65, } /** * @category Enumerations */ -export enum SonichubPlaylist { - Report = 'Report', - NextSong = 'Next song', - PreviousSong = 'Previous song', +export enum SimnetTimeFormat { + Mmddyyyy = 'MM/dd/yyyy', + Ddmmyyyy = 'dd/MM/yyyy', } /** * @category Enumerations */ -export const SonichubPlaylistValues: {[key: string]: number} = { - [SonichubPlaylist.Report]: 0x1, - [SonichubPlaylist.NextSong]: 0x4, - [SonichubPlaylist.PreviousSong]: 0x6, +export const SimnetTimeFormatValues: {[key: string]: number} = { + [SimnetTimeFormat.Mmddyyyy]: 0x1, + [SimnetTimeFormat.Ddmmyyyy]: 0x2, } /** * @category Enumerations */ -export enum FusionPowerState { - On = 'On', - Off = 'Off', +export enum SimnetVolumeUnit { + Liters = 'Liters', + Gallons = 'Gallons', } /** * @category Enumerations */ -export const FusionPowerStateValues: {[key: string]: number} = { - [FusionPowerState.On]: 0x1, - [FusionPowerState.Off]: 0x2, +export const SimnetVolumeUnitValues: {[key: string]: number} = { + [SimnetVolumeUnit.Liters]: 0x0, + [SimnetVolumeUnit.Gallons]: 0x1, } /** * @category Enumerations */ -export enum Priority { - _0 = '0', - _1 = '1', - _2 = '2', - _3 = '3', - _4 = '4', - _5 = '5', - _6 = '6', - _7 = '7', - LeaveUnchanged = 'Leave unchanged', - ResetToDefault = 'Reset to default', +export enum SimnetWindSpeedUnit { + Knots = 'Knots', + MetersPerSecond = 'Meters per second', + MilesPerHour = 'Miles per hour', + KilometersPerHour = 'Kilometers per hour', } /** * @category Enumerations */ -export const PriorityValues: {[key: string]: number} = { - [Priority._0]: 0x0, - [Priority._1]: 0x1, - [Priority._2]: 0x2, - [Priority._3]: 0x3, - [Priority._4]: 0x4, - [Priority._5]: 0x5, - [Priority._6]: 0x6, - [Priority._7]: 0x7, - [Priority.LeaveUnchanged]: 0x8, - [Priority.ResetToDefault]: 0x9, +export const SimnetWindSpeedUnitValues: {[key: string]: number} = { + [SimnetWindSpeedUnit.Knots]: 0x0, + [SimnetWindSpeedUnit.MetersPerSecond]: 0x1, + [SimnetWindSpeedUnit.MilesPerHour]: 0x2, + [SimnetWindSpeedUnit.KilometersPerHour]: 0x3, } /** * @category Enumerations */ -export enum DeviceTempState { - Cold = 'Cold', - Warm = 'Warm', - Hot = 'Hot', +export enum SonichubCommand { + Init2 = 'Init #2', + AmRadio = 'AM Radio', + ZoneInfo = 'Zone Info', + Source = 'Source', + SourceList = 'Source List', + Control = 'Control', + FmRadio = 'FM Radio', + Playlist = 'Playlist', + Track = 'Track', + Artist = 'Artist', + Album = 'Album', + MenuItem = 'Menu Item', + Zones = 'Zones', + MaxVolume = 'Max Volume', + Volume = 'Volume', + Init1 = 'Init #1', + Position = 'Position', + Init3 = 'Init #3', } /** * @category Enumerations */ -export const DeviceTempStateValues: {[key: string]: number} = { - [DeviceTempState.Cold]: 0x0, - [DeviceTempState.Warm]: 0x1, - [DeviceTempState.Hot]: 0x2, +export const SonichubCommandValues: {[key: string]: number} = { + [SonichubCommand.Init2]: 0x1, + [SonichubCommand.AmRadio]: 0x4, + [SonichubCommand.ZoneInfo]: 0x5, + [SonichubCommand.Source]: 0x6, + [SonichubCommand.SourceList]: 0x8, + [SonichubCommand.Control]: 0x9, + [SonichubCommand.FmRadio]: 0xc, + [SonichubCommand.Playlist]: 0xd, + [SonichubCommand.Track]: 0xe, + [SonichubCommand.Artist]: 0xf, + [SonichubCommand.Album]: 0x10, + [SonichubCommand.MenuItem]: 0x13, + [SonichubCommand.Zones]: 0x14, + [SonichubCommand.MaxVolume]: 0x17, + [SonichubCommand.Volume]: 0x18, + [SonichubCommand.Init1]: 0x19, + [SonichubCommand.Position]: 0x30, + [SonichubCommand.Init3]: 0x32, } /** * @category Enumerations */ -export enum BandgDecimals { - _0 = '0', - _1 = '1', - _2 = '2', - _3 = '3', - _4 = '4', - Auto = 'Auto', +export enum SonichubControl { + Set = 'Set', + Ack = 'Ack', } /** * @category Enumerations */ -export const BandgDecimalsValues: {[key: string]: number} = { - [BandgDecimals._0]: 0x0, - [BandgDecimals._1]: 0x1, - [BandgDecimals._2]: 0x2, - [BandgDecimals._3]: 0x3, - [BandgDecimals._4]: 0x4, - [BandgDecimals.Auto]: 0xfe, +export const SonichubControlValues: {[key: string]: number} = { + [SonichubControl.Set]: 0x0, + [SonichubControl.Ack]: 0x80, } /** * @category Enumerations */ -export enum GarminColorMode { - Day = 'Day', - Night = 'Night', - Color = 'Color', +export enum SonichubPlaylist { + Report = 'Report', + NextSong = 'Next song', + PreviousSong = 'Previous song', } /** * @category Enumerations */ -export const GarminColorModeValues: {[key: string]: number} = { - [GarminColorMode.Day]: 0x0, - [GarminColorMode.Night]: 0x1, - [GarminColorMode.Color]: 0xd, +export const SonichubPlaylistValues: {[key: string]: number} = { + [SonichubPlaylist.Report]: 0x1, + [SonichubPlaylist.NextSong]: 0x4, + [SonichubPlaylist.PreviousSong]: 0x6, } /** * @category Enumerations */ -export enum GarminColor { - DayFullColor = 'Day full color', - DayHighContrast = 'Day high contrast', - NightFullColor = 'Night full color', - NightRedblack = 'Night red/black', - NightGreenblack = 'Night green/black', +export enum SonichubSource { + Am = 'AM', + Fm = 'FM', + IPod = 'iPod', + Usb = 'USB', + Aux = 'AUX', + Aux2 = 'AUX 2', + Mic = 'Mic', } /** * @category Enumerations */ -export const GarminColorValues: {[key: string]: number} = { - [GarminColor.DayFullColor]: 0x0, - [GarminColor.DayHighContrast]: 0x1, - [GarminColor.NightFullColor]: 0x2, - [GarminColor.NightRedblack]: 0x3, - [GarminColor.NightGreenblack]: 0x4, +export const SonichubSourceValues: {[key: string]: number} = { + [SonichubSource.Am]: 0x0, + [SonichubSource.Fm]: 0x1, + [SonichubSource.IPod]: 0x2, + [SonichubSource.Usb]: 0x3, + [SonichubSource.Aux]: 0x4, + [SonichubSource.Aux2]: 0x5, + [SonichubSource.Mic]: 0x6, } /** * @category Enumerations */ -export enum GarminBacklightLevel { - _0 = '0%', - _5 = '5%', - _10 = '10%', - _15 = '15%', - _20 = '20%', - _25 = '25%', - _30 = '30%', - _35 = '35%', - _40 = '40%', - _45 = '45%', - _50 = '50%', - _55 = '55%', - _60 = '60%', - _65 = '65%', - _70 = '70%', - _75 = '75%', - _80 = '80%', - _85 = '85%', - _90 = '90%', - _95 = '95%', - _100 = '100%', +export enum SonichubTuning { + SeekingUp = 'Seeking up', + Tuned = 'Tuned', + SeekingDown = 'Seeking down', } /** * @category Enumerations */ -export const GarminBacklightLevelValues: {[key: string]: number} = { - [GarminBacklightLevel._0]: 0x0, - [GarminBacklightLevel._5]: 0x1, - [GarminBacklightLevel._10]: 0x2, - [GarminBacklightLevel._15]: 0x3, - [GarminBacklightLevel._20]: 0x4, - [GarminBacklightLevel._25]: 0x5, - [GarminBacklightLevel._30]: 0x6, - [GarminBacklightLevel._35]: 0x7, - [GarminBacklightLevel._40]: 0x8, - [GarminBacklightLevel._45]: 0x9, - [GarminBacklightLevel._50]: 0xa, - [GarminBacklightLevel._55]: 0xb, - [GarminBacklightLevel._60]: 0xc, - [GarminBacklightLevel._65]: 0xd, - [GarminBacklightLevel._70]: 0xe, - [GarminBacklightLevel._75]: 0xf, - [GarminBacklightLevel._80]: 0x10, - [GarminBacklightLevel._85]: 0x11, - [GarminBacklightLevel._90]: 0x12, - [GarminBacklightLevel._95]: 0x13, - [GarminBacklightLevel._100]: 0x14, +export const SonichubTuningValues: {[key: string]: number} = { + [SonichubTuning.SeekingUp]: 0x1, + [SonichubTuning.Tuned]: 0x2, + [SonichubTuning.SeekingDown]: 0x3, } /** * @category Enumerations */ -export enum SeatalkPilotMode16 { - Standby = 'Standby', - AutoCompassCommanded = 'Auto, compass commanded', - VaneWindMode = 'Vane, Wind Mode', - TrackMode = 'Track Mode', - NoDriftCogReferencedinTrackCourseChanges = 'No Drift, COG referenced (In track, course changes)', +export enum SpeedType { + SingleSpeed = 'Single speed', + DualSpeed = 'Dual speed', + ProportionalSpeed = 'Proportional speed', } /** * @category Enumerations */ -export const SeatalkPilotMode16Values: {[key: string]: number} = { - [SeatalkPilotMode16.Standby]: 0x0, - [SeatalkPilotMode16.AutoCompassCommanded]: 0x40, - [SeatalkPilotMode16.VaneWindMode]: 0x100, - [SeatalkPilotMode16.TrackMode]: 0x180, - [SeatalkPilotMode16.NoDriftCogReferencedinTrackCourseChanges]: 0x181, +export const SpeedTypeValues: {[key: string]: number} = { + [SpeedType.SingleSpeed]: 0x0, + [SpeedType.DualSpeed]: 0x1, + [SpeedType.ProportionalSpeed]: 0x2, } /** @@ -6024,767 +8404,639 @@ export const StationHealthValues: {[key: string]: number} = { /** * @category Enumerations */ -export enum SerialBitRate { - _25 = '25', - _50 = '50', - _100 = '100', - _200 = '200', - _300 = '300', - _600 = '600', - _1200 = '1200', - _2400 = '2400', - _4800 = '4800', - _9600 = '9600', - _19200 = '19200', - _38400 = '38400', - _57600 = '57600', +export enum StationType { + AllTypesOfMobileStation = 'All types of mobile station', + AllTypesOfClassBMobileStation = 'All types of Class B mobile station', + SarAirborneMobileStation = 'SAR airborne mobile station', + AtoNStation = 'AtoN station', + ClassBCsShipborneMobileStation = 'Class B CS shipborne mobile station', + InlandWaterways = 'Inland waterways', + RegionalUse7 = 'Regional use 7', + RegionalUse8 = 'Regional use 8', + RegionalUse9 = 'Regional use 9', } /** * @category Enumerations */ -export const SerialBitRateValues: {[key: string]: number} = { - [SerialBitRate._25]: 0x0, - [SerialBitRate._50]: 0x1, - [SerialBitRate._100]: 0x2, - [SerialBitRate._200]: 0x3, - [SerialBitRate._300]: 0x4, - [SerialBitRate._600]: 0x5, - [SerialBitRate._1200]: 0x6, - [SerialBitRate._2400]: 0x7, - [SerialBitRate._4800]: 0x8, - [SerialBitRate._9600]: 0x9, - [SerialBitRate._19200]: 0xa, - [SerialBitRate._38400]: 0xb, - [SerialBitRate._57600]: 0xc, +export const StationTypeValues: {[key: string]: number} = { + [StationType.AllTypesOfMobileStation]: 0x0, + [StationType.AllTypesOfClassBMobileStation]: 0x2, + [StationType.SarAirborneMobileStation]: 0x3, + [StationType.AtoNStation]: 0x4, + [StationType.ClassBCsShipborneMobileStation]: 0x5, + [StationType.InlandWaterways]: 0x6, + [StationType.RegionalUse7]: 0x7, + [StationType.RegionalUse8]: 0x8, + [StationType.RegionalUse9]: 0x9, +} + +/** + * @category Enumerations + */ +export enum SteeringMode { + MainSteering = 'Main Steering', + NonFollowUpDevice = 'Non-Follow-Up Device', + FollowUpDevice = 'Follow-Up Device', + HeadingControlStandalone = 'Heading Control Standalone', + HeadingControl = 'Heading Control', + TrackControl = 'Track Control', } /** * @category Enumerations */ -export enum SerialDetectionMode { - AutoBitRate = 'Auto bit rate', - ManualBitRate = 'Manual bit rate', +export const SteeringModeValues: {[key: string]: number} = { + [SteeringMode.MainSteering]: 0x0, + [SteeringMode.NonFollowUpDevice]: 0x1, + [SteeringMode.FollowUpDevice]: 0x2, + [SteeringMode.HeadingControlStandalone]: 0x3, + [SteeringMode.HeadingControl]: 0x4, + [SteeringMode.TrackControl]: 0x5, } /** * @category Enumerations */ -export const SerialDetectionModeValues: {[key: string]: number} = { - [SerialDetectionMode.AutoBitRate]: 0x0, - [SerialDetectionMode.ManualBitRate]: 0x1, +export enum SystemTime { + Gps = 'GPS', + Glonass = 'GLONASS', + RadioStation = 'Radio Station', + LocalCesiumClock = 'Local Cesium clock', + LocalRubidiumClock = 'Local Rubidium clock', + LocalCrystalClock = 'Local Crystal clock', } /** * @category Enumerations */ -export enum DifferentialSource { - Auto = 'Auto', - Loran = 'Loran', - MskBeacon = 'MSK Beacon', - FmSubcarrier = 'FM Subcarrier', - Ais = 'AIS', - GroundBasedRadio = 'Ground based radio', - Sbas = 'SBAS', - Satellite = 'Satellite', +export const SystemTimeValues: {[key: string]: number} = { + [SystemTime.Gps]: 0x0, + [SystemTime.Glonass]: 0x1, + [SystemTime.RadioStation]: 0x2, + [SystemTime.LocalCesiumClock]: 0x3, + [SystemTime.LocalRubidiumClock]: 0x4, + [SystemTime.LocalCrystalClock]: 0x5, } /** * @category Enumerations */ -export const DifferentialSourceValues: {[key: string]: number} = { - [DifferentialSource.Auto]: 0x0, - [DifferentialSource.Loran]: 0x1, - [DifferentialSource.MskBeacon]: 0x2, - [DifferentialSource.FmSubcarrier]: 0x3, - [DifferentialSource.Ais]: 0x4, - [DifferentialSource.GroundBasedRadio]: 0x5, - [DifferentialSource.Sbas]: 0x6, - [DifferentialSource.Satellite]: 0x7, +export enum TankType { + Fuel = 'Fuel', + Water = 'Water', + GrayWater = 'Gray water', + LiveWell = 'Live well', + Oil = 'Oil', + BlackWater = 'Black water', } /** * @category Enumerations */ -export enum DifferentialMode { - Manual = 'Manual', - AutoPower = 'Auto Power', - AutoRange = 'Auto Range', +export const TankTypeValues: {[key: string]: number} = { + [TankType.Fuel]: 0x0, + [TankType.Water]: 0x1, + [TankType.GrayWater]: 0x2, + [TankType.LiveWell]: 0x3, + [TankType.Oil]: 0x4, + [TankType.BlackWater]: 0x5, } /** * @category Enumerations */ -export const DifferentialModeValues: {[key: string]: number} = { - [DifferentialMode.Manual]: 0x0, - [DifferentialMode.AutoPower]: 0x1, - [DifferentialMode.AutoRange]: 0x2, +export enum TargetAcquisition { + Manual = 'Manual', + Automatic = 'Automatic', } /** * @category Enumerations */ -export enum WpPositionResolution { - MoreThan01Min = 'more than 0.1 min', - _00101Min = '<0.01 .. 0.1] min', - _0001001Min = '<0.001 .. 0.01] min', - _000010001Min = '<0.0001 .. 0.001] min', - _000001Min = '<0 .. 0.0001] min', +export const TargetAcquisitionValues: {[key: string]: number} = { + [TargetAcquisition.Manual]: 0x0, + [TargetAcquisition.Automatic]: 0x1, } /** * @category Enumerations */ -export const WpPositionResolutionValues: {[key: string]: number} = { - [WpPositionResolution.MoreThan01Min]: 0x0, - [WpPositionResolution._00101Min]: 0x1, - [WpPositionResolution._0001001Min]: 0x2, - [WpPositionResolution._000010001Min]: 0x3, - [WpPositionResolution._000001Min]: 0x4, +export enum TelephoneMode { + F3Eg3ESimplexTelephone = 'F3E/G3E simplex, telephone', + F3Eg3EDuplexTelephone = 'F3E/G3E duplex, telephone', + J3ETelephone = 'J3E, telephone', + H3ETelephone = 'H3E, telephone', + F1Bj2BFecNbdpTelexteleprinter = 'F1B/J2B FEC NBDP, telex/teleprinter', + F1Bj2BArqNbdpTelexteleprinter = 'F1B/J2B ARQ NBDP, telex/teleprinter', + F1Bj2BReceiveOnlyTeleprinterdsc = 'F1B/J2B receive only, teleprinter/DSC', + F1Bj2BTeleprinterdsc = 'F1B/J2B, teleprinter/DSC', + A1AMorseTapeRecorder = 'A1A Morse, tape recorder', + A1AMorseMorseKeyheadSet = 'A1A Morse, Morse key/head set', + F1Cf2Cf3CFaxMachine = 'F1C/F2C/F3C, FAX machine', } /** * @category Enumerations */ -export enum WpIdentificationMethod { - WaypointsInWpList = 'Waypoints in WP list', - WaypointsEmbeddedInRoute = 'Waypoints embedded in route', +export const TelephoneModeValues: {[key: string]: number} = { + [TelephoneMode.F3Eg3ESimplexTelephone]: 0x0, + [TelephoneMode.F3Eg3EDuplexTelephone]: 0x1, + [TelephoneMode.J3ETelephone]: 0x2, + [TelephoneMode.H3ETelephone]: 0x3, + [TelephoneMode.F1Bj2BFecNbdpTelexteleprinter]: 0x4, + [TelephoneMode.F1Bj2BArqNbdpTelexteleprinter]: 0x5, + [TelephoneMode.F1Bj2BReceiveOnlyTeleprinterdsc]: 0x6, + [TelephoneMode.F1Bj2BTeleprinterdsc]: 0x7, + [TelephoneMode.A1AMorseTapeRecorder]: 0x8, + [TelephoneMode.A1AMorseMorseKeyheadSet]: 0x9, + [TelephoneMode.F1Cf2Cf3CFaxMachine]: 0xa, } /** * @category Enumerations */ -export const WpIdentificationMethodValues: {[key: string]: number} = { - [WpIdentificationMethod.WaypointsInWpList]: 0x0, - [WpIdentificationMethod.WaypointsEmbeddedInRoute]: 0x1, +export enum TemperatureSource { + SeaTemperature = 'Sea Temperature', + OutsideTemperature = 'Outside Temperature', + InsideTemperature = 'Inside Temperature', + EngineRoomTemperature = 'Engine Room Temperature', + MainCabinTemperature = 'Main Cabin Temperature', + LiveWellTemperature = 'Live Well Temperature', + BaitWellTemperature = 'Bait Well Temperature', + RefrigerationTemperature = 'Refrigeration Temperature', + HeatingSystemTemperature = 'Heating System Temperature', + DewPointTemperature = 'Dew Point Temperature', + ApparentWindChillTemperature = 'Apparent Wind Chill Temperature', + TheoreticalWindChillTemperature = 'Theoretical Wind Chill Temperature', + HeatIndexTemperature = 'Heat Index Temperature', + FreezerTemperature = 'Freezer Temperature', + ExhaustGasTemperature = 'Exhaust Gas Temperature', + ShaftSealTemperature = 'Shaft Seal Temperature', } /** * @category Enumerations */ -export enum WpRouteStatus { - Active = 'Active', - Inactive = 'Inactive', - Deleted = 'Deleted', +export const TemperatureSourceValues: {[key: string]: number} = { + [TemperatureSource.SeaTemperature]: 0x0, + [TemperatureSource.OutsideTemperature]: 0x1, + [TemperatureSource.InsideTemperature]: 0x2, + [TemperatureSource.EngineRoomTemperature]: 0x3, + [TemperatureSource.MainCabinTemperature]: 0x4, + [TemperatureSource.LiveWellTemperature]: 0x5, + [TemperatureSource.BaitWellTemperature]: 0x6, + [TemperatureSource.RefrigerationTemperature]: 0x7, + [TemperatureSource.HeatingSystemTemperature]: 0x8, + [TemperatureSource.DewPointTemperature]: 0x9, + [TemperatureSource.ApparentWindChillTemperature]: 0xa, + [TemperatureSource.TheoreticalWindChillTemperature]: 0xb, + [TemperatureSource.HeatIndexTemperature]: 0xc, + [TemperatureSource.FreezerTemperature]: 0xd, + [TemperatureSource.ExhaustGasTemperature]: 0xe, + [TemperatureSource.ShaftSealTemperature]: 0xf, } /** * @category Enumerations */ -export const WpRouteStatusValues: {[key: string]: number} = { - [WpRouteStatus.Active]: 0x0, - [WpRouteStatus.Inactive]: 0x1, - [WpRouteStatus.Deleted]: 0x2, +export enum ThrusterDirectionControl { + Off = 'Off', + Ready = 'Ready', + ToPort = 'To Port', + ToStarboard = 'To Starboard', } /** * @category Enumerations */ -export enum WpNavigationMethod { - GreatCircle = 'Great Circle', - RhumbLine = 'Rhumb Line', +export const ThrusterDirectionControlValues: {[key: string]: number} = { + [ThrusterDirectionControl.Off]: 0x0, + [ThrusterDirectionControl.Ready]: 0x1, + [ThrusterDirectionControl.ToPort]: 0x2, + [ThrusterDirectionControl.ToStarboard]: 0x3, } /** * @category Enumerations */ -export const WpNavigationMethodValues: {[key: string]: number} = { - [WpNavigationMethod.GreatCircle]: 0x0, - [WpNavigationMethod.RhumbLine]: 0x1, +export enum ThrusterMotorType { + _12Vdc = '12VDC', + _24Vdc = '24VDC', + _48Vdc = '48VDC', + _24Vac = '24VAC', + Hydraulic = 'Hydraulic', } /** * @category Enumerations */ -export enum InverterMode { - Standalone = 'Standalone', - SeriesMaster = 'Series Master', - SeriesSlave = 'Series Slave', - ParallelMaster = 'Parallel Master', - ParallelSlave = 'Parallel Slave', +export const ThrusterMotorTypeValues: {[key: string]: number} = { + [ThrusterMotorType._12Vdc]: 0x0, + [ThrusterMotorType._24Vdc]: 0x1, + [ThrusterMotorType._48Vdc]: 0x2, + [ThrusterMotorType._24Vac]: 0x3, + [ThrusterMotorType.Hydraulic]: 0x4, } /** * @category Enumerations */ -export const InverterModeValues: {[key: string]: number} = { - [InverterMode.Standalone]: 0x0, - [InverterMode.SeriesMaster]: 0x1, - [InverterMode.SeriesSlave]: 0x2, - [InverterMode.ParallelMaster]: 0x3, - [InverterMode.ParallelSlave]: 0x4, +export enum ThrusterRetractControl { + Off = 'Off', + Extend = 'Extend', + Retract = 'Retract', } /** * @category Enumerations */ -export enum CertificationLevel { - LevelA = 'Level A', - LevelB = 'Level B', +export const ThrusterRetractControlValues: {[key: string]: number} = { + [ThrusterRetractControl.Off]: 0x0, + [ThrusterRetractControl.Extend]: 0x1, + [ThrusterRetractControl.Retract]: 0x2, } /** * @category Enumerations */ -export const CertificationLevelValues: {[key: string]: number} = { - [CertificationLevel.LevelA]: 0x0, - [CertificationLevel.LevelB]: 0x1, +export enum Tide { + Falling = 'Falling', + Rising = 'Rising', } /** * @category Enumerations */ -export enum AgsMode { - Off = 'Off', - On = 'On', - Automatic = 'Automatic', +export const TideValues: {[key: string]: number} = { + [Tide.Falling]: 0x0, + [Tide.Rising]: 0x1, } /** * @category Enumerations */ -export const AgsModeValues: {[key: string]: number} = { - [AgsMode.Off]: 0x0, - [AgsMode.On]: 0x1, - [AgsMode.Automatic]: 0x2, +export enum TimeStamp { + NotAvailable = 'Not available', + ManualInputMode = 'Manual input mode', + DeadReckoningMode = 'Dead reckoning mode', + PositioningSystemIsInoperative = 'Positioning system is inoperative', } /** * @category Enumerations */ -export enum AgsOperatingState { - QuietTime = 'Quiet time', - AutoOn = 'Auto on', - AutoOff = 'Auto off', - ManualOn = 'Manual On', - ManualOff = 'Manual Off', - GeneratorShutdown = 'Generator shutdown', - ExternalShutdown = 'External shutdown', - Fault = 'Fault', - Suspend = 'Suspend', - NotOperating = 'Not operating', +export const TimeStampValues: {[key: string]: number} = { + [TimeStamp.NotAvailable]: 0x3c, + [TimeStamp.ManualInputMode]: 0x3d, + [TimeStamp.DeadReckoningMode]: 0x3e, + [TimeStamp.PositioningSystemIsInoperative]: 0x3f, } /** * @category Enumerations */ -export const AgsOperatingStateValues: {[key: string]: number} = { - [AgsOperatingState.QuietTime]: 0x0, - [AgsOperatingState.AutoOn]: 0x1, - [AgsOperatingState.AutoOff]: 0x2, - [AgsOperatingState.ManualOn]: 0x3, - [AgsOperatingState.ManualOff]: 0x4, - [AgsOperatingState.GeneratorShutdown]: 0x5, - [AgsOperatingState.ExternalShutdown]: 0x6, - [AgsOperatingState.Fault]: 0x7, - [AgsOperatingState.Suspend]: 0x8, - [AgsOperatingState.NotOperating]: 0x9, +export enum Tracking { + Cancelled = 'Cancelled', + Acquiring = 'Acquiring', + Tracking = 'Tracking', + Lost = 'Lost', } /** * @category Enumerations */ -export enum AgsGeneratingState { - Preheating = 'Preheating', - StartDelay = 'Start delay', - Cranking = 'Cranking', - StarterCooling = 'Starter cooling', - WarmingUp = 'Warming up', - CoolingDown = 'Cooling down', - SpinningUp = 'Spinning up', - ShutdownBypass = 'Shutdown bypass', - Stopping = 'Stopping', - Running = 'Running', - Stopped = 'Stopped', - CrankDelaty = 'Crank delaty', +export const TrackingValues: {[key: string]: number} = { + [Tracking.Cancelled]: 0x0, + [Tracking.Acquiring]: 0x1, + [Tracking.Tracking]: 0x2, + [Tracking.Lost]: 0x3, } /** * @category Enumerations */ -export const AgsGeneratingStateValues: {[key: string]: number} = { - [AgsGeneratingState.Preheating]: 0x0, - [AgsGeneratingState.StartDelay]: 0x1, - [AgsGeneratingState.Cranking]: 0x2, - [AgsGeneratingState.StarterCooling]: 0x3, - [AgsGeneratingState.WarmingUp]: 0x4, - [AgsGeneratingState.CoolingDown]: 0x5, - [AgsGeneratingState.SpinningUp]: 0x6, - [AgsGeneratingState.ShutdownBypass]: 0x7, - [AgsGeneratingState.Stopping]: 0x8, - [AgsGeneratingState.Running]: 0x9, - [AgsGeneratingState.Stopped]: 0xa, - [AgsGeneratingState.CrankDelaty]: 0xb, +export enum TransmissionInterval { + Acknowledge = 'Acknowledge', + TransmitIntervalpriorityNotSupported = 'Transmit Interval/Priority not supported', + TransmitIntervalTooLow = 'Transmit Interval too low', + AccessDenied = 'Access denied', + NotSupported = 'Not supported', } /** * @category Enumerations */ -export enum AgsOnReason { - NotOn = 'Not on', - DcVoltageLow = 'DC voltage low', - BatteryStateOfChargeLow = 'Battery state of charge low', - AcCurrentHigh = 'AC current high', - ContactClosed = 'Contact closed', - ManualOn = 'Manual on', - Exercise = 'Exercise', - NonQuietTime = 'Non Quiet time', - ExternalOnViaAgs = 'External on via AGS', - ExternalOnViaGenerator = 'External on via generator', - UnableToStop = 'Unable to stop', +export const TransmissionIntervalValues: {[key: string]: number} = { + [TransmissionInterval.Acknowledge]: 0x0, + [TransmissionInterval.TransmitIntervalpriorityNotSupported]: 0x1, + [TransmissionInterval.TransmitIntervalTooLow]: 0x2, + [TransmissionInterval.AccessDenied]: 0x3, + [TransmissionInterval.NotSupported]: 0x4, } /** * @category Enumerations */ -export const AgsOnReasonValues: {[key: string]: number} = { - [AgsOnReason.NotOn]: 0x0, - [AgsOnReason.DcVoltageLow]: 0x1, - [AgsOnReason.BatteryStateOfChargeLow]: 0x2, - [AgsOnReason.AcCurrentHigh]: 0x3, - [AgsOnReason.ContactClosed]: 0x4, - [AgsOnReason.ManualOn]: 0x5, - [AgsOnReason.Exercise]: 0x6, - [AgsOnReason.NonQuietTime]: 0x7, - [AgsOnReason.ExternalOnViaAgs]: 0x8, - [AgsOnReason.ExternalOnViaGenerator]: 0x9, - [AgsOnReason.UnableToStop]: 0xa, +export enum TurnMode { + RudderLimitControlled = 'Rudder limit controlled', + TurnRateControlled = 'Turn rate controlled', + RadiusControlled = 'Radius controlled', } /** * @category Enumerations */ -export enum AgsOffReason { - NotOff = 'Not off', - DcVoltageHigh = 'DC voltage high', - BatteryStateOfChargeHigh = 'Battery state of charge high', - AcCurrentLow = 'AC current low', - ContactOpened = 'Contact opened', - ReachedAbsorption = 'Reached absorption', - ReachedFloat = 'Reached float', - ManualOff = 'Manual off', - MaxRunTime = 'Max run time', - MaxAutoCycle = 'Max auto cycle', - ExerciseDone = 'Exercise done', - QuietTime = 'Quiet time', - ExternalOffViaAgs = 'External off via AGS', - SafeMode = 'Safe mode', - ExternalOffViaGenerator = 'External off via generator', - ExternalShutdown = 'External shutdown', - AutoOff = 'Auto off', - Fault = 'Fault', - UnableToStart = 'Unable to start', +export const TurnModeValues: {[key: string]: number} = { + [TurnMode.RudderLimitControlled]: 0x0, + [TurnMode.TurnRateControlled]: 0x1, + [TurnMode.RadiusControlled]: 0x2, } /** * @category Enumerations */ -export const AgsOffReasonValues: {[key: string]: number} = { - [AgsOffReason.NotOff]: 0x0, - [AgsOffReason.DcVoltageHigh]: 0x1, - [AgsOffReason.BatteryStateOfChargeHigh]: 0x2, - [AgsOffReason.AcCurrentLow]: 0x3, - [AgsOffReason.ContactOpened]: 0x4, - [AgsOffReason.ReachedAbsorption]: 0x5, - [AgsOffReason.ReachedFloat]: 0x6, - [AgsOffReason.ManualOff]: 0x7, - [AgsOffReason.MaxRunTime]: 0x8, - [AgsOffReason.MaxAutoCycle]: 0x9, - [AgsOffReason.ExerciseDone]: 0xa, - [AgsOffReason.QuietTime]: 0xb, - [AgsOffReason.ExternalOffViaAgs]: 0xc, - [AgsOffReason.SafeMode]: 0xd, - [AgsOffReason.ExternalOffViaGenerator]: 0xe, - [AgsOffReason.ExternalShutdown]: 0xf, - [AgsOffReason.AutoOff]: 0x10, - [AgsOffReason.Fault]: 0x11, - [AgsOffReason.UnableToStart]: 0x12, +export enum TxRxMode { + TxAtxBRxArxB = 'Tx A/Tx B, Rx A/Rx B', + TxARxArxB = 'Tx A, Rx A/Rx B', + TxBRxArxB = 'Tx B, Rx A/Rx B', } /** * @category Enumerations */ -export enum TelephoneMode { - F3Eg3ESimplexTelephone = 'F3E/G3E simplex, telephone', - F3Eg3EDuplexTelephone = 'F3E/G3E duplex, telephone', - J3ETelephone = 'J3E, telephone', - H3ETelephone = 'H3E, telephone', - F1Bj2BFecNbdpTelexteleprinter = 'F1B/J2B FEC NBDP, telex/teleprinter', - F1Bj2BArqNbdpTelexteleprinter = 'F1B/J2B ARQ NBDP, telex/teleprinter', - F1Bj2BReceiveOnlyTeleprinterdsc = 'F1B/J2B receive only, teleprinter/DSC', - F1Bj2BTeleprinterdsc = 'F1B/J2B, teleprinter/DSC', - A1AMorseTapeRecorder = 'A1A Morse, tape recorder', - A1AMorseMorseKeyheadSet = 'A1A Morse, Morse key/head set', - F1Cf2Cf3CFaxMachine = 'F1C/F2C/F3C, FAX machine', +export const TxRxModeValues: {[key: string]: number} = { + [TxRxMode.TxAtxBRxArxB]: 0x0, + [TxRxMode.TxARxArxB]: 0x1, + [TxRxMode.TxBRxArxB]: 0x2, } /** * @category Enumerations */ -export const TelephoneModeValues: {[key: string]: number} = { - [TelephoneMode.F3Eg3ESimplexTelephone]: 0x0, - [TelephoneMode.F3Eg3EDuplexTelephone]: 0x1, - [TelephoneMode.J3ETelephone]: 0x2, - [TelephoneMode.H3ETelephone]: 0x3, - [TelephoneMode.F1Bj2BFecNbdpTelexteleprinter]: 0x4, - [TelephoneMode.F1Bj2BArqNbdpTelexteleprinter]: 0x5, - [TelephoneMode.F1Bj2BReceiveOnlyTeleprinterdsc]: 0x6, - [TelephoneMode.F1Bj2BTeleprinterdsc]: 0x7, - [TelephoneMode.A1AMorseTapeRecorder]: 0x8, - [TelephoneMode.A1AMorseMorseKeyheadSet]: 0x9, - [TelephoneMode.F1Cf2Cf3CFaxMachine]: 0xa, +export enum VideoProtocols { + Pal = 'PAL', + Ntsc = 'NTSC', } /** * @category Enumerations */ -export enum PowerMode { - High = 'High', - Low = 'Low', +export const VideoProtocolsValues: {[key: string]: number} = { + [VideoProtocols.Pal]: 0x0, + [VideoProtocols.Ntsc]: 0x1, } /** * @category Enumerations */ -export const PowerModeValues: {[key: string]: number} = { - [PowerMode.High]: 0x0, - [PowerMode.Low]: 0x1, +export enum WatermakerState { + Stopped = 'Stopped', + Starting = 'Starting', + Running = 'Running', + Stopping = 'Stopping', + Flushing = 'Flushing', + Rinsing = 'Rinsing', + Initiating = 'Initiating', + Manual = 'Manual', } /** * @category Enumerations */ -export enum BroadcastIndicator { - BroadcastGeoAreaMessage = 'Broadcast geo area message', - AddressedMessage = 'Addressed message', +export const WatermakerStateValues: {[key: string]: number} = { + [WatermakerState.Stopped]: 0x0, + [WatermakerState.Starting]: 0x1, + [WatermakerState.Running]: 0x2, + [WatermakerState.Stopping]: 0x3, + [WatermakerState.Flushing]: 0x4, + [WatermakerState.Rinsing]: 0x5, + [WatermakerState.Initiating]: 0x6, + [WatermakerState.Manual]: 0x7, } /** * @category Enumerations */ -export const BroadcastIndicatorValues: {[key: string]: number} = { - [BroadcastIndicator.BroadcastGeoAreaMessage]: 0x0, - [BroadcastIndicator.AddressedMessage]: 0x1, +export enum WaterReference { + PaddleWheel = 'Paddle wheel', + PitotTube = 'Pitot tube', + Doppler = 'Doppler', + CorrelationultraSound = 'Correlation (ultra sound)', + ElectroMagnetic = 'Electro Magnetic', } /** * @category Enumerations */ -export enum Bandwidth { - Default = 'Default', - _125KHz = '12.5 kHz', +export const WaterReferenceValues: {[key: string]: number} = { + [WaterReference.PaddleWheel]: 0x0, + [WaterReference.PitotTube]: 0x1, + [WaterReference.Doppler]: 0x2, + [WaterReference.CorrelationultraSound]: 0x3, + [WaterReference.ElectroMagnetic]: 0x4, } /** * @category Enumerations */ -export const BandwidthValues: {[key: string]: number} = { - [Bandwidth.Default]: 0x0, - [Bandwidth._125KHz]: 0x1, +export enum Waveform { + SineWave = 'Sine wave', + ModifiedSineWave = 'Modified sine wave', } /** * @category Enumerations */ -export enum FloodState { - Flood = 'Flood', - Slack = 'Slack', - Ebb = 'Ebb', +export const WaveformValues: {[key: string]: number} = { + [Waveform.SineWave]: 0x0, + [Waveform.ModifiedSineWave]: 0x1, } /** * @category Enumerations */ -export const FloodStateValues: {[key: string]: number} = { - [FloodState.Flood]: 0x0, - [FloodState.Slack]: 0x1, - [FloodState.Ebb]: 0x2, +export enum WindlassDirection { + Off = 'Off', + Down = 'Down', + Up = 'Up', } /** * @category Enumerations */ -export enum AcLine { - Line1 = 'Line 1', - Line2 = 'Line 2', - Line3 = 'Line 3', +export const WindlassDirectionValues: {[key: string]: number} = { + [WindlassDirection.Off]: 0x0, + [WindlassDirection.Down]: 0x1, + [WindlassDirection.Up]: 0x2, } /** * @category Enumerations */ -export const AcLineValues: {[key: string]: number} = { - [AcLine.Line1]: 0x0, - [AcLine.Line2]: 0x1, - [AcLine.Line3]: 0x2, +export enum WindlassMotion { + WindlassStopped = 'Windlass stopped', + DeploymentOccurring = 'Deployment occurring', + RetrievalOccurring = 'Retrieval occurring', +} + +/** + * @category Enumerations + */ +export const WindlassMotionValues: {[key: string]: number} = { + [WindlassMotion.WindlassStopped]: 0x0, + [WindlassMotion.DeploymentOccurring]: 0x1, + [WindlassMotion.RetrievalOccurring]: 0x2, } /** * @category Enumerations */ -export enum ZoneSize { - _1Nm = '1 nm', - _2Nm = '2 nm', - _3Nm = '3 nm', - _4Nm = '4 nm', - _5Nm = '5 nm', - _6Nm = '6 nm', +export enum WindReference { + TruegroundReferencedToNorth = 'True (ground referenced to North)', + MagneticgroundReferencedToMagneticNorth = 'Magnetic (ground referenced to Magnetic North)', + Apparent = 'Apparent', + TrueboatReferenced = 'True (boat referenced)', + TruewaterReferenced = 'True (water referenced)', } /** * @category Enumerations */ -export const ZoneSizeValues: {[key: string]: number} = { - [ZoneSize._1Nm]: 0x0, - [ZoneSize._2Nm]: 0x1, - [ZoneSize._3Nm]: 0x2, - [ZoneSize._4Nm]: 0x3, - [ZoneSize._5Nm]: 0x4, - [ZoneSize._6Nm]: 0x5, +export const WindReferenceValues: {[key: string]: number} = { + [WindReference.TruegroundReferencedToNorth]: 0x0, + [WindReference.MagneticgroundReferencedToMagneticNorth]: 0x1, + [WindReference.Apparent]: 0x2, + [WindReference.TrueboatReferenced]: 0x3, + [WindReference.TruewaterReferenced]: 0x4, } /** * @category Enumerations */ -export enum MaretronProductCode { - Ssc200 = 'SSC200', - Sms100 = 'SMS100', - Mbb200C = 'MBB200C', - Dst110 = 'DST110', - Gps100 = 'GPS100', - Clm100 = 'CLM100', - Ssc300 = 'SSC300', - Tla100 = 'TLA100', - Gps200 = 'GPS200', - Dst100 = 'DST100', - Ffm100 = 'FFM100', - Nbe100 = 'NBE100', - Raa100 = 'RAA100', - Rim100 = 'RIM100', - J2K100 = 'J2K100', - Alm100 = 'ALM100', - Ipg100 = 'IPG100', - Dcm100 = 'DCM100', - Ems100 = 'EMS100', - Clmd16 = 'CLMD16', - Dsm250 = 'DSM250', - Tmp100 = 'TMP100', - Dsm150 = 'DSM150', - Fpm100 = 'FPM100', - Dcr100 = 'DCR100', - Sim100 = 'SIM100', - Acm100 = 'ACM100', - Mbb300C = 'MBB300C', - MConnect = 'MConnect', +export enum WpIdentificationMethod { + WaypointsInWpList = 'Waypoints in WP list', + WaypointsEmbeddedInRoute = 'Waypoints embedded in route', } /** * @category Enumerations */ -export const MaretronProductCodeValues: {[key: string]: number} = { - [MaretronProductCode.Ssc200]: 0x1b2, - [MaretronProductCode.Sms100]: 0x417, - [MaretronProductCode.Mbb200C]: 0x47f, - [MaretronProductCode.Dst110]: 0x5fe, - [MaretronProductCode.Gps100]: 0x6f0, - [MaretronProductCode.Clm100]: 0xa2e, - [MaretronProductCode.Ssc300]: 0xa7e, - [MaretronProductCode.Tla100]: 0xadd, - [MaretronProductCode.Gps200]: 0xd2d, - [MaretronProductCode.Dst100]: 0xdeb, - [MaretronProductCode.Ffm100]: 0xe35, - [MaretronProductCode.Nbe100]: 0xf8b, - [MaretronProductCode.Raa100]: 0xfb2, - [MaretronProductCode.Rim100]: 0xfee, - [MaretronProductCode.J2K100]: 0x10df, - [MaretronProductCode.Alm100]: 0x1fe5, - [MaretronProductCode.Ipg100]: 0x247b, - [MaretronProductCode.Dcm100]: 0x249f, - [MaretronProductCode.Ems100]: 0x2675, - [MaretronProductCode.Clmd16]: 0x3031, - [MaretronProductCode.Dsm250]: 0x4032, - [MaretronProductCode.Tmp100]: 0x4e63, - [MaretronProductCode.Dsm150]: 0x4f4a, - [MaretronProductCode.Fpm100]: 0x54c7, - [MaretronProductCode.Dcr100]: 0x5839, - [MaretronProductCode.Sim100]: 0x5c33, - [MaretronProductCode.Acm100]: 0x677d, - [MaretronProductCode.Mbb300C]: 0x6a6c, - [MaretronProductCode.MConnect]: 0x6dad, +export const WpIdentificationMethodValues: {[key: string]: number} = { + [WpIdentificationMethod.WaypointsInWpList]: 0x0, + [WpIdentificationMethod.WaypointsEmbeddedInRoute]: 0x1, } /** * @category Enumerations */ -export enum MaretronOpcode { - ReadAll = 'Read All', - WriteRegister = 'Write Register', - ReadConfig = 'Read Config', - WriteConfig = 'Write Config', - Calibrate = 'Calibrate', - ClearCalibration = 'Clear Calibration', - Status = 'Status', - ClearStatus = 'Clear Status', - ResetFactoryDefault = 'Reset Factory Default', - Debug = 'Debug', - WriteInstance = 'Write Instance', - ReadInstance = 'Read Instance', - WriteLabel = 'Write Label', - ReadLabel = 'Read Label', - WriteSwitchConfig = 'Write Switch Config', - ReadSwitchConfig = 'Read Switch Config', - WriteAlertConfig = 'Write Alert Config', - ReadAlertConfig = 'Read Alert Config', - WriteChannelConfig = 'Write Channel Config', - ReadChannelConfig = 'Read Channel Config', - ReadChannelConfigExtended = 'Read Channel Config Extended', - WriteChannelConfigExtended = 'Write Channel Config Extended', +export enum WpNavigationMethod { + GreatCircle = 'Great Circle', + RhumbLine = 'Rhumb Line', } /** * @category Enumerations */ -export const MaretronOpcodeValues: {[key: string]: number} = { - [MaretronOpcode.ReadAll]: 0x0, - [MaretronOpcode.WriteRegister]: 0x1, - [MaretronOpcode.ReadConfig]: 0x2, - [MaretronOpcode.WriteConfig]: 0x3, - [MaretronOpcode.Calibrate]: 0x4, - [MaretronOpcode.ClearCalibration]: 0x5, - [MaretronOpcode.Status]: 0x6, - [MaretronOpcode.ClearStatus]: 0x7, - [MaretronOpcode.ResetFactoryDefault]: 0x8, - [MaretronOpcode.Debug]: 0x9, - [MaretronOpcode.WriteInstance]: 0x10, - [MaretronOpcode.ReadInstance]: 0x11, - [MaretronOpcode.WriteLabel]: 0x20, - [MaretronOpcode.ReadLabel]: 0x21, - [MaretronOpcode.WriteSwitchConfig]: 0x30, - [MaretronOpcode.ReadSwitchConfig]: 0x31, - [MaretronOpcode.WriteAlertConfig]: 0x40, - [MaretronOpcode.ReadAlertConfig]: 0x41, - [MaretronOpcode.WriteChannelConfig]: 0x50, - [MaretronOpcode.ReadChannelConfig]: 0x51, - [MaretronOpcode.ReadChannelConfigExtended]: 0x56, - [MaretronOpcode.WriteChannelConfigExtended]: 0x57, +export const WpNavigationMethodValues: {[key: string]: number} = { + [WpNavigationMethod.GreatCircle]: 0x0, + [WpNavigationMethod.RhumbLine]: 0x1, } /** * @category Enumerations */ -export enum MaretronSoftwareCode { - Version1 = 'Version 1', +export enum WpPositionResolution { + MoreThan01Min = 'more than 0.1 min', + _00101Min = '<0.01 .. 0.1] min', + _0001001Min = '<0.001 .. 0.01] min', + _000010001Min = '<0.0001 .. 0.001] min', + _000001Min = '<0 .. 0.0001] min', } /** * @category Enumerations */ -export const MaretronSoftwareCodeValues: {[key: string]: number} = { - [MaretronSoftwareCode.Version1]: 0x1, +export const WpPositionResolutionValues: {[key: string]: number} = { + [WpPositionResolution.MoreThan01Min]: 0x0, + [WpPositionResolution._00101Min]: 0x1, + [WpPositionResolution._0001001Min]: 0x2, + [WpPositionResolution._000010001Min]: 0x3, + [WpPositionResolution._000001Min]: 0x4, } /** * @category Enumerations */ -export enum MaretronCommand { - DeviationCalibration = 'Deviation calibration', +export enum WpRouteStatus { + Active = 'Active', + Inactive = 'Inactive', + Deleted = 'Deleted', } /** * @category Enumerations */ -export const MaretronCommandValues: {[key: string]: number} = { - [MaretronCommand.DeviationCalibration]: 0x50, +export const WpRouteStatusValues: {[key: string]: number} = { + [WpRouteStatus.Active]: 0x0, + [WpRouteStatus.Inactive]: 0x1, + [WpRouteStatus.Deleted]: 0x2, } /** * @category Enumerations */ -export enum MaretronStatusDeviation { - Started = 'Started', - CompletedSuccessfully = 'Completed successfully', - FailedToComplete = 'Failed to complete', - TurningTooFast = 'Turning too fast', - TurningTooSlow = 'Turning too slow', - InvalidMovement = 'Invalid movement', +export enum YesNo { + No = 'No', + Yes = 'Yes', } /** * @category Enumerations */ -export const MaretronStatusDeviationValues: {[key: string]: number} = { - [MaretronStatusDeviation.Started]: 0x1, - [MaretronStatusDeviation.CompletedSuccessfully]: 0x2, - [MaretronStatusDeviation.FailedToComplete]: 0x3, - [MaretronStatusDeviation.TurningTooFast]: 0x4, - [MaretronStatusDeviation.TurningTooSlow]: 0x5, - [MaretronStatusDeviation.InvalidMovement]: 0x6, +export const YesNoValues: {[key: string]: number} = { + [YesNo.No]: 0x0, + [YesNo.Yes]: 0x1, } /** * @category Enumerations */ -export enum AutomaticManual { - Automatic = 'Automatic', - Manual = 'Manual', +export enum YesNo1Bit { + No = 'No', + Yes = 'Yes', } /** * @category Enumerations */ -export const AutomaticManualValues: {[key: string]: number} = { - [AutomaticManual.Automatic]: 0x0, - [AutomaticManual.Manual]: 0x1, +export const YesNo1BitValues: {[key: string]: number} = { + [YesNo1Bit.No]: 0x0, + [YesNo1Bit.Yes]: 0x1, } /** * @category Enumerations */ -export enum SbasSv { - _120 = '120', - _121 = '121', - _122 = '122', - _123 = '123', - _124 = '124', - _125 = '125', - _126 = '126', - _127 = '127', - _128 = '128', - _129 = '129', - _130 = '130', - _131 = '131', - _132 = '132', - _133 = '133', - _134 = '134', - _135 = '135', - _136 = '136', - _137 = '137', - _138 = '138', +export enum ZoneSize { + _1Nm = '1 nm', + _2Nm = '2 nm', + _3Nm = '3 nm', + _4Nm = '4 nm', + _5Nm = '5 nm', + _6Nm = '6 nm', } /** * @category Enumerations */ -export const SbasSvValues: {[key: string]: number} = { - [SbasSv._120]: 0x0, - [SbasSv._121]: 0x1, - [SbasSv._122]: 0x2, - [SbasSv._123]: 0x3, - [SbasSv._124]: 0x4, - [SbasSv._125]: 0x5, - [SbasSv._126]: 0x6, - [SbasSv._127]: 0x7, - [SbasSv._128]: 0x8, - [SbasSv._129]: 0x9, - [SbasSv._130]: 0xa, - [SbasSv._131]: 0xb, - [SbasSv._132]: 0xc, - [SbasSv._133]: 0xd, - [SbasSv._134]: 0xe, - [SbasSv._135]: 0xf, - [SbasSv._136]: 0x10, - [SbasSv._137]: 0x11, - [SbasSv._138]: 0x12, +export const ZoneSizeValues: {[key: string]: number} = { + [ZoneSize._1Nm]: 0x0, + [ZoneSize._2Nm]: 0x1, + [ZoneSize._3Nm]: 0x2, + [ZoneSize._4Nm]: 0x3, + [ZoneSize._5Nm]: 0x4, + [ZoneSize._6Nm]: 0x5, } /** @@ -6897,11 +9149,47 @@ export enum DeviceFunction { /** * @category Enumerations */ -export enum StationStatus { - StationInUse = 'Station in use', - LowSnr = 'Low SNR', - CycleError = 'Cycle Error', - Blink = 'Blink', +export enum DisabledSatellites { + DisableSv1 = 'Disable SV #1', + DisableSv2 = 'Disable SV #2', + DisableSv3 = 'Disable SV #3', + DisableSv4 = 'Disable SV #4', + DisableSv5 = 'Disable SV #5', + DisableSv6 = 'Disable SV #6', + DisableSv7 = 'Disable SV #7', + DisableSv8 = 'Disable SV #8', + DisableSv9 = 'Disable SV #9', + DisableSv10 = 'Disable SV #10', + DisableSv11 = 'Disable SV #11', + DisableSv12 = 'Disable SV #12', + DisableSv13 = 'Disable SV #13', + DisableSv14 = 'Disable SV #14', + DisableSv15 = 'Disable SV #15', + DisableSv16 = 'Disable SV #16', + DisableSv17 = 'Disable SV #17', + DisableSv18 = 'Disable SV #18', + DisableSv19 = 'Disable SV #19', + DisableSv20 = 'Disable SV #20', + DisableSv21 = 'Disable SV #21', + DisableSv22 = 'Disable SV #22', + DisableSv23 = 'Disable SV #23', + DisableSv24 = 'Disable SV #24', + DisableSv25 = 'Disable SV #25', + DisableSv26 = 'Disable SV #26', + DisableSv27 = 'Disable SV #27', + DisableSv28 = 'Disable SV #28', + DisableSv29 = 'Disable SV #29', + DisableSv30 = 'Disable SV #30', + DisableSv31 = 'Disable SV #31', + DisableSv32 = 'Disable SV #32', + DisableSv33 = 'Disable SV #33', + DisableSv34 = 'Disable SV #34', + DisableSv35 = 'Disable SV #35', + DisableSv36 = 'Disable SV #36', + DisableSv37 = 'Disable SV #37', + DisableSv38 = 'Disable SV #38', + DisableSv39 = 'Disable SV #39', + DisableSv40 = 'Disable SV #40', } /** @@ -6943,12 +9231,18 @@ export enum EngineStatus2 { /** * @category Enumerations */ -export enum TransmissionStatus1 { - CheckTransmission = 'Check Transmission', - OverTemperature = 'Over Temperature', - LowOilPressure = 'Low Oil Pressure', - LowOilLevel = 'Low Oil Level', - SailDrive = 'Sail Drive', +export enum EntertainmentGroupBitfield { + File = 'File', + PlaylistName = 'Playlist Name', + GenreName = 'Genre Name', + AlbumName = 'Album Name', + ArtistName = 'Artist Name', + TrackName = 'Track Name', + StationName = 'Station Name', + StationNumber = 'Station Number', + FavouriteNumber = 'Favourite Number', + PlayQueue = 'Play Queue', + ContentInfo = 'Content Info', } /** @@ -6986,77 +9280,29 @@ export enum EntertainmentPlayStatusBitfield { /** * @category Enumerations */ -export enum EntertainmentGroupBitfield { - File = 'File', - PlaylistName = 'Playlist Name', - GenreName = 'Genre Name', - AlbumName = 'Album Name', - ArtistName = 'Artist Name', - TrackName = 'Track Name', - StationName = 'Station Name', - StationNumber = 'Station Number', - FavouriteNumber = 'Favourite Number', - PlayQueue = 'Play Queue', - ContentInfo = 'Content Info', -} - -/** - * @category Enumerations - */ -export enum ThrusterControlEvents { - AnotherDeviceControllingThruster = 'Another device controlling thruster', - BoatSpeedTooFastToSafelyUseThruster = 'Boat speed too fast to safely use thruster', -} - -/** - * @category Enumerations - */ -export enum ThrusterMotorEvents { - MotorOverTemperatureCutout = 'Motor over temperature cutout', - MotorOverCurrentCutout = 'Motor over current cutout', - LowOilLevelWarning = 'Low oil level warning', - OilOverTemperatureWarning = 'Oil over temperature warning', - ControllerUnderVoltageCutout = 'Controller under voltage cutout', - ManufacturerDefined = 'Manufacturer defined', -} - -/** - * @category Enumerations - */ -export enum WindlassControl { - AnotherDeviceControllingWindlass = 'Another device controlling windlass', -} - -/** - * @category Enumerations - */ -export enum WindlassOperation { - SystemError = 'System error', - SensorError = 'Sensor error', - NoWindlassMotionDetected = 'No windlass motion detected', - RetrievalDockingDistanceReached = 'Retrieval docking distance reached', - EndOfRodeReached = 'End of rode reached', +export enum EntertainmentRepeatBitfield { + Song = 'Song', + PlayQueue = 'Play queue', } /** * @category Enumerations */ -export enum WindlassMonitoring { - ControllerUnderVoltageCutOut = 'Controller under voltage cut-out', - ControllerOverCurrentCutOut = 'Controller over current cut-out', - ControllerOverTemperatureCutOut = 'Controller over temperature cut-out', - ManufacturerDefined = 'Manufacturer defined', +export enum EntertainmentShuffleBitfield { + PlayQueue = 'Play queue', + All = 'All', } /** * @category Enumerations */ -export enum SimnetApModeBitfield { - Standby = 'Standby', - Heading = 'Heading', - Nav = 'Nav', - NoDrift = 'No Drift', - Wind = 'Wind', +export enum FurunoBaselineStatus { + BaselineAntenna12 = 'Baseline Antenna 1-2', + BaselineAntenna23 = 'Baseline Antenna 2-3', + BaselineAntenna34 = 'Baseline Antenna 3-4', + BaselineAntenna41 = 'Baseline Antenna 4-1', + BaselineAntenna13 = 'Baseline Antenna 1-3', + BaselineAntenna24 = 'Baseline Antenna 2-4', } /** @@ -7097,17 +9343,81 @@ export enum SimnetAlertBitfield { /** * @category Enumerations */ -export enum EntertainmentRepeatBitfield { - Song = 'Song', - PlayQueue = 'Play queue', +export enum SimnetApModeBitfield { + Standby = 'Standby', + Heading = 'Heading', + Nav = 'Nav', + NoDrift = 'No Drift', + Wind = 'Wind', } /** * @category Enumerations */ -export enum EntertainmentShuffleBitfield { - PlayQueue = 'Play queue', - All = 'All', +export enum StationStatus { + StationInUse = 'Station in use', + LowSnr = 'Low SNR', + CycleError = 'Cycle Error', + Blink = 'Blink', +} + +/** + * @category Enumerations + */ +export enum ThrusterControlEvents { + AnotherDeviceControllingThruster = 'Another device controlling thruster', + BoatSpeedTooFastToSafelyUseThruster = 'Boat speed too fast to safely use thruster', +} + +/** + * @category Enumerations + */ +export enum ThrusterMotorEvents { + MotorOverTemperatureCutout = 'Motor over temperature cutout', + MotorOverCurrentCutout = 'Motor over current cutout', + LowOilLevelWarning = 'Low oil level warning', + OilOverTemperatureWarning = 'Oil over temperature warning', + ControllerUnderVoltageCutout = 'Controller under voltage cutout', + ManufacturerDefined = 'Manufacturer defined', +} + +/** + * @category Enumerations + */ +export enum TransmissionStatus1 { + CheckTransmission = 'Check Transmission', + OverTemperature = 'Over Temperature', + LowOilPressure = 'Low Oil Pressure', + LowOilLevel = 'Low Oil Level', + SailDrive = 'Sail Drive', +} + +/** + * @category Enumerations + */ +export enum WindlassControl { + AnotherDeviceControllingWindlass = 'Another device controlling windlass', +} + +/** + * @category Enumerations + */ +export enum WindlassMonitoring { + ControllerUnderVoltageCutOut = 'Controller under voltage cut-out', + ControllerOverCurrentCutOut = 'Controller over current cut-out', + ControllerOverTemperatureCutOut = 'Controller over temperature cut-out', + ManufacturerDefined = 'Manufacturer defined', +} + +/** + * @category Enumerations + */ +export enum WindlassOperation { + SystemError = 'System error', + SensorError = 'Sensor error', + NoWindlassMotionDetected = 'No windlass motion detected', + RetrievalDockingDistanceReached = 'Retrieval docking distance reached', + EndOfRodeReached = 'End of rode reached', } /** @@ -7129,49 +9439,3 @@ export enum WpCriticalParameters { XteLimit = 'XTE Limit', } -/** - * @category Enumerations - */ -export enum DisabledSatellites { - DisableSv1 = 'Disable SV #1', - DisableSv2 = 'Disable SV #2', - DisableSv3 = 'Disable SV #3', - DisableSv4 = 'Disable SV #4', - DisableSv5 = 'Disable SV #5', - DisableSv6 = 'Disable SV #6', - DisableSv7 = 'Disable SV #7', - DisableSv8 = 'Disable SV #8', - DisableSv9 = 'Disable SV #9', - DisableSv10 = 'Disable SV #10', - DisableSv11 = 'Disable SV #11', - DisableSv12 = 'Disable SV #12', - DisableSv13 = 'Disable SV #13', - DisableSv14 = 'Disable SV #14', - DisableSv15 = 'Disable SV #15', - DisableSv16 = 'Disable SV #16', - DisableSv17 = 'Disable SV #17', - DisableSv18 = 'Disable SV #18', - DisableSv19 = 'Disable SV #19', - DisableSv20 = 'Disable SV #20', - DisableSv21 = 'Disable SV #21', - DisableSv22 = 'Disable SV #22', - DisableSv23 = 'Disable SV #23', - DisableSv24 = 'Disable SV #24', - DisableSv25 = 'Disable SV #25', - DisableSv26 = 'Disable SV #26', - DisableSv27 = 'Disable SV #27', - DisableSv28 = 'Disable SV #28', - DisableSv29 = 'Disable SV #29', - DisableSv30 = 'Disable SV #30', - DisableSv31 = 'Disable SV #31', - DisableSv32 = 'Disable SV #32', - DisableSv33 = 'Disable SV #33', - DisableSv34 = 'Disable SV #34', - DisableSv35 = 'Disable SV #35', - DisableSv36 = 'Disable SV #36', - DisableSv37 = 'Disable SV #37', - DisableSv38 = 'Disable SV #38', - DisableSv39 = 'Disable SV #39', - DisableSv40 = 'Disable SV #40', -} - diff --git a/src/pgns.ts b/src/pgns.ts index 464d9bab..1f9b31ab 100644 --- a/src/pgns.ts +++ b/src/pgns.ts @@ -648,7 +648,7 @@ export interface PGN_60928Fields { deviceClass?: enums.DeviceClass | number systemInstance?: N2K_Number industryGroup?: enums.IndustryCode | number - arbitraryAddressCapable: enums.YesNo | number + arbitraryAddressCapable: enums.YesNo1Bit | number } /** @@ -1012,6 +1012,79 @@ export class PGN_61184_CarlingBreakerCommand extends PGN implements PGN_61184_Ca pgnIdToCreator['carlingBreakerCommand'] = (fields:any, dst:number) => new PGN_61184_CarlingBreakerCommand(fields, dst) +/** + * PGN: 61184 + * + * Description: Simnet: Keep Alive + * + * Explanation: Addressed keep-alive a display sends to a device - for example a wireless masthead wind sensor - to keep it from entering NMEA 2000 sleep while its data is in use. The display renews it periodically and re-sends it when it boots. Usually only the request form is seen (empty Session/Status); the reply carries a status. + * + * Match: Manufacturer Code == Simrad
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_61184_SimnetKeepAlive + */ +export interface PGN_61184_SimnetKeepAliveInterface extends PGNInterface { + fields: PGN_61184_SimnetKeepAliveFields +} + +/** + * @category PGN_61184_SimnetKeepAlive + */ +export interface PGN_61184_SimnetKeepAliveFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + command?: N2K_Number + reserved5?: number + reply: N2K_Number + value?: N2K_Binary +} + +/** + * @category PGN_61184_SimnetKeepAlive + */ +export const PGN_61184_SimnetKeepAliveMatchFields = { + manufacturerCode: enums.ManufacturerCode.Simrad, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_61184_SimnetKeepAlive + */ +export interface PGN_61184_SimnetKeepAliveCreateArgs { + reserved?: number + command?: N2K_Number + reserved5?: number + reply: N2K_Number + value?: N2K_Binary +} + +/** + * @category PGN_61184_SimnetKeepAlive + */ +export class PGN_61184_SimnetKeepAlive extends PGN implements PGN_61184_SimnetKeepAliveInterface { + fields: PGN_61184_SimnetKeepAliveFields + + constructor(fields: PGN_61184_SimnetKeepAliveCreateArgs, dst: number = 255) { + super({ + pgn: 61184, + prio: 7, + dst + }) + this.fields = { ...PGN_61184_SimnetKeepAliveMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_61184_SimnetKeepAliveMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('simnetKeepAlive')! + } +} +pgnIdToCreator['simnetKeepAlive'] = (fields:any, dst:number) => new PGN_61184_SimnetKeepAlive(fields, dst) + + /** * PGN: 61440 * @@ -2751,6 +2824,75 @@ export class PGN_65280_MercuryEngineData extends PGN implements PGN_65280_Mercur pgnIdToCreator['mercuryEngineData'] = (fields:any, dst:number) => new PGN_65280_MercuryEngineData(fields, dst) +/** + * PGN: 65280 + * + * Description: Navico: Device Status + * + * Explanation: Low-rate proprietary status broadcast seen from Navico/B&G/Simrad devices (MFDs, autopilots). The first payload byte distinguishes the sender's software platform - NOS-generation devices emit it at about 4 Hz, NEON-generation devices far less often. The remaining bytes are constant in all observed traffic, so their meaning is not yet known. + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_65280_NavicoDeviceStatus + */ +export interface PGN_65280_NavicoDeviceStatusInterface extends PGNInterface { + fields: PGN_65280_NavicoDeviceStatusFields +} + +/** + * @category PGN_65280_NavicoDeviceStatus + */ +export interface PGN_65280_NavicoDeviceStatusFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + reportType?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_65280_NavicoDeviceStatus + */ +export const PGN_65280_NavicoDeviceStatusMatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_65280_NavicoDeviceStatus + */ +export interface PGN_65280_NavicoDeviceStatusCreateArgs { + reserved?: number + reportType?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_65280_NavicoDeviceStatus + */ +export class PGN_65280_NavicoDeviceStatus extends PGN implements PGN_65280_NavicoDeviceStatusInterface { + fields: PGN_65280_NavicoDeviceStatusFields + + constructor(fields: PGN_65280_NavicoDeviceStatusCreateArgs, dst: number = 255) { + super({ + pgn: 65280, + prio: 7, + dst + }) + this.fields = { ...PGN_65280_NavicoDeviceStatusMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_65280_NavicoDeviceStatusMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoDeviceStatus')! + } +} +pgnIdToCreator['navicoDeviceStatus'] = (fields:any, dst:number) => new PGN_65280_NavicoDeviceStatus(fields, dst) + + /** * PGN: 65280 * @@ -4788,6 +4930,93 @@ export class PGN_65293_SimnetLgc2000Configuration extends PGN implements PGN_652 pgnIdToCreator['simnetLgc2000Configuration'] = (fields:any, dst:number) => new PGN_65293_SimnetLgc2000Configuration(fields, dst) +/** + * PGN: 65293 + * + * Description: Lowrance: GPS Configuration + * + * Explanation: GPS antenna configuration broadcast by Navico GPS/navigation sources - the Lowrance-manufacturer counterpart of the Simnet LGC-2000 Configuration. The field boundaries are known but the individual settings are not yet identified. The first byte matches the sender's source address in the observed traffic. + * + * Match: Manufacturer Code == Lowrance
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_65293_LowranceGpsConfiguration + */ +export interface PGN_65293_LowranceGpsConfigurationInterface extends PGNInterface { + fields: PGN_65293_LowranceGpsConfigurationFields +} + +/** + * @category PGN_65293_LowranceGpsConfiguration + */ +export interface PGN_65293_LowranceGpsConfigurationFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + a?: N2K_Number + b?: N2K_Number + c?: N2K_Number + d?: N2K_Number + reserved8?: number + e?: N2K_Number + f?: N2K_Number + g: N2K_Number + reserved12?: number + h?: N2K_Number + i?: N2K_Number +} + +/** + * @category PGN_65293_LowranceGpsConfiguration + */ +export const PGN_65293_LowranceGpsConfigurationMatchFields = { + manufacturerCode: enums.ManufacturerCode.Lowrance, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_65293_LowranceGpsConfiguration + */ +export interface PGN_65293_LowranceGpsConfigurationCreateArgs { + reserved?: number + a?: N2K_Number + b?: N2K_Number + c?: N2K_Number + d?: N2K_Number + reserved8?: number + e?: N2K_Number + f?: N2K_Number + g: N2K_Number + reserved12?: number + h?: N2K_Number + i?: N2K_Number +} + +/** + * @category PGN_65293_LowranceGpsConfiguration + */ +export class PGN_65293_LowranceGpsConfiguration extends PGN implements PGN_65293_LowranceGpsConfigurationInterface { + fields: PGN_65293_LowranceGpsConfigurationFields + + constructor(fields: PGN_65293_LowranceGpsConfigurationCreateArgs, dst: number = 255) { + super({ + pgn: 65293, + prio: 3, + dst + }) + this.fields = { ...PGN_65293_LowranceGpsConfigurationMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_65293_LowranceGpsConfigurationMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('lowranceGpsConfiguration')! + } +} +pgnIdToCreator['lowranceGpsConfiguration'] = (fields:any, dst:number) => new PGN_65293_LowranceGpsConfiguration(fields, dst) + + /** * PGN: 65293 * @@ -5740,6 +5969,79 @@ export class PGN_65303_SuzukiEngineDataD extends PGN implements PGN_65303_Suzuki pgnIdToCreator['suzukiEngineDataD'] = (fields:any, dst:number) => new PGN_65303_SuzukiEngineDataD(fields, dst) +/** + * PGN: 65303 + * + * Description: Lowrance: Vessel Setup - Engine and Tank Configuration + * + * Explanation: Vessel-setup configuration sent by a Lowrance/Navico display when the operator changes the number of engines, number of fuel tanks, or total fuel capacity on the Vessel Setup page. Confirmed against a capture where the values were changed from (1 engine, 1 tank, 1200 L) to (2 engines, 3 tanks, 200 L). + * + * Match: Manufacturer Code == Lowrance
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_65303_LowranceVesselSetupEngineAndTankConfiguration + */ +export interface PGN_65303_LowranceVesselSetupEngineAndTankConfigurationInterface extends PGNInterface { + fields: PGN_65303_LowranceVesselSetupEngineAndTankConfigurationFields +} + +/** + * @category PGN_65303_LowranceVesselSetupEngineAndTankConfiguration + */ +export interface PGN_65303_LowranceVesselSetupEngineAndTankConfigurationFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + numberOfEngines?: N2K_Number + numberOfFuelTanks?: N2K_Number + totalFuelCapacity?: N2K_Number + reserved7?: number +} + +/** + * @category PGN_65303_LowranceVesselSetupEngineAndTankConfiguration + */ +export const PGN_65303_LowranceVesselSetupEngineAndTankConfigurationMatchFields = { + manufacturerCode: enums.ManufacturerCode.Lowrance, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_65303_LowranceVesselSetupEngineAndTankConfiguration + */ +export interface PGN_65303_LowranceVesselSetupEngineAndTankConfigurationCreateArgs { + reserved?: number + numberOfEngines?: N2K_Number + numberOfFuelTanks?: N2K_Number + totalFuelCapacity?: N2K_Number + reserved7?: number +} + +/** + * @category PGN_65303_LowranceVesselSetupEngineAndTankConfiguration + */ +export class PGN_65303_LowranceVesselSetupEngineAndTankConfiguration extends PGN implements PGN_65303_LowranceVesselSetupEngineAndTankConfigurationInterface { + fields: PGN_65303_LowranceVesselSetupEngineAndTankConfigurationFields + + constructor(fields: PGN_65303_LowranceVesselSetupEngineAndTankConfigurationCreateArgs, dst: number = 255) { + super({ + pgn: 65303, + prio: 3, + dst + }) + this.fields = { ...PGN_65303_LowranceVesselSetupEngineAndTankConfigurationMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_65303_LowranceVesselSetupEngineAndTankConfigurationMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('lowranceVesselSetupEngineAndTankConfiguration')! + } +} +pgnIdToCreator['lowranceVesselSetupEngineAndTankConfiguration'] = (fields:any, dst:number) => new PGN_65303_LowranceVesselSetupEngineAndTankConfiguration(fields, dst) + + /** * PGN: 65304 * @@ -5870,6 +6172,79 @@ export class PGN_65304_BepMarineProprietaryPgn65304 extends PGN implements PGN_6 pgnIdToCreator['bepMarineProprietaryPgn65304'] = (fields:any, dst:number) => new PGN_65304_BepMarineProprietaryPgn65304(fields, dst) +/** + * PGN: 65304 + * + * Description: Lowrance: Vessel Setup - Engine and Tank Configuration Broadcast + * + * Explanation: Periodic broadcast of the current vessel-setup configuration (number of engines, number of fuel tanks and total fuel capacity). Same layout as the on-change variant (PGN 65303); observed broadcast at the default (1 engine, 1 tank, 1200 L) by autopilot-computer and display devices. + * + * Match: Manufacturer Code == Lowrance
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcast + */ +export interface PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastInterface extends PGNInterface { + fields: PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastFields +} + +/** + * @category PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcast + */ +export interface PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + numberOfEngines?: N2K_Number + numberOfFuelTanks?: N2K_Number + totalFuelCapacity?: N2K_Number + reserved7?: number +} + +/** + * @category PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcast + */ +export const PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastMatchFields = { + manufacturerCode: enums.ManufacturerCode.Lowrance, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcast + */ +export interface PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastCreateArgs { + reserved?: number + numberOfEngines?: N2K_Number + numberOfFuelTanks?: N2K_Number + totalFuelCapacity?: N2K_Number + reserved7?: number +} + +/** + * @category PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcast + */ +export class PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcast extends PGN implements PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastInterface { + fields: PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastFields + + constructor(fields: PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastCreateArgs, dst: number = 255) { + super({ + pgn: 65304, + prio: 3, + dst + }) + this.fields = { ...PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcastMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('lowranceVesselSetupEngineAndTankConfigurationBroadcast')! + } +} +pgnIdToCreator['lowranceVesselSetupEngineAndTankConfigurationBroadcast'] = (fields:any, dst:number) => new PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcast(fields, dst) + + /** * PGN: 65305 * @@ -5895,7 +6270,7 @@ export interface PGN_65305_SimnetDeviceStatusFields { reserved?: number industryCode?: enums.IndustryCode | number model?: enums.SimnetDeviceModel | number - report?: enums.SimnetDeviceReport | number + report: enums.SimnetDeviceReport | number status?: enums.SimnetApStatus | number spare7?: number } @@ -5969,7 +6344,7 @@ export interface PGN_65305_SimnetDeviceStatusRequestFields { reserved?: number industryCode?: enums.IndustryCode | number model?: enums.SimnetDeviceModel | number - report?: enums.SimnetDeviceReport | number + report: enums.SimnetDeviceReport | number spare6?: number } @@ -6041,7 +6416,7 @@ export interface PGN_65305_SimnetPilotModeFields { reserved?: number industryCode?: enums.IndustryCode | number model?: enums.SimnetDeviceModel | number - report?: enums.SimnetDeviceReport | number + report: enums.SimnetDeviceReport | number mode?: enums.SimnetApModeBitfield[] spare7?: number } @@ -6115,7 +6490,7 @@ export interface PGN_65305_SimnetDeviceModeRequestFields { reserved?: number industryCode?: enums.IndustryCode | number model?: enums.SimnetDeviceModel | number - report?: enums.SimnetDeviceReport | number + report: enums.SimnetDeviceReport | number spare6?: number } @@ -6187,7 +6562,7 @@ export interface PGN_65305_SimnetSailingProcessorStatusFields { reserved?: number industryCode?: enums.IndustryCode | number model?: enums.SimnetDeviceModel | number - report?: enums.SimnetDeviceReport | number + report: enums.SimnetDeviceReport | number data?: N2K_Binary } @@ -6389,6 +6764,7 @@ export interface PGN_65309_NavicoWirelessBatteryStatusFields { batteryStatus?: N2K_Number batteryChargeStatus?: N2K_Number reserved7?: number + a?: N2K_Number } /** @@ -6408,6 +6784,7 @@ export interface PGN_65309_NavicoWirelessBatteryStatusCreateArgs { batteryStatus?: N2K_Number batteryChargeStatus?: N2K_Number reserved7?: number + a?: N2K_Number } /** @@ -6588,7 +6965,8 @@ export interface PGN_65312_NavicoWirelessSignalStatusFields { industryCode?: enums.IndustryCode | number unknown?: N2K_Number signalStrength?: N2K_Number - reserved6?: number + a?: N2K_Number + reserved7?: number } /** @@ -6606,7 +6984,8 @@ export interface PGN_65312_NavicoWirelessSignalStatusCreateArgs { reserved?: number unknown?: N2K_Number signalStrength?: N2K_Number - reserved6?: number + a?: N2K_Number + reserved7?: number } /** @@ -6637,66 +7016,70 @@ pgnIdToCreator['navicoWirelessSignalStatus'] = (fields:any, dst:number) => new P /** * PGN: 65313 * - * Description: Navico: Proprietary + * Description: Navico: Depth Quality * * Match: Manufacturer Code == Navico
* Match: Industry Code == Marine Industry
* - * @category PGN_65313_NavicoProprietary + * @category PGN_65313_NavicoDepthQuality */ -export interface PGN_65313_NavicoProprietaryInterface extends PGNInterface { - fields: PGN_65313_NavicoProprietaryFields +export interface PGN_65313_NavicoDepthQualityInterface extends PGNInterface { + fields: PGN_65313_NavicoDepthQualityFields } /** - * @category PGN_65313_NavicoProprietary + * @category PGN_65313_NavicoDepthQuality */ -export interface PGN_65313_NavicoProprietaryFields { +export interface PGN_65313_NavicoDepthQualityFields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number - data?: N2K_Binary + instance?: N2K_Number + depthQuality?: N2K_Number + reserved6?: number } /** - * @category PGN_65313_NavicoProprietary + * @category PGN_65313_NavicoDepthQuality */ -export const PGN_65313_NavicoProprietaryMatchFields = { +export const PGN_65313_NavicoDepthQualityMatchFields = { manufacturerCode: enums.ManufacturerCode.Navico, industryCode: enums.IndustryCode.MarineIndustry, } /** - * @category PGN_65313_NavicoProprietary + * @category PGN_65313_NavicoDepthQuality */ -export interface PGN_65313_NavicoProprietaryCreateArgs { +export interface PGN_65313_NavicoDepthQualityCreateArgs { reserved?: number - data?: N2K_Binary + instance?: N2K_Number + depthQuality?: N2K_Number + reserved6?: number } /** - * @category PGN_65313_NavicoProprietary + * @category PGN_65313_NavicoDepthQuality */ -export class PGN_65313_NavicoProprietary extends PGN implements PGN_65313_NavicoProprietaryInterface { - fields: PGN_65313_NavicoProprietaryFields +export class PGN_65313_NavicoDepthQuality extends PGN implements PGN_65313_NavicoDepthQualityInterface { + fields: PGN_65313_NavicoDepthQualityFields - constructor(fields: PGN_65313_NavicoProprietaryCreateArgs, dst: number = 255) { + constructor(fields: PGN_65313_NavicoDepthQualityCreateArgs, dst: number = 255) { super({ pgn: 65313, prio: 3, dst }) - this.fields = { ...PGN_65313_NavicoProprietaryMatchFields, ...fields } + this.fields = { ...PGN_65313_NavicoDepthQualityMatchFields, ...fields } } static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_65313_NavicoProprietaryMatchFields) + return isMatch(pgn, PGN_65313_NavicoDepthQualityMatchFields) } getDefinition(): Definition { - return getPGNWithId('navicoProprietary')! + return getPGNWithId('navicoDepthQuality')! } } -pgnIdToCreator['navicoProprietary'] = (fields:any, dst:number) => new PGN_65313_NavicoProprietary(fields, dst) +pgnIdToCreator['navicoDepthQuality'] = (fields:any, dst:number) => new PGN_65313_NavicoDepthQuality(fields, dst) /** @@ -6787,7 +7170,7 @@ export interface PGN_65314_YamahaGearStatusFields { industryCode?: enums.IndustryCode | number reserved4?: number reserved5?: number - neutral: enums.YesNo | number + neutral: enums.YesNo1Bit | number reserved7?: number reserved8?: number } @@ -6807,7 +7190,7 @@ export interface PGN_65314_YamahaGearStatusCreateArgs { reserved?: number reserved4?: number reserved5?: number - neutral: enums.YesNo | number + neutral: enums.YesNo1Bit | number reserved7?: number reserved8?: number } @@ -7035,74 +7418,145 @@ pgnIdToCreator['navicoProprietary2'] = (fields:any, dst:number) => new PGN_65317 /** * PGN: 65323 * - * Description: Simnet: AP Unknown 5 + * Description: Simnet: Data Source Selection Request * - * Explanation: Single-frame Simnet frame emitted by autopilot control heads (AP48, Triton2, ZEUS). The frame builder writes a fixed 0xFF, then two bytes A and B, then padding 0xFF; the meaning of A and B is not yet identified. The autopilot receives it. Observed in live captures. + * Explanation: Single-frame poll/announce half of the Simnet source-selection subsystem; the fast-packet half is PGN 130840, which shares the same Data Type namespace. Data Type selects the quantity (heading, depth, wind, ...); Source Class tags the class of source for that quantity (1 = a direct sensor/navigation source, 100 = an autopilot-provided source) and is constant per Data Type - it does not identify the selected device. A node answers with a 130840 record naming the source (Source Address plus NAME) it has selected for that (Data Type, Source Class) channel. Emitted by autopilot heads and instruments (AP48, Triton2, ZEUS); the autopilot and MFDs receive it. * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
* - * @category PGN_65323_SimnetApUnknown5 + * @category PGN_65323_SimnetDataSourceSelectionRequest */ -export interface PGN_65323_SimnetApUnknown5Interface extends PGNInterface { - fields: PGN_65323_SimnetApUnknown5Fields +export interface PGN_65323_SimnetDataSourceSelectionRequestInterface extends PGNInterface { + fields: PGN_65323_SimnetDataSourceSelectionRequestFields } /** - * @category PGN_65323_SimnetApUnknown5 + * @category PGN_65323_SimnetDataSourceSelectionRequest */ -export interface PGN_65323_SimnetApUnknown5Fields { +export interface PGN_65323_SimnetDataSourceSelectionRequestFields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number reserved4?: number - a?: N2K_Number - b?: N2K_Number + dataType?: enums.SimnetDataSource | number + sourceClass?: N2K_Number reserved7?: number } /** - * @category PGN_65323_SimnetApUnknown5 + * @category PGN_65323_SimnetDataSourceSelectionRequest */ -export const PGN_65323_SimnetApUnknown5MatchFields = { +export const PGN_65323_SimnetDataSourceSelectionRequestMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, } /** - * @category PGN_65323_SimnetApUnknown5 + * @category PGN_65323_SimnetDataSourceSelectionRequest */ -export interface PGN_65323_SimnetApUnknown5CreateArgs { +export interface PGN_65323_SimnetDataSourceSelectionRequestCreateArgs { reserved?: number reserved4?: number - a?: N2K_Number - b?: N2K_Number + dataType?: enums.SimnetDataSource | number + sourceClass?: N2K_Number reserved7?: number } /** - * @category PGN_65323_SimnetApUnknown5 + * @category PGN_65323_SimnetDataSourceSelectionRequest */ -export class PGN_65323_SimnetApUnknown5 extends PGN implements PGN_65323_SimnetApUnknown5Interface { - fields: PGN_65323_SimnetApUnknown5Fields +export class PGN_65323_SimnetDataSourceSelectionRequest extends PGN implements PGN_65323_SimnetDataSourceSelectionRequestInterface { + fields: PGN_65323_SimnetDataSourceSelectionRequestFields - constructor(fields: PGN_65323_SimnetApUnknown5CreateArgs, dst: number = 255) { + constructor(fields: PGN_65323_SimnetDataSourceSelectionRequestCreateArgs, dst: number = 255) { super({ pgn: 65323, prio: 3, dst }) - this.fields = { ...PGN_65323_SimnetApUnknown5MatchFields, ...fields } + this.fields = { ...PGN_65323_SimnetDataSourceSelectionRequestMatchFields, ...fields } } static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_65323_SimnetApUnknown5MatchFields) + return isMatch(pgn, PGN_65323_SimnetDataSourceSelectionRequestMatchFields) } getDefinition(): Definition { - return getPGNWithId('simnetApUnknown5')! + return getPGNWithId('simnetDataSourceSelectionRequest')! } } -pgnIdToCreator['simnetApUnknown5'] = (fields:any, dst:number) => new PGN_65323_SimnetApUnknown5(fields, dst) +pgnIdToCreator['simnetDataSourceSelectionRequest'] = (fields:any, dst:number) => new PGN_65323_SimnetDataSourceSelectionRequest(fields, dst) + + +/** + * PGN: 65324 + * + * Description: Simnet: Analog Telemetry + * + * Explanation: Diagnostic telemetry emitted by the AutoPilot Computer, one analog channel per frame in round-robin. The Channel field selects the quantity (drive/heatsink temperature, drive supply voltage, drive current, rudder-feedback angle, ...) and Value carries its raw reading. Used by commissioning and diagnostic tools; observed in live captures. + * + * Match: Manufacturer Code == Simrad
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_65324_SimnetAnalogTelemetry + */ +export interface PGN_65324_SimnetAnalogTelemetryInterface extends PGNInterface { + fields: PGN_65324_SimnetAnalogTelemetryFields +} + +/** + * @category PGN_65324_SimnetAnalogTelemetry + */ +export interface PGN_65324_SimnetAnalogTelemetryFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subType?: N2K_Number + channel?: N2K_Number + value?: N2K_Number +} + +/** + * @category PGN_65324_SimnetAnalogTelemetry + */ +export const PGN_65324_SimnetAnalogTelemetryMatchFields = { + manufacturerCode: enums.ManufacturerCode.Simrad, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_65324_SimnetAnalogTelemetry + */ +export interface PGN_65324_SimnetAnalogTelemetryCreateArgs { + reserved?: number + subType?: N2K_Number + channel?: N2K_Number + value?: N2K_Number +} + +/** + * @category PGN_65324_SimnetAnalogTelemetry + */ +export class PGN_65324_SimnetAnalogTelemetry extends PGN implements PGN_65324_SimnetAnalogTelemetryInterface { + fields: PGN_65324_SimnetAnalogTelemetryFields + + constructor(fields: PGN_65324_SimnetAnalogTelemetryCreateArgs, dst: number = 255) { + super({ + pgn: 65324, + prio: 3, + dst + }) + this.fields = { ...PGN_65324_SimnetAnalogTelemetryMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_65324_SimnetAnalogTelemetryMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('simnetAnalogTelemetry')! + } +} +pgnIdToCreator['simnetAnalogTelemetry'] = (fields:any, dst:number) => new PGN_65324_SimnetAnalogTelemetry(fields, dst) /** @@ -7857,10 +8311,10 @@ export interface PGN_65350Interface extends PGNInterface { * @category PGN_65350 */ export interface PGN_65350Fields { - a?: N2K_Number - b?: N2K_Number - c?: N2K_Number - d?: N2K_Number + fieldX?: N2K_Number + fieldY?: N2K_Number + fieldZ?: N2K_Number + marker?: N2K_Number reserved?: number } @@ -9638,7 +10092,7 @@ export interface PGN_126464Interface extends PGNInterface { * @category PGN_126464 */ export interface PGN_126464Fields { - functionCode?: enums.PgnListFunction | number + functionCode: enums.PgnListFunction | number list: { pgn?: N2K_Pgn }[] @@ -9666,314 +10120,6 @@ export class PGN_126464 extends PGN implements PGN_126464Interface { pgnIdToCreator['pgnListTransmitAndReceive'] = (fields:any, dst:number) => new PGN_126464(fields, dst) -/** - * PGN: 126720 - * - * Description: Garmin AHRS ATT: COG Source Valid Flag - * - * Match: Manufacturer Code == Garmin
- * Match: Industry Code == Marine Industry
- * Match: Sub-protocol ID == Garmin ATT transport
- * Match: Wrapper Byte 1 == 1
- * Match: Wrapper Byte 2 == 2
- * Match: ATT Message ID == ID
- * - * @category PGN_126720_GarminAhrsAttCogSourceValidFlag - */ -export interface PGN_126720_GarminAhrsAttCogSourceValidFlagInterface extends PGNInterface { - fields: PGN_126720_GarminAhrsAttCogSourceValidFlagFields -} - -/** - * @category PGN_126720_GarminAhrsAttCogSourceValidFlag - */ -export interface PGN_126720_GarminAhrsAttCogSourceValidFlagFields { - manufacturerCode?: enums.ManufacturerCode | number - reserved?: number - industryCode?: enums.IndustryCode | number - subProtocolId: N2K_Number | string - wrapperByte1?: N2K_Number | string - wrapperByte2?: N2K_Number | string - attMessageId: N2K_Number | string - cogSourceFlags?: N2K_Number -} - -/** - * @category PGN_126720_GarminAhrsAttCogSourceValidFlag - */ -export const PGN_126720_GarminAhrsAttCogSourceValidFlagMatchFields = { - manufacturerCode: enums.ManufacturerCode.Garmin, - industryCode: enums.IndustryCode.MarineIndustry, - subProtocolId: "Garmin ATT transport", - wrapperByte1: 2, - wrapperByte2: 2, - attMessageId: "ID", -} - -/** - * @category PGN_126720_GarminAhrsAttCogSourceValidFlag - */ -export interface PGN_126720_GarminAhrsAttCogSourceValidFlagCreateArgs { - reserved?: number - cogSourceFlags?: N2K_Number -} - -/** - * @category PGN_126720_GarminAhrsAttCogSourceValidFlag - */ -export class PGN_126720_GarminAhrsAttCogSourceValidFlag extends PGN implements PGN_126720_GarminAhrsAttCogSourceValidFlagInterface { - fields: PGN_126720_GarminAhrsAttCogSourceValidFlagFields - - constructor(fields: PGN_126720_GarminAhrsAttCogSourceValidFlagCreateArgs, dst: number = 255) { - super({ - pgn: 126720, - prio: 3, - dst - }) - this.fields = { ...PGN_126720_GarminAhrsAttCogSourceValidFlagMatchFields, ...fields } - } - - static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_126720_GarminAhrsAttCogSourceValidFlagMatchFields) - } - getDefinition(): Definition { - return getPGNWithId('garminAhrsAttCogSourceValidFlag')! - } -} -pgnIdToCreator['garminAhrsAttCogSourceValidFlag'] = (fields:any, dst:number) => new PGN_126720_GarminAhrsAttCogSourceValidFlag(fields, dst) - - -/** - * PGN: 126720 - * - * Description: Garmin AHRS ATT: Device Flags - * - * Match: Manufacturer Code == Garmin
- * Match: Industry Code == Marine Industry
- * Match: Sub-protocol ID == Garmin ATT transport
- * Match: Wrapper Byte 1 == 1
- * Match: Wrapper Byte 2 == 2
- * Match: ATT Message ID == ID
- * - * @category PGN_126720_GarminAhrsAttDeviceFlags - */ -export interface PGN_126720_GarminAhrsAttDeviceFlagsInterface extends PGNInterface { - fields: PGN_126720_GarminAhrsAttDeviceFlagsFields -} - -/** - * @category PGN_126720_GarminAhrsAttDeviceFlags - */ -export interface PGN_126720_GarminAhrsAttDeviceFlagsFields { - manufacturerCode?: enums.ManufacturerCode | number - reserved?: number - industryCode?: enums.IndustryCode | number - subProtocolId: N2K_Number | string - wrapperByte1?: N2K_Number | string - wrapperByte2?: N2K_Number | string - attMessageId: N2K_Number | string - deviceFlags?: N2K_Number -} - -/** - * @category PGN_126720_GarminAhrsAttDeviceFlags - */ -export const PGN_126720_GarminAhrsAttDeviceFlagsMatchFields = { - manufacturerCode: enums.ManufacturerCode.Garmin, - industryCode: enums.IndustryCode.MarineIndustry, - subProtocolId: "Garmin ATT transport", - wrapperByte1: 2, - wrapperByte2: 2, - attMessageId: "ID", -} - -/** - * @category PGN_126720_GarminAhrsAttDeviceFlags - */ -export interface PGN_126720_GarminAhrsAttDeviceFlagsCreateArgs { - reserved?: number - deviceFlags?: N2K_Number -} - -/** - * @category PGN_126720_GarminAhrsAttDeviceFlags - */ -export class PGN_126720_GarminAhrsAttDeviceFlags extends PGN implements PGN_126720_GarminAhrsAttDeviceFlagsInterface { - fields: PGN_126720_GarminAhrsAttDeviceFlagsFields - - constructor(fields: PGN_126720_GarminAhrsAttDeviceFlagsCreateArgs, dst: number = 255) { - super({ - pgn: 126720, - prio: 3, - dst - }) - this.fields = { ...PGN_126720_GarminAhrsAttDeviceFlagsMatchFields, ...fields } - } - - static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_126720_GarminAhrsAttDeviceFlagsMatchFields) - } - getDefinition(): Definition { - return getPGNWithId('garminAhrsAttDeviceFlags')! - } -} -pgnIdToCreator['garminAhrsAttDeviceFlags'] = (fields:any, dst:number) => new PGN_126720_GarminAhrsAttDeviceFlags(fields, dst) - - -/** - * PGN: 126720 - * - * Description: Garmin AHRS ATT: Non-default Calibration Matrix Present - * - * Match: Manufacturer Code == Garmin
- * Match: Industry Code == Marine Industry
- * Match: Sub-protocol ID == Garmin ATT transport
- * Match: Wrapper Byte 1 == 1
- * Match: Wrapper Byte 2 == 2
- * Match: ATT Message ID == ID
- * - * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent - */ -export interface PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentInterface extends PGNInterface { - fields: PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentFields -} - -/** - * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent - */ -export interface PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentFields { - manufacturerCode?: enums.ManufacturerCode | number - reserved?: number - industryCode?: enums.IndustryCode | number - subProtocolId: N2K_Number | string - wrapperByte1?: N2K_Number | string - wrapperByte2?: N2K_Number | string - attMessageId: N2K_Number | string - calibrationMatrixPresent?: N2K_Number -} - -/** - * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent - */ -export const PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentMatchFields = { - manufacturerCode: enums.ManufacturerCode.Garmin, - industryCode: enums.IndustryCode.MarineIndustry, - subProtocolId: "Garmin ATT transport", - wrapperByte1: 2, - wrapperByte2: 2, - attMessageId: "ID", -} - -/** - * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent - */ -export interface PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentCreateArgs { - reserved?: number - calibrationMatrixPresent?: N2K_Number -} - -/** - * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent - */ -export class PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent extends PGN implements PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentInterface { - fields: PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentFields - - constructor(fields: PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentCreateArgs, dst: number = 255) { - super({ - pgn: 126720, - prio: 3, - dst - }) - this.fields = { ...PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentMatchFields, ...fields } - } - - static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentMatchFields) - } - getDefinition(): Definition { - return getPGNWithId('garminAhrsAttNonDefaultCalibrationMatrixPresent')! - } -} -pgnIdToCreator['garminAhrsAttNonDefaultCalibrationMatrixPresent'] = (fields:any, dst:number) => new PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent(fields, dst) - - -/** - * PGN: 126720 - * - * Description: Garmin AHRS ATT: Set North State - * - * Match: Manufacturer Code == Garmin
- * Match: Industry Code == Marine Industry
- * Match: Sub-protocol ID == Garmin ATT transport
- * Match: Wrapper Byte 1 == 1
- * Match: Wrapper Byte 2 == 2
- * Match: ATT Message ID == ID
- * - * @category PGN_126720_GarminAhrsAttSetNorthState - */ -export interface PGN_126720_GarminAhrsAttSetNorthStateInterface extends PGNInterface { - fields: PGN_126720_GarminAhrsAttSetNorthStateFields -} - -/** - * @category PGN_126720_GarminAhrsAttSetNorthState - */ -export interface PGN_126720_GarminAhrsAttSetNorthStateFields { - manufacturerCode?: enums.ManufacturerCode | number - reserved?: number - industryCode?: enums.IndustryCode | number - subProtocolId: N2K_Number | string - wrapperByte1?: N2K_Number | string - wrapperByte2?: N2K_Number | string - attMessageId: N2K_Number | string - setNorthState?: N2K_Number -} - -/** - * @category PGN_126720_GarminAhrsAttSetNorthState - */ -export const PGN_126720_GarminAhrsAttSetNorthStateMatchFields = { - manufacturerCode: enums.ManufacturerCode.Garmin, - industryCode: enums.IndustryCode.MarineIndustry, - subProtocolId: "Garmin ATT transport", - wrapperByte1: 2, - wrapperByte2: 2, - attMessageId: "ID", -} - -/** - * @category PGN_126720_GarminAhrsAttSetNorthState - */ -export interface PGN_126720_GarminAhrsAttSetNorthStateCreateArgs { - reserved?: number - setNorthState?: N2K_Number -} - -/** - * @category PGN_126720_GarminAhrsAttSetNorthState - */ -export class PGN_126720_GarminAhrsAttSetNorthState extends PGN implements PGN_126720_GarminAhrsAttSetNorthStateInterface { - fields: PGN_126720_GarminAhrsAttSetNorthStateFields - - constructor(fields: PGN_126720_GarminAhrsAttSetNorthStateCreateArgs, dst: number = 255) { - super({ - pgn: 126720, - prio: 3, - dst - }) - this.fields = { ...PGN_126720_GarminAhrsAttSetNorthStateMatchFields, ...fields } - } - - static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_126720_GarminAhrsAttSetNorthStateMatchFields) - } - getDefinition(): Definition { - return getPGNWithId('garminAhrsAttSetNorthState')! - } -} -pgnIdToCreator['garminAhrsAttSetNorthState'] = (fields:any, dst:number) => new PGN_126720_GarminAhrsAttSetNorthState(fields, dst) - - /** * PGN: 126720 * @@ -10019,6 +10165,1373 @@ export class PGN_126720 extends PGN implements PGN_126720Interface { pgnIdToCreator['0x1ef00ManufacturerProprietaryFastPacketAddressed'] = (fields:any, dst:number) => new PGN_126720(fields, dst) +/** + * PGN: 126720 + * + * Description: Garmin AHRS ATT: COG Source Valid Flag + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == AHRS ATT transport
+ * Match: Wrapper Byte 1 == 1
+ * Match: Wrapper Byte 2 == 2
+ * Match: ATT Message ID == COG Source Valid Flag
+ * + * @category PGN_126720_GarminAhrsAttCogSourceValidFlag + */ +export interface PGN_126720_GarminAhrsAttCogSourceValidFlagInterface extends PGNInterface { + fields: PGN_126720_GarminAhrsAttCogSourceValidFlagFields +} + +/** + * @category PGN_126720_GarminAhrsAttCogSourceValidFlag + */ +export interface PGN_126720_GarminAhrsAttCogSourceValidFlagFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + attMessageId: enums.GarminAttMessageId | number + cogSourceFlags?: N2K_Number +} + +/** + * @category PGN_126720_GarminAhrsAttCogSourceValidFlag + */ +export const PGN_126720_GarminAhrsAttCogSourceValidFlagMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AhrsAttTransport, + wrapperByte1: 2, + wrapperByte2: 2, + attMessageId: enums.GarminAttMessageId.CogSourceValidFlag, +} + +/** + * @category PGN_126720_GarminAhrsAttCogSourceValidFlag + */ +export interface PGN_126720_GarminAhrsAttCogSourceValidFlagCreateArgs { + reserved?: number + cogSourceFlags?: N2K_Number +} + +/** + * @category PGN_126720_GarminAhrsAttCogSourceValidFlag + */ +export class PGN_126720_GarminAhrsAttCogSourceValidFlag extends PGN implements PGN_126720_GarminAhrsAttCogSourceValidFlagInterface { + fields: PGN_126720_GarminAhrsAttCogSourceValidFlagFields + + constructor(fields: PGN_126720_GarminAhrsAttCogSourceValidFlagCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 3, + dst + }) + this.fields = { ...PGN_126720_GarminAhrsAttCogSourceValidFlagMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAhrsAttCogSourceValidFlagMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAhrsAttCogSourceValidFlag')! + } +} +pgnIdToCreator['garminAhrsAttCogSourceValidFlag'] = (fields:any, dst:number) => new PGN_126720_GarminAhrsAttCogSourceValidFlag(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin AHRS ATT: Device Flags + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == AHRS ATT transport
+ * Match: Wrapper Byte 1 == 1
+ * Match: Wrapper Byte 2 == 2
+ * Match: ATT Message ID == Device Flags
+ * + * @category PGN_126720_GarminAhrsAttDeviceFlags + */ +export interface PGN_126720_GarminAhrsAttDeviceFlagsInterface extends PGNInterface { + fields: PGN_126720_GarminAhrsAttDeviceFlagsFields +} + +/** + * @category PGN_126720_GarminAhrsAttDeviceFlags + */ +export interface PGN_126720_GarminAhrsAttDeviceFlagsFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + attMessageId: enums.GarminAttMessageId | number + deviceFlags?: N2K_Number +} + +/** + * @category PGN_126720_GarminAhrsAttDeviceFlags + */ +export const PGN_126720_GarminAhrsAttDeviceFlagsMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AhrsAttTransport, + wrapperByte1: 2, + wrapperByte2: 2, + attMessageId: enums.GarminAttMessageId.DeviceFlags, +} + +/** + * @category PGN_126720_GarminAhrsAttDeviceFlags + */ +export interface PGN_126720_GarminAhrsAttDeviceFlagsCreateArgs { + reserved?: number + deviceFlags?: N2K_Number +} + +/** + * @category PGN_126720_GarminAhrsAttDeviceFlags + */ +export class PGN_126720_GarminAhrsAttDeviceFlags extends PGN implements PGN_126720_GarminAhrsAttDeviceFlagsInterface { + fields: PGN_126720_GarminAhrsAttDeviceFlagsFields + + constructor(fields: PGN_126720_GarminAhrsAttDeviceFlagsCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 3, + dst + }) + this.fields = { ...PGN_126720_GarminAhrsAttDeviceFlagsMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAhrsAttDeviceFlagsMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAhrsAttDeviceFlags')! + } +} +pgnIdToCreator['garminAhrsAttDeviceFlags'] = (fields:any, dst:number) => new PGN_126720_GarminAhrsAttDeviceFlags(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin AHRS ATT: Non-default Calibration Matrix Present + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == AHRS ATT transport
+ * Match: Wrapper Byte 1 == 1
+ * Match: Wrapper Byte 2 == 2
+ * Match: ATT Message ID == Calibration Matrix Present
+ * + * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent + */ +export interface PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentInterface extends PGNInterface { + fields: PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentFields +} + +/** + * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent + */ +export interface PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + attMessageId: enums.GarminAttMessageId | number + calibrationMatrixPresent?: N2K_Number +} + +/** + * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent + */ +export const PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AhrsAttTransport, + wrapperByte1: 2, + wrapperByte2: 2, + attMessageId: enums.GarminAttMessageId.CalibrationMatrixPresent, +} + +/** + * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent + */ +export interface PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentCreateArgs { + reserved?: number + calibrationMatrixPresent?: N2K_Number +} + +/** + * @category PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent + */ +export class PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent extends PGN implements PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentInterface { + fields: PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentFields + + constructor(fields: PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 3, + dst + }) + this.fields = { ...PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresentMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAhrsAttNonDefaultCalibrationMatrixPresent')! + } +} +pgnIdToCreator['garminAhrsAttNonDefaultCalibrationMatrixPresent'] = (fields:any, dst:number) => new PGN_126720_GarminAhrsAttNonDefaultCalibrationMatrixPresent(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin AHRS ATT: Set North State + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == AHRS ATT transport
+ * Match: Wrapper Byte 1 == 1
+ * Match: Wrapper Byte 2 == 2
+ * Match: ATT Message ID == Set North State
+ * + * @category PGN_126720_GarminAhrsAttSetNorthState + */ +export interface PGN_126720_GarminAhrsAttSetNorthStateInterface extends PGNInterface { + fields: PGN_126720_GarminAhrsAttSetNorthStateFields +} + +/** + * @category PGN_126720_GarminAhrsAttSetNorthState + */ +export interface PGN_126720_GarminAhrsAttSetNorthStateFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + attMessageId: enums.GarminAttMessageId | number + setNorthState?: N2K_Number +} + +/** + * @category PGN_126720_GarminAhrsAttSetNorthState + */ +export const PGN_126720_GarminAhrsAttSetNorthStateMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AhrsAttTransport, + wrapperByte1: 2, + wrapperByte2: 2, + attMessageId: enums.GarminAttMessageId.SetNorthState, +} + +/** + * @category PGN_126720_GarminAhrsAttSetNorthState + */ +export interface PGN_126720_GarminAhrsAttSetNorthStateCreateArgs { + reserved?: number + setNorthState?: N2K_Number +} + +/** + * @category PGN_126720_GarminAhrsAttSetNorthState + */ +export class PGN_126720_GarminAhrsAttSetNorthState extends PGN implements PGN_126720_GarminAhrsAttSetNorthStateInterface { + fields: PGN_126720_GarminAhrsAttSetNorthStateFields + + constructor(fields: PGN_126720_GarminAhrsAttSetNorthStateCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 3, + dst + }) + this.fields = { ...PGN_126720_GarminAhrsAttSetNorthStateMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAhrsAttSetNorthStateMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAhrsAttSetNorthState')! + } +} +pgnIdToCreator['garminAhrsAttSetNorthState'] = (fields:any, dst:number) => new PGN_126720_GarminAhrsAttSetNorthState(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Heading to Steer + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field == Heading to Steer
+ * + * @category PGN_126720_GarminAutopilotHeadingToSteer + */ +export interface PGN_126720_GarminAutopilotHeadingToSteerInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotHeadingToSteerFields +} + +/** + * @category PGN_126720_GarminAutopilotHeadingToSteer + */ +export interface PGN_126720_GarminAutopilotHeadingToSteerFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + headingToSteer?: N2K_Float +} + +/** + * @category PGN_126720_GarminAutopilotHeadingToSteer + */ +export const PGN_126720_GarminAutopilotHeadingToSteerMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 0, + field: enums.GarminAutopilotField.HeadingToSteer, +} + +/** + * @category PGN_126720_GarminAutopilotHeadingToSteer + */ +export interface PGN_126720_GarminAutopilotHeadingToSteerCreateArgs { + reserved?: number + reserved9?: number + headingToSteer?: N2K_Float +} + +/** + * @category PGN_126720_GarminAutopilotHeadingToSteer + */ +export class PGN_126720_GarminAutopilotHeadingToSteer extends PGN implements PGN_126720_GarminAutopilotHeadingToSteerInterface { + fields: PGN_126720_GarminAutopilotHeadingToSteerFields + + constructor(fields: PGN_126720_GarminAutopilotHeadingToSteerCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotHeadingToSteerMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotHeadingToSteerMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotHeadingToSteer')! + } +} +pgnIdToCreator['garminAutopilotHeadingToSteer'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotHeadingToSteer(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Rate of Turn + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field == Rate of Turn
+ * + * @category PGN_126720_GarminAutopilotRateOfTurn + */ +export interface PGN_126720_GarminAutopilotRateOfTurnInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotRateOfTurnFields +} + +/** + * @category PGN_126720_GarminAutopilotRateOfTurn + */ +export interface PGN_126720_GarminAutopilotRateOfTurnFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + rateOfTurn?: N2K_Float +} + +/** + * @category PGN_126720_GarminAutopilotRateOfTurn + */ +export const PGN_126720_GarminAutopilotRateOfTurnMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 0, + field: enums.GarminAutopilotField.RateOfTurn, +} + +/** + * @category PGN_126720_GarminAutopilotRateOfTurn + */ +export interface PGN_126720_GarminAutopilotRateOfTurnCreateArgs { + reserved?: number + reserved9?: number + rateOfTurn?: N2K_Float +} + +/** + * @category PGN_126720_GarminAutopilotRateOfTurn + */ +export class PGN_126720_GarminAutopilotRateOfTurn extends PGN implements PGN_126720_GarminAutopilotRateOfTurnInterface { + fields: PGN_126720_GarminAutopilotRateOfTurnFields + + constructor(fields: PGN_126720_GarminAutopilotRateOfTurnCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotRateOfTurnMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotRateOfTurnMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotRateOfTurn')! + } +} +pgnIdToCreator['garminAutopilotRateOfTurn'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotRateOfTurn(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Rate of Turn Order + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field == Rate of Turn Order
+ * + * @category PGN_126720_GarminAutopilotRateOfTurnOrder + */ +export interface PGN_126720_GarminAutopilotRateOfTurnOrderInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotRateOfTurnOrderFields +} + +/** + * @category PGN_126720_GarminAutopilotRateOfTurnOrder + */ +export interface PGN_126720_GarminAutopilotRateOfTurnOrderFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + rateOfTurnOrder?: N2K_Float +} + +/** + * @category PGN_126720_GarminAutopilotRateOfTurnOrder + */ +export const PGN_126720_GarminAutopilotRateOfTurnOrderMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 0, + field: enums.GarminAutopilotField.RateOfTurnOrder, +} + +/** + * @category PGN_126720_GarminAutopilotRateOfTurnOrder + */ +export interface PGN_126720_GarminAutopilotRateOfTurnOrderCreateArgs { + reserved?: number + reserved9?: number + rateOfTurnOrder?: N2K_Float +} + +/** + * @category PGN_126720_GarminAutopilotRateOfTurnOrder + */ +export class PGN_126720_GarminAutopilotRateOfTurnOrder extends PGN implements PGN_126720_GarminAutopilotRateOfTurnOrderInterface { + fields: PGN_126720_GarminAutopilotRateOfTurnOrderFields + + constructor(fields: PGN_126720_GarminAutopilotRateOfTurnOrderCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotRateOfTurnOrderMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotRateOfTurnOrderMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotRateOfTurnOrder')! + } +} +pgnIdToCreator['garminAutopilotRateOfTurnOrder'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotRateOfTurnOrder(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Speed + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field == Speed
+ * + * @category PGN_126720_GarminAutopilotSpeed + */ +export interface PGN_126720_GarminAutopilotSpeedInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotSpeedFields +} + +/** + * @category PGN_126720_GarminAutopilotSpeed + */ +export interface PGN_126720_GarminAutopilotSpeedFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + speed?: N2K_Float +} + +/** + * @category PGN_126720_GarminAutopilotSpeed + */ +export const PGN_126720_GarminAutopilotSpeedMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 0, + field: enums.GarminAutopilotField.Speed, +} + +/** + * @category PGN_126720_GarminAutopilotSpeed + */ +export interface PGN_126720_GarminAutopilotSpeedCreateArgs { + reserved?: number + reserved9?: number + speed?: N2K_Float +} + +/** + * @category PGN_126720_GarminAutopilotSpeed + */ +export class PGN_126720_GarminAutopilotSpeed extends PGN implements PGN_126720_GarminAutopilotSpeedInterface { + fields: PGN_126720_GarminAutopilotSpeedFields + + constructor(fields: PGN_126720_GarminAutopilotSpeedCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotSpeedMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotSpeedMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotSpeed')! + } +} +pgnIdToCreator['garminAutopilotSpeed'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotSpeed(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: System Voltage + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field Group == 2
+ * Match: Field == System Voltage
+ * + * @category PGN_126720_GarminAutopilotSystemVoltage + */ +export interface PGN_126720_GarminAutopilotSystemVoltageInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotSystemVoltageFields +} + +/** + * @category PGN_126720_GarminAutopilotSystemVoltage + */ +export interface PGN_126720_GarminAutopilotSystemVoltageFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + systemVoltage?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotSystemVoltage + */ +export const PGN_126720_GarminAutopilotSystemVoltageMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 2, + field: enums.GarminAutopilotField.SystemVoltage, +} + +/** + * @category PGN_126720_GarminAutopilotSystemVoltage + */ +export interface PGN_126720_GarminAutopilotSystemVoltageCreateArgs { + reserved?: number + reserved9?: number + systemVoltage?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotSystemVoltage + */ +export class PGN_126720_GarminAutopilotSystemVoltage extends PGN implements PGN_126720_GarminAutopilotSystemVoltageInterface { + fields: PGN_126720_GarminAutopilotSystemVoltageFields + + constructor(fields: PGN_126720_GarminAutopilotSystemVoltageCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotSystemVoltageMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotSystemVoltageMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotSystemVoltage')! + } +} +pgnIdToCreator['garminAutopilotSystemVoltage'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotSystemVoltage(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Turn Angle Order + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field Group == 2
+ * Match: Field == Turn Angle Order
+ * + * @category PGN_126720_GarminAutopilotTurnAngleOrder + */ +export interface PGN_126720_GarminAutopilotTurnAngleOrderInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotTurnAngleOrderFields +} + +/** + * @category PGN_126720_GarminAutopilotTurnAngleOrder + */ +export interface PGN_126720_GarminAutopilotTurnAngleOrderFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + turnAngleOrder?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotTurnAngleOrder + */ +export const PGN_126720_GarminAutopilotTurnAngleOrderMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 2, + field: enums.GarminAutopilotField.TurnAngleOrder, +} + +/** + * @category PGN_126720_GarminAutopilotTurnAngleOrder + */ +export interface PGN_126720_GarminAutopilotTurnAngleOrderCreateArgs { + reserved?: number + reserved9?: number + turnAngleOrder?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotTurnAngleOrder + */ +export class PGN_126720_GarminAutopilotTurnAngleOrder extends PGN implements PGN_126720_GarminAutopilotTurnAngleOrderInterface { + fields: PGN_126720_GarminAutopilotTurnAngleOrderFields + + constructor(fields: PGN_126720_GarminAutopilotTurnAngleOrderCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotTurnAngleOrderMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotTurnAngleOrderMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotTurnAngleOrder')! + } +} +pgnIdToCreator['garminAutopilotTurnAngleOrder'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotTurnAngleOrder(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Turn Angle Measured + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field Group == 2
+ * Match: Field == Turn Angle Measured
+ * + * @category PGN_126720_GarminAutopilotTurnAngleMeasured + */ +export interface PGN_126720_GarminAutopilotTurnAngleMeasuredInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotTurnAngleMeasuredFields +} + +/** + * @category PGN_126720_GarminAutopilotTurnAngleMeasured + */ +export interface PGN_126720_GarminAutopilotTurnAngleMeasuredFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + turnAngleMeasured?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotTurnAngleMeasured + */ +export const PGN_126720_GarminAutopilotTurnAngleMeasuredMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 2, + field: enums.GarminAutopilotField.TurnAngleMeasured, +} + +/** + * @category PGN_126720_GarminAutopilotTurnAngleMeasured + */ +export interface PGN_126720_GarminAutopilotTurnAngleMeasuredCreateArgs { + reserved?: number + reserved9?: number + turnAngleMeasured?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotTurnAngleMeasured + */ +export class PGN_126720_GarminAutopilotTurnAngleMeasured extends PGN implements PGN_126720_GarminAutopilotTurnAngleMeasuredInterface { + fields: PGN_126720_GarminAutopilotTurnAngleMeasuredFields + + constructor(fields: PGN_126720_GarminAutopilotTurnAngleMeasuredCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotTurnAngleMeasuredMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotTurnAngleMeasuredMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotTurnAngleMeasured')! + } +} +pgnIdToCreator['garminAutopilotTurnAngleMeasured'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotTurnAngleMeasured(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Engine RPM A + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field Group == 5
+ * Match: Field == Engine RPM A
+ * + * @category PGN_126720_GarminAutopilotEngineRpmA + */ +export interface PGN_126720_GarminAutopilotEngineRpmAInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotEngineRpmAFields +} + +/** + * @category PGN_126720_GarminAutopilotEngineRpmA + */ +export interface PGN_126720_GarminAutopilotEngineRpmAFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + engineSpeed?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotEngineRpmA + */ +export const PGN_126720_GarminAutopilotEngineRpmAMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 5, + field: enums.GarminAutopilotField.EngineRpmA, +} + +/** + * @category PGN_126720_GarminAutopilotEngineRpmA + */ +export interface PGN_126720_GarminAutopilotEngineRpmACreateArgs { + reserved?: number + reserved9?: number + engineSpeed?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotEngineRpmA + */ +export class PGN_126720_GarminAutopilotEngineRpmA extends PGN implements PGN_126720_GarminAutopilotEngineRpmAInterface { + fields: PGN_126720_GarminAutopilotEngineRpmAFields + + constructor(fields: PGN_126720_GarminAutopilotEngineRpmACreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotEngineRpmAMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotEngineRpmAMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotEngineRpmA')! + } +} +pgnIdToCreator['garminAutopilotEngineRpmA'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotEngineRpmA(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Engine RPM B + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field Group == 5
+ * Match: Field == Engine RPM B
+ * + * @category PGN_126720_GarminAutopilotEngineRpmB + */ +export interface PGN_126720_GarminAutopilotEngineRpmBInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotEngineRpmBFields +} + +/** + * @category PGN_126720_GarminAutopilotEngineRpmB + */ +export interface PGN_126720_GarminAutopilotEngineRpmBFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + engineSpeed?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotEngineRpmB + */ +export const PGN_126720_GarminAutopilotEngineRpmBMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 5, + field: enums.GarminAutopilotField.EngineRpmB, +} + +/** + * @category PGN_126720_GarminAutopilotEngineRpmB + */ +export interface PGN_126720_GarminAutopilotEngineRpmBCreateArgs { + reserved?: number + reserved9?: number + engineSpeed?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotEngineRpmB + */ +export class PGN_126720_GarminAutopilotEngineRpmB extends PGN implements PGN_126720_GarminAutopilotEngineRpmBInterface { + fields: PGN_126720_GarminAutopilotEngineRpmBFields + + constructor(fields: PGN_126720_GarminAutopilotEngineRpmBCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotEngineRpmBMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotEngineRpmBMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotEngineRpmB')! + } +} +pgnIdToCreator['garminAutopilotEngineRpmB'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotEngineRpmB(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Response Setting + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field Group == 1
+ * Match: Field == Response Setting
+ * + * @category PGN_126720_GarminAutopilotResponseSetting + */ +export interface PGN_126720_GarminAutopilotResponseSettingInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotResponseSettingFields +} + +/** + * @category PGN_126720_GarminAutopilotResponseSetting + */ +export interface PGN_126720_GarminAutopilotResponseSettingFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + responseSetting?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotResponseSetting + */ +export const PGN_126720_GarminAutopilotResponseSettingMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 1, + field: enums.GarminAutopilotField.ResponseSetting, +} + +/** + * @category PGN_126720_GarminAutopilotResponseSetting + */ +export interface PGN_126720_GarminAutopilotResponseSettingCreateArgs { + reserved?: number + reserved9?: number + responseSetting?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotResponseSetting + */ +export class PGN_126720_GarminAutopilotResponseSetting extends PGN implements PGN_126720_GarminAutopilotResponseSettingInterface { + fields: PGN_126720_GarminAutopilotResponseSettingFields + + constructor(fields: PGN_126720_GarminAutopilotResponseSettingCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotResponseSettingMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotResponseSettingMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotResponseSetting')! + } +} +pgnIdToCreator['garminAutopilotResponseSetting'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotResponseSetting(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Mode State + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field Group == 5
+ * Match: Field == Mode State
+ * + * @category PGN_126720_GarminAutopilotModeState + */ +export interface PGN_126720_GarminAutopilotModeStateInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotModeStateFields +} + +/** + * @category PGN_126720_GarminAutopilotModeState + */ +export interface PGN_126720_GarminAutopilotModeStateFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + reserved9?: number + modeState?: enums.GarminAutopilotModeState | number +} + +/** + * @category PGN_126720_GarminAutopilotModeState + */ +export const PGN_126720_GarminAutopilotModeStateMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 5, + field: enums.GarminAutopilotField.ModeState, +} + +/** + * @category PGN_126720_GarminAutopilotModeState + */ +export interface PGN_126720_GarminAutopilotModeStateCreateArgs { + reserved?: number + reserved9?: number + modeState?: enums.GarminAutopilotModeState | number +} + +/** + * @category PGN_126720_GarminAutopilotModeState + */ +export class PGN_126720_GarminAutopilotModeState extends PGN implements PGN_126720_GarminAutopilotModeStateInterface { + fields: PGN_126720_GarminAutopilotModeStateFields + + constructor(fields: PGN_126720_GarminAutopilotModeStateCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotModeStateMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotModeStateMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotModeState')! + } +} +pgnIdToCreator['garminAutopilotModeState'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotModeState(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Heartbeat + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field Group == 21
+ * Match: Field == Heartbeat
+ * + * @category PGN_126720_GarminAutopilotHeartbeat + */ +export interface PGN_126720_GarminAutopilotHeartbeatInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotHeartbeatFields +} + +/** + * @category PGN_126720_GarminAutopilotHeartbeat + */ +export interface PGN_126720_GarminAutopilotHeartbeatFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + field: enums.GarminAutopilotField | number + heartbeatData?: N2K_Binary +} + +/** + * @category PGN_126720_GarminAutopilotHeartbeat + */ +export const PGN_126720_GarminAutopilotHeartbeatMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 21, + field: enums.GarminAutopilotField.Heartbeat, +} + +/** + * @category PGN_126720_GarminAutopilotHeartbeat + */ +export interface PGN_126720_GarminAutopilotHeartbeatCreateArgs { + reserved?: number + heartbeatData?: N2K_Binary +} + +/** + * @category PGN_126720_GarminAutopilotHeartbeat + */ +export class PGN_126720_GarminAutopilotHeartbeat extends PGN implements PGN_126720_GarminAutopilotHeartbeatInterface { + fields: PGN_126720_GarminAutopilotHeartbeatFields + + constructor(fields: PGN_126720_GarminAutopilotHeartbeatCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotHeartbeatMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotHeartbeatMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotHeartbeat')! + } +} +pgnIdToCreator['garminAutopilotHeartbeat'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotHeartbeat(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Garmin Autopilot: Maneuver + * + * Match: Manufacturer Code == Garmin
+ * Match: Industry Code == Marine Industry
+ * Match: Sub-protocol ID == Autopilot transport
+ * Match: Wrapper Byte 1 == 4
+ * Match: Wrapper Byte 2 == 4
+ * Match: Field Group == 38
+ * + * @category PGN_126720_GarminAutopilotManeuver + */ +export interface PGN_126720_GarminAutopilotManeuverInterface extends PGNInterface { + fields: PGN_126720_GarminAutopilotManeuverFields +} + +/** + * @category PGN_126720_GarminAutopilotManeuver + */ +export interface PGN_126720_GarminAutopilotManeuverFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + subProtocolId: enums.GarminMessageId | number + wrapperByte1?: N2K_Number | string + wrapperByte2?: N2K_Number | string + fieldGroup?: N2K_Number | string + maneuverCode?: N2K_Number + reserved9?: number + value?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotManeuver + */ +export const PGN_126720_GarminAutopilotManeuverMatchFields = { + manufacturerCode: enums.ManufacturerCode.Garmin, + industryCode: enums.IndustryCode.MarineIndustry, + subProtocolId: enums.GarminMessageId.AutopilotTransport, + wrapperByte1: 4, + wrapperByte2: 4, + fieldGroup: 38, +} + +/** + * @category PGN_126720_GarminAutopilotManeuver + */ +export interface PGN_126720_GarminAutopilotManeuverCreateArgs { + reserved?: number + maneuverCode?: N2K_Number + reserved9?: number + value?: N2K_Number +} + +/** + * @category PGN_126720_GarminAutopilotManeuver + */ +export class PGN_126720_GarminAutopilotManeuver extends PGN implements PGN_126720_GarminAutopilotManeuverInterface { + fields: PGN_126720_GarminAutopilotManeuverFields + + constructor(fields: PGN_126720_GarminAutopilotManeuverCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 7, + dst + }) + this.fields = { ...PGN_126720_GarminAutopilotManeuverMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_GarminAutopilotManeuverMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('garminAutopilotManeuver')! + } +} +pgnIdToCreator['garminAutopilotManeuver'] = (fields:any, dst:number) => new PGN_126720_GarminAutopilotManeuver(fields, dst) + + /** * PGN: 126720 * @@ -12146,77 +13659,6 @@ export class PGN_126720_MaretronDeviationCalibrationResponse extends PGN impleme pgnIdToCreator['maretronDeviationCalibrationResponse'] = (fields:any, dst:number) => new PGN_126720_MaretronDeviationCalibrationResponse(fields, dst) -/** - * PGN: 126720 - * - * Description: Maretron: Slave Response - * - * Match: Manufacturer Code == Maretron
- * Match: Industry Code == Marine Industry
- * - * @category PGN_126720_MaretronSlaveResponse - */ -export interface PGN_126720_MaretronSlaveResponseInterface extends PGNInterface { - fields: PGN_126720_MaretronSlaveResponseFields -} - -/** - * @category PGN_126720_MaretronSlaveResponse - */ -export interface PGN_126720_MaretronSlaveResponseFields { - manufacturerCode?: enums.ManufacturerCode | number - reserved?: number - industryCode?: enums.IndustryCode | number - productCode?: N2K_Number - softwareCode?: N2K_Number - command?: N2K_Number - status?: N2K_Number -} - -/** - * @category PGN_126720_MaretronSlaveResponse - */ -export const PGN_126720_MaretronSlaveResponseMatchFields = { - manufacturerCode: enums.ManufacturerCode.Maretron, - industryCode: enums.IndustryCode.MarineIndustry, -} - -/** - * @category PGN_126720_MaretronSlaveResponse - */ -export interface PGN_126720_MaretronSlaveResponseCreateArgs { - reserved?: number - productCode?: N2K_Number - softwareCode?: N2K_Number - command?: N2K_Number - status?: N2K_Number -} - -/** - * @category PGN_126720_MaretronSlaveResponse - */ -export class PGN_126720_MaretronSlaveResponse extends PGN implements PGN_126720_MaretronSlaveResponseInterface { - fields: PGN_126720_MaretronSlaveResponseFields - - constructor(fields: PGN_126720_MaretronSlaveResponseCreateArgs, dst: number = 255) { - super({ - pgn: 126720, - prio: 3, - dst - }) - this.fields = { ...PGN_126720_MaretronSlaveResponseMatchFields, ...fields } - } - - static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_126720_MaretronSlaveResponseMatchFields) - } - getDefinition(): Definition { - return getPGNWithId('maretronSlaveResponse')! - } -} -pgnIdToCreator['maretronSlaveResponse'] = (fields:any, dst:number) => new PGN_126720_MaretronSlaveResponse(fields, dst) - - /** * PGN: 126720 * @@ -12763,12 +14205,12 @@ export interface PGN_126983Fields { dataSourceInstance: N2K_Number dataSourceIndexSource?: N2K_Number alertOccurrenceNumber?: N2K_Number - temporarySilenceStatus: enums.YesNo | number - acknowledgeStatus: enums.YesNo | number - escalationStatus: enums.YesNo | number - temporarySilenceSupport: enums.YesNo | number - acknowledgeSupport: enums.YesNo | number - escalationSupport: enums.YesNo | number + temporarySilenceStatus: enums.YesNo1Bit | number + acknowledgeStatus: enums.YesNo1Bit | number + escalationStatus: enums.YesNo1Bit | number + temporarySilenceSupport: enums.YesNo1Bit | number + acknowledgeSupport: enums.YesNo1Bit | number + escalationSupport: enums.YesNo1Bit | number reserved?: number acknowledgeSourceNetworkIdName?: N2K_IsoName triggerCondition?: enums.AlertTriggerCondition | number @@ -15701,7 +17143,7 @@ export interface PGN_128520Fields { sid?: N2K_Number targetId?: N2K_Number trackStatus?: enums.Tracking | number - reportedTarget: enums.YesNo | number + reportedTarget: enums.YesNo1Bit | number targetAcquisition: enums.TargetAcquisition | number bearingReference?: enums.DirectionReference | number reserved?: number @@ -16467,10 +17909,10 @@ export interface PGN_129039Fields { regionalApplication?: number regionalApplicationB?: number unitType: enums.AisType | number - integratedDisplay: enums.YesNo | number - dsc: enums.YesNo | number + integratedDisplay: enums.YesNo1Bit | number + dsc: enums.YesNo1Bit | number band: enums.AisBand | number - canHandleMsg22: enums.YesNo | number + canHandleMsg22: enums.YesNo1Bit | number aisMode: enums.AisMode | number aisCommunicationState: enums.AisCommunicationState | number reserved?: number @@ -16592,8 +18034,8 @@ export interface PGN_129041Fields { positionReferenceFromStarboardEdge?: N2K_Number positionReferenceFromTrueNorthFacingEdge?: N2K_Number atonType?: enums.AtonType | number - offPositionIndicator: enums.YesNo | number - virtualAtonFlag: enums.YesNo | number + offPositionIndicator: enums.YesNo1Bit | number + virtualAtonFlag: enums.YesNo1Bit | number assignedModeFlag: enums.AisAssignedMode | number spare?: number positionFixingDeviceType?: enums.PositionFixDevice | number @@ -17132,7 +18574,7 @@ export interface PGN_129540Fields { snr?: N2K_Number rangeResiduals?: N2K_Number status?: enums.SatelliteStatus | number - reserved11?: number + gnssSystem?: enums.GnssSystem | number }[] } @@ -17789,7 +19231,7 @@ export interface PGN_129795Fields { sequenceNumber?: N2K_Number destinationId: N2K_Mmsi reserved8?: number - retransmitFlag: enums.YesNo | number + retransmitFlag: enums.YesNo1Bit | number reserved10?: number numberOfBitsInBinaryDataField?: N2K_Number binaryData?: N2K_Binary @@ -18086,7 +19528,7 @@ export interface PGN_129801Fields { sequenceNumber?: N2K_Number destinationId: N2K_Mmsi reserved8?: number - retransmitFlag: enums.YesNo | number + retransmitFlag: enums.YesNo1Bit | number spare10?: number safetyRelatedText?: N2K_StringLau } @@ -23682,74 +25124,72 @@ pgnIdToCreator['seaRecoveryWatermakerStatus'] = (fields:any, dst:number) => new /** * PGN: 130817 * - * Description: Navico: Unknown + * Description: Navico: Feature Unlock + * + * Explanation: Feature-unlock / capability report emitted by Navico devices, and the target of the 126208 Request seen on the bus (the requester filters on Feature Id as field 4). The payload is a 2-byte Feature Id and a record count; a non-zero count is believed to be followed by that many 3-byte records (never observed on the wire, so their layout is left undecoded here) and two trailing bytes. * * Match: Manufacturer Code == Navico
* Match: Industry Code == Marine Industry
* - * @category PGN_130817_NavicoUnknown + * @category PGN_130817_NavicoFeatureUnlock */ -export interface PGN_130817_NavicoUnknownInterface extends PGNInterface { - fields: PGN_130817_NavicoUnknownFields +export interface PGN_130817_NavicoFeatureUnlockInterface extends PGNInterface { + fields: PGN_130817_NavicoFeatureUnlockFields } /** - * @category PGN_130817_NavicoUnknown + * @category PGN_130817_NavicoFeatureUnlock */ -export interface PGN_130817_NavicoUnknownFields { +export interface PGN_130817_NavicoFeatureUnlockFields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number - a?: N2K_Number - b?: N2K_Number - c?: N2K_Number - d?: N2K_Number - e?: N2K_Number + featureId?: N2K_Number + recordCount?: N2K_Number + data?: N2K_Number } /** - * @category PGN_130817_NavicoUnknown + * @category PGN_130817_NavicoFeatureUnlock */ -export const PGN_130817_NavicoUnknownMatchFields = { +export const PGN_130817_NavicoFeatureUnlockMatchFields = { manufacturerCode: enums.ManufacturerCode.Navico, industryCode: enums.IndustryCode.MarineIndustry, } /** - * @category PGN_130817_NavicoUnknown + * @category PGN_130817_NavicoFeatureUnlock */ -export interface PGN_130817_NavicoUnknownCreateArgs { +export interface PGN_130817_NavicoFeatureUnlockCreateArgs { reserved?: number - a?: N2K_Number - b?: N2K_Number - c?: N2K_Number - d?: N2K_Number - e?: N2K_Number + featureId?: N2K_Number + recordCount?: N2K_Number + data?: N2K_Number } /** - * @category PGN_130817_NavicoUnknown + * @category PGN_130817_NavicoFeatureUnlock */ -export class PGN_130817_NavicoUnknown extends PGN implements PGN_130817_NavicoUnknownInterface { - fields: PGN_130817_NavicoUnknownFields +export class PGN_130817_NavicoFeatureUnlock extends PGN implements PGN_130817_NavicoFeatureUnlockInterface { + fields: PGN_130817_NavicoFeatureUnlockFields - constructor(fields: PGN_130817_NavicoUnknownCreateArgs, dst: number = 255) { + constructor(fields: PGN_130817_NavicoFeatureUnlockCreateArgs, dst: number = 255) { super({ pgn: 130817, prio: 7, dst }) - this.fields = { ...PGN_130817_NavicoUnknownMatchFields, ...fields } + this.fields = { ...PGN_130817_NavicoFeatureUnlockMatchFields, ...fields } } static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_130817_NavicoUnknownMatchFields) + return isMatch(pgn, PGN_130817_NavicoFeatureUnlockMatchFields) } getDefinition(): Definition { - return getPGNWithId('navicoUnknown')! + return getPGNWithId('navicoFeatureUnlock')! } } -pgnIdToCreator['navicoUnknown'] = (fields:any, dst:number) => new PGN_130817_NavicoUnknown(fields, dst) +pgnIdToCreator['navicoFeatureUnlock'] = (fields:any, dst:number) => new PGN_130817_NavicoFeatureUnlock(fields, dst) /** @@ -24817,7 +26257,7 @@ pgnIdToCreator['bepMarineCzone130819'] = (fields:any, dst:number) => new PGN_130 * * Description: BEP Marine: CZone Alarm String Response * - * Explanation: Response form of PGN 65299 (CZone alarm string request). The device and channel/alarm id are echoed back from the request, followed by the matching alarm string text. The string is NUL-terminated; the encoding (ASCII vs UTF-8) is not yet confirmed. + * Explanation: Response form of PGN 65299 (CZone alarm string request). The device and channel/alarm id are echoed back from the request, followed by the matching alarm string text. The string is NUL-terminated; the encoding (ASCII vs UTF-8) is not yet confirmed. This is the only BEP Marine (manufacturer 295) variant of PGN 130820, so it matches on the manufacturer code alone and will also catch other BEP 130820 traffic; e.g. a NAC-3 autopilot emits 130820 once a second carrying comma-separated telemetry such as "1720.0,3,0.0,0.1,0.0,1.8,0.00,358.0,..." rather than an alarm string. * * Match: Manufacturer Code == BEP Marine 2
* Match: Industry Code == Marine Industry
@@ -28349,71 +29789,6 @@ export class PGN_130820_MaretronAlertResponse extends PGN implements PGN_130820_ pgnIdToCreator['maretronAlertResponse'] = (fields:any, dst:number) => new PGN_130820_MaretronAlertResponse(fields, dst) -/** - * PGN: 130820 - * - * Description: BEP Marine: Proprietary PGN 130820 - * - * Match: Manufacturer Code == BEP Marine 2
- * Match: Industry Code == Marine Industry
- * - * @category PGN_130820_BepMarineProprietaryPgn130820 - */ -export interface PGN_130820_BepMarineProprietaryPgn130820Interface extends PGNInterface { - fields: PGN_130820_BepMarineProprietaryPgn130820Fields -} - -/** - * @category PGN_130820_BepMarineProprietaryPgn130820 - */ -export interface PGN_130820_BepMarineProprietaryPgn130820Fields { - manufacturerCode?: enums.ManufacturerCode | number - reserved?: number - industryCode?: enums.IndustryCode | number - data?: N2K_Binary -} - -/** - * @category PGN_130820_BepMarineProprietaryPgn130820 - */ -export const PGN_130820_BepMarineProprietaryPgn130820MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, - industryCode: enums.IndustryCode.MarineIndustry, -} - -/** - * @category PGN_130820_BepMarineProprietaryPgn130820 - */ -export interface PGN_130820_BepMarineProprietaryPgn130820CreateArgs { - reserved?: number - data?: N2K_Binary -} - -/** - * @category PGN_130820_BepMarineProprietaryPgn130820 - */ -export class PGN_130820_BepMarineProprietaryPgn130820 extends PGN implements PGN_130820_BepMarineProprietaryPgn130820Interface { - fields: PGN_130820_BepMarineProprietaryPgn130820Fields - - constructor(fields: PGN_130820_BepMarineProprietaryPgn130820CreateArgs, dst: number = 255) { - super({ - pgn: 130820, - prio: 3, - dst - }) - this.fields = { ...PGN_130820_BepMarineProprietaryPgn130820MatchFields, ...fields } - } - - static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_130820_BepMarineProprietaryPgn130820MatchFields) - } - getDefinition(): Definition { - return getPGNWithId('bepMarineProprietaryPgn130820')! - } -} -pgnIdToCreator['bepMarineProprietaryPgn130820'] = (fields:any, dst:number) => new PGN_130820_BepMarineProprietaryPgn130820(fields, dst) - - /** * PGN: 130821 * @@ -28692,93 +30067,693 @@ export interface PGN_130821_BepMarineProprietaryPgn130821CreateArgs { } /** - * @category PGN_130821_BepMarineProprietaryPgn130821 + * @category PGN_130821_BepMarineProprietaryPgn130821 + */ +export class PGN_130821_BepMarineProprietaryPgn130821 extends PGN implements PGN_130821_BepMarineProprietaryPgn130821Interface { + fields: PGN_130821_BepMarineProprietaryPgn130821Fields + + constructor(fields: PGN_130821_BepMarineProprietaryPgn130821CreateArgs, dst: number = 255) { + super({ + pgn: 130821, + prio: 3, + dst + }) + this.fields = { ...PGN_130821_BepMarineProprietaryPgn130821MatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130821_BepMarineProprietaryPgn130821MatchFields) + } + getDefinition(): Definition { + return getPGNWithId('bepMarineProprietaryPgn130821')! + } +} +pgnIdToCreator['bepMarineProprietaryPgn130821'] = (fields:any, dst:number) => new PGN_130821_BepMarineProprietaryPgn130821(fields, dst) + + +/** + * PGN: 130822 + * + * Description: Navico: UDB Database, Object Ping + * + * Explanation: Header-only form of the Navico/SimNet UDB database broadcast (Command 0; Commands 8 and 9 are equivalent reserved pings). The object is addressed by (Address, Section, Item). + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_130822_NavicoUdbDatabaseObjectPing + */ +export interface PGN_130822_NavicoUdbDatabaseObjectPingInterface extends PGNInterface { + fields: PGN_130822_NavicoUdbDatabaseObjectPingFields +} + +/** + * @category PGN_130822_NavicoUdbDatabaseObjectPing + */ +export interface PGN_130822_NavicoUdbDatabaseObjectPingFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + marker?: N2K_Number + command: N2K_Number | string + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number +} + +/** + * @category PGN_130822_NavicoUdbDatabaseObjectPing + */ +export const PGN_130822_NavicoUdbDatabaseObjectPingMatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + command: "Object Ping", +} + +/** + * @category PGN_130822_NavicoUdbDatabaseObjectPing + */ +export interface PGN_130822_NavicoUdbDatabaseObjectPingCreateArgs { + reserved?: number + marker?: N2K_Number + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number +} + +/** + * @category PGN_130822_NavicoUdbDatabaseObjectPing + */ +export class PGN_130822_NavicoUdbDatabaseObjectPing extends PGN implements PGN_130822_NavicoUdbDatabaseObjectPingInterface { + fields: PGN_130822_NavicoUdbDatabaseObjectPingFields + + constructor(fields: PGN_130822_NavicoUdbDatabaseObjectPingCreateArgs, dst: number = 255) { + super({ + pgn: 130822, + prio: 3, + dst + }) + this.fields = { ...PGN_130822_NavicoUdbDatabaseObjectPingMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130822_NavicoUdbDatabaseObjectPingMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoUdbDatabaseObjectPing')! + } +} +pgnIdToCreator['navicoUdbDatabaseObjectPing'] = (fields:any, dst:number) => new PGN_130822_NavicoUdbDatabaseObjectPing(fields, dst) + + +/** + * PGN: 130822 + * + * Description: Navico: UDB Database, Source Report + * + * Explanation: Per-object value report (Command 1), the form that accounts for essentially all observed 130822 traffic. Each frame reports one object's current 'Object Value' (0xFC00 = no value), addressed by (Address, Source Setting Id, Item). The trailing 'Sub' and 'Token' are the object's identity metadata, byte-identical to the same object's Command 6 dump and constant per object; 'Token' is a stable per-object-definition handle (only a couple dozen distinct values on a typical bus) that tracks the object independently of its local Section/Item address. The selected source DEVICE for each data type is not carried here - it appears only in the Command 6 dump (as a NAME) and in PGN 130840. 'Source Setting Id' uses a different id space from the data-type ids carried by the Command 6 dump and PGN 130845. + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * Match: Command == Source Report
+ * + * @category PGN_130822_NavicoUdbDatabaseSourceReport + */ +export interface PGN_130822_NavicoUdbDatabaseSourceReportInterface extends PGNInterface { + fields: PGN_130822_NavicoUdbDatabaseSourceReportFields +} + +/** + * @category PGN_130822_NavicoUdbDatabaseSourceReport + */ +export interface PGN_130822_NavicoUdbDatabaseSourceReportFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + marker?: N2K_Number + command: N2K_Number | string + spare6?: number + address?: N2K_Number + sourceSettingId?: N2K_Number + item?: N2K_Number + objectValue?: N2K_Number + instance?: N2K_Number + sourceSelectionMaster: N2K_Number + spare13?: number + sub?: N2K_Binary + token?: N2K_Number +} + +/** + * @category PGN_130822_NavicoUdbDatabaseSourceReport + */ +export const PGN_130822_NavicoUdbDatabaseSourceReportMatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + command: "Source Report", +} + +/** + * @category PGN_130822_NavicoUdbDatabaseSourceReport + */ +export interface PGN_130822_NavicoUdbDatabaseSourceReportCreateArgs { + reserved?: number + marker?: N2K_Number + spare6?: number + address?: N2K_Number + sourceSettingId?: N2K_Number + item?: N2K_Number + objectValue?: N2K_Number + instance?: N2K_Number + sourceSelectionMaster: N2K_Number + spare13?: number + sub?: N2K_Binary + token?: N2K_Number +} + +/** + * @category PGN_130822_NavicoUdbDatabaseSourceReport + */ +export class PGN_130822_NavicoUdbDatabaseSourceReport extends PGN implements PGN_130822_NavicoUdbDatabaseSourceReportInterface { + fields: PGN_130822_NavicoUdbDatabaseSourceReportFields + + constructor(fields: PGN_130822_NavicoUdbDatabaseSourceReportCreateArgs, dst: number = 255) { + super({ + pgn: 130822, + prio: 3, + dst + }) + this.fields = { ...PGN_130822_NavicoUdbDatabaseSourceReportMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130822_NavicoUdbDatabaseSourceReportMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoUdbDatabaseSourceReport')! + } +} +pgnIdToCreator['navicoUdbDatabaseSourceReport'] = (fields:any, dst:number) => new PGN_130822_NavicoUdbDatabaseSourceReport(fields, dst) + + +/** + * PGN: 130822 + * + * Description: Navico: UDB Database, Bulk Report 2 + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * Match: Command == Bulk Report 2
+ * + * @category PGN_130822_NavicoUdbDatabaseBulkReport2 + */ +export interface PGN_130822_NavicoUdbDatabaseBulkReport2Interface extends PGNInterface { + fields: PGN_130822_NavicoUdbDatabaseBulkReport2Fields +} + +/** + * @category PGN_130822_NavicoUdbDatabaseBulkReport2 + */ +export interface PGN_130822_NavicoUdbDatabaseBulkReport2Fields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + marker?: N2K_Number + command: N2K_Number | string + spare6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_130822_NavicoUdbDatabaseBulkReport2 + */ +export const PGN_130822_NavicoUdbDatabaseBulkReport2MatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + command: "Bulk Report 2", +} + +/** + * @category PGN_130822_NavicoUdbDatabaseBulkReport2 + */ +export interface PGN_130822_NavicoUdbDatabaseBulkReport2CreateArgs { + reserved?: number + marker?: N2K_Number + spare6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_130822_NavicoUdbDatabaseBulkReport2 + */ +export class PGN_130822_NavicoUdbDatabaseBulkReport2 extends PGN implements PGN_130822_NavicoUdbDatabaseBulkReport2Interface { + fields: PGN_130822_NavicoUdbDatabaseBulkReport2Fields + + constructor(fields: PGN_130822_NavicoUdbDatabaseBulkReport2CreateArgs, dst: number = 255) { + super({ + pgn: 130822, + prio: 3, + dst + }) + this.fields = { ...PGN_130822_NavicoUdbDatabaseBulkReport2MatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130822_NavicoUdbDatabaseBulkReport2MatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoUdbDatabaseBulkReport2')! + } +} +pgnIdToCreator['navicoUdbDatabaseBulkReport2'] = (fields:any, dst:number) => new PGN_130822_NavicoUdbDatabaseBulkReport2(fields, dst) + + +/** + * PGN: 130822 + * + * Description: Navico: Configuration Set + * + * Explanation: Command 3, formerly documented as 'Bulk Report 3'; despite that name it carries a single small per-object update, not a bulk/multi-item transfer. Unlike Command 1 'Source Report' (which continually re-broadcasts its whole table), Command 3 is change-driven - it is only sent when the object's value changes. Every frame observed so far carries exactly one Section 10 (0x0A) record at Item 1. Most Navico/Simnet parameter settings are read/written over PGN 130845 (Simnet: Key Value) instead; this PGN only carries the handful of settings - wind/depth-speed source selection and True wind direction damping - that PGN 130845 does not. + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * Match: Command == Configuration Set
+ * + * @category PGN_130822_NavicoConfigurationSet + */ +export interface PGN_130822_NavicoConfigurationSetInterface extends PGNInterface { + fields: PGN_130822_NavicoConfigurationSetFields +} + +/** + * @category PGN_130822_NavicoConfigurationSet + */ +export interface PGN_130822_NavicoConfigurationSetFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + marker?: N2K_Number + command: N2K_Number | string + spare6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + spare10?: number + sourceSettingId: N2K_DynamicFieldKey + spare12?: number + token?: N2K_Number + length?: N2K_DynamicFieldLength + value?: N2K_DynamicFieldValue +} + +/** + * @category PGN_130822_NavicoConfigurationSet + */ +export const PGN_130822_NavicoConfigurationSetMatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + command: "Configuration Set", +} + +/** + * @category PGN_130822_NavicoConfigurationSet + */ +export interface PGN_130822_NavicoConfigurationSetCreateArgs { + reserved?: number + marker?: N2K_Number + spare6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + spare10?: number + sourceSettingId: N2K_DynamicFieldKey + spare12?: number + token?: N2K_Number + length?: N2K_DynamicFieldLength + value?: N2K_DynamicFieldValue +} + +/** + * @category PGN_130822_NavicoConfigurationSet + */ +export class PGN_130822_NavicoConfigurationSet extends PGN implements PGN_130822_NavicoConfigurationSetInterface { + fields: PGN_130822_NavicoConfigurationSetFields + + constructor(fields: PGN_130822_NavicoConfigurationSetCreateArgs, dst: number = 255) { + super({ + pgn: 130822, + prio: 3, + dst + }) + this.fields = { ...PGN_130822_NavicoConfigurationSetMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130822_NavicoConfigurationSetMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoConfigurationSet')! + } +} +pgnIdToCreator['navicoConfigurationSet'] = (fields:any, dst:number) => new PGN_130822_NavicoConfigurationSet(fields, dst) + + +/** + * PGN: 130822 + * + * Description: Navico: UDB Database, Bulk Report 4 + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * Match: Command == Bulk Report 4
+ * + * @category PGN_130822_NavicoUdbDatabaseBulkReport4 + */ +export interface PGN_130822_NavicoUdbDatabaseBulkReport4Interface extends PGNInterface { + fields: PGN_130822_NavicoUdbDatabaseBulkReport4Fields +} + +/** + * @category PGN_130822_NavicoUdbDatabaseBulkReport4 + */ +export interface PGN_130822_NavicoUdbDatabaseBulkReport4Fields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + marker?: N2K_Number + command: N2K_Number | string + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_130822_NavicoUdbDatabaseBulkReport4 + */ +export const PGN_130822_NavicoUdbDatabaseBulkReport4MatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + command: "Bulk Report 4", +} + +/** + * @category PGN_130822_NavicoUdbDatabaseBulkReport4 + */ +export interface PGN_130822_NavicoUdbDatabaseBulkReport4CreateArgs { + reserved?: number + marker?: N2K_Number + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_130822_NavicoUdbDatabaseBulkReport4 + */ +export class PGN_130822_NavicoUdbDatabaseBulkReport4 extends PGN implements PGN_130822_NavicoUdbDatabaseBulkReport4Interface { + fields: PGN_130822_NavicoUdbDatabaseBulkReport4Fields + + constructor(fields: PGN_130822_NavicoUdbDatabaseBulkReport4CreateArgs, dst: number = 255) { + super({ + pgn: 130822, + prio: 3, + dst + }) + this.fields = { ...PGN_130822_NavicoUdbDatabaseBulkReport4MatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130822_NavicoUdbDatabaseBulkReport4MatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoUdbDatabaseBulkReport4')! + } +} +pgnIdToCreator['navicoUdbDatabaseBulkReport4'] = (fields:any, dst:number) => new PGN_130822_NavicoUdbDatabaseBulkReport4(fields, dst) + + +/** + * PGN: 130822 + * + * Description: Navico: UDB Database, Short Report 5 + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * Match: Command == Short Report 5
+ * + * @category PGN_130822_NavicoUdbDatabaseShortReport5 + */ +export interface PGN_130822_NavicoUdbDatabaseShortReport5Interface extends PGNInterface { + fields: PGN_130822_NavicoUdbDatabaseShortReport5Fields +} + +/** + * @category PGN_130822_NavicoUdbDatabaseShortReport5 + */ +export interface PGN_130822_NavicoUdbDatabaseShortReport5Fields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + marker?: N2K_Number + command: N2K_Number | string + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_130822_NavicoUdbDatabaseShortReport5 + */ +export const PGN_130822_NavicoUdbDatabaseShortReport5MatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + command: "Short Report 5", +} + +/** + * @category PGN_130822_NavicoUdbDatabaseShortReport5 + */ +export interface PGN_130822_NavicoUdbDatabaseShortReport5CreateArgs { + reserved?: number + marker?: N2K_Number + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_130822_NavicoUdbDatabaseShortReport5 + */ +export class PGN_130822_NavicoUdbDatabaseShortReport5 extends PGN implements PGN_130822_NavicoUdbDatabaseShortReport5Interface { + fields: PGN_130822_NavicoUdbDatabaseShortReport5Fields + + constructor(fields: PGN_130822_NavicoUdbDatabaseShortReport5CreateArgs, dst: number = 255) { + super({ + pgn: 130822, + prio: 3, + dst + }) + this.fields = { ...PGN_130822_NavicoUdbDatabaseShortReport5MatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130822_NavicoUdbDatabaseShortReport5MatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoUdbDatabaseShortReport5')! + } +} +pgnIdToCreator['navicoUdbDatabaseShortReport5'] = (fields:any, dst:number) => new PGN_130822_NavicoUdbDatabaseShortReport5(fields, dst) + + +/** + * PGN: 130822 + * + * Description: Navico: UDB Database, Object Dump + * + * Explanation: Verbose dump (Command 6) of a source-selection object: it carries the same Value and Token as the Command 1 report for the object, followed by a list of every data type the object covers and the selected source for each. Each record is a length, a constant class byte, a data-type id and the selected source's value. + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * Match: Command == Object Dump
+ * + * @category PGN_130822_NavicoUdbDatabaseObjectDump + */ +export interface PGN_130822_NavicoUdbDatabaseObjectDumpInterface extends PGNInterface { + fields: PGN_130822_NavicoUdbDatabaseObjectDumpFields +} + +/** + * @category PGN_130822_NavicoUdbDatabaseObjectDump + */ +export interface PGN_130822_NavicoUdbDatabaseObjectDumpFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + marker?: N2K_Number + command: N2K_Number | string + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + objectValue?: N2K_Number + sub?: N2K_Binary + token?: N2K_Number + list: { + length?: N2K_DynamicFieldLength + class?: N2K_Number + dataType?: enums.NavicoDataType | number + value?: N2K_DynamicFieldValue + }[] +} + +/** + * @category PGN_130822_NavicoUdbDatabaseObjectDump + */ +export const PGN_130822_NavicoUdbDatabaseObjectDumpMatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + command: "Object Dump", +} + +/** + * @category PGN_130822_NavicoUdbDatabaseObjectDump + */ +export interface PGN_130822_NavicoUdbDatabaseObjectDumpCreateArgs { + reserved?: number + marker?: N2K_Number + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number + objectValue?: N2K_Number + sub?: N2K_Binary + token?: N2K_Number + list: { + length?: N2K_DynamicFieldLength + class?: N2K_Number + dataType?: enums.NavicoDataType | number + value?: N2K_DynamicFieldValue + }[] +} + +/** + * @category PGN_130822_NavicoUdbDatabaseObjectDump */ -export class PGN_130821_BepMarineProprietaryPgn130821 extends PGN implements PGN_130821_BepMarineProprietaryPgn130821Interface { - fields: PGN_130821_BepMarineProprietaryPgn130821Fields +export class PGN_130822_NavicoUdbDatabaseObjectDump extends PGN implements PGN_130822_NavicoUdbDatabaseObjectDumpInterface { + fields: PGN_130822_NavicoUdbDatabaseObjectDumpFields - constructor(fields: PGN_130821_BepMarineProprietaryPgn130821CreateArgs, dst: number = 255) { + constructor(fields: PGN_130822_NavicoUdbDatabaseObjectDumpCreateArgs, dst: number = 255) { super({ - pgn: 130821, + pgn: 130822, prio: 3, dst }) - this.fields = { ...PGN_130821_BepMarineProprietaryPgn130821MatchFields, ...fields } + this.fields = { ...PGN_130822_NavicoUdbDatabaseObjectDumpMatchFields, ...fields } } static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_130821_BepMarineProprietaryPgn130821MatchFields) + return isMatch(pgn, PGN_130822_NavicoUdbDatabaseObjectDumpMatchFields) } getDefinition(): Definition { - return getPGNWithId('bepMarineProprietaryPgn130821')! + return getPGNWithId('navicoUdbDatabaseObjectDump')! } } -pgnIdToCreator['bepMarineProprietaryPgn130821'] = (fields:any, dst:number) => new PGN_130821_BepMarineProprietaryPgn130821(fields, dst) +pgnIdToCreator['navicoUdbDatabaseObjectDump'] = (fields:any, dst:number) => new PGN_130822_NavicoUdbDatabaseObjectDump(fields, dst) /** * PGN: 130822 * - * Description: Navico: Unknown 1 + * Description: Navico: UDB Database, Short Report 7 * * Match: Manufacturer Code == Navico
* Match: Industry Code == Marine Industry
+ * Match: Command == Short Report 7
* - * @category PGN_130822_NavicoUnknown1 + * @category PGN_130822_NavicoUdbDatabaseShortReport7 */ -export interface PGN_130822_NavicoUnknown1Interface extends PGNInterface { - fields: PGN_130822_NavicoUnknown1Fields +export interface PGN_130822_NavicoUdbDatabaseShortReport7Interface extends PGNInterface { + fields: PGN_130822_NavicoUdbDatabaseShortReport7Fields } /** - * @category PGN_130822_NavicoUnknown1 + * @category PGN_130822_NavicoUdbDatabaseShortReport7 */ -export interface PGN_130822_NavicoUnknown1Fields { +export interface PGN_130822_NavicoUdbDatabaseShortReport7Fields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number + marker?: N2K_Number + command: N2K_Number | string + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number data?: N2K_Binary } /** - * @category PGN_130822_NavicoUnknown1 + * @category PGN_130822_NavicoUdbDatabaseShortReport7 */ -export const PGN_130822_NavicoUnknown1MatchFields = { +export const PGN_130822_NavicoUdbDatabaseShortReport7MatchFields = { manufacturerCode: enums.ManufacturerCode.Navico, industryCode: enums.IndustryCode.MarineIndustry, + command: "Short Report 7", } /** - * @category PGN_130822_NavicoUnknown1 + * @category PGN_130822_NavicoUdbDatabaseShortReport7 */ -export interface PGN_130822_NavicoUnknown1CreateArgs { +export interface PGN_130822_NavicoUdbDatabaseShortReport7CreateArgs { reserved?: number + marker?: N2K_Number + reserved6?: number + address?: N2K_Number + section?: N2K_Number + item?: N2K_Number data?: N2K_Binary } /** - * @category PGN_130822_NavicoUnknown1 + * @category PGN_130822_NavicoUdbDatabaseShortReport7 */ -export class PGN_130822_NavicoUnknown1 extends PGN implements PGN_130822_NavicoUnknown1Interface { - fields: PGN_130822_NavicoUnknown1Fields +export class PGN_130822_NavicoUdbDatabaseShortReport7 extends PGN implements PGN_130822_NavicoUdbDatabaseShortReport7Interface { + fields: PGN_130822_NavicoUdbDatabaseShortReport7Fields - constructor(fields: PGN_130822_NavicoUnknown1CreateArgs, dst: number = 255) { + constructor(fields: PGN_130822_NavicoUdbDatabaseShortReport7CreateArgs, dst: number = 255) { super({ pgn: 130822, prio: 3, dst }) - this.fields = { ...PGN_130822_NavicoUnknown1MatchFields, ...fields } + this.fields = { ...PGN_130822_NavicoUdbDatabaseShortReport7MatchFields, ...fields } } static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_130822_NavicoUnknown1MatchFields) + return isMatch(pgn, PGN_130822_NavicoUdbDatabaseShortReport7MatchFields) } getDefinition(): Definition { - return getPGNWithId('navicoUnknown1')! + return getPGNWithId('navicoUdbDatabaseShortReport7')! } } -pgnIdToCreator['navicoUnknown1'] = (fields:any, dst:number) => new PGN_130822_NavicoUnknown1(fields, dst) +pgnIdToCreator['navicoUdbDatabaseShortReport7'] = (fields:any, dst:number) => new PGN_130822_NavicoUdbDatabaseShortReport7(fields, dst) /** @@ -28929,6 +30904,83 @@ export class PGN_130822_BepMarineProprietaryPgn130822 extends PGN implements PGN pgnIdToCreator['bepMarineProprietaryPgn130822'] = (fields:any, dst:number) => new PGN_130822_BepMarineProprietaryPgn130822(fields, dst) +/** + * PGN: 130822 + * + * Description: Mercury: Engine Telemetry, Low Speed + * + * Explanation: Low-speed engine telemetry broadcast by Mercury engine gateways. Carries the malfunction-indicator (check-engine) state, intake-air and exhaust-gas temperatures (raw, Mercury-specific scaling), a 'GPL' fraction (raw / 128) and an engine run-state code. This is a flat fixed record, unrelated to the Navico and BEP variants of this PGN number; the manufacturer code in the first two bytes is the only disambiguator. Observed on live engine networks. + * + * Match: Manufacturer Code == Mercury Marine
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_130822_MercuryEngineTelemetryLowSpeed + */ +export interface PGN_130822_MercuryEngineTelemetryLowSpeedInterface extends PGNInterface { + fields: PGN_130822_MercuryEngineTelemetryLowSpeedFields +} + +/** + * @category PGN_130822_MercuryEngineTelemetryLowSpeed + */ +export interface PGN_130822_MercuryEngineTelemetryLowSpeedFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + engineInstance?: N2K_Number + malfunctionIndicator?: N2K_Number + intakeAirTemperature?: N2K_Number + exhaustGasTemperature?: N2K_Number + gpl?: N2K_Number + engineState?: N2K_Number +} + +/** + * @category PGN_130822_MercuryEngineTelemetryLowSpeed + */ +export const PGN_130822_MercuryEngineTelemetryLowSpeedMatchFields = { + manufacturerCode: enums.ManufacturerCode.MercuryMarine, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_130822_MercuryEngineTelemetryLowSpeed + */ +export interface PGN_130822_MercuryEngineTelemetryLowSpeedCreateArgs { + reserved?: number + engineInstance?: N2K_Number + malfunctionIndicator?: N2K_Number + intakeAirTemperature?: N2K_Number + exhaustGasTemperature?: N2K_Number + gpl?: N2K_Number + engineState?: N2K_Number +} + +/** + * @category PGN_130822_MercuryEngineTelemetryLowSpeed + */ +export class PGN_130822_MercuryEngineTelemetryLowSpeed extends PGN implements PGN_130822_MercuryEngineTelemetryLowSpeedInterface { + fields: PGN_130822_MercuryEngineTelemetryLowSpeedFields + + constructor(fields: PGN_130822_MercuryEngineTelemetryLowSpeedCreateArgs, dst: number = 255) { + super({ + pgn: 130822, + prio: 3, + dst + }) + this.fields = { ...PGN_130822_MercuryEngineTelemetryLowSpeedMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130822_MercuryEngineTelemetryLowSpeedMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('mercuryEngineTelemetryLowSpeed')! + } +} +pgnIdToCreator['mercuryEngineTelemetryLowSpeed'] = (fields:any, dst:number) => new PGN_130822_MercuryEngineTelemetryLowSpeed(fields, dst) + + /** * PGN: 130823 * @@ -29002,6 +31054,260 @@ export class PGN_130823_MaretronProprietaryTemperatureHighRange extends PGN impl pgnIdToCreator['maretronProprietaryTemperatureHighRange'] = (fields:any, dst:number) => new PGN_130823_MaretronProprietaryTemperatureHighRange(fields, dst) +/** + * PGN: 130823 + * + * Description: Navico: Data Type Source Directory + * + * Explanation: Directory mapping the Navico data types a device tracks to their currently-selected source device, broadcast by NEON-generation displays (e.g. Nemesis, ZEUS SR-16 MFD) roughly every 5 seconds. After the fixed FF/00 marker, Report Type 5 and a part number, the frame carries a list of {Length, Type, Data Type, Value} records that run to the end of the fast-packet. Length counts the three header bytes (Type plus the 16-bit Data Type) as well as the trailing Value. Data Type indexes the NAVICO_DATA_TYPE table (the NEON DataType enumeration). When a source is bound to a data type the Value is a NAME wrapper (0x0A 0x00 followed by the source device's 8-byte NMEA 2000 NAME); most entries carry a short typed value or none. This is the same record format as the Report Type 6 full report and the PGN 130822 Command 6 Object Dump, and matches the layout observed across all captured traffic. + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * Match: Report Type == Data-type source directory
+ * + * @category PGN_130823_NavicoDataTypeSourceDirectory + */ +export interface PGN_130823_NavicoDataTypeSourceDirectoryInterface extends PGNInterface { + fields: PGN_130823_NavicoDataTypeSourceDirectoryFields +} + +/** + * @category PGN_130823_NavicoDataTypeSourceDirectory + */ +export interface PGN_130823_NavicoDataTypeSourceDirectoryFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + reserved4?: number + spare5?: number + reportType?: N2K_Number | string + part?: N2K_Number + spare8?: number + list: { + length?: N2K_DynamicFieldLength + type?: N2K_Number + dataType?: enums.NavicoDataType | number + value?: N2K_DynamicFieldValue + }[] +} + +/** + * @category PGN_130823_NavicoDataTypeSourceDirectory + */ +export const PGN_130823_NavicoDataTypeSourceDirectoryMatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + reportType: "Data-type source directory", +} + +/** + * @category PGN_130823_NavicoDataTypeSourceDirectory + */ +export interface PGN_130823_NavicoDataTypeSourceDirectoryCreateArgs { + reserved?: number + reserved4?: number + spare5?: number + part?: N2K_Number + spare8?: number + list: { + length?: N2K_DynamicFieldLength + type?: N2K_Number + dataType?: enums.NavicoDataType | number + value?: N2K_DynamicFieldValue + }[] +} + +/** + * @category PGN_130823_NavicoDataTypeSourceDirectory + */ +export class PGN_130823_NavicoDataTypeSourceDirectory extends PGN implements PGN_130823_NavicoDataTypeSourceDirectoryInterface { + fields: PGN_130823_NavicoDataTypeSourceDirectoryFields + + constructor(fields: PGN_130823_NavicoDataTypeSourceDirectoryCreateArgs, dst: number = 255) { + super({ + pgn: 130823, + prio: 3, + dst + }) + this.fields = { ...PGN_130823_NavicoDataTypeSourceDirectoryMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130823_NavicoDataTypeSourceDirectoryMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoDataTypeSourceDirectory')! + } +} +pgnIdToCreator['navicoDataTypeSourceDirectory'] = (fields:any, dst:number) => new PGN_130823_NavicoDataTypeSourceDirectory(fields, dst) + + +/** + * PGN: 130823 + * + * Description: Navico: Data Type Source Directory, Full Report + * + * Explanation: Fuller counterpart to the Report Type 5 directory: the same {Length, Type, Data Type, Value} record list, but covering every data type the reporting object owns rather than a summary subset, so it typically carries the bound-source NAME entries. Uses the identical record format as Report Type 5 and the PGN 130822 Command 6 Object Dump. + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * Match: Report Type == Data-type source directory (full report)
+ * + * @category PGN_130823_NavicoDataTypeSourceDirectoryFullReport + */ +export interface PGN_130823_NavicoDataTypeSourceDirectoryFullReportInterface extends PGNInterface { + fields: PGN_130823_NavicoDataTypeSourceDirectoryFullReportFields +} + +/** + * @category PGN_130823_NavicoDataTypeSourceDirectoryFullReport + */ +export interface PGN_130823_NavicoDataTypeSourceDirectoryFullReportFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + reserved4?: number + spare5?: number + reportType?: N2K_Number | string + part?: N2K_Number + spare8?: number + list: { + length?: N2K_DynamicFieldLength + type?: N2K_Number + dataType?: enums.NavicoDataType | number + value?: N2K_DynamicFieldValue + }[] +} + +/** + * @category PGN_130823_NavicoDataTypeSourceDirectoryFullReport + */ +export const PGN_130823_NavicoDataTypeSourceDirectoryFullReportMatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + reportType: "Data-type source directory (full report)", +} + +/** + * @category PGN_130823_NavicoDataTypeSourceDirectoryFullReport + */ +export interface PGN_130823_NavicoDataTypeSourceDirectoryFullReportCreateArgs { + reserved?: number + reserved4?: number + spare5?: number + part?: N2K_Number + spare8?: number + list: { + length?: N2K_DynamicFieldLength + type?: N2K_Number + dataType?: enums.NavicoDataType | number + value?: N2K_DynamicFieldValue + }[] +} + +/** + * @category PGN_130823_NavicoDataTypeSourceDirectoryFullReport + */ +export class PGN_130823_NavicoDataTypeSourceDirectoryFullReport extends PGN implements PGN_130823_NavicoDataTypeSourceDirectoryFullReportInterface { + fields: PGN_130823_NavicoDataTypeSourceDirectoryFullReportFields + + constructor(fields: PGN_130823_NavicoDataTypeSourceDirectoryFullReportCreateArgs, dst: number = 255) { + super({ + pgn: 130823, + prio: 3, + dst + }) + this.fields = { ...PGN_130823_NavicoDataTypeSourceDirectoryFullReportMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130823_NavicoDataTypeSourceDirectoryFullReportMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoDataTypeSourceDirectoryFullReport')! + } +} +pgnIdToCreator['navicoDataTypeSourceDirectoryFullReport'] = (fields:any, dst:number) => new PGN_130823_NavicoDataTypeSourceDirectoryFullReport(fields, dst) + + +/** + * PGN: 130823 + * + * Description: Navico: Boat Speed Polar Table + * + * Explanation: Boat-speed (target performance) polar table, produced only by the B&G Hercules performance processor. It is emitted as a one-shot burst of several parts (Report Type 15, Part numbers 1..N, ~20 ms apart) that must be concatenated by Part number beyond normal fast-packet reassembly. The reassembled stream is a 3-float preamble followed by repeating {uint16 count}{count x (0x04, float32)} rows; a typical table is 8 rows x 22 columns, the rows stepping the true wind speed 7.5, 10, 12.5 ... 25 kn and each row ending at true wind angle 180 deg. Because the payload is a stateful multi-part numeric table rather than per-frame fields, each part is shown here as raw bytes; reassemble the parts to recover the polar. This report is Hercules-only; NEON displays emit the Report Type 5 data-type directory instead. + * + * Match: Manufacturer Code == Navico
+ * Match: Industry Code == Marine Industry
+ * Match: Report Type == Boat-speed polar / performance table
+ * + * @category PGN_130823_NavicoBoatSpeedPolarTable + */ +export interface PGN_130823_NavicoBoatSpeedPolarTableInterface extends PGNInterface { + fields: PGN_130823_NavicoBoatSpeedPolarTableFields +} + +/** + * @category PGN_130823_NavicoBoatSpeedPolarTable + */ +export interface PGN_130823_NavicoBoatSpeedPolarTableFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + reserved4?: number + spare5?: number + reportType?: N2K_Number | string + part?: N2K_Number + spare8?: number + data?: N2K_Binary +} + +/** + * @category PGN_130823_NavicoBoatSpeedPolarTable + */ +export const PGN_130823_NavicoBoatSpeedPolarTableMatchFields = { + manufacturerCode: enums.ManufacturerCode.Navico, + industryCode: enums.IndustryCode.MarineIndustry, + reportType: "Boat-speed polar / performance table", +} + +/** + * @category PGN_130823_NavicoBoatSpeedPolarTable + */ +export interface PGN_130823_NavicoBoatSpeedPolarTableCreateArgs { + reserved?: number + reserved4?: number + spare5?: number + part?: N2K_Number + spare8?: number + data?: N2K_Binary +} + +/** + * @category PGN_130823_NavicoBoatSpeedPolarTable + */ +export class PGN_130823_NavicoBoatSpeedPolarTable extends PGN implements PGN_130823_NavicoBoatSpeedPolarTableInterface { + fields: PGN_130823_NavicoBoatSpeedPolarTableFields + + constructor(fields: PGN_130823_NavicoBoatSpeedPolarTableCreateArgs, dst: number = 255) { + super({ + pgn: 130823, + prio: 3, + dst + }) + this.fields = { ...PGN_130823_NavicoBoatSpeedPolarTableMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130823_NavicoBoatSpeedPolarTableMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('navicoBoatSpeedPolarTable')! + } +} +pgnIdToCreator['navicoBoatSpeedPolarTable'] = (fields:any, dst:number) => new PGN_130823_NavicoBoatSpeedPolarTable(fields, dst) + + /** * PGN: 130824 * @@ -29150,6 +31456,81 @@ export class PGN_130824_MaretronAnnunciator extends PGN implements PGN_130824_Ma pgnIdToCreator['maretronAnnunciator'] = (fields:any, dst:number) => new PGN_130824_MaretronAnnunciator(fields, dst) +/** + * PGN: 130824 + * + * Description: Mercury: Engine Key-Value Data + * + * Explanation: Engine diagnostic key/value pairs (distance, runtime, fuel and other cumulative counters, configuration) sent by the Mercury VesselView-Link gateway. Uses the same key/length/value scheme as the B&G PGN 130824. Keys are only partially identified. + * + * Match: Manufacturer Code == Mercury Marine
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_130824_MercuryEngineKeyValueData + */ +export interface PGN_130824_MercuryEngineKeyValueDataInterface extends PGNInterface { + fields: PGN_130824_MercuryEngineKeyValueDataFields +} + +/** + * @category PGN_130824_MercuryEngineKeyValueData + */ +export interface PGN_130824_MercuryEngineKeyValueDataFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + list: { + key: N2K_DynamicFieldKey + length?: N2K_DynamicFieldLength + value?: N2K_DynamicFieldValue + }[] +} + +/** + * @category PGN_130824_MercuryEngineKeyValueData + */ +export const PGN_130824_MercuryEngineKeyValueDataMatchFields = { + manufacturerCode: enums.ManufacturerCode.MercuryMarine, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_130824_MercuryEngineKeyValueData + */ +export interface PGN_130824_MercuryEngineKeyValueDataCreateArgs { + reserved?: number + list: { + key: N2K_DynamicFieldKey + length?: N2K_DynamicFieldLength + value?: N2K_DynamicFieldValue + }[] +} + +/** + * @category PGN_130824_MercuryEngineKeyValueData + */ +export class PGN_130824_MercuryEngineKeyValueData extends PGN implements PGN_130824_MercuryEngineKeyValueDataInterface { + fields: PGN_130824_MercuryEngineKeyValueDataFields + + constructor(fields: PGN_130824_MercuryEngineKeyValueDataCreateArgs, dst: number = 255) { + super({ + pgn: 130824, + prio: 7, + dst + }) + this.fields = { ...PGN_130824_MercuryEngineKeyValueDataMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130824_MercuryEngineKeyValueDataMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('mercuryEngineKeyValueData')! + } +} +pgnIdToCreator['mercuryEngineKeyValueData'] = (fields:any, dst:number) => new PGN_130824_MercuryEngineKeyValueData(fields, dst) + + /** * PGN: 130825 * @@ -29226,66 +31607,82 @@ pgnIdToCreator['maretronDataInstanceChannelCorrelation'] = (fields:any, dst:numb /** * PGN: 130825 * - * Description: Navico: Unknown 2 + * Description: Navico: Alarm + * + * Explanation: Navico alarm status record (mfg 275): Alarm Type + Alarm ID identify the fault, Alarm State tracks its lifecycle (Normal -> Active -> Silenced -> Acknowledged), and Alarm Severity classifies it. * * Match: Manufacturer Code == Navico
* Match: Industry Code == Marine Industry
* - * @category PGN_130825_NavicoUnknown2 + * @category PGN_130825_NavicoAlarm */ -export interface PGN_130825_NavicoUnknown2Interface extends PGNInterface { - fields: PGN_130825_NavicoUnknown2Fields +export interface PGN_130825_NavicoAlarmInterface extends PGNInterface { + fields: PGN_130825_NavicoAlarmFields } /** - * @category PGN_130825_NavicoUnknown2 + * @category PGN_130825_NavicoAlarm */ -export interface PGN_130825_NavicoUnknown2Fields { +export interface PGN_130825_NavicoAlarmFields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number - data?: N2K_Binary + instance?: N2K_Number + recordId?: N2K_Number + alarmType?: N2K_Number + alarmId?: enums.SimnetAlarmId | number + alarmState?: enums.AlertState | number + actionFlag: N2K_Number + alarmSeverity?: enums.AlertType | number + value?: N2K_Number } /** - * @category PGN_130825_NavicoUnknown2 + * @category PGN_130825_NavicoAlarm */ -export const PGN_130825_NavicoUnknown2MatchFields = { +export const PGN_130825_NavicoAlarmMatchFields = { manufacturerCode: enums.ManufacturerCode.Navico, industryCode: enums.IndustryCode.MarineIndustry, } /** - * @category PGN_130825_NavicoUnknown2 + * @category PGN_130825_NavicoAlarm */ -export interface PGN_130825_NavicoUnknown2CreateArgs { +export interface PGN_130825_NavicoAlarmCreateArgs { reserved?: number - data?: N2K_Binary + instance?: N2K_Number + recordId?: N2K_Number + alarmType?: N2K_Number + alarmId?: enums.SimnetAlarmId | number + alarmState?: enums.AlertState | number + actionFlag: N2K_Number + alarmSeverity?: enums.AlertType | number + value?: N2K_Number } /** - * @category PGN_130825_NavicoUnknown2 + * @category PGN_130825_NavicoAlarm */ -export class PGN_130825_NavicoUnknown2 extends PGN implements PGN_130825_NavicoUnknown2Interface { - fields: PGN_130825_NavicoUnknown2Fields +export class PGN_130825_NavicoAlarm extends PGN implements PGN_130825_NavicoAlarmInterface { + fields: PGN_130825_NavicoAlarmFields - constructor(fields: PGN_130825_NavicoUnknown2CreateArgs, dst: number = 255) { + constructor(fields: PGN_130825_NavicoAlarmCreateArgs, dst: number = 255) { super({ pgn: 130825, - prio: 3, + prio: 7, dst }) - this.fields = { ...PGN_130825_NavicoUnknown2MatchFields, ...fields } + this.fields = { ...PGN_130825_NavicoAlarmMatchFields, ...fields } } static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_130825_NavicoUnknown2MatchFields) + return isMatch(pgn, PGN_130825_NavicoAlarmMatchFields) } getDefinition(): Definition { - return getPGNWithId('navicoUnknown2')! + return getPGNWithId('navicoAlarm')! } } -pgnIdToCreator['navicoUnknown2'] = (fields:any, dst:number) => new PGN_130825_NavicoUnknown2(fields, dst) +pgnIdToCreator['navicoAlarm'] = (fields:any, dst:number) => new PGN_130825_NavicoAlarm(fields, dst) /** @@ -29353,6 +31750,155 @@ export class PGN_130825_BepMarineProprietaryPgn130825 extends PGN implements PGN pgnIdToCreator['bepMarineProprietaryPgn130825'] = (fields:any, dst:number) => new PGN_130825_BepMarineProprietaryPgn130825(fields, dst) +/** + * PGN: 130825 + * + * Description: Mercury: Cruise Control Data + * + * Explanation: Opcode 4 (Cruise Control) sub-message of Mercury PGN 130825: engine instance, a cruise engagement/mode byte (0 = disengaged, 5 = engaged), and the cruise RPM and speed setpoints (0xFFFF = not available). Some payload bytes are not yet identified. + * + * Match: Manufacturer Code == Mercury Marine
+ * Match: Industry Code == Marine Industry
+ * Match: Opcode == Cruise Control
+ * + * @category PGN_130825_MercuryCruiseControlData + */ +export interface PGN_130825_MercuryCruiseControlDataInterface extends PGNInterface { + fields: PGN_130825_MercuryCruiseControlDataFields +} + +/** + * @category PGN_130825_MercuryCruiseControlData + */ +export interface PGN_130825_MercuryCruiseControlDataFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + opcode?: enums.MercuryCommandOpcode | number + engineInstance?: N2K_Number + reserved6?: number + cruiseState?: N2K_Number + cruiseRpmSetpoint?: N2K_Number + cruiseSpeedSetpoint?: N2K_Number + reserved10?: number +} + +/** + * @category PGN_130825_MercuryCruiseControlData + */ +export const PGN_130825_MercuryCruiseControlDataMatchFields = { + manufacturerCode: enums.ManufacturerCode.MercuryMarine, + industryCode: enums.IndustryCode.MarineIndustry, + opcode: enums.MercuryCommandOpcode.CruiseControl, +} + +/** + * @category PGN_130825_MercuryCruiseControlData + */ +export interface PGN_130825_MercuryCruiseControlDataCreateArgs { + reserved?: number + engineInstance?: N2K_Number + reserved6?: number + cruiseState?: N2K_Number + cruiseRpmSetpoint?: N2K_Number + cruiseSpeedSetpoint?: N2K_Number + reserved10?: number +} + +/** + * @category PGN_130825_MercuryCruiseControlData + */ +export class PGN_130825_MercuryCruiseControlData extends PGN implements PGN_130825_MercuryCruiseControlDataInterface { + fields: PGN_130825_MercuryCruiseControlDataFields + + constructor(fields: PGN_130825_MercuryCruiseControlDataCreateArgs, dst: number = 255) { + super({ + pgn: 130825, + prio: 7, + dst + }) + this.fields = { ...PGN_130825_MercuryCruiseControlDataMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130825_MercuryCruiseControlDataMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('mercuryCruiseControlData')! + } +} +pgnIdToCreator['mercuryCruiseControlData'] = (fields:any, dst:number) => new PGN_130825_MercuryCruiseControlData(fields, dst) + + +/** + * PGN: 130825 + * + * Description: Mercury: Command/Response + * + * Explanation: Opcode-dispatched Mercury command/response channel: the Opcode field selects the sub-function and the following data is opcode-specific. Several opcodes are the proprietary-PGN equivalents of the corresponding Mercury manufacturer commands carried in PGN 126720: opcode 4 (Cruise Control), opcodes 6/7 (Active Trim command/status), opcode 8 (Autopilot), opcode 9 (Active Exhaust) and opcodes 12/13 (Oil Level check/reset). + * + * Match: Manufacturer Code == Mercury Marine
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_130825_MercuryCommandResponse + */ +export interface PGN_130825_MercuryCommandResponseInterface extends PGNInterface { + fields: PGN_130825_MercuryCommandResponseFields +} + +/** + * @category PGN_130825_MercuryCommandResponse + */ +export interface PGN_130825_MercuryCommandResponseFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + opcode?: enums.MercuryCommandOpcode | number + data?: N2K_Binary +} + +/** + * @category PGN_130825_MercuryCommandResponse + */ +export const PGN_130825_MercuryCommandResponseMatchFields = { + manufacturerCode: enums.ManufacturerCode.MercuryMarine, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_130825_MercuryCommandResponse + */ +export interface PGN_130825_MercuryCommandResponseCreateArgs { + reserved?: number + opcode?: enums.MercuryCommandOpcode | number + data?: N2K_Binary +} + +/** + * @category PGN_130825_MercuryCommandResponse + */ +export class PGN_130825_MercuryCommandResponse extends PGN implements PGN_130825_MercuryCommandResponseInterface { + fields: PGN_130825_MercuryCommandResponseFields + + constructor(fields: PGN_130825_MercuryCommandResponseCreateArgs, dst: number = 255) { + super({ + pgn: 130825, + prio: 7, + dst + }) + this.fields = { ...PGN_130825_MercuryCommandResponseMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130825_MercuryCommandResponseMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('mercuryCommandResponse')! + } +} +pgnIdToCreator['mercuryCommandResponse'] = (fields:any, dst:number) => new PGN_130825_MercuryCommandResponse(fields, dst) + + /** * PGN: 130826 * @@ -29493,6 +32039,83 @@ export class PGN_130826_BepMarineProprietaryPgn130826 extends PGN implements PGN pgnIdToCreator['bepMarineProprietaryPgn130826'] = (fields:any, dst:number) => new PGN_130826_BepMarineProprietaryPgn130826(fields, dst) +/** + * PGN: 130826 + * + * Description: Mercury: BAM Digital-Data Proxy + * + * Explanation: Variable-length Mercury Bridge Alert Management (BAM) digital-data proxy channel; the trailing data block is opcode/instance-specific, may be empty, and its block semantics are defined by an external BAM specification rather than being locally decodable. + * + * Match: Manufacturer Code == Mercury Marine
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_130826_MercuryBamDigitalDataProxy + */ +export interface PGN_130826_MercuryBamDigitalDataProxyInterface extends PGNInterface { + fields: PGN_130826_MercuryBamDigitalDataProxyFields +} + +/** + * @category PGN_130826_MercuryBamDigitalDataProxy + */ +export interface PGN_130826_MercuryBamDigitalDataProxyFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + type?: N2K_Number + instance?: N2K_Number + field4?: N2K_Number + reserved7?: number + flag?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_130826_MercuryBamDigitalDataProxy + */ +export const PGN_130826_MercuryBamDigitalDataProxyMatchFields = { + manufacturerCode: enums.ManufacturerCode.MercuryMarine, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_130826_MercuryBamDigitalDataProxy + */ +export interface PGN_130826_MercuryBamDigitalDataProxyCreateArgs { + reserved?: number + type?: N2K_Number + instance?: N2K_Number + field4?: N2K_Number + reserved7?: number + flag?: N2K_Number + data?: N2K_Binary +} + +/** + * @category PGN_130826_MercuryBamDigitalDataProxy + */ +export class PGN_130826_MercuryBamDigitalDataProxy extends PGN implements PGN_130826_MercuryBamDigitalDataProxyInterface { + fields: PGN_130826_MercuryBamDigitalDataProxyFields + + constructor(fields: PGN_130826_MercuryBamDigitalDataProxyCreateArgs, dst: number = 255) { + super({ + pgn: 130826, + prio: 7, + dst + }) + this.fields = { ...PGN_130826_MercuryBamDigitalDataProxyMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130826_MercuryBamDigitalDataProxyMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('mercuryBamDigitalDataProxy')! + } +} +pgnIdToCreator['mercuryBamDigitalDataProxy'] = (fields:any, dst:number) => new PGN_130826_MercuryBamDigitalDataProxy(fields, dst) + + /** * PGN: 130827 * @@ -29568,6 +32191,86 @@ export class PGN_130827_LowranceUnknown extends PGN implements PGN_130827_Lowran pgnIdToCreator['lowranceUnknown'] = (fields:any, dst:number) => new PGN_130827_LowranceUnknown(fields, dst) +/** + * PGN: 130827 + * + * Description: Furuno: NavPilot Status + * + * Explanation: Broadcast by Furuno NavPilot autopilots. Carries the current rudder angle and, while engaged, the commanded course to steer; the commanded course reads unset (0xFFFF) in standby. Fields A, B, C, D are not yet fully understood. + * + * Match: Manufacturer Code == Furuno
+ * Match: Industry Code == Marine Industry
+ * Match: Message ID == NavPilot Status
+ * + * @category PGN_130827_FurunoNavpilotStatus + */ +export interface PGN_130827_FurunoNavpilotStatusInterface extends PGNInterface { + fields: PGN_130827_FurunoNavpilotStatusFields +} + +/** + * @category PGN_130827_FurunoNavpilotStatus + */ +export interface PGN_130827_FurunoNavpilotStatusFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + messageId: N2K_Number | string + rudderAngle?: N2K_Number + a?: N2K_Number + b?: N2K_Number + commandedCourse?: N2K_Number + c?: N2K_Number + d?: N2K_Number +} + +/** + * @category PGN_130827_FurunoNavpilotStatus + */ +export const PGN_130827_FurunoNavpilotStatusMatchFields = { + manufacturerCode: enums.ManufacturerCode.Furuno, + industryCode: enums.IndustryCode.MarineIndustry, + messageId: "NavPilot Status", +} + +/** + * @category PGN_130827_FurunoNavpilotStatus + */ +export interface PGN_130827_FurunoNavpilotStatusCreateArgs { + reserved?: number + rudderAngle?: N2K_Number + a?: N2K_Number + b?: N2K_Number + commandedCourse?: N2K_Number + c?: N2K_Number + d?: N2K_Number +} + +/** + * @category PGN_130827_FurunoNavpilotStatus + */ +export class PGN_130827_FurunoNavpilotStatus extends PGN implements PGN_130827_FurunoNavpilotStatusInterface { + fields: PGN_130827_FurunoNavpilotStatusFields + + constructor(fields: PGN_130827_FurunoNavpilotStatusCreateArgs, dst: number = 255) { + super({ + pgn: 130827, + prio: 3, + dst + }) + this.fields = { ...PGN_130827_FurunoNavpilotStatusMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130827_FurunoNavpilotStatusMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('furunoNavpilotStatus')! + } +} +pgnIdToCreator['furunoNavpilotStatus'] = (fields:any, dst:number) => new PGN_130827_FurunoNavpilotStatus(fields, dst) + + /** * PGN: 130828 * @@ -29717,6 +32420,8 @@ pgnIdToCreator['maretronDometicHvacControlStatus'] = (fields:any, dst:number) => * * Description: Mercury: Engine Status * + * Explanation: Per-engine capability-advertisement beacon sent by the Mercury VesselView-Link gateway (one source address per engine). The last byte is a capability bitmask (bit0 = Beacon enabled, bit1 = Cruise Control capability); when bit1 is set the device also emits the Cruise Control PGN 130824. Byte 3 carries the Helm and Sub Helm station addresses for Mercury multi-helm installations. + * * Match: Manufacturer Code == Mercury Marine
* Match: Industry Code == Marine Industry
* @@ -29733,6 +32438,11 @@ export interface PGN_130829_MercuryEngineStatusFields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number + reserved4?: number + fieldA?: N2K_Binary + subHelm?: N2K_Binary + helm?: N2K_Binary + capabilities?: N2K_Binary } /** @@ -29748,6 +32458,11 @@ export const PGN_130829_MercuryEngineStatusMatchFields = { */ export interface PGN_130829_MercuryEngineStatusCreateArgs { reserved?: number + reserved4?: number + fieldA?: N2K_Binary + subHelm?: N2K_Binary + helm?: N2K_Binary + capabilities?: N2K_Binary } /** @@ -29759,7 +32474,7 @@ export class PGN_130829_MercuryEngineStatus extends PGN implements PGN_130829_Me constructor(fields: PGN_130829_MercuryEngineStatusCreateArgs, dst: number = 255) { super({ pgn: 130829, - prio: 3, + prio: 7, dst }) this.fields = { ...PGN_130829_MercuryEngineStatusMatchFields, ...fields } @@ -31444,7 +34159,7 @@ pgnIdToCreator['maretronGenericSensor'] = (fields:any, dst:number) => new PGN_13 * * Description: Simnet: Data Source Selection * - * Explanation: Broadcast by Navico displays/heads to share which source (by NMEA 2000 NAME) is selected for each data type across the instrument network. 'Data Type' identifies the quantity (heading, depth, wind, ...); 'Source' is the 64-bit NAME of the selected device. Emitted on change. The data-type ids were mapped from a live source-selection probe; see also the compact form in PGN 130822. + * Explanation: Change-driven broadcast announcing which source is selected for each Data Type across the instrument network; it is the fast-packet answer to the single-frame PGN 65323 poll and shares its Data Type/Source Class namespace. Data Type identifies the quantity (heading, depth, wind, ...); Source Class tags the class of source for that quantity (1 = a direct sensor/navigation source, 100 = an autopilot-provided source) and is constant per Data Type. Source Address is the current NMEA 2000 address of the selected device and Source is that same device's 64-bit NAME (address and NAME both identify the one selected source); Change Counter increments on each selection change. See also the periodic UDB table dump in PGN 130822. * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
@@ -31463,11 +34178,11 @@ export interface PGN_130840_SimnetDataSourceSelectionFields { reserved?: number industryCode?: enums.IndustryCode | number reserved4?: number - sequence?: N2K_Number - b?: N2K_Number dataType?: enums.SimnetDataSource | number + sourceClass?: N2K_Number + sourceAddress?: N2K_Number reserved8?: number - c?: N2K_Number + changeCounter?: N2K_Number source?: N2K_IsoName reserved11?: number } @@ -31486,11 +34201,11 @@ export const PGN_130840_SimnetDataSourceSelectionMatchFields = { export interface PGN_130840_SimnetDataSourceSelectionCreateArgs { reserved?: number reserved4?: number - sequence?: N2K_Number - b?: N2K_Number dataType?: enums.SimnetDataSource | number + sourceClass?: N2K_Number + sourceAddress?: N2K_Number reserved8?: number - c?: N2K_Number + changeCounter?: N2K_Number source?: N2K_IsoName reserved11?: number } @@ -31924,6 +34639,80 @@ export class PGN_130842_SimnetAisClassBStaticDataMsg24PartB extends PGN implemen pgnIdToCreator['simnetAisClassBStaticDataMsg24PartB'] = (fields:any, dst:number) => new PGN_130842_SimnetAisClassBStaticDataMsg24PartB(fields, dst) +/** + * PGN: 130842 + * + * Description: Simnet: AIS Silent Mode + * + * Explanation: Simnet AIS silent-mode read/reply (Message ID 4 of the 130842 family, alongside the Class B static-data Part A/B forms). A source reads (Operation = Read) or reports (Operation = Reply) the AIS transceiver's silent-mode state; the two trailing bytes carry the state and are constant in the observed traffic. + * + * Match: Manufacturer Code == Simrad
+ * Match: Industry Code == Marine Industry
+ * Match: Message ID == AIS Silent Mode
+ * + * @category PGN_130842_SimnetAisSilentMode + */ +export interface PGN_130842_SimnetAisSilentModeInterface extends PGNInterface { + fields: PGN_130842_SimnetAisSilentModeFields +} + +/** + * @category PGN_130842_SimnetAisSilentMode + */ +export interface PGN_130842_SimnetAisSilentModeFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + messageId: N2K_Number | string + operation?: enums.SimnetKeyOperation | number + d?: N2K_Number + e?: N2K_Number +} + +/** + * @category PGN_130842_SimnetAisSilentMode + */ +export const PGN_130842_SimnetAisSilentModeMatchFields = { + manufacturerCode: enums.ManufacturerCode.Simrad, + industryCode: enums.IndustryCode.MarineIndustry, + messageId: "AIS Silent Mode", +} + +/** + * @category PGN_130842_SimnetAisSilentMode + */ +export interface PGN_130842_SimnetAisSilentModeCreateArgs { + reserved?: number + operation?: enums.SimnetKeyOperation | number + d?: N2K_Number + e?: N2K_Number +} + +/** + * @category PGN_130842_SimnetAisSilentMode + */ +export class PGN_130842_SimnetAisSilentMode extends PGN implements PGN_130842_SimnetAisSilentModeInterface { + fields: PGN_130842_SimnetAisSilentModeFields + + constructor(fields: PGN_130842_SimnetAisSilentModeCreateArgs, dst: number = 255) { + super({ + pgn: 130842, + prio: 3, + dst + }) + this.fields = { ...PGN_130842_SimnetAisSilentModeMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130842_SimnetAisSilentModeMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('simnetAisSilentMode')! + } +} +pgnIdToCreator['simnetAisSilentMode'] = (fields:any, dst:number) => new PGN_130842_SimnetAisSilentMode(fields, dst) + + /** * PGN: 130843 * @@ -32279,14 +35068,15 @@ export interface PGN_130845_FurunoMultiSatsInViewExtendedFields { pageType?: N2K_Number page?: N2K_Number reserved8?: number + satsInUse?: N2K_Number satsInView?: N2K_Number list: { - status?: N2K_Number prn?: N2K_Number elevation?: N2K_Number azimuth?: N2K_Number snr?: N2K_Number rangeResidual?: N2K_Number + baselineStatus?: enums.FurunoBaselineStatus[] }[] } @@ -32308,14 +35098,15 @@ export interface PGN_130845_FurunoMultiSatsInViewExtendedCreateArgs { pageType?: N2K_Number page?: N2K_Number reserved8?: number + satsInUse?: N2K_Number satsInView?: N2K_Number list: { - status?: N2K_Number prn?: N2K_Number elevation?: N2K_Number azimuth?: N2K_Number snr?: N2K_Number rangeResidual?: N2K_Number + baselineStatus?: enums.FurunoBaselineStatus[] }[] } @@ -32349,6 +35140,8 @@ pgnIdToCreator['furunoMultiSatsInViewExtended'] = (fields:any, dst:number) => ne * * Description: Simnet: Key Value * + * Explanation: Navico/Simrad get-set protocol for instrument and autopilot settings. The Key selects which parameter (and thus the data type of the Value); the Operation byte selects read/set/reply. The Operation byte is NOT a value length (the Value width comes from the resolved data type); it is only ever 0/1/2, confirmed against NAC3 and AC42 autopilot and MFD capture corpus. + * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
* @@ -32366,12 +35159,11 @@ export interface PGN_130845_SimnetKeyValueFields { reserved?: number industryCode?: enums.IndustryCode | number address?: N2K_Number - repeatIndicator?: enums.RepeatIndicator | number - displayGroup?: enums.SimnetDisplayGroup | number - reserved7?: number + instance?: N2K_Number + networkGroup?: enums.SimnetNetworkGroup | number + source?: N2K_Number key: N2K_DynamicFieldKey - spare9?: number - minlength?: N2K_Number + operation?: enums.SimnetKeyOperation | number value?: N2K_DynamicFieldValue } @@ -32389,12 +35181,11 @@ export const PGN_130845_SimnetKeyValueMatchFields = { export interface PGN_130845_SimnetKeyValueCreateArgs { reserved?: number address?: N2K_Number - repeatIndicator?: enums.RepeatIndicator | number - displayGroup?: enums.SimnetDisplayGroup | number - reserved7?: number + instance?: N2K_Number + networkGroup?: enums.SimnetNetworkGroup | number + source?: N2K_Number key: N2K_DynamicFieldKey - spare9?: number - minlength?: N2K_Number + operation?: enums.SimnetKeyOperation | number value?: N2K_DynamicFieldValue } @@ -32426,7 +35217,9 @@ pgnIdToCreator['simnetKeyValue'] = (fields:any, dst:number) => new PGN_130845_Si /** * PGN: 130846 * - * Description: Simnet: Parameter Set + * Description: Simnet: Key Value - Long + * + * Explanation: Variable-length companion to PGN 130845 (Simnet: Key Value). The header is identical to 130845 (Address, Display Group, the 24-bit composite Key and the Read/Set/Reply Operation byte), but the fixed 4-byte value is replaced by an explicit Length byte followed by that many bytes of Value. Devices switch from 130845 to 130846 whenever a parameter's value will not fit in 4 bytes, so 130846 is also the echo/reply form (Operation = 2) for wide parameters. Observed in the nac3-operations capture corpus. * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
@@ -32445,12 +35238,12 @@ export interface PGN_130846_SimnetParameterSetFields { reserved?: number industryCode?: enums.IndustryCode | number address?: N2K_Number - b?: N2K_Number - displayGroup?: enums.SimnetDisplayGroup | number - d?: N2K_Number + instance?: N2K_Number + networkGroup?: enums.SimnetNetworkGroup | number + source?: N2K_Number key: N2K_DynamicFieldKey - spare9?: number - length?: N2K_Number + operation?: enums.SimnetKeyOperation | number + length?: N2K_DynamicFieldLength value?: N2K_DynamicFieldValue } @@ -32468,12 +35261,12 @@ export const PGN_130846_SimnetParameterSetMatchFields = { export interface PGN_130846_SimnetParameterSetCreateArgs { reserved?: number address?: N2K_Number - b?: N2K_Number - displayGroup?: enums.SimnetDisplayGroup | number - d?: N2K_Number + instance?: N2K_Number + networkGroup?: enums.SimnetNetworkGroup | number + source?: N2K_Number key: N2K_DynamicFieldKey - spare9?: number - length?: N2K_Number + operation?: enums.SimnetKeyOperation | number + length?: N2K_DynamicFieldLength value?: N2K_DynamicFieldValue } @@ -32919,7 +35712,6 @@ pgnIdToCreator['navicoProprietaryFp'] = (fields:any, dst:number) => new PGN_1308 * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
* Match: Command Type == AP Command
* Match: Event == Standby
* @@ -32938,8 +35730,8 @@ export interface PGN_130850_SimnetCommandApStandbyFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number reserved10?: number @@ -32951,8 +35743,7 @@ export interface PGN_130850_SimnetCommandApStandbyFields { export const PGN_130850_SimnetCommandApStandbyMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, - commandType: enums.SimnetApCommandType.ApCommand, + commandType: enums.SimnetEventType.ApCommand, event: enums.SimnetApEvents.Standby, } @@ -32963,6 +35754,7 @@ export interface PGN_130850_SimnetCommandApStandbyCreateArgs { reserved?: number address?: N2K_Number reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number spare9?: number reserved10?: number } @@ -32999,7 +35791,6 @@ pgnIdToCreator['simnetCommandApStandby'] = (fields:any, dst:number) => new PGN_1 * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
* Match: Command Type == AP Command
* Match: Event == No Drift mode
* @@ -33018,8 +35809,8 @@ export interface PGN_130850_SimnetCommandApNodriftFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number reserved10?: number @@ -33031,8 +35822,7 @@ export interface PGN_130850_SimnetCommandApNodriftFields { export const PGN_130850_SimnetCommandApNodriftMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, - commandType: enums.SimnetApCommandType.ApCommand, + commandType: enums.SimnetEventType.ApCommand, event: enums.SimnetApEvents.NoDriftMode, } @@ -33043,6 +35833,7 @@ export interface PGN_130850_SimnetCommandApNodriftCreateArgs { reserved?: number address?: N2K_Number reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number spare9?: number reserved10?: number } @@ -33079,7 +35870,6 @@ pgnIdToCreator['simnetCommandApNodrift'] = (fields:any, dst:number) => new PGN_1 * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
* Match: Command Type == AP Command
* Match: Event == Wind mode
* @@ -33098,8 +35888,8 @@ export interface PGN_130850_SimnetCommandApWindFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number reserved10?: number @@ -33111,8 +35901,7 @@ export interface PGN_130850_SimnetCommandApWindFields { export const PGN_130850_SimnetCommandApWindMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, - commandType: enums.SimnetApCommandType.ApCommand, + commandType: enums.SimnetEventType.ApCommand, event: enums.SimnetApEvents.WindMode, } @@ -33123,6 +35912,7 @@ export interface PGN_130850_SimnetCommandApWindCreateArgs { reserved?: number address?: N2K_Number reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number spare9?: number reserved10?: number } @@ -33159,7 +35949,6 @@ pgnIdToCreator['simnetCommandApWind'] = (fields:any, dst:number) => new PGN_1308 * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
* Match: Command Type == AP Command
* Match: Event == Nav mode
* @@ -33178,8 +35967,8 @@ export interface PGN_130850_SimnetCommandApNavFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number reserved10?: number @@ -33191,8 +35980,7 @@ export interface PGN_130850_SimnetCommandApNavFields { export const PGN_130850_SimnetCommandApNavMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, - commandType: enums.SimnetApCommandType.ApCommand, + commandType: enums.SimnetEventType.ApCommand, event: enums.SimnetApEvents.NavMode, } @@ -33203,6 +35991,7 @@ export interface PGN_130850_SimnetCommandApNavCreateArgs { reserved?: number address?: N2K_Number reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number spare9?: number reserved10?: number } @@ -33239,7 +36028,6 @@ pgnIdToCreator['simnetCommandApNav'] = (fields:any, dst:number) => new PGN_13085 * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
* Match: Command Type == AP Command
* Match: Event == Heading mode
* @@ -33258,8 +36046,8 @@ export interface PGN_130850_SimnetCommandApHeadingFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number reserved10?: number @@ -33271,8 +36059,7 @@ export interface PGN_130850_SimnetCommandApHeadingFields { export const PGN_130850_SimnetCommandApHeadingMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, - commandType: enums.SimnetApCommandType.ApCommand, + commandType: enums.SimnetEventType.ApCommand, event: enums.SimnetApEvents.HeadingMode, } @@ -33283,6 +36070,7 @@ export interface PGN_130850_SimnetCommandApHeadingCreateArgs { reserved?: number address?: N2K_Number reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number spare9?: number reserved10?: number } @@ -33319,7 +36107,6 @@ pgnIdToCreator['simnetCommandApHeading'] = (fields:any, dst:number) => new PGN_1 * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
* Match: Command Type == AP Command
* Match: Event == Tack
* @@ -33338,8 +36125,8 @@ export interface PGN_130850_SimnetCommandApTackFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number unknownA?: N2K_Number unknownB?: N2K_Number @@ -33352,8 +36139,7 @@ export interface PGN_130850_SimnetCommandApTackFields { export const PGN_130850_SimnetCommandApTackMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, - commandType: enums.SimnetApCommandType.ApCommand, + commandType: enums.SimnetEventType.ApCommand, event: enums.SimnetApEvents.Tack, } @@ -33364,6 +36150,7 @@ export interface PGN_130850_SimnetCommandApTackCreateArgs { reserved?: number address?: N2K_Number reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number unknownA?: N2K_Number unknownB?: N2K_Number reserved11?: number @@ -33401,7 +36188,6 @@ pgnIdToCreator['simnetCommandApTack'] = (fields:any, dst:number) => new PGN_1308 * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
* Match: Command Type == Follow Up
* Match: Event == Follow Up mode
* @@ -33420,8 +36206,8 @@ export interface PGN_130850_SimnetCommandApFollowUpFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number reserved10?: number @@ -33433,8 +36219,7 @@ export interface PGN_130850_SimnetCommandApFollowUpFields { export const PGN_130850_SimnetCommandApFollowUpMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, - commandType: enums.SimnetApCommandType.FollowUp, + commandType: enums.SimnetEventType.FollowUp, event: enums.SimnetApEvents.FollowUpMode, } @@ -33445,6 +36230,7 @@ export interface PGN_130850_SimnetCommandApFollowUpCreateArgs { reserved?: number address?: N2K_Number reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number spare9?: number reserved10?: number } @@ -33481,7 +36267,6 @@ pgnIdToCreator['simnetCommandApFollowUp'] = (fields:any, dst:number) => new PGN_ * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
* Match: Command Type == AP Command
* Match: Event == Change course
* @@ -33500,8 +36285,8 @@ export interface PGN_130850_SimnetCommandApChangeCourseFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number direction?: enums.SimnetDirection | number @@ -33515,8 +36300,7 @@ export interface PGN_130850_SimnetCommandApChangeCourseFields { export const PGN_130850_SimnetCommandApChangeCourseMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, - commandType: enums.SimnetApCommandType.ApCommand, + commandType: enums.SimnetEventType.ApCommand, event: enums.SimnetApEvents.ChangeCourse, } @@ -33527,6 +36311,7 @@ export interface PGN_130850_SimnetCommandApChangeCourseCreateArgs { reserved?: number address?: N2K_Number reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number spare9?: number direction?: enums.SimnetDirection | number angle?: N2K_Number @@ -33558,16 +36343,98 @@ export class PGN_130850_SimnetCommandApChangeCourse extends PGN implements PGN_1 pgnIdToCreator['simnetCommandApChangeCourse'] = (fields:any, dst:number) => new PGN_130850_SimnetCommandApChangeCourse(fields, dst) +/** + * PGN: 130850 + * + * Description: Simnet: Event Command: Timer + * + * Explanation: Race and trip timer commands sent by a Navico MFD, all observed live: race start/stop/sync/reset and trip enable/disable/reset, with Parameter 1 selecting the trip (0 = Trip 1, 1 = Trip 2). Broadcast to a display group, so every device in the group acts. + * + * Match: Manufacturer Code == Simrad
+ * Match: Industry Code == Marine Industry
+ * Match: Event Type == Timer
+ * + * @category PGN_130850_SimnetEventCommandTimer + */ +export interface PGN_130850_SimnetEventCommandTimerInterface extends PGNInterface { + fields: PGN_130850_SimnetEventCommandTimerFields +} + +/** + * @category PGN_130850_SimnetEventCommandTimer + */ +export interface PGN_130850_SimnetEventCommandTimerFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + address?: N2K_Number + reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number + eventType: enums.SimnetEventType | number + event?: enums.SimnetTimerEvent | number + parameter1?: N2K_Number + parameter2?: N2K_Number + parameter3?: N2K_Number +} + +/** + * @category PGN_130850_SimnetEventCommandTimer + */ +export const PGN_130850_SimnetEventCommandTimerMatchFields = { + manufacturerCode: enums.ManufacturerCode.Simrad, + industryCode: enums.IndustryCode.MarineIndustry, + eventType: enums.SimnetEventType.Timer, +} + +/** + * @category PGN_130850_SimnetEventCommandTimer + */ +export interface PGN_130850_SimnetEventCommandTimerCreateArgs { + reserved?: number + address?: N2K_Number + reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number + event?: enums.SimnetTimerEvent | number + parameter1?: N2K_Number + parameter2?: N2K_Number + parameter3?: N2K_Number +} + +/** + * @category PGN_130850_SimnetEventCommandTimer + */ +export class PGN_130850_SimnetEventCommandTimer extends PGN implements PGN_130850_SimnetEventCommandTimerInterface { + fields: PGN_130850_SimnetEventCommandTimerFields + + constructor(fields: PGN_130850_SimnetEventCommandTimerCreateArgs, dst: number = 255) { + super({ + pgn: 130850, + prio: 2, + dst + }) + this.fields = { ...PGN_130850_SimnetEventCommandTimerMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130850_SimnetEventCommandTimerMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('simnetEventCommandTimer')! + } +} +pgnIdToCreator['simnetEventCommandTimer'] = (fields:any, dst:number) => new PGN_130850_SimnetEventCommandTimer(fields, dst) + + /** * PGN: 130850 * * Description: Simnet: Alarm * - * Explanation: There may follow a PGN 130856 'Simnet: Alarm Text' message with a textual explanation of the alarm + * Explanation: An alarm lifecycle command (Activate when it triggers, Acknowledge/Silence on user action, Deactivate when it clears) for the alarm named by 'Alarm ID'. Any device may issue these, which is why acknowledging an alarm on one display clears it on the others. There may follow a PGN 130856 'Simnet: Alarm Message' with a textual explanation of the alarm. * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Alarm
+ * Match: Event Type == Alarm
* * @category PGN_130850_SimnetAlarm */ @@ -33584,10 +36451,11 @@ export interface PGN_130850_SimnetAlarmFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - reserved7?: number - alarm?: enums.SimnetAlarm | number - messageId?: N2K_Number + networkGroup?: enums.SimnetNetworkGroup | number + eventType: enums.SimnetEventType | number + command?: enums.SimnetAlarmCommand | number + spare9?: number + alarmId?: enums.SimnetAlarmId | number f?: N2K_Number g?: N2K_Number } @@ -33598,7 +36466,7 @@ export interface PGN_130850_SimnetAlarmFields { export const PGN_130850_SimnetAlarmMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Alarm, + eventType: enums.SimnetEventType.Alarm, } /** @@ -33608,9 +36476,10 @@ export interface PGN_130850_SimnetAlarmCreateArgs { reserved?: number address?: N2K_Number reserved5?: number - reserved7?: number - alarm?: enums.SimnetAlarm | number - messageId?: N2K_Number + networkGroup?: enums.SimnetNetworkGroup | number + command?: enums.SimnetAlarmCommand | number + spare9?: number + alarmId?: enums.SimnetAlarmId | number f?: N2K_Number g?: N2K_Number } @@ -33649,7 +36518,7 @@ pgnIdToCreator['simnetAlarm'] = (fields:any, dst:number) => new PGN_130850_Simne * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
+ * Match: Command Type == AP Command
* * @category PGN_130850_SimnetApCommand */ @@ -33666,8 +36535,8 @@ export interface PGN_130850_SimnetApCommandFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number reserved10?: number @@ -33684,7 +36553,7 @@ export interface PGN_130850_SimnetApCommandFields { export const PGN_130850_SimnetApCommandMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, + commandType: enums.SimnetEventType.ApCommand, } /** @@ -33694,7 +36563,7 @@ export interface PGN_130850_SimnetApCommandCreateArgs { reserved?: number address?: N2K_Number reserved5?: number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number event?: enums.SimnetApEvents | number spare9?: number reserved10?: number @@ -33755,7 +36624,7 @@ export interface PGN_130850_SimnetEventFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number + networkGroup?: enums.SimnetNetworkGroup | number reserved7?: number reserved8?: number reserved9?: number @@ -33780,7 +36649,7 @@ export interface PGN_130850_SimnetEventCreateArgs { reserved?: number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number + networkGroup?: enums.SimnetNetworkGroup | number reserved7?: number reserved8?: number reserved9?: number @@ -33815,86 +36684,6 @@ export class PGN_130850_SimnetEvent extends PGN implements PGN_130850_SimnetEven pgnIdToCreator['simnetEvent'] = (fields:any, dst:number) => new PGN_130850_SimnetEvent(fields, dst) -/** - * PGN: 130851 - * - * Description: Simnet: Event Reply: AP command - * - * Match: Manufacturer Code == Simrad
- * Match: Industry Code == Marine Industry
- * Match: Proprietary ID == AP command
- * - * @category PGN_130851_SimnetEventReplyApCommand - */ -export interface PGN_130851_SimnetEventReplyApCommandInterface extends PGNInterface { - fields: PGN_130851_SimnetEventReplyApCommandFields -} - -/** - * @category PGN_130851_SimnetEventReplyApCommand - */ -export interface PGN_130851_SimnetEventReplyApCommandFields { - manufacturerCode?: enums.ManufacturerCode | number - reserved?: number - industryCode?: enums.IndustryCode | number - proprietaryId: enums.SimnetEventCommand | number - b?: N2K_Number - address?: N2K_Number - event?: enums.SimnetApEvents | number - c?: N2K_Number - direction?: enums.SimnetDirection | number - angle?: N2K_Number - g?: N2K_Number -} - -/** - * @category PGN_130851_SimnetEventReplyApCommand - */ -export const PGN_130851_SimnetEventReplyApCommandMatchFields = { - manufacturerCode: enums.ManufacturerCode.Simrad, - industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.ApCommand, -} - -/** - * @category PGN_130851_SimnetEventReplyApCommand - */ -export interface PGN_130851_SimnetEventReplyApCommandCreateArgs { - reserved?: number - b?: N2K_Number - address?: N2K_Number - event?: enums.SimnetApEvents | number - c?: N2K_Number - direction?: enums.SimnetDirection | number - angle?: N2K_Number - g?: N2K_Number -} - -/** - * @category PGN_130851_SimnetEventReplyApCommand - */ -export class PGN_130851_SimnetEventReplyApCommand extends PGN implements PGN_130851_SimnetEventReplyApCommandInterface { - fields: PGN_130851_SimnetEventReplyApCommandFields - - constructor(fields: PGN_130851_SimnetEventReplyApCommandCreateArgs, dst: number = 255) { - super({ - pgn: 130851, - prio: 7, - dst - }) - this.fields = { ...PGN_130851_SimnetEventReplyApCommandMatchFields, ...fields } - } - - static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_130851_SimnetEventReplyApCommandMatchFields) - } - getDefinition(): Definition { - return getPGNWithId('simnetEventReplyApCommand')! - } -} -pgnIdToCreator['simnetEventReplyApCommand'] = (fields:any, dst:number) => new PGN_130851_SimnetEventReplyApCommand(fields, dst) - - /** * PGN: 130851 * @@ -33904,7 +36693,6 @@ pgnIdToCreator['simnetEventReplyApCommand'] = (fields:any, dst:number) => new PG * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
* Match: Command Type == AP Command
* Match: Event == Change course
* @@ -33923,8 +36711,8 @@ export interface PGN_130851_SimnetApCommandReplyChangeCourseFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number direction?: enums.SimnetDirection | number @@ -33938,8 +36726,7 @@ export interface PGN_130851_SimnetApCommandReplyChangeCourseFields { export const PGN_130851_SimnetApCommandReplyChangeCourseMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, - commandType: enums.SimnetApCommandType.ApCommand, + commandType: enums.SimnetEventType.ApCommand, event: enums.SimnetApEvents.ChangeCourse, } @@ -33950,6 +36737,7 @@ export interface PGN_130851_SimnetApCommandReplyChangeCourseCreateArgs { reserved?: number address?: N2K_Number reserved5?: number + networkGroup?: enums.SimnetNetworkGroup | number spare9?: number direction?: enums.SimnetDirection | number angle?: N2K_Number @@ -33990,7 +36778,7 @@ pgnIdToCreator['simnetApCommandReplyChangeCourse'] = (fields:any, dst:number) => * * Match: Manufacturer Code == Simrad
* Match: Industry Code == Marine Industry
- * Match: Proprietary ID == Autopilot
+ * Match: Command Type == AP Command
* * @category PGN_130851_SimnetApCommandReply */ @@ -34007,8 +36795,8 @@ export interface PGN_130851_SimnetApCommandReplyFields { industryCode?: enums.IndustryCode | number address?: N2K_Number reserved5?: number - proprietaryId: enums.SimnetEventCommand | number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number + commandType: enums.SimnetEventType | number event?: enums.SimnetApEvents | number spare9?: number d?: N2K_Number @@ -34022,7 +36810,7 @@ export interface PGN_130851_SimnetApCommandReplyFields { export const PGN_130851_SimnetApCommandReplyMatchFields = { manufacturerCode: enums.ManufacturerCode.Simrad, industryCode: enums.IndustryCode.MarineIndustry, - proprietaryId: enums.SimnetEventCommand.Autopilot, + commandType: enums.SimnetEventType.ApCommand, } /** @@ -34032,7 +36820,7 @@ export interface PGN_130851_SimnetApCommandReplyCreateArgs { reserved?: number address?: N2K_Number reserved5?: number - commandType?: enums.SimnetApCommandType | number + networkGroup?: enums.SimnetNetworkGroup | number event?: enums.SimnetApEvents | number spare9?: number d?: N2K_Number @@ -34068,64 +36856,78 @@ pgnIdToCreator['simnetApCommandReply'] = (fields:any, dst:number) => new PGN_130 /** * PGN: 130852 * - * Description: Navico: Proprietary 2 FP + * Description: Navico: Diagnostic Data + * + * Explanation: Device diagnostic report, returned in reply to a PGN 126208 Request Group Function for PGN 130852 that carries the Navico manufacturer (275) and Marine industry parameters. Emitted by both NEON- and Triton-generation Navico devices. After the manufacturer field and an Instance/channel byte, the frame carries a list of {Field ID, Length, Value} records to the end of the fast-packet; Length is the value width (1, 2 or 4 bytes). Field IDs index a set of CAN bus diagnostic counters; ids 4/5/7 (Rx Messages, Tx Messages, Fast Packet Errors) are confirmed against a device's on-screen bus statistics. Ids 0-3 are the rx/tx overflow and error counters (zero on a healthy bus, so their order is not yet distinguished) and id 22 relates to bus state; those are shown numerically. Bus Load shown in the device UI is computed locally and is not carried here. * * Match: Manufacturer Code == Navico
* Match: Industry Code == Marine Industry
* - * @category PGN_130852_NavicoProprietary2Fp + * @category PGN_130852_NavicoDiagnosticData */ -export interface PGN_130852_NavicoProprietary2FpInterface extends PGNInterface { - fields: PGN_130852_NavicoProprietary2FpFields +export interface PGN_130852_NavicoDiagnosticDataInterface extends PGNInterface { + fields: PGN_130852_NavicoDiagnosticDataFields } /** - * @category PGN_130852_NavicoProprietary2Fp + * @category PGN_130852_NavicoDiagnosticData */ -export interface PGN_130852_NavicoProprietary2FpFields { +export interface PGN_130852_NavicoDiagnosticDataFields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number + instance?: N2K_Number + list: { + fieldId: N2K_DynamicFieldKey + length?: N2K_DynamicFieldLength + value?: N2K_DynamicFieldValue + }[] } /** - * @category PGN_130852_NavicoProprietary2Fp + * @category PGN_130852_NavicoDiagnosticData */ -export const PGN_130852_NavicoProprietary2FpMatchFields = { +export const PGN_130852_NavicoDiagnosticDataMatchFields = { manufacturerCode: enums.ManufacturerCode.Navico, industryCode: enums.IndustryCode.MarineIndustry, } /** - * @category PGN_130852_NavicoProprietary2Fp + * @category PGN_130852_NavicoDiagnosticData */ -export interface PGN_130852_NavicoProprietary2FpCreateArgs { +export interface PGN_130852_NavicoDiagnosticDataCreateArgs { reserved?: number + instance?: N2K_Number + list: { + fieldId: N2K_DynamicFieldKey + length?: N2K_DynamicFieldLength + value?: N2K_DynamicFieldValue + }[] } /** - * @category PGN_130852_NavicoProprietary2Fp + * @category PGN_130852_NavicoDiagnosticData */ -export class PGN_130852_NavicoProprietary2Fp extends PGN implements PGN_130852_NavicoProprietary2FpInterface { - fields: PGN_130852_NavicoProprietary2FpFields +export class PGN_130852_NavicoDiagnosticData extends PGN implements PGN_130852_NavicoDiagnosticDataInterface { + fields: PGN_130852_NavicoDiagnosticDataFields - constructor(fields: PGN_130852_NavicoProprietary2FpCreateArgs, dst: number = 255) { + constructor(fields: PGN_130852_NavicoDiagnosticDataCreateArgs, dst: number = 255) { super({ pgn: 130852, prio: 3, dst }) - this.fields = { ...PGN_130852_NavicoProprietary2FpMatchFields, ...fields } + this.fields = { ...PGN_130852_NavicoDiagnosticDataMatchFields, ...fields } } static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_130852_NavicoProprietary2FpMatchFields) + return isMatch(pgn, PGN_130852_NavicoDiagnosticDataMatchFields) } getDefinition(): Definition { - return getPGNWithId('navicoProprietary2Fp')! + return getPGNWithId('navicoDiagnosticData')! } } -pgnIdToCreator['navicoProprietary2Fp'] = (fields:any, dst:number) => new PGN_130852_NavicoProprietary2Fp(fields, dst) +pgnIdToCreator['navicoDiagnosticData'] = (fields:any, dst:number) => new PGN_130852_NavicoDiagnosticData(fields, dst) /** @@ -34151,7 +36953,7 @@ export interface PGN_130856_SimnetAlarmMessageFields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number - messageId?: N2K_Number + alarmId?: enums.SimnetAlarmId | number b?: N2K_Number c?: N2K_Number text?: N2K_StringFix @@ -34170,7 +36972,7 @@ export const PGN_130856_SimnetAlarmMessageMatchFields = { */ export interface PGN_130856_SimnetAlarmMessageCreateArgs { reserved?: number - messageId?: N2K_Number + alarmId?: enums.SimnetAlarmId | number b?: N2K_Number c?: N2K_Number text?: N2K_StringFix @@ -34278,69 +37080,6 @@ export class PGN_130860_SimnetApUnknown4 extends PGN implements PGN_130860_Simne pgnIdToCreator['simnetApUnknown4'] = (fields:any, dst:number) => new PGN_130860_SimnetApUnknown4(fields, dst) -/** - * PGN: 130861 - * - * Description: Simrad: Engine Data - * - * Match: Manufacturer Code == Simrad
- * Match: Industry Code == Marine Industry
- * - * @category PGN_130861_SimradEngineData - */ -export interface PGN_130861_SimradEngineDataInterface extends PGNInterface { - fields: PGN_130861_SimradEngineDataFields -} - -/** - * @category PGN_130861_SimradEngineData - */ -export interface PGN_130861_SimradEngineDataFields { - manufacturerCode?: enums.ManufacturerCode | number - reserved?: number - industryCode?: enums.IndustryCode | number -} - -/** - * @category PGN_130861_SimradEngineData - */ -export const PGN_130861_SimradEngineDataMatchFields = { - manufacturerCode: enums.ManufacturerCode.Simrad, - industryCode: enums.IndustryCode.MarineIndustry, -} - -/** - * @category PGN_130861_SimradEngineData - */ -export interface PGN_130861_SimradEngineDataCreateArgs { - reserved?: number -} - -/** - * @category PGN_130861_SimradEngineData - */ -export class PGN_130861_SimradEngineData extends PGN implements PGN_130861_SimradEngineDataInterface { - fields: PGN_130861_SimradEngineDataFields - - constructor(fields: PGN_130861_SimradEngineDataCreateArgs, dst: number = 255) { - super({ - pgn: 130861, - prio: 3, - dst - }) - this.fields = { ...PGN_130861_SimradEngineDataMatchFields, ...fields } - } - - static isMatch(pgn:PGN) { - return isMatch(pgn, PGN_130861_SimradEngineDataMatchFields) - } - getDefinition(): Definition { - return getPGNWithId('simradEngineData')! - } -} -pgnIdToCreator['simradEngineData'] = (fields:any, dst:number) => new PGN_130861_SimradEngineData(fields, dst) - - /** * PGN: 130880 * From f3e5accfb5112b052c328e9ee8109d982d62eaeb Mon Sep 17 00:00:00 2001 From: Kees Verruijt Date: Mon, 3 Aug 2026 11:50:41 +0900 Subject: [PATCH 2/5] chore: re-sync canboat.json after canboat #793 Picks up canboat d6a1cab, which fixes #791: Field[n].Description could be emitted as a JSON number, and the 47 numeric descriptions (all PGN 126720 Garmin variants) were removed as noise. This also corrects generated documentation here. The generator renders a field's Description as its match value in the doc comment when one is present, so the four garminAhrsAtt* variants documented "Match: Wrapper Byte 1 == 1" while the field actually matches 2 -- the removed description said 1. They now read == 2. src/enums.ts is unchanged; no enumeration was affected. npm run ci-test passes: build, docs, 45 tests, eslint and prettier. Co-Authored-By: Claude Opus 5 (1M context) --- canboat.json | 47 ----------------------------------------------- src/pgns.ts | 8 ++++---- 2 files changed, 4 insertions(+), 51 deletions(-) diff --git a/canboat.json b/canboat.json index a462a86c..21a61f90 100644 --- a/canboat.json +++ b/canboat.json @@ -20575,7 +20575,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":1, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -20590,7 +20589,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":2, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -20710,7 +20708,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":1, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -20725,7 +20722,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":2, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -20845,7 +20841,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":1, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -20860,7 +20855,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":2, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -20980,7 +20974,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":1, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -20995,7 +20988,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":2, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -21116,7 +21108,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -21131,7 +21122,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -21146,7 +21136,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":0, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -21277,7 +21266,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -21292,7 +21280,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -21307,7 +21294,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":0, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -21437,7 +21423,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -21452,7 +21437,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -21467,7 +21451,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":0, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -21597,7 +21580,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -21612,7 +21594,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -21627,7 +21608,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":0, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -21757,7 +21737,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -21772,7 +21751,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -21787,7 +21765,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":2, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -21920,7 +21897,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -21935,7 +21911,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -21950,7 +21925,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":2, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -22079,7 +22053,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -22094,7 +22067,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -22109,7 +22081,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":2, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -22238,7 +22209,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -22253,7 +22223,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -22268,7 +22237,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":5, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -22400,7 +22368,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -22415,7 +22382,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -22430,7 +22396,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":5, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -22562,7 +22527,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -22577,7 +22541,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -22592,7 +22555,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":1, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -22723,7 +22685,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -22738,7 +22699,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -22753,7 +22713,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":5, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -22885,7 +22844,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -22900,7 +22858,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -22915,7 +22872,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":21, "BitLength":8, "BitOffset":48, "BitStart":0, @@ -23031,7 +22987,6 @@ "Order":5, "Id":"wrapperByte1", "Name":"Wrapper Byte 1", - "Description":4, "BitLength":8, "BitOffset":32, "BitStart":0, @@ -23046,7 +23001,6 @@ "Order":6, "Id":"wrapperByte2", "Name":"Wrapper Byte 2", - "Description":4, "BitLength":8, "BitOffset":40, "BitStart":0, @@ -23061,7 +23015,6 @@ "Order":7, "Id":"fieldGroup", "Name":"Field Group", - "Description":38, "BitLength":8, "BitOffset":48, "BitStart":0, diff --git a/src/pgns.ts b/src/pgns.ts index 1f9b31ab..0b73c0e2 100644 --- a/src/pgns.ts +++ b/src/pgns.ts @@ -10173,7 +10173,7 @@ pgnIdToCreator['0x1ef00ManufacturerProprietaryFastPacketAddressed'] = (fields:an * Match: Manufacturer Code == Garmin
* Match: Industry Code == Marine Industry
* Match: Sub-protocol ID == AHRS ATT transport
- * Match: Wrapper Byte 1 == 1
+ * Match: Wrapper Byte 1 == 2
* Match: Wrapper Byte 2 == 2
* Match: ATT Message ID == COG Source Valid Flag
* @@ -10250,7 +10250,7 @@ pgnIdToCreator['garminAhrsAttCogSourceValidFlag'] = (fields:any, dst:number) => * Match: Manufacturer Code == Garmin
* Match: Industry Code == Marine Industry
* Match: Sub-protocol ID == AHRS ATT transport
- * Match: Wrapper Byte 1 == 1
+ * Match: Wrapper Byte 1 == 2
* Match: Wrapper Byte 2 == 2
* Match: ATT Message ID == Device Flags
* @@ -10327,7 +10327,7 @@ pgnIdToCreator['garminAhrsAttDeviceFlags'] = (fields:any, dst:number) => new PGN * Match: Manufacturer Code == Garmin
* Match: Industry Code == Marine Industry
* Match: Sub-protocol ID == AHRS ATT transport
- * Match: Wrapper Byte 1 == 1
+ * Match: Wrapper Byte 1 == 2
* Match: Wrapper Byte 2 == 2
* Match: ATT Message ID == Calibration Matrix Present
* @@ -10404,7 +10404,7 @@ pgnIdToCreator['garminAhrsAttNonDefaultCalibrationMatrixPresent'] = (fields:any, * Match: Manufacturer Code == Garmin
* Match: Industry Code == Marine Industry
* Match: Sub-protocol ID == AHRS ATT transport
- * Match: Wrapper Byte 1 == 1
+ * Match: Wrapper Byte 1 == 2
* Match: Wrapper Byte 2 == 2
* Match: ATT Message ID == Set North State
* From 62621f215f3f9cf934c3b326d425fcbfbd8c908d Mon Sep 17 00:00:00 2001 From: Kees Verruijt Date: Tue, 25 Aug 2026 16:03:40 +0900 Subject: [PATCH 3/5] fix(generator): name a match value from its enumeration, not its Description A field's Description duplicates the name of the LOOKUP value it matches, so the two drift apart when an enumeration is renamed upstream. canboat 8.0.0 corrected 78 MANUFACTURER_CODE names but left 15 fields (Suzuki Motor, Xantrex Technology) describing themselves by the old ones, and the generated MatchFields then referenced enum members that no longer exist. Resolve the name from the enumeration by Match value, falling back to the Description when the value is absent from the table. Every LOOKUP match field in 8.0.0 resolves, so only those 15 change. Co-Authored-By: Claude Opus 5 (1M context) --- src/generator.ts | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/src/generator.ts b/src/generator.ts index 7abca895..aca87e74 100644 --- a/src/generator.ts +++ b/src/generator.ts @@ -33,6 +33,21 @@ function enumName(name: string) { return fixIdentifier(camelCase(name, { pascalCase: true }), '_') } +/** + * The canonical name of a lookup field's Match value, taken from the + * enumeration itself. A field's Description is a copy of that name and can go + * stale when an enumeration is renamed upstream, so the enumeration wins. + */ +function matchValueName(field: Field): string | undefined { + if (field.LookupEnumeration === undefined || field.Match === undefined) { + return undefined + } + const enumeration = pgns.LookupEnumerations.find( + (en: any) => en.Name === field.LookupEnumeration + ) as any + return enumeration?.EnumValues.find((v: any) => v.Value === field.Match)?.Name +} + const organized: { [key: number]: Definition[] } = {} const pgnNumbers: number[] = [] @@ -334,9 +349,8 @@ export abstract class PGN implements PGNInterface { console.log(' *') pgn.Fields.forEach((field: Field) => { if (field.Match) { - console.log( - ` * Match: ${field.Name} == ${field.Description || field.Match}
` - ) + const name = matchValueName(field) ?? field.Description + console.log(` * Match: ${field.Name} == ${name || field.Match}
`) } }) } @@ -393,9 +407,15 @@ export abstract class PGN implements PGNInterface { pgn.Fields.forEach((field: Field) => { if (field.Match !== undefined) { let value: any - if (field.FieldType === FieldType.Lookup && field.Description) { - const ename = enumName(field.Description) - enumName(field.Description) + const lookupName = + field.FieldType === FieldType.Lookup + ? (matchValueName(field) ?? + (typeof field.Description === 'string' + ? field.Description + : undefined)) + : undefined + if (lookupName !== undefined) { + const ename = enumName(lookupName) value = `enums.${enumName(field.LookupEnumeration!)}.${ename}` } else { value = From 1c0dce0e7cec8e2557da38819c9a3c1d838aaa6d Mon Sep 17 00:00:00 2001 From: Kees Verruijt Date: Tue, 25 Aug 2026 16:04:07 +0900 Subject: [PATCH 4/5] chore: sync canboat.json to 8.0.0 and regenerate canboat v8.0.0 (2026-08-25), replacing the 8.0.0-beta1 snapshot. Definitions: 599 -> 611 PGNs. New are the Sleipner S-Link thruster set (65280, 65304, 130817 PPC520/PPC820, 130827, 130828), the Fusion menu command/status pairs (126720, 130820) and yanmarThrottleControl (65284). Existing definitions pick up authored minLength, the trailing Sequence ID on 129039/129793/129794, 127751 as single-frame, and 65020's apparent power in VA rather than VAR. Enumerations: six new tables (FUSION_MENU_ACTION, GARMIN_AUTOPILOT_MANEUVER_CODE, GNSS_SYSTEM, SLEIPNER_THRUSTER_ACTION/DIRECTION/STATE) and a corrected MANUFACTURER_CODE -- 78 names rewritten to the ISO 11783 registry spelling and 8 duplicate codes dropped (116, 175, 200, 225, 250, 311, 467, 645), 291 -> 283 values. This renames the enum members consumers spell out (ManufacturerCode .SuzukiMotorCorporation -> .SuzukiMotor, .XantrexTechnologyInc -> .XantrexTechnology, and 76 more) and changes the manufacturer strings decoders emit, so it wants a major release. npm run build, test (45 passing) and ci-lint all pass. Co-Authored-By: Claude Opus 5 (1M context) --- canboat.json | 4230 +++++++++++++++++++++++++++++++++++++------------- src/enums.ts | 420 +++-- src/pgns.ts | 1202 ++++++++++++-- 3 files changed, 4490 insertions(+), 1362 deletions(-) diff --git a/canboat.json b/canboat.json index 21a61f90..3308edb7 100644 --- a/canboat.json +++ b/canboat.json @@ -4,8 +4,8 @@ "Comment":"GENERATED FILE - DO NOT EDIT. Generated by keel from the YAML database in database/; edit database/pgns/*.yaml and run 'make generated'. See https://github.com/canboat/canboat for the full source code", "CreatorCode":"Canboat NMEA2000 Analyzer", "License":"Apache License Version 2.0", - "Version":"8.0.0-beta1", - "Copyright":"CANboat version v8.0.0-beta1\n\n(C) 2009-2026, Kees Verruijt, Harlingen, The Netherlands.\nFor more information see https://github.com/canboat/canboat\n\nThis file is part of CANboat.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n", + "Version":"8.0.0", + "Copyright":"CANboat version v8.0.0\n\n(C) 2009-2026, Kees Verruijt, Harlingen, The Netherlands.\nFor more information see https://github.com/canboat/canboat\n\nThis file is part of CANboat.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n", "PhysicalQuantities":[ { "Name":"ELECTRICAL_CURRENT", @@ -1588,6 +1588,15 @@ {"Name":"Prev", "Value":6} ] }, + { + "Name":"FUSION_MENU_ACTION", + "MaxValue":255, + "EnumValues":[ + {"Name":"Open", "Value":1}, + {"Name":"Select", "Value":2}, + {"Name":"Close", "Value":4} + ] + }, { "Name":"FUSION_MESSAGE_ID", "MaxValue":65535, @@ -1915,6 +1924,16 @@ {"Name":"Speed", "Value":246} ] }, + { + "Name":"GARMIN_AUTOPILOT_MANEUVER_CODE", + "MaxValue":255, + "EnumValues":[ + {"Name":"Decrease Heading 1 Degree", "Value":0}, + {"Name":"Decrease Heading 10 Degrees", "Value":1}, + {"Name":"Increase Heading 1 Degree", "Value":2}, + {"Name":"Increase Heading 10 Degrees", "Value":3} + ] + }, { "Name":"GARMIN_AUTOPILOT_MODE_STATE", "MaxValue":255, @@ -2183,47 +2202,42 @@ "Name":"MANUFACTURER_CODE", "MaxValue":2047, "EnumValues":[ - {"Name":"ARKS Enterprises, Inc.", "Value":69}, + {"Name":"ARKS Enterprises", "Value":69}, {"Name":"FW Murphy/Enovation Controls", "Value":78}, {"Name":"Twin Disc", "Value":80}, {"Name":"Kohler Power Systems", "Value":85}, - {"Name":"Hemisphere GPS Inc", "Value":88}, - {"Name":"BEP Marine", "Value":116}, + {"Name":"Hemisphere GPS", "Value":88}, {"Name":"Airmar", "Value":135}, {"Name":"Maretron", "Value":137}, {"Name":"Lowrance", "Value":140}, {"Name":"Mercury Marine", "Value":144}, - {"Name":"Nautibus Electronic GmbH", "Value":147}, + {"Name":"Nautibus Electronic", "Value":147}, {"Name":"Blue Water Data", "Value":148}, {"Name":"Westerbeke", "Value":154}, - {"Name":"ISSPRO Inc", "Value":157}, - {"Name":"Offshore Systems (UK) Ltd.", "Value":161}, + {"Name":"ISSPRO", "Value":157}, + {"Name":"Offshore Systems (UK)", "Value":161}, {"Name":"Evinrude/BRP", "Value":163}, - {"Name":"CPAC Systems AB", "Value":165}, - {"Name":"Xantrex Technology Inc.", "Value":168}, - {"Name":"Marlin Technologies, Inc.", "Value":169}, + {"Name":"CPAC Systems", "Value":165}, + {"Name":"Xantrex Technology", "Value":168}, + {"Name":"Marlin Technologies", "Value":169}, {"Name":"Yanmar Marine", "Value":172}, {"Name":"Volvo Penta", "Value":174}, - {"Name":"Honda Marine", "Value":175}, {"Name":"Carling Technologies Inc. (Moritz Aerospace)", "Value":176}, {"Name":"Beede Instruments", "Value":185}, - {"Name":"Floscan Instrument Co. Inc.", "Value":192}, - {"Name":"Nobletec", "Value":193}, + {"Name":"Floscan Instrument", "Value":192}, + {"Name":"Nobeltec", "Value":193}, {"Name":"Mystic Valley Communications", "Value":198}, {"Name":"Actia", "Value":199}, - {"Name":"Honda Marine 2", "Value":200}, {"Name":"Disenos Y Technologia", "Value":201}, {"Name":"Digital Switching Systems", "Value":211}, {"Name":"Xintex/Atena", "Value":215}, - {"Name":"EMMI NETWORK S.L.", "Value":224}, - {"Name":"Honda Marine 3", "Value":225}, + {"Name":"EMMI NETWORK", "Value":224}, {"Name":"ZF", "Value":228}, {"Name":"Garmin", "Value":229}, {"Name":"Yacht Monitoring Solutions", "Value":233}, - {"Name":"Sailormade Marine Telemetry/Tetra Technology LTD", "Value":235}, + {"Name":"Sailormade Marine Telemetry/Tetra Technology", "Value":235}, {"Name":"Eride", "Value":243}, - {"Name":"Honda Marine 4", "Value":250}, - {"Name":"Honda Motor Company LTD", "Value":257}, + {"Name":"Honda Motor", "Value":257}, {"Name":"Groco", "Value":272}, {"Name":"Actisense", "Value":273}, {"Name":"Amphenol LTW Technology", "Value":274}, @@ -2231,16 +2245,15 @@ {"Name":"Hamilton Jet", "Value":283}, {"Name":"Sea Recovery", "Value":285}, {"Name":"Coelmo SRL Italy", "Value":286}, - {"Name":"BEP Marine 2", "Value":295}, + {"Name":"BEP Marine", "Value":295}, {"Name":"Empir Bus", "Value":304}, {"Name":"NovAtel", "Value":305}, - {"Name":"Sleipner Motor AS", "Value":306}, + {"Name":"Sleipner Motor", "Value":306}, {"Name":"MBW Technologies", "Value":307}, - {"Name":"Fischer Panda", "Value":311}, {"Name":"ICOM", "Value":315}, {"Name":"Qwerty", "Value":328}, {"Name":"Dief", "Value":329}, - {"Name":"Boening Automationstechnologie GmbH & Co. KG", "Value":341}, + {"Name":"Boening Automationstechnologie", "Value":341}, {"Name":"Korean Maritime University", "Value":345}, {"Name":"Thrane and Thrane", "Value":351}, {"Name":"Mastervolt", "Value":355}, @@ -2260,8 +2273,8 @@ {"Name":"Chetco", "Value":409}, {"Name":"Fusion Electronics", "Value":419}, {"Name":"Standard Horizon", "Value":421}, - {"Name":"True Heading AB", "Value":422}, - {"Name":"Egersund Marine Electronics AS", "Value":426}, + {"Name":"True Heading", "Value":422}, + {"Name":"Egersund Marine Electronics", "Value":426}, {"Name":"em-trak Marine Electronics", "Value":427}, {"Name":"Tohatsu Co, JP", "Value":431}, {"Name":"Digital Yacht", "Value":437}, @@ -2269,22 +2282,21 @@ {"Name":"Cummins", "Value":440}, {"Name":"VDO (aka Continental-Corporation)", "Value":443}, {"Name":"Parker Hannifin aka Village Marine Tech", "Value":451}, - {"Name":"Alltek Marine Electronics Corp", "Value":459}, + {"Name":"Alltek Marine Electronics", "Value":459}, {"Name":"SAN GIORGIO S.E.I.N", "Value":460}, {"Name":"Veethree Electronics & Marine", "Value":466}, - {"Name":"Humminbird Marine Electronics", "Value":467}, {"Name":"SI-TEX Marine Electronics", "Value":470}, - {"Name":"Sea Cross Marine AB", "Value":471}, - {"Name":"GME aka Standard Communications Pty LTD", "Value":475}, - {"Name":"Humminbird Marine Electronics 2", "Value":476}, - {"Name":"Ocean Sat BV", "Value":478}, - {"Name":"Chetco Digitial Instruments", "Value":481}, + {"Name":"Sea Cross Marine", "Value":471}, + {"Name":"GME aka Standard Communications", "Value":475}, + {"Name":"Humminbird Marine Electronics", "Value":476}, + {"Name":"Ocean Sat", "Value":478}, + {"Name":"Chetco Digital Instruments", "Value":481}, {"Name":"Watcheye", "Value":493}, {"Name":"Lcj Capteurs", "Value":499}, {"Name":"Attwood Marine", "Value":502}, {"Name":"Naviop S.R.L.", "Value":503}, - {"Name":"Vesper Marine Ltd", "Value":504}, - {"Name":"Marinesoft Co. LTD", "Value":510}, + {"Name":"Vesper Marine", "Value":504}, + {"Name":"Marinesoft", "Value":510}, {"Name":"Simarine", "Value":513}, {"Name":"NoLand Engineering", "Value":517}, {"Name":"Transas USA", "Value":518}, @@ -2293,32 +2305,31 @@ {"Name":"Onwa Marine", "Value":532}, {"Name":"Webasto", "Value":540}, {"Name":"Marinecraft (South Korea)", "Value":571}, - {"Name":"McMurdo Group aka Orolia LTD", "Value":573}, + {"Name":"McMurdo Group aka Orolia", "Value":573}, {"Name":"Advansea", "Value":578}, {"Name":"KVH", "Value":579}, {"Name":"San Jose Technology", "Value":580}, {"Name":"Yacht Control", "Value":583}, - {"Name":"Suzuki Motor Corporation", "Value":586}, + {"Name":"Suzuki Motor", "Value":586}, {"Name":"US Coast Guard", "Value":591}, {"Name":"Ship Module aka Customware", "Value":595}, {"Name":"Aquatic AV", "Value":600}, - {"Name":"Aventics GmbH", "Value":605}, + {"Name":"Aventics", "Value":605}, {"Name":"Intellian", "Value":606}, {"Name":"SamwonIT", "Value":612}, {"Name":"Arlt Tecnologies", "Value":614}, - {"Name":"Bavaria Yacts", "Value":637}, + {"Name":"Bavaria Yachts", "Value":637}, {"Name":"Diverse Yacht Services", "Value":641}, {"Name":"Wema U.S.A dba KUS", "Value":644}, - {"Name":"Garmin 2", "Value":645}, {"Name":"Shenzhen Jiuzhou Himunication", "Value":658}, - {"Name":"Rockford Corp", "Value":688}, + {"Name":"Rockford", "Value":688}, {"Name":"Harman International", "Value":699}, {"Name":"JL Audio", "Value":704}, {"Name":"Lars Thrane", "Value":708}, {"Name":"Autonnic", "Value":715}, {"Name":"Yacht Devices", "Value":717}, {"Name":"REAP Systems", "Value":734}, - {"Name":"Au Electronics Group", "Value":735}, + {"Name":"AEM Performance Electronics", "Value":735}, {"Name":"LxNav", "Value":739}, {"Name":"Littelfuse, Inc (formerly Carling Technologies)", "Value":741}, {"Name":"DaeMyung", "Value":743}, @@ -2327,7 +2338,7 @@ {"Name":"Clarion US", "Value":773}, {"Name":"HMI Systems", "Value":776}, {"Name":"Ocean Signal", "Value":777}, - {"Name":"Seekeeper", "Value":778}, + {"Name":"Seakeeper", "Value":778}, {"Name":"Poly Planar", "Value":781}, {"Name":"Fischer Panda DE", "Value":785}, {"Name":"Broyda Industries", "Value":795}, @@ -2340,12 +2351,12 @@ {"Name":"Blue Water Desalination", "Value":811}, {"Name":"FLIR", "Value":815}, {"Name":"Undheim Systems", "Value":824}, - {"Name":"Lewmar Inc", "Value":826}, + {"Name":"Lewmar", "Value":826}, {"Name":"TeamSurv", "Value":838}, {"Name":"Fell Marine", "Value":844}, {"Name":"Oceanvolt", "Value":847}, {"Name":"Prospec", "Value":862}, - {"Name":"Data Panel Corp", "Value":868}, + {"Name":"Data Panel", "Value":868}, {"Name":"L3 Technologies", "Value":890}, {"Name":"Rhodan Marine Systems", "Value":894}, {"Name":"Nexfour Solutions", "Value":896}, @@ -2353,7 +2364,7 @@ {"Name":"Marines Co (South Korea)", "Value":909}, {"Name":"Nautic-on", "Value":911}, {"Name":"Sentinel", "Value":917}, - {"Name":"JL Marine ystems", "Value":929}, + {"Name":"JL Marine Systems", "Value":929}, {"Name":"Ecotronix", "Value":930}, {"Name":"Zontisa Marine", "Value":944}, {"Name":"EXOR International", "Value":951}, @@ -2361,18 +2372,18 @@ {"Name":"TJC Micro", "Value":963}, {"Name":"Cox Powertrain", "Value":968}, {"Name":"Blue Seas", "Value":969}, - {"Name":"Kobelt Manufacturing Co. Ltd", "Value":981}, + {"Name":"Kobelt Manufacturing", "Value":981}, {"Name":"Blue Ocean IOT", "Value":992}, {"Name":"Xenta Systems", "Value":997}, {"Name":"Signal K", "Value":999}, - {"Name":"Ultraflex SpA", "Value":1004}, + {"Name":"Ultraflex", "Value":1004}, {"Name":"Lintest SmartBoat", "Value":1008}, {"Name":"Soundmax", "Value":1011}, {"Name":"Team Italia Marine (Onyx Marine Automation s.r.l)", "Value":1020}, {"Name":"Entratech", "Value":1021}, - {"Name":"ITC Inc.", "Value":1022}, - {"Name":"The Marine Guardian LLC", "Value":1029}, - {"Name":"Sonic Corporation", "Value":1047}, + {"Name":"ITC", "Value":1022}, + {"Name":"The Marine Guardian", "Value":1029}, + {"Name":"Sonic", "Value":1047}, {"Name":"ProNav", "Value":1051}, {"Name":"Vetus Maxwell INC.", "Value":1053}, {"Name":"Lithium Pros", "Value":1056}, @@ -2380,96 +2391,96 @@ {"Name":"Marol Co ltd", "Value":1062}, {"Name":"CALYPSO Instruments", "Value":1065}, {"Name":"Spot Zero Water", "Value":1066}, - {"Name":"Lithionics Battery LLC", "Value":1069}, - {"Name":"Quick-teck Electronics Ltd", "Value":1070}, + {"Name":"Lithionics Battery", "Value":1069}, + {"Name":"Quick-teck Electronics", "Value":1070}, {"Name":"Uniden America", "Value":1075}, {"Name":"Nauticoncept", "Value":1083}, - {"Name":"Shadow-Caster LED lighting LLC", "Value":1084}, - {"Name":"Wet Sounds, LLC", "Value":1085}, + {"Name":"Shadow-Caster LED lighting", "Value":1084}, + {"Name":"Wet Sounds", "Value":1085}, {"Name":"E-T-A Circuit Breakers", "Value":1088}, {"Name":"Scheiber", "Value":1092}, {"Name":"Smart Yachts International Limited", "Value":1100}, {"Name":"Dockmate", "Value":1109}, {"Name":"Bobs Machine", "Value":1114}, {"Name":"L3Harris ASV", "Value":1118}, - {"Name":"Balmar LLC", "Value":1119}, - {"Name":"Elettromedia spa", "Value":1120}, + {"Name":"Balmar", "Value":1119}, + {"Name":"Elettromedia", "Value":1120}, {"Name":"Electromaax", "Value":1127}, - {"Name":"Across Oceans Systems Ltd.", "Value":1140}, + {"Name":"Across Oceans Systems", "Value":1140}, {"Name":"Kiwi Yachting", "Value":1145}, - {"Name":"BSB Artificial Intelligence GmbH", "Value":1150}, - {"Name":"Orca Technologoes AS", "Value":1151}, - {"Name":"TBS Electronics BV", "Value":1154}, + {"Name":"BSB Artificial Intelligence", "Value":1150}, + {"Name":"Orca Technologies", "Value":1151}, + {"Name":"TBS Electronics", "Value":1154}, {"Name":"Technoton Electroics", "Value":1158}, - {"Name":"MG Energy Systems B.V.", "Value":1160}, - {"Name":"Sea Macine Robotics Inc.", "Value":1169}, + {"Name":"MG Energy Systems", "Value":1160}, + {"Name":"Sea Machine Robotics", "Value":1169}, {"Name":"Vista Manufacturing", "Value":1171}, {"Name":"Zipwake", "Value":1183}, - {"Name":"Sailmon BV", "Value":1186}, + {"Name":"Sailmon", "Value":1186}, {"Name":"Airmoniq Pro Kft", "Value":1192}, {"Name":"Sierra Marine", "Value":1194}, {"Name":"Xinuo Information Technology (Xiamen)", "Value":1200}, {"Name":"Septentrio", "Value":1218}, - {"Name":"NKE Marine Elecronics", "Value":1233}, + {"Name":"NKE Marine Electronics", "Value":1233}, {"Name":"SuperTrack Aps", "Value":1238}, - {"Name":"Honda Electronics Co., LTD", "Value":1239}, - {"Name":"Raritan Engineering Company, Inc", "Value":1245}, + {"Name":"Honda Electronics", "Value":1239}, + {"Name":"Raritan Engineering", "Value":1245}, {"Name":"Integrated Power Solutions AG", "Value":1249}, - {"Name":"Interactive Technologies, Inc.", "Value":1260}, + {"Name":"Interactive Technologies", "Value":1260}, {"Name":"LTG-Tech", "Value":1283}, - {"Name":"Energy Solutions (UK) LTD.", "Value":1299}, - {"Name":"WATT Fuel Cell Corp", "Value":1300}, + {"Name":"Energy Solutions (UK)", "Value":1299}, + {"Name":"WATT Fuel Cell", "Value":1300}, {"Name":"Pro Mainer", "Value":1302}, {"Name":"Dragonfly Energy", "Value":1305}, - {"Name":"Koden Electronics Co., Ltd", "Value":1306}, - {"Name":"Humphree AB", "Value":1311}, + {"Name":"Koden Electronics", "Value":1306}, + {"Name":"Humphree", "Value":1311}, {"Name":"Hinkley Yachts", "Value":1316}, {"Name":"Global Marine Management GmbH (GMM)", "Value":1317}, - {"Name":"Triskel Marine Ltd", "Value":1320}, + {"Name":"Triskel Marine", "Value":1320}, {"Name":"Warwick Control Technologies", "Value":1330}, {"Name":"Dolphin Charger", "Value":1331}, - {"Name":"Barnacle Systems Inc", "Value":1337}, - {"Name":"Radian IoT, Inc.", "Value":1348}, - {"Name":"Ocean LED Marine Ltd", "Value":1353}, + {"Name":"Barnacle Systems", "Value":1337}, + {"Name":"Radian IoT", "Value":1348}, + {"Name":"Ocean LED Marine", "Value":1353}, {"Name":"BluNav", "Value":1359}, {"Name":"OVA (Nantong Saiyang Electronics Co., Ltd)", "Value":1361}, {"Name":"RAD Propulsion", "Value":1368}, {"Name":"Electric Yacht", "Value":1369}, {"Name":"Elco Motor Yachts", "Value":1372}, {"Name":"Tecnoseal Foundry S.r.l", "Value":1384}, - {"Name":"Pro Charging Systems, LLC", "Value":1385}, - {"Name":"EVEX Co., LTD", "Value":1389}, - {"Name":"Gobius Sensor Technology AB", "Value":1398}, + {"Name":"Pro Charging Systems", "Value":1385}, + {"Name":"EVEX", "Value":1389}, + {"Name":"Gobius Sensor Technology", "Value":1398}, {"Name":"Arco Marine", "Value":1403}, - {"Name":"Lenco Marine Inc.", "Value":1408}, - {"Name":"Naocontrol S.L.", "Value":1413}, + {"Name":"Lenco Marine", "Value":1408}, + {"Name":"Naocontrol", "Value":1413}, {"Name":"Revatek", "Value":1417}, {"Name":"Aeolionics", "Value":1438}, - {"Name":"PredictWind Ltd", "Value":1439}, + {"Name":"PredictWind", "Value":1439}, {"Name":"Egis Mobile Electric", "Value":1440}, {"Name":"Starboard Yacht Group", "Value":1445}, {"Name":"Roswell Marine", "Value":1446}, {"Name":"ePropulsion (Guangdong ePropulsion Technology Ltd.)", "Value":1451}, - {"Name":"Micro-Air LLC", "Value":1452}, + {"Name":"Micro-Air", "Value":1452}, {"Name":"Vital Battery", "Value":1453}, - {"Name":"Ride Controller LLC", "Value":1458}, + {"Name":"Ride Controller", "Value":1458}, {"Name":"Tocaro Blue", "Value":1460}, {"Name":"Vanquish Yachts", "Value":1461}, {"Name":"FT Technologies", "Value":1471}, - {"Name":"Alps Alpine Co., Ltd.", "Value":1478}, + {"Name":"Alps Alpine", "Value":1478}, {"Name":"E-Force Marine", "Value":1481}, {"Name":"CMC Marine", "Value":1482}, - {"Name":"Nanjing Sandemarine Information Technology Co., Ltd.", "Value":1483}, + {"Name":"Nanjing Sandemarine Information Technology", "Value":1483}, {"Name":"Teleflex Marine (SeaStar Solutions)", "Value":1850}, {"Name":"Raymarine", "Value":1851}, {"Name":"Navionics", "Value":1852}, - {"Name":"Japan Radio Co", "Value":1853}, + {"Name":"Japan Radio", "Value":1853}, {"Name":"Northstar Technologies", "Value":1854}, {"Name":"Furuno", "Value":1855}, {"Name":"Trimble", "Value":1856}, {"Name":"Simrad", "Value":1857}, {"Name":"Litton", "Value":1858}, - {"Name":"Kvasar AB", "Value":1859}, + {"Name":"Kvasar", "Value":1859}, {"Name":"MMP", "Value":1860}, {"Name":"Vector Cantech", "Value":1861}, {"Name":"Yamaha Marine", "Value":1862}, @@ -4557,6 +4568,33 @@ {"Name":"Kilometers per hour", "Value":3} ] }, + { + "Name":"SLEIPNER_THRUSTER_ACTION", + "MaxValue":3, + "EnumValues":[ + {"Name":"Active", "Value":1}, + {"Name":"Standby", "Value":2} + ] + }, + { + "Name":"SLEIPNER_THRUSTER_DIRECTION", + "MaxValue":3, + "EnumValues":[ + {"Name":"None", "Value":0}, + {"Name":"Direction 1", "Value":1}, + {"Name":"Direction 2", "Value":2} + ] + }, + { + "Name":"SLEIPNER_THRUSTER_STATE", + "MaxValue":15, + "EnumValues":[ + {"Name":"Stowing or deploying", "Value":0}, + {"Name":"Off", "Value":1}, + {"Name":"Ready", "Value":10}, + {"Name":"Thrusting", "Value":11} + ] + }, { "Name":"SONICHUB_COMMAND", "MaxValue":255, @@ -8702,7 +8740,7 @@ "BitLength":32, "BitOffset":32, "BitStart":0, - "Unit":"VAR", + "Unit":"VA", "Resolution":1, "Signed":true, "Offset":-2000000000, @@ -8712,7 +8750,7 @@ "OutOfRangeValue":4294967294, "ReservedValue":4294967293, "FieldType":"NUMBER", - "PhysicalQuantity":"ELECTRICAL_REACTIVE_POWER" + "PhysicalQuantity":"ELECTRICAL_APPARENT_POWER" } ] }, @@ -9780,11 +9818,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Honda Marine", + "Description":"Honda Motor", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":175, + "Match":257, "Resolution":1, "Signed":false, "RangeMin":0, @@ -9834,11 +9872,13 @@ "PGN":65280, "Id":"yanmarEngineDataA", "Description":"Yanmar: Engine Data A", + "Priority":6, + "Explanation":"Observed on Yanmar i8320P and i8320S engine interfaces. Throttle and transmission gear mirror the control-head command, and engine speed reports whole RPM.", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Interval" ], - "FieldCount":4, + "FieldCount":10, "Length":8, "Fields":[ { @@ -9885,12 +9925,107 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"unknownSelector", + "Name":"Unknown Selector", + "Description":"Observed as 1; the individual bit semantics are not yet known.", + "BitLength":5, "BitOffset":16, "BitStart":0, "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"engineInstance", + "Name":"Engine Instance", + "Description":"Uses the standard NMEA 2000 engine-instance values; observed as 0 for port and 1 for starboard.", + "BitLength":3, + "BitOffset":21, + "BitStart":5, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "UnknownValue":7, + "FieldType":"LOOKUP", + "LookupEnumeration":"ENGINE_INSTANCE" + }, + { + "Order":6, + "Id":"throttlePosition", + "Name":"Throttle Position", + "Description":"Observed control-lever position with 0.1 percent resolution.", + "BitLength":10, + "BitOffset":24, + "BitStart":0, + "Unit":"%", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":102, + "UnknownValue":1023, + "OutOfRangeValue":1022, + "ReservedValue":1021, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"spare", + "Name":"Spare", + "BitLength":4, + "BitOffset":34, + "BitStart":2, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":8, + "Id":"transmissionGear", + "Name":"Transmission Gear", + "Description":"Observed as Forward, Neutral, and Reverse, matching PGN 127493 for the corresponding engine instance.", + "BitLength":2, + "BitOffset":38, + "BitStart":6, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"GEAR_STATUS" + }, + { + "Order":9, + "Id":"engineSpeed", + "Name":"Engine Speed", + "Description":"Observed whole engine RPM; agrees with PGN 127488 after applying that PGN's 0.25 RPM resolution.", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Unit":"rpm", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"unknownData", + "Name":"Unknown Data", + "Description":"Observed as 0x64.", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, "FieldType":"BINARY" } ] @@ -10128,7 +10263,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -10323,25 +10458,27 @@ ] }, { - "PGN":65281, - "Id":"yanmarEngineDataB", - "Description":"Yanmar: Engine Data B", + "PGN":65280, + "Id":"sleipnerThrusterCommand", + "Description":"Sleipner: Thruster Command", + "Priority":2, + "Explanation":"Sent by Sleipner S-Link control panels (PJC-series joystick panels) at ~20 Hz per thruster instance, at priority 2. The instance selects which thruster the command applies to; direction and device action are separate two-bit fields; thrust is a ten-bit per-mille demand. The thrusters answer with PGN 130827, whose signed thrust field takes the sign of the commanded direction. The remaining bits were zero in every observed frame, including at full deflection.", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" + "Missing":["Fields","FieldLengths","Interval" ], - "FieldCount":4, + "FieldCount":8, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Yanmar Marine", + "Description":"Sleipner Motor", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":172, + "Match":306, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10377,23 +10514,88 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"thrusterInstance", + "Name":"Thruster Instance", + "Description":"Selects the thruster (pair) the command applies to", + "BitLength":4, "BitOffset":16, "BitStart":0, "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"direction", + "Name":"Direction", + "BitLength":2, + "BitOffset":20, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"SLEIPNER_THRUSTER_DIRECTION" + }, + { + "Order":6, + "Id":"deviceAction", + "Name":"Device Action", + "BitLength":2, + "BitOffset":22, + "BitStart":6, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"SLEIPNER_THRUSTER_ACTION" + }, + { + "Order":7, + "Id":"thrust", + "Name":"Thrust", + "Description":"Commanded thrust, 0 to 100%", + "BitLength":10, + "BitOffset":24, + "BitStart":0, + "Unit":"%", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":102, + "UnknownValue":1023, + "OutOfRangeValue":1022, + "ReservedValue":1021, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"reserved10", + "Name":"Reserved", + "Description":"Zero in every observed frame, including at full deflection", + "BitLength":30, + "BitOffset":34, + "BitStart":2, + "Resolution":1, "FieldType":"BINARY" } ] }, { "PGN":65281, - "Id":"bepMarineProprietaryPgn65281", - "Description":"BEP Marine: Proprietary PGN 65281", + "Id":"yanmarEngineDataB", + "Description":"Yanmar: Engine Data B", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution","SampleData","Interval" ], "FieldCount":4, "Length":8, @@ -10402,11 +10604,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Yanmar Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":172, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10453,26 +10655,25 @@ ] }, { - "PGN":65282, - "Id":"maretronNumberOfChannels", - "Description":"Maretron: Number of Channels", - "Priority":6, + "PGN":65281, + "Id":"bepMarineProprietaryPgn65281", + "Description":"BEP Marine: Proprietary PGN 65281", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, + "FieldCount":4, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10508,54 +10709,24 @@ }, { "Order":4, - "Id":"pgn", - "Name":"PGN", - "Description":"PGN for which the number of channels is reported", - "BitLength":24, + "Id":"data", + "Name":"Data", + "BitLength":48, "BitOffset":16, "BitStart":0, "Resolution":1, - "RangeMin":0, - "RangeMax":262143, - "FieldType":"PGN" - }, - { - "Order":5, - "Id":"numberOfChannels", - "Name":"Number of Channels", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"reserved6", - "Name":"Reserved", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"BINARY" } ] }, { "PGN":65282, - "Id":"bepMarineCzoneAlarmEvent", - "Description":"BEP Marine: CZone Alarm Event", - "Explanation":"CZone alarm-event PGN. A CZone module emits this single-frame PGN to assert or clear an alarm condition on the bus; the plotter's alarm engine routes it through a 3-sample debounce before raising or clearing the alarm in the UI. Modules originate this PGN themselves (the host CZone library is unpack-only). The byte at offset 2 is read by the unpacker but ignored by the alarm classifier; its per-source semantics are not yet observed in real captures (likely a sub-type / channel index, an alarm-state polarity flag, or a frame counter).", - "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65282.md", + "Id":"maretronNumberOfChannels", + "Description":"Maretron: Number of Channels", + "Priority":6, "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], "FieldCount":6, "Length":8, @@ -10564,11 +10735,107 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":137, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"pgn", + "Name":"PGN", + "Description":"PGN for which the number of channels is reported", + "BitLength":24, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "RangeMin":0, + "RangeMax":262143, + "FieldType":"PGN" + }, + { + "Order":5, + "Id":"numberOfChannels", + "Name":"Number of Channels", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65282, + "Id":"bepMarineCzoneAlarmEvent", + "Description":"BEP Marine: CZone Alarm Event", + "Explanation":"CZone alarm-event PGN. A CZone module emits this single-frame PGN to assert or clear an alarm condition on the bus; the plotter's alarm engine routes it through a 3-sample debounce before raising or clearing the alarm in the UI. Modules originate this PGN themselves (the host CZone library is unpack-only). The byte at offset 2 is read by the unpacker but ignored by the alarm classifier; its per-source semantics are not yet observed in real captures (likely a sub-type / channel index, an alarm-state polarity flag, or a frame counter).", + "URL":"https://github.com/dirkwa/czone-spec/blob/main/spec/pgn-65282.md", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":6, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":295, "Resolution":1, "Signed":false, "RangeMin":0, @@ -10657,7 +10924,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -11055,11 +11322,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Honda Marine", + "Description":"Honda Motor", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":175, + "Match":257, "Resolution":1, "Signed":false, "RangeMin":0, @@ -11122,7 +11389,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -11207,27 +11474,27 @@ ] }, { - "PGN":65285, - "Id":"airmarBootStateAcknowledgment", - "Description":"Airmar: Boot State Acknowledgment", - "Priority":5, - "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", + "PGN":65284, + "Id":"yanmarThrottleControl", + "Description":"Yanmar: Throttle Control", + "Priority":2, + "Explanation":"Observed from a Yanmar CAN Bus Control Head at approximately 21 Hz per engine instance. The standard engine-instance bit independently identifies port and starboard transmission gear and throttle commands, mirrored by the corresponding engine interfaces in PGN 65280.", "Type":"Single", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Interval" ], - "FieldCount":5, + "FieldCount":11, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Airmar", + "Description":"Yanmar Marine", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":135, + "Match":172, "Resolution":1, "Signed":false, "RangeMin":0, @@ -11263,51 +11530,139 @@ }, { "Order":4, - "Id":"bootState", - "Name":"Boot State", - "BitLength":3, + "Id":"unknownSelector", + "Name":"Unknown Selector", + "Description":"Observed as 1; the individual bit semantics are not yet known.", + "BitLength":5, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, + "RangeMax":29, + "UnknownValue":31, + "OutOfRangeValue":30, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"engineInstance", + "Name":"Engine Instance", + "Description":"Uses the standard NMEA 2000 engine-instance values; observed as 0 for port and 1 for starboard.", + "BitLength":3, + "BitOffset":21, + "BitStart":5, + "Resolution":1, + "Signed":false, + "RangeMin":0, "RangeMax":6, "UnknownValue":7, "FieldType":"LOOKUP", - "LookupEnumeration":"BOOT_STATE" + "LookupEnumeration":"ENGINE_INSTANCE" }, { - "Order":5, - "Id":"reserved5", - "Name":"Reserved", - "BitLength":45, - "BitOffset":19, + "Order":6, + "Id":"transmissionGear", + "Name":"Transmission Gear", + "Description":"Observed as Forward, Neutral, and Reverse for the selected engine channel.", + "BitLength":2, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2, + "UnknownValue":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"GEAR_STATUS" + }, + { + "Order":7, + "Id":"unknownControlFlag", + "Name":"Unknown Control Flag", + "Description":"Observed as 0 during the gear-transition capture and 1 in earlier underway throttle captures.", + "BitLength":1, + "BitOffset":26, + "BitStart":2, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":1, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"reservedControlBits", + "Name":"Reserved Control Bits", + "BitLength":5, + "BitOffset":27, "BitStart":3, "Resolution":1, "FieldType":"RESERVED" + }, + { + "Order":9, + "Id":"throttlePosition", + "Name":"Throttle Position", + "Description":"Observed control-lever position with 0.1 percent resolution.", + "BitLength":10, + "BitOffset":32, + "BitStart":0, + "Unit":"%", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":102, + "UnknownValue":1023, + "OutOfRangeValue":1022, + "ReservedValue":1021, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":6, + "BitOffset":42, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":11, + "Id":"unknownData", + "Name":"Unknown Data", + "Description":"Observed as 0x64FF.", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" } ] }, { "PGN":65285, - "Id":"lowranceTemperature", - "Description":"Lowrance: Temperature", + "Id":"airmarBootStateAcknowledgment", + "Description":"Airmar: Boot State Acknowledgment", + "Priority":5, + "URL":"https://web.archive.org/web/20230330115009/www.airmartechnology.com/uploads/installguide/DST200UserlManual.pdf", "Type":"Single", "Complete":false, "Missing":["Interval" ], - "FieldCount":6, + "FieldCount":5, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Lowrance", + "Description":"Airmar", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":140, + "Match":135, "Resolution":1, "Signed":false, "RangeMin":0, @@ -11343,47 +11698,26 @@ }, { "Order":4, - "Id":"temperatureSource", - "Name":"Temperature Source", - "BitLength":8, + "Id":"bootState", + "Name":"Boot State", + "BitLength":3, "BitOffset":16, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":6, + "UnknownValue":7, "FieldType":"LOOKUP", - "LookupEnumeration":"TEMPERATURE_SOURCE", - "PartOfPrimaryKey":true + "LookupEnumeration":"BOOT_STATE" }, { "Order":5, - "Id":"actualTemperature", - "Name":"Actual Temperature", - "BitLength":16, - "BitOffset":24, - "BitStart":0, - "Unit":"K", - "Resolution":0.01, - "Signed":false, - "RangeMin":0, - "RangeMax":655.32, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"TEMPERATURE" - }, - { - "Order":6, - "Id":"reserved6", + "Id":"reserved5", "Name":"Reserved", - "BitLength":24, - "BitOffset":40, - "BitStart":0, + "BitLength":45, + "BitOffset":19, + "BitStart":3, "Resolution":1, "FieldType":"RESERVED" } @@ -11391,24 +11725,125 @@ }, { "PGN":65285, - "Id":"maretronUniversalConfigurationSf", - "Description":"Maretron: Universal Configuration SF", + "Id":"lowranceTemperature", + "Description":"Lowrance: Temperature", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":4, + "FieldCount":6, "Length":8, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Lowrance", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":140, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"temperatureSource", + "Name":"Temperature Source", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"TEMPERATURE_SOURCE", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"actualTemperature", + "Name":"Actual Temperature", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"K", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"TEMPERATURE" + }, + { + "Order":6, + "Id":"reserved6", + "Name":"Reserved", + "BitLength":24, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + } + ] + }, + { + "PGN":65285, + "Id":"maretronUniversalConfigurationSf", + "Description":"Maretron: Universal Configuration SF", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Maretron", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -12738,7 +13173,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -13479,7 +13914,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -13545,7 +13980,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -13715,7 +14150,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -13780,7 +14215,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -13976,7 +14411,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -14141,7 +14576,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -14291,7 +14726,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -14752,7 +15187,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -14919,27 +15354,26 @@ ] }, { - "PGN":65305, - "Id":"simnetDeviceStatus", - "Description":"Simnet: Device Status", - "Explanation":"This PGN is reported by an Autopilot Computer (AC/NAC)", + "PGN":65304, + "Id":"sleipnerDeviceStatus", + "Description":"Sleipner: Device Status", + "Explanation":"Sent by Sleipner S-Link devices once the system is switched on. Carries the same identity and state layout as the fast-packet PGN 130828; the unique number matches the ISO identity number the same device claims in PGN 60928, which is how the field was identified.", "Type":"Single", "Complete":false, - "Missing":["Lookups" + "Missing":["Fields","FieldLengths","Interval" ], - "FieldCount":7, + "FieldCount":8, "Length":8, - "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Simrad", + "Description":"Sleipner Motor", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":1857, + "Match":306, "Resolution":1, "Signed":false, "RangeMin":0, @@ -14975,8 +15409,9 @@ }, { "Order":4, - "Id":"model", - "Name":"Model", + "Id":"deviceType", + "Name":"Device Type", + "Description":"Constant per device", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -14987,114 +15422,63 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_MODEL" + "FieldType":"NUMBER" }, { "Order":5, - "Id":"report", - "Name":"Report", - "Description":"Status", - "BitLength":8, + "Id":"deviceIndex", + "Name":"Device Index", + "Description":"Stable per-device index", + "BitLength":4, "BitOffset":24, "BitStart":0, - "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_REPORT", - "PartOfPrimaryKey":true + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"status", - "Name":"Status", - "BitLength":8, - "BitOffset":32, - "BitStart":0, + "Id":"a", + "Name":"A", + "Description":"Varies with system state; the value set is wider than the thruster state reported in PGN 130827 and is not yet understood", + "BitLength":4, + "BitOffset":28, + "BitStart":4, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_AP_STATUS" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { "Order":7, - "Id":"spare7", - "Name":"Spare", + "Id":"uniqueNumber", + "Name":"Unique Number", + "Description":"ISO Identity Number, as claimed by this device in PGN 60928", "BitLength":24, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "FieldType":"SPARE" - } - ] - }, - { - "PGN":65305, - "Id":"simnetDeviceStatusRequest", - "Description":"Simnet: Device Status Request", - "Explanation":"This PGN is sent by an active AutoPilot head controller (AP, MFD, Triton2). It is used by the AC (AutoPilot Controller) to verify that there is an active controller. If this PGN is not sent regularly the AC may report an error and go to standby.", - "Type":"Single", - "Complete":true, - "FieldCount":6, - "Length":8, - "TransmissionInterval":1000, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"Simrad", - "BitLength":11, - "BitOffset":0, + "BitOffset":32, "BitStart":0, - "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, - "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":6, - "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "RangeMax":16777212, + "UnknownValue":16777215, + "OutOfRangeValue":16777214, + "ReservedValue":16777213, + "FieldType":"NUMBER" }, { - "Order":4, - "Id":"model", - "Name":"Model", + "Order":8, + "Id":"b", + "Name":"B", "BitLength":8, - "BitOffset":16, + "BitOffset":56, "BitStart":0, "Resolution":1, "Signed":false, @@ -15103,42 +15487,14 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_MODEL" - }, - { - "Order":5, - "Id":"report", - "Name":"Report", - "Description":"Send Status", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Match":3, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "FieldType":"LOOKUP", - "LookupEnumeration":"SIMNET_DEVICE_REPORT", - "PartOfPrimaryKey":true - }, - { - "Order":6, - "Id":"spare6", - "Name":"Spare", - "BitLength":32, - "BitOffset":32, - "BitStart":0, - "Resolution":1, - "FieldType":"SPARE" + "FieldType":"NUMBER" } ] }, { "PGN":65305, - "Id":"simnetPilotMode", - "Description":"Simnet: Pilot Mode", + "Id":"simnetDeviceStatus", + "Description":"Simnet: Device Status", "Explanation":"This PGN is reported by an Autopilot Computer (AC/NAC)", "Type":"Single", "Complete":false, @@ -15211,11 +15567,11 @@ "Order":5, "Id":"report", "Name":"Report", - "Description":"Mode", + "Description":"Status", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":10, + "Match":2, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15226,23 +15582,27 @@ }, { "Order":6, - "Id":"mode", - "Name":"Mode", - "BitLength":16, + "Id":"status", + "Name":"Status", + "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, + "Signed":false, "RangeMin":0, - "RangeMax":65535, - "FieldType":"BITLOOKUP", - "LookupBitEnumeration":"SIMNET_AP_MODE_BITFIELD" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_AP_STATUS" }, { "Order":7, "Id":"spare7", "Name":"Spare", - "BitLength":16, - "BitOffset":48, + "BitLength":24, + "BitOffset":40, "BitStart":0, "Resolution":1, "FieldType":"SPARE" @@ -15251,8 +15611,8 @@ }, { "PGN":65305, - "Id":"simnetDeviceModeRequest", - "Description":"Simnet: Device Mode Request", + "Id":"simnetDeviceStatusRequest", + "Description":"Simnet: Device Status Request", "Explanation":"This PGN is sent by an active AutoPilot head controller (AP, MFD, Triton2). It is used by the AC (AutoPilot Controller) to verify that there is an active controller. If this PGN is not sent regularly the AC may report an error and go to standby.", "Type":"Single", "Complete":true, @@ -15323,11 +15683,11 @@ "Order":5, "Id":"report", "Name":"Report", - "Description":"Send Mode", + "Description":"Send Status", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":11, + "Match":3, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15350,14 +15710,14 @@ }, { "PGN":65305, - "Id":"simnetSailingProcessorStatus", - "Description":"Simnet: Sailing Processor Status", - "Explanation":"This PGN has been seen to be reported by a Sailing Processor.", + "Id":"simnetPilotMode", + "Description":"Simnet: Pilot Mode", + "Explanation":"This PGN is reported by an Autopilot Computer (AC/NAC)", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution" + "Missing":["Lookups" ], - "FieldCount":6, + "FieldCount":7, "Length":8, "TransmissionInterval":1000, "Fields":[ @@ -15424,11 +15784,11 @@ "Order":5, "Id":"report", "Name":"Report", - "Description":"Sailing Processor Status", + "Description":"Mode", "BitLength":8, "BitOffset":24, "BitStart":0, - "Match":23, + "Match":10, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15439,36 +15799,49 @@ }, { "Order":6, - "Id":"data", - "Name":"Data", - "BitLength":32, + "Id":"mode", + "Name":"Mode", + "BitLength":16, "BitOffset":32, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "RangeMin":0, + "RangeMax":65535, + "FieldType":"BITLOOKUP", + "LookupBitEnumeration":"SIMNET_AP_MODE_BITFIELD" + }, + { + "Order":7, + "Id":"spare7", + "Name":"Spare", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" } ] }, { - "PGN":65306, - "Id":"bepMarineProprietaryPgn65306", - "Description":"BEP Marine: Proprietary PGN 65306", + "PGN":65305, + "Id":"simnetDeviceModeRequest", + "Description":"Simnet: Device Mode Request", + "Explanation":"This PGN is sent by an active AutoPilot head controller (AP, MFD, Triton2). It is used by the AC (AutoPilot Controller) to verify that there is an active controller. If this PGN is not sent regularly the AC may report an error and go to standby.", "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":4, + "Complete":true, + "FieldCount":6, "Length":8, + "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":295, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15504,102 +15877,72 @@ }, { "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, + "Id":"model", + "Name":"Model", + "BitLength":8, "BitOffset":16, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" - } - ] - }, - { - "PGN":65308, - "Id":"bepMarineProprietaryPgn65308", - "Description":"BEP Marine: Proprietary PGN 65308", - "Type":"Single", - "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" - ], - "FieldCount":4, - "Length":8, - "Fields":[ - { - "Order":1, - "Id":"manufacturerCode", - "Name":"Manufacturer Code", - "Description":"BEP Marine 2", - "BitLength":11, - "BitOffset":0, - "BitStart":0, - "Match":295, - "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":2044, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"LOOKUP", - "LookupEnumeration":"MANUFACTURER_CODE" - }, - { - "Order":2, - "Id":"reserved", - "Name":"Reserved", - "BitLength":2, - "BitOffset":11, - "BitStart":3, - "Resolution":1, - "FieldType":"RESERVED" + "LookupEnumeration":"SIMNET_DEVICE_MODEL" }, { - "Order":3, - "Id":"industryCode", - "Name":"Industry Code", - "Description":"Marine Industry", - "BitLength":3, - "BitOffset":13, - "BitStart":5, - "Match":4, + "Order":5, + "Id":"report", + "Name":"Report", + "Description":"Send Mode", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Match":11, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6, + "RangeMax":252, "FieldType":"LOOKUP", - "LookupEnumeration":"INDUSTRY_CODE" + "LookupEnumeration":"SIMNET_DEVICE_REPORT", + "PartOfPrimaryKey":true }, { - "Order":4, - "Id":"data", - "Name":"Data", - "BitLength":48, - "BitOffset":16, + "Order":6, + "Id":"spare6", + "Name":"Spare", + "BitLength":32, + "BitOffset":32, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "FieldType":"SPARE" } ] }, { - "PGN":65309, - "Id":"navicoWirelessBatteryStatus", - "Description":"Navico: Wireless Battery Status", - "Priority":7, + "PGN":65305, + "Id":"simnetSailingProcessorStatus", + "Description":"Simnet: Sailing Processor Status", + "Explanation":"This PGN has been seen to be reported by a Sailing Processor.", "Type":"Single", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":8, + "FieldCount":6, "Length":8, + "TransmissionInterval":1000, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Navico", + "Description":"Simrad", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":275, + "Match":1857, "Resolution":1, "Signed":false, "RangeMin":0, @@ -15635,8 +15978,8 @@ }, { "Order":4, - "Id":"status", - "Name":"Status", + "Id":"model", + "Name":"Model", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -15647,76 +15990,42 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_MODEL" }, { "Order":5, - "Id":"batteryStatus", - "Name":"Battery Status", + "Id":"report", + "Name":"Report", + "Description":"Sailing Processor Status", "BitLength":8, "BitOffset":24, "BitStart":0, - "Unit":"%", + "Match":23, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" + "FieldType":"LOOKUP", + "LookupEnumeration":"SIMNET_DEVICE_REPORT", + "PartOfPrimaryKey":true }, { "Order":6, - "Id":"batteryChargeStatus", - "Name":"Battery Charge Status", - "BitLength":8, + "Id":"data", + "Name":"Data", + "BitLength":32, "BitOffset":32, "BitStart":0, - "Unit":"%", - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER", - "PhysicalQuantity":"DIMENSIONLESS_RATIO" - }, - { - "Order":7, - "Id":"reserved7", - "Name":"Reserved", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":8, - "Id":"a", - "Name":"A", - "BitLength":16, - "BitOffset":48, - "BitStart":0, "Resolution":1, - "Signed":true, - "RangeMin":-32767, - "RangeMax":32764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER" + "FieldType":"BINARY" } ] }, { - "PGN":65310, - "Id":"bepMarineProprietaryPgn65310", - "Description":"BEP Marine: Proprietary PGN 65310", + "PGN":65306, + "Id":"bepMarineProprietaryPgn65306", + "Description":"BEP Marine: Proprietary PGN 65306", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -15728,7 +16037,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -15779,9 +16088,9 @@ ] }, { - "PGN":65311, - "Id":"bepMarineProprietaryPgn65311", - "Description":"BEP Marine: Proprietary PGN 65311", + "PGN":65308, + "Id":"bepMarineProprietaryPgn65308", + "Description":"BEP Marine: Proprietary PGN 65308", "Type":"Single", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -15793,7 +16102,271 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":295, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":65309, + "Id":"navicoWirelessBatteryStatus", + "Description":"Navico: Wireless Battery Status", + "Priority":7, + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":8, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Navico", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":275, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"status", + "Name":"Status", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"batteryStatus", + "Name":"Battery Status", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Unit":"%", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":6, + "Id":"batteryChargeStatus", + "Name":"Battery Charge Status", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Unit":"%", + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":7, + "Id":"reserved7", + "Name":"Reserved", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":8, + "Id":"a", + "Name":"A", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":true, + "RangeMin":-32767, + "RangeMax":32764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":65310, + "Id":"bepMarineProprietaryPgn65310", + "Description":"BEP Marine: Proprietary PGN 65310", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":295, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"data", + "Name":"Data", + "BitLength":48, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + } + ] + }, + { + "PGN":65311, + "Id":"bepMarineProprietaryPgn65311", + "Description":"BEP Marine: Proprietary PGN 65311", + "Type":"Single", + "Complete":false, + "Missing":["Fields","FieldLengths","Resolution","Interval" + ], + "FieldCount":4, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -16072,7 +16645,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -16312,7 +16885,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -16663,7 +17236,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -22615,12 +23188,13 @@ "Id":"garminAutopilotModeState", "Description":"Garmin Autopilot: Mode State", "Priority":7, + "Explanation":"Observed directed control-head commands and matching autopilot broadcasts use an 11-byte payload with a trailing spare zero byte.", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":10, - "Length":10, + "FieldCount":11, + "Length":11, "Fields":[ { "Order":1, @@ -22742,13 +23316,13 @@ }, { "Order":9, - "Id":"reserved9", - "Name":"Reserved", + "Id":"spare9", + "Name":"Spare", "BitLength":8, "BitOffset":64, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"SPARE" }, { "Order":10, @@ -22766,6 +23340,16 @@ "ReservedValue":253, "FieldType":"LOOKUP", "LookupEnumeration":"GARMIN_AUTOPILOT_MODE_STATE" + }, + { + "Order":11, + "Id":"spare11", + "Name":"Spare", + "BitLength":8, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" } ] }, @@ -22917,6 +23501,7 @@ "Id":"garminAutopilotManeuver", "Description":"Garmin Autopilot: Maneuver", "Priority":7, + "Explanation":"Observed Garmin helm turn-button commands 0 through 3 use a 9-byte payload ending after a zero spare byte. Other command forms may include the trailing Value field, whose semantics are not yet known.", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -23029,7 +23614,6 @@ "Order":8, "Id":"maneuverCode", "Name":"Maneuver Code", - "Description":"Maneuver button event code (observed 0..9)", "BitLength":8, "BitOffset":56, "BitStart":0, @@ -23040,17 +23624,18 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"GARMIN_AUTOPILOT_MANEUVER_CODE" }, { "Order":9, - "Id":"reserved9", - "Name":"Reserved", + "Id":"spare9", + "Name":"Spare", "BitLength":8, "BitOffset":64, "BitStart":0, "Resolution":1, - "FieldType":"RESERVED" + "FieldType":"SPARE" }, { "Order":10, @@ -27649,6 +28234,389 @@ } ] }, + { + "PGN":126720, + "Id":"fusionMenuActionCommand", + "Description":"Fusion: Menu Action Command", + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":8, + "Length":11, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":419, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Menu Action", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":9, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"sourceId", + "Name":"Source ID", + "Description":"Runtime source identifier announced by Fusion Source status messages; not a stable source-type enumeration.", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"itemIndex", + "Name":"Item Index", + "BitLength":32, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"action", + "Name":"Action", + "BitLength":8, + "BitOffset":72, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_MENU_ACTION" + }, + { + "Order":8, + "Id":"lockId", + "Name":"Lock ID", + "BitLength":8, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":126720, + "Id":"fusionRequestMenuCount", + "Description":"Fusion: Request Menu Count", + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":6, + "Length":6, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":419, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Request Menu Count", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":10, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"sourceId", + "Name":"Source ID", + "Description":"Runtime source identifier announced by Fusion Source status messages; not a stable source-type enumeration.", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"lockId", + "Name":"Lock ID", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":126720, + "Id":"fusionRequestMenuItems", + "Description":"Fusion: Request Menu Items", + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":8, + "Length":14, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":419, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"proprietaryId", + "Name":"Proprietary ID", + "Description":"Request Menu Item", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":11, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"sourceId", + "Name":"Source ID", + "Description":"Runtime source identifier announced by Fusion Source status messages; not a stable source-type enumeration.", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"startIndex", + "Name":"Start Index", + "BitLength":32, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"count", + "Name":"Count", + "BitLength":32, + "BitOffset":72, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"lockId", + "Name":"Lock ID", + "BitLength":8, + "BitOffset":104, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, { "PGN":126976, "Id":"0x1f0000x1feffStandardizedMixedSingleFastPacketNonAddressed", @@ -29286,6 +30254,7 @@ "Type":"Fast", "Complete":true, "FieldCount":8, + "MinLength":132, "Length":134, "TransmissionIrregular":true, "Fields":[ @@ -30448,6 +31417,7 @@ "Type":"Single", "Complete":true, "FieldCount":6, + "MinLength":6, "Length":8, "TransmissionInterval":1000, "Fields":[ @@ -33627,6 +34597,7 @@ "Type":"Fast", "Complete":true, "FieldCount":8, + "MinLength":9, "Length":11, "TransmissionInterval":1500, "Fields":[ @@ -35488,10 +36459,10 @@ "PGN":127751, "Id":"dcVoltageCurrent", "Description":"DC Voltage/Current", - "Explanation":"This PGN has not been observed live on a real bus, so its framing is unconfirmed. The 8-byte payload fits a single frame, but CSS Electronics lists it as fast packet and a single-frame variant was not recognized by a Navico chartplotter in testing, so it is defined here as fast packet (the more likely framing) until a live capture settles it. The transmission interval is likewise unknown. See github issue #655.", - "Type":"Fast", + "Explanation":"This PGN has been observed only on Maretron devices so far.", + "Type":"Single", "Complete":false, - "Missing":["SampleData","Interval" + "Missing":["Interval" ], "FieldCount":5, "Length":8, @@ -38922,6 +39893,7 @@ "Type":"Fast", "Complete":true, "FieldCount":20, + "MinLength":27, "Length":28, "TransmissionIrregular":true, "Fields":[ @@ -39233,7 +40205,8 @@ "URL":"https://web.archive.org/web/20251212005646/www.itu.int/rec/R-REC-M.1371-5-201402-I/en", "Type":"Fast", "Complete":true, - "FieldCount":23, + "FieldCount":24, + "MinLength":26, "Length":27, "TransmissionIrregular":true, "Fields":[ @@ -39564,11 +40537,27 @@ "Order":23, "Id":"reserved", "Name":"Reserved", - "BitLength":15, + "BitLength":7, "BitOffset":201, "BitStart":1, "Resolution":1, "FieldType":"RESERVED" + }, + { + "Order":24, + "Id":"sequenceId", + "Name":"Sequence ID", + "BitLength":8, + "BitOffset":208, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, @@ -43832,8 +44821,9 @@ "URL":"https://web.archive.org/web/20251212005646/www.itu.int/rec/R-REC-M.1371-5-201402-I/en", "Type":"Fast", "Complete":true, - "FieldCount":14, - "Length":24, + "FieldCount":17, + "MinLength":26, + "Length":27, "TransmissionIrregular":true, "Fields":[ { @@ -44042,6 +45032,42 @@ "OutOfRangeValue":14, "FieldType":"LOOKUP", "LookupEnumeration":"POSITION_FIX_DEVICE" + }, + { + "Order":15, + "Id":"spare15", + "Name":"Spare", + "BitLength":10, + "BitOffset":192, + "BitStart":0, + "Resolution":1, + "FieldType":"SPARE" + }, + { + "Order":16, + "Id":"reserved16", + "Name":"Reserved", + "BitLength":6, + "BitOffset":202, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":17, + "Id":"sequenceId", + "Name":"Sequence ID", + "BitLength":8, + "BitOffset":208, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, @@ -44053,8 +45079,9 @@ "URL":"https://web.archive.org/web/20251212005646/www.itu.int/rec/R-REC-M.1371-5-201402-I/en", "Type":"Fast", "Complete":true, - "FieldCount":21, - "Length":75, + "FieldCount":22, + "MinLength":75, + "Length":76, "TransmissionIrregular":true, "Fields":[ { @@ -44366,6 +45393,22 @@ "BitStart":5, "Resolution":1, "FieldType":"RESERVED" + }, + { + "Order":22, + "Id":"sequenceId", + "Name":"Sequence ID", + "BitLength":8, + "BitOffset":600, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, @@ -47463,6 +48506,7 @@ "Type":"Fast", "Complete":true, "FieldCount":7, + "MinLength":25, "Length":27, "TransmissionIrregular":true, "Fields":[ @@ -47572,6 +48616,7 @@ "Type":"Fast", "Complete":true, "FieldCount":17, + "MinLength":33, "Length":35, "TransmissionIrregular":true, "Fields":[ @@ -60853,7 +61898,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -60963,11 +62008,11 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Honda Marine", + "Description":"Honda Motor", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":175, + "Match":257, "Resolution":1, "Signed":false, "RangeMin":0, @@ -61707,9 +62752,10 @@ "Id":"maretronAnnunciatorCapabilities", "Description":"Maretron: Annunciator Capabilities", "Priority":6, + "ResearchDoc":"maretron_alm100", "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], "FieldCount":6, "MinLength":4, @@ -61827,7 +62873,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -61911,6 +62957,464 @@ } ] }, + { + "PGN":130817, + "Id":"sleipnerThrusterStatusPpc820", + "Description":"Sleipner: PPC820 Thruster Status", + "Explanation":"Status and telemetry from a Sleipner PPC-series electric thruster controller on the S-Link bus. PGN 130817 is multiplexed by the device-type byte; this variant is the PPC820 (device type 25). The PPC520 (device type 24) carries the identical layout. The field layout follows Sleipner's own S-Link device definition; each field was verified against a live capture: motor voltage sags under load while motor current rises with commanded thrust, and the signed output thrust tracks PGN 130827 for the same unit. Fields A, B, C and the trailing byte D were not identified.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Interval" + ], + "FieldCount":14, + "Length":17, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Sleipner Motor", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":306, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"deviceType", + "Name":"Device Type", + "Description":"PPC820", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Match":25, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"a", + "Name":"A", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"status", + "Name":"Status", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":7, + "Id":"motorTemperature", + "Name":"Motor Temperature", + "Description":"Temperature in degrees Celsius", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"powerTemperature", + "Name":"Power Temperature", + "Description":"Temperature in degrees Celsius", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"b", + "Name":"B", + "BitLength":8, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"motorVoltage", + "Name":"Motor Voltage", + "BitLength":16, + "BitOffset":72, + "BitStart":0, + "Unit":"V", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":11, + "Id":"c", + "Name":"C", + "BitLength":16, + "BitOffset":88, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":12, + "Id":"motorCurrent", + "Name":"Motor Current", + "BitLength":16, + "BitOffset":104, + "BitStart":0, + "Unit":"A", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" + }, + { + "Order":13, + "Id":"outputThrust", + "Name":"Output Thrust", + "Description":"Reported thrust, -100 to 100%; the sign is the direction", + "BitLength":8, + "BitOffset":120, + "BitStart":0, + "Unit":"%", + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":14, + "Id":"d", + "Name":"D", + "BitLength":8, + "BitOffset":128, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":130817, + "Id":"sleipnerThrusterStatusPpc520", + "Description":"Sleipner: PPC520 Thruster Status", + "Explanation":"Status and telemetry from a Sleipner PPC-series electric thruster controller on the S-Link bus. PGN 130817 is multiplexed by the device-type byte; this variant is the PPC520 (device type 24). The PPC820 (device type 25) carries the identical layout. The field layout follows Sleipner's own S-Link device definition; each field was verified against a live capture: motor voltage sags under load while motor current rises with commanded thrust, and the signed output thrust tracks PGN 130827 for the same unit. Fields A, B, C and the trailing byte D were not identified.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Interval" + ], + "FieldCount":14, + "Length":17, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Sleipner Motor", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":306, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"deviceType", + "Name":"Device Type", + "Description":"PPC520", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Match":24, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"a", + "Name":"A", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"status", + "Name":"Status", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":7, + "Id":"motorTemperature", + "Name":"Motor Temperature", + "Description":"Temperature in degrees Celsius", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"powerTemperature", + "Name":"Power Temperature", + "Description":"Temperature in degrees Celsius", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"b", + "Name":"B", + "BitLength":8, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"motorVoltage", + "Name":"Motor Voltage", + "BitLength":16, + "BitOffset":72, + "BitStart":0, + "Unit":"V", + "Resolution":0.01, + "Signed":false, + "RangeMin":0, + "RangeMax":655.32, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"POTENTIAL_DIFFERENCE" + }, + { + "Order":11, + "Id":"c", + "Name":"C", + "BitLength":16, + "BitOffset":88, + "BitStart":0, + "Resolution":1, + "FieldType":"BINARY" + }, + { + "Order":12, + "Id":"motorCurrent", + "Name":"Motor Current", + "BitLength":16, + "BitOffset":104, + "BitStart":0, + "Unit":"A", + "Resolution":0.1, + "Signed":false, + "RangeMin":0, + "RangeMax":6553.2, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ELECTRICAL_CURRENT" + }, + { + "Order":13, + "Id":"outputThrust", + "Name":"Output Thrust", + "Description":"Reported thrust, -100 to 100%; the sign is the direction", + "BitLength":8, + "BitOffset":120, + "BitStart":0, + "Unit":"%", + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":14, + "Id":"d", + "Name":"D", + "BitLength":8, + "BitOffset":128, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, { "PGN":130818, "Id":"simnetReprogramData", @@ -62415,7 +63919,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -62677,6 +64181,7 @@ "Id":"maretronAlertTransmission", "Description":"Maretron: Alert Transmission", "Priority":7, + "ResearchDoc":"maretron_alm100", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -63272,7 +64777,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -63465,7 +64970,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -67853,11 +69358,270 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Capabilities", + "Description":"Capabilities", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":32798, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"zone1", + "Name":"Zone 1", + "BitLength":16, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"zone2", + "Name":"Zone 2", + "BitLength":16, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"zone3", + "Name":"Zone 3", + "BitLength":16, + "BitOffset":64, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"zone4", + "Name":"Zone 4", + "BitLength":16, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"global", + "Name":"Global", + "BitLength":16, + "BitOffset":96, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":130820, + "Id":"fusionLineLevelControl", + "Description":"Fusion: Line Level Control", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":6, + "Length":6, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":419, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Line Level Control", + "BitLength":16, + "BitOffset":16, + "BitStart":0, + "Match":32799, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"zone", + "Name":"Zone", + "BitLength":8, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"control", + "Name":"Control", + "BitLength":8, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":130820, + "Id":"fusionPowerState", + "Description":"Fusion: Power State", + "Priority":7, + "Type":"Fast", + "Complete":false, + "Missing":["Interval" + ], + "FieldCount":5, + "Length":5, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Fusion Electronics", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":419, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Power", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32798, + "Match":32800, "Resolution":1, "Signed":false, "RangeMin":0, @@ -67868,97 +69632,34 @@ }, { "Order":5, - "Id":"zone1", - "Name":"Zone 1", - "BitLength":16, + "Id":"state", + "Name":"State", + "BitLength":8, "BitOffset":32, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":6, - "Id":"zone2", - "Name":"Zone 2", - "BitLength":16, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"zone3", - "Name":"Zone 3", - "BitLength":16, - "BitOffset":64, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"zone4", - "Name":"Zone 4", - "BitLength":16, - "BitOffset":80, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"global", - "Name":"Global", - "BitLength":16, - "BitOffset":96, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_POWER_STATE" } ] }, { "PGN":130820, - "Id":"fusionLineLevelControl", - "Description":"Fusion: Line Level Control", + "Id":"fusionSiriusxm", + "Description":"Fusion: SiriusXM", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":9, + "Length":10, "Fields":[ { "Order":1, @@ -68006,11 +69707,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Line Level Control", + "Description":"Sirius", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32799, + "Match":32802, "Resolution":1, "Signed":false, "RangeMin":0, @@ -68021,8 +69722,8 @@ }, { "Order":5, - "Id":"zone", - "Name":"Zone", + "Id":"sourceId", + "Name":"Source ID", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -68038,33 +69739,78 @@ }, { "Order":6, - "Id":"control", - "Name":"Control", + "Id":"comState", + "Name":"Com State", "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SIRIUS_COM_STATE" + }, + { + "Order":7, + "Id":"alert", + "Name":"Alert", + "BitLength":8, + "BitOffset":48, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":255, + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SIRIUS_COM_STATE" + }, + { + "Order":8, + "Id":"advisoryChannel", + "Name":"Advisory Channel", + "BitLength":16, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"tuningMode", + "Name":"Tuning Mode", + "BitLength":8, + "BitOffset":72, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, "RangeMax":252, "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_SIRIUS_TUNING_MODE" } ] }, { "PGN":130820, - "Id":"fusionPowerState", - "Description":"Fusion: Power State", + "Id":"fusionSiriusxmChannel", + "Description":"Fusion: SiriusXM Channel", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":5, - "Length":5, + "FieldCount":7, + "MinLength":7, "Fields":[ { "Order":1, @@ -68112,11 +69858,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Power", + "Description":"SiriusXM Channel", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32800, + "Match":32804, "Resolution":1, "Signed":false, "RangeMin":0, @@ -68127,8 +69873,8 @@ }, { "Order":5, - "Id":"state", - "Name":"State", + "Id":"sourceId", + "Name":"Source ID", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -68139,22 +69885,47 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_POWER_STATE" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":6, + "Id":"channelNumber", + "Name":"Channel Number", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"channel", + "Name":"Channel", + "BitLengthVariable":true, + "BitOffset":56, + "BitStart":0, + "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionSiriusxm", - "Description":"Fusion: SiriusXM", + "Id":"fusionSiriusxmTitle", + "Description":"Fusion: SiriusXM Title", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":9, - "Length":10, + "FieldCount":7, + "MinLength":7, "Fields":[ { "Order":1, @@ -68202,11 +69973,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"Sirius", + "Description":"SiriusXM Title", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32802, + "Match":32805, "Resolution":1, "Signed":false, "RangeMin":0, @@ -68234,38 +70005,10 @@ }, { "Order":6, - "Id":"comState", - "Name":"Com State", - "BitLength":8, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SIRIUS_COM_STATE" - }, - { - "Order":7, - "Id":"alert", - "Name":"Alert", - "BitLength":8, - "BitOffset":48, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":255, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SIRIUS_COM_STATE" - }, - { - "Order":8, - "Id":"advisoryChannel", - "Name":"Advisory Channel", + "Id":"channel", + "Name":"Channel", "BitLength":16, - "BitOffset":56, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, @@ -68277,28 +70020,20 @@ "FieldType":"NUMBER" }, { - "Order":9, - "Id":"tuningMode", - "Name":"Tuning Mode", - "BitLength":8, - "BitOffset":72, + "Order":7, + "Id":"title", + "Name":"Title", + "BitLengthVariable":true, + "BitOffset":56, "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_SIRIUS_TUNING_MODE" + "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionSiriusxmChannel", - "Description":"Fusion: SiriusXM Channel", + "Id":"fusionSiriusxmArtist", + "Description":"Fusion: SiriusXM Artist", "Priority":7, "Type":"Fast", "Complete":false, @@ -68353,11 +70088,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"SiriusXM Channel", + "Description":"SiriusXM Artist", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32804, + "Match":32806, "Resolution":1, "Signed":false, "RangeMin":0, @@ -68385,8 +70120,8 @@ }, { "Order":6, - "Id":"channelNumber", - "Name":"Channel Number", + "Id":"channel", + "Name":"Channel", "BitLength":16, "BitOffset":40, "BitStart":0, @@ -68401,8 +70136,8 @@ }, { "Order":7, - "Id":"channel", - "Name":"Channel", + "Id":"artist", + "Name":"Artist", "BitLengthVariable":true, "BitOffset":56, "BitStart":0, @@ -68412,8 +70147,8 @@ }, { "PGN":130820, - "Id":"fusionSiriusxmTitle", - "Description":"Fusion: SiriusXM Title", + "Id":"fusionSiriusxmContentInfo", + "Description":"Fusion: SiriusXM Content Info", "Priority":7, "Type":"Fast", "Complete":false, @@ -68468,11 +70203,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"SiriusXM Title", + "Description":"SiriusXM Genre", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32805, + "Match":32807, "Resolution":1, "Signed":false, "RangeMin":0, @@ -68516,8 +70251,8 @@ }, { "Order":7, - "Id":"title", - "Name":"Title", + "Id":"genre", + "Name":"Genre", "BitLengthVariable":true, "BitOffset":56, "BitStart":0, @@ -68527,8 +70262,8 @@ }, { "PGN":130820, - "Id":"fusionSiriusxmArtist", - "Description":"Fusion: SiriusXM Artist", + "Id":"fusionSiriusxmCategory", + "Description":"Fusion: SiriusXM Category", "Priority":7, "Type":"Fast", "Complete":false, @@ -68583,11 +70318,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"SiriusXM Artist", + "Description":"SiriusXM Category", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32806, + "Match":32808, "Resolution":1, "Signed":false, "RangeMin":0, @@ -68631,8 +70366,8 @@ }, { "Order":7, - "Id":"artist", - "Name":"Artist", + "Id":"name", + "Name":"Name", "BitLengthVariable":true, "BitOffset":56, "BitStart":0, @@ -68642,15 +70377,15 @@ }, { "PGN":130820, - "Id":"fusionSiriusxmContentInfo", - "Description":"Fusion: SiriusXM Content Info", + "Id":"fusionSiriusxmSignal", + "Description":"Fusion: SiriusXM Signal", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":7, - "MinLength":7, + "FieldCount":6, + "Length":6, "Fields":[ { "Order":1, @@ -68698,11 +70433,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"SiriusXM Genre", + "Description":"SiriusXm Signal", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32807, + "Match":32809, "Resolution":1, "Signed":false, "RangeMin":0, @@ -68730,42 +70465,33 @@ }, { "Order":6, - "Id":"channel", - "Name":"Channel", - "BitLength":16, + "Id":"signal", + "Name":"Signal", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"genre", - "Name":"Genre", - "BitLengthVariable":true, - "BitOffset":56, - "BitStart":0, - "FieldType":"STRING_LZ" } ] }, { "PGN":130820, - "Id":"fusionSiriusxmCategory", - "Description":"Fusion: SiriusXM Category", + "Id":"fusionSiriusxmPresets", + "Description":"Fusion: SiriusXM Presets", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], "FieldCount":7, - "MinLength":7, + "MinLength":6, "Fields":[ { "Order":1, @@ -68813,11 +70539,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"SiriusXM Category", + "Description":"SiriusXM Presets", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32808, + "Match":32812, "Resolution":1, "Signed":false, "RangeMin":0, @@ -68845,52 +70571,55 @@ }, { "Order":6, - "Id":"channel", - "Name":"Channel", - "BitLength":16, + "Id":"count", + "Name":"Count", + "BitLength":8, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" }, { "Order":7, - "Id":"name", - "Name":"Name", + "Id":"values", + "Name":"Values", + "Description":"Preset Values. There will be Count / 4 presets stored", "BitLengthVariable":true, - "BitOffset":56, + "BitLengthField":6, + "BitOffset":48, "BitStart":0, - "FieldType":"STRING_LZ" + "Resolution":1, + "FieldType":"BINARY" } ] }, { "PGN":130820, - "Id":"fusionSiriusxmSignal", - "Description":"Fusion: SiriusXM Signal", + "Id":"maretronAlertResponse", + "Description":"Maretron: Alert Response", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Interval" + "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":6, - "Length":6, + "FieldCount":15, + "Length":27, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Fusion Electronics", + "Description":"Maretron", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":419, + "Match":137, "Resolution":1, "Signed":false, "RangeMin":0, @@ -68926,25 +70655,56 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"SiriusXm Signal", - "BitLength":16, + "Id":"alertType", + "Name":"Alert Type", + "BitLength":4, "BitOffset":16, "BitStart":0, - "Match":32809, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, "FieldType":"LOOKUP", - "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", - "PartOfPrimaryKey":true + "LookupEnumeration":"ALERT_TYPE" }, { "Order":5, - "Id":"sourceId", - "Name":"Source ID", + "Id":"alertCategory", + "Name":"Alert Category", + "BitLength":4, + "BitOffset":20, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"ALERT_CATEGORY" + }, + { + "Order":6, + "Id":"alertSystem", + "Name":"Alert System", + "BitLength":8, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"alertSubSystem", + "Name":"Alert Sub-System", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -68955,15 +70715,76 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"alertId", + "Name":"Alert ID", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + }, + { + "Order":9, + "Id":"dataSourceNetworkIdName", + "Name":"Data Source Network ID NAME", + "BitLength":64, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":18446744073709551615, + "FieldType":"ISO_NAME" + }, + { + "Order":10, + "Id":"dataSourceInstance", + "Name":"Data Source Instance", + "BitLength":8, + "BitOffset":120, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER", "PartOfPrimaryKey":true }, { - "Order":6, - "Id":"signal", - "Name":"Signal", + "Order":11, + "Id":"dataSourceIndexSource", + "Name":"Data Source Index-Source", "BitLength":8, - "BitOffset":40, + "BitOffset":128, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":12, + "Id":"alertOccurrenceNumber", + "Name":"Alert Occurrence Number", + "BitLength":8, + "BitOffset":136, "BitStart":0, "Resolution":1, "Signed":false, @@ -68973,20 +70794,57 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" + }, + { + "Order":13, + "Id":"acknowledgeSourceNetworkIdName", + "Name":"Acknowledge Source Network ID NAME", + "BitLength":64, + "BitOffset":144, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":18446744073709551615, + "FieldType":"ISO_NAME" + }, + { + "Order":14, + "Id":"responseCommand", + "Name":"Response Command", + "BitLength":2, + "BitOffset":208, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":3, + "FieldType":"LOOKUP", + "LookupEnumeration":"ALERT_RESPONSE_COMMAND" + }, + { + "Order":15, + "Id":"reserved15", + "Name":"Reserved", + "BitLength":6, + "BitOffset":210, + "BitStart":2, + "Resolution":1, + "FieldType":"RESERVED" } ] }, { "PGN":130820, - "Id":"fusionSiriusxmPresets", - "Description":"Fusion: SiriusXM Presets", + "Id":"fusionMenuActionStatus", + "Description":"Fusion: Menu Action Status", "Priority":7, "Type":"Fast", "Complete":false, "Missing":["Interval" ], - "FieldCount":7, - "MinLength":6, + "FieldCount":8, + "Length":11, "Fields":[ { "Order":1, @@ -69034,11 +70892,11 @@ "Order":4, "Id":"messageId", "Name":"Message ID", - "Description":"SiriusXM Presets", + "Description":"Menu Action", "BitLength":16, "BitOffset":16, "BitStart":0, - "Match":32812, + "Match":32783, "Resolution":1, "Signed":false, "RangeMin":0, @@ -69051,6 +70909,7 @@ "Order":5, "Id":"sourceId", "Name":"Source ID", + "Description":"Runtime source identifier announced by Fusion Source status messages; not a stable source-type enumeration.", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -69066,55 +70925,76 @@ }, { "Order":6, - "Id":"count", - "Name":"Count", - "BitLength":8, + "Id":"itemIndex", + "Name":"Item Index", + "BitLength":32, "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"action", + "Name":"Action", + "BitLength":8, + "BitOffset":72, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, "RangeMax":252, "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"LOOKUP", + "LookupEnumeration":"FUSION_MENU_ACTION" }, { - "Order":7, - "Id":"values", - "Name":"Values", - "Description":"Preset Values. There will be Count / 4 presets stored", - "BitLengthVariable":true, - "BitLengthField":6, - "BitOffset":48, + "Order":8, + "Id":"lockId", + "Name":"Lock ID", + "BitLength":8, + "BitOffset":80, "BitStart":0, "Resolution":1, - "FieldType":"BINARY" + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" } ] }, { "PGN":130820, - "Id":"maretronAlertResponse", - "Description":"Maretron: Alert Response", + "Id":"fusionMenuCount", + "Description":"Fusion: Menu Count", "Priority":7, "Type":"Fast", "Complete":false, - "Missing":["Fields","FieldLengths","Resolution","Interval" + "Missing":["Interval" ], - "FieldCount":15, - "Length":27, + "FieldCount":7, + "Length":10, "Fields":[ { "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"Maretron", + "Description":"Fusion Electronics", "BitLength":11, "BitOffset":0, "BitStart":0, - "Match":137, + "Match":419, "Resolution":1, "Signed":false, "RangeMin":0, @@ -69150,56 +71030,26 @@ }, { "Order":4, - "Id":"alertType", - "Name":"Alert Type", - "BitLength":4, + "Id":"messageId", + "Name":"Message ID", + "Description":"Menu Count", + "BitLength":16, "BitOffset":16, "BitStart":0, + "Match":32784, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, + "RangeMax":65532, "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_TYPE" + "LookupEnumeration":"FUSION_STATUS_MESSAGE_ID", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"alertCategory", - "Name":"Alert Category", - "BitLength":4, - "BitOffset":20, - "BitStart":4, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":13, - "UnknownValue":15, - "OutOfRangeValue":14, - "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_CATEGORY" - }, - { - "Order":6, - "Id":"alertSystem", - "Name":"Alert System", - "BitLength":8, - "BitOffset":24, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":7, - "Id":"alertSubSystem", - "Name":"Alert Sub-System", + "Id":"sourceId", + "Name":"Source ID", + "Description":"Runtime source identifier announced by Fusion Source status messages; not a stable source-type enumeration.", "BitLength":8, "BitOffset":32, "BitStart":0, @@ -69210,76 +71060,31 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" - }, - { - "Order":8, - "Id":"alertId", - "Name":"Alert ID", - "BitLength":16, - "BitOffset":40, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER" - }, - { - "Order":9, - "Id":"dataSourceNetworkIdName", - "Name":"Data Source Network ID NAME", - "BitLength":64, - "BitOffset":56, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":18446744073709551615, - "FieldType":"ISO_NAME" - }, - { - "Order":10, - "Id":"dataSourceInstance", - "Name":"Data Source Instance", - "BitLength":8, - "BitOffset":120, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, "FieldType":"NUMBER", "PartOfPrimaryKey":true }, { - "Order":11, - "Id":"dataSourceIndexSource", - "Name":"Data Source Index-Source", - "BitLength":8, - "BitOffset":128, + "Order":6, + "Id":"count", + "Name":"Count", + "BitLength":32, + "BitOffset":40, "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":252, - "UnknownValue":255, - "OutOfRangeValue":254, - "ReservedValue":253, + "RangeMax":4294967292, + "UnknownValue":4294967295, + "OutOfRangeValue":4294967294, + "ReservedValue":4294967293, "FieldType":"NUMBER" }, { - "Order":12, - "Id":"alertOccurrenceNumber", - "Name":"Alert Occurrence Number", + "Order":7, + "Id":"lockId", + "Name":"Lock ID", "BitLength":8, - "BitOffset":136, + "BitOffset":72, "BitStart":0, "Resolution":1, "Signed":false, @@ -69289,43 +71094,6 @@ "OutOfRangeValue":254, "ReservedValue":253, "FieldType":"NUMBER" - }, - { - "Order":13, - "Id":"acknowledgeSourceNetworkIdName", - "Name":"Acknowledge Source Network ID NAME", - "BitLength":64, - "BitOffset":144, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":18446744073709551615, - "FieldType":"ISO_NAME" - }, - { - "Order":14, - "Id":"responseCommand", - "Name":"Response Command", - "BitLength":2, - "BitOffset":208, - "BitStart":0, - "Resolution":1, - "Signed":false, - "RangeMin":0, - "RangeMax":3, - "FieldType":"LOOKUP", - "LookupEnumeration":"ALERT_RESPONSE_COMMAND" - }, - { - "Order":15, - "Id":"reserved15", - "Name":"Reserved", - "BitLength":6, - "BitOffset":210, - "BitStart":2, - "Resolution":1, - "FieldType":"RESERVED" } ] }, @@ -69872,7 +71640,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -71661,7 +73429,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -72614,6 +74382,7 @@ "Id":"maretronAnnunciator", "Description":"Maretron: Annunciator", "Priority":7, + "ResearchDoc":"maretron_alm100", "Type":"Fast", "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" @@ -72665,8 +74434,8 @@ }, { "Order":4, - "Id":"field4", - "Name":"Field 4", + "Id":"annunciatorInstance", + "Name":"Annunciator Instance", "BitLength":8, "BitOffset":16, "BitStart":0, @@ -72677,12 +74446,14 @@ "UnknownValue":255, "OutOfRangeValue":254, "ReservedValue":253, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PartOfPrimaryKey":true }, { "Order":5, - "Id":"field5", - "Name":"Field 5", + "Id":"annunciatorState", + "Name":"Annunciator State", + "Description":"100 while the annunciator is sounding, 0 while it is idle.", "BitLength":8, "BitOffset":24, "BitStart":0, @@ -72697,8 +74468,9 @@ }, { "Order":6, - "Id":"field6", - "Name":"Field 6", + "Id":"pattern", + "Name":"Pattern", + "Description":"Selects the pulse pattern; observed values 0 to 4 give audibly different beep cadences, not different pitches. Unavailable while idle.", "BitLength":16, "BitOffset":32, "BitStart":0, @@ -72729,8 +74501,9 @@ }, { "Order":8, - "Id":"field8", - "Name":"Field 8", + "Id":"alertId", + "Name":"Alert ID", + "Description":"Identifies the alert the annunciator is currently sounding for.", "BitLength":16, "BitOffset":56, "BitStart":0, @@ -73180,7 +74953,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -73598,7 +75371,7 @@ "Order":1, "Id":"manufacturerCode", "Name":"Manufacturer Code", - "Description":"BEP Marine 2", + "Description":"BEP Marine", "BitLength":11, "BitOffset":0, "BitStart":0, @@ -73994,58 +75767,246 @@ }, { "Order":4, - "Id":"messageId", - "Name":"Message ID", - "Description":"NavPilot Status", + "Id":"messageId", + "Name":"Message ID", + "Description":"NavPilot Status", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Match":1, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "FieldType":"NUMBER", + "PartOfPrimaryKey":true + }, + { + "Order":5, + "Id":"rudderAngle", + "Name":"Rudder Angle", + "BitLength":16, + "BitOffset":24, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":6, + "Id":"a", + "Name":"A", + "BitLength":16, + "BitOffset":40, + "BitStart":0, + "Resolution":1, + "Signed":true, + "RangeMin":-32767, + "RangeMax":32764, + "UnknownValue":32767, + "OutOfRangeValue":32766, + "ReservedValue":32765, + "FieldType":"NUMBER" + }, + { + "Order":7, + "Id":"b", + "Name":"B", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"commandedCourse", + "Name":"Commanded Course", + "BitLength":16, + "BitOffset":64, + "BitStart":0, + "Unit":"rad", + "Resolution":0.0001, + "Signed":false, + "RangeMin":0, + "RangeMax":6.28318530717959, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGLE" + }, + { + "Order":9, + "Id":"c", + "Name":"C", + "BitLength":8, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":10, + "Id":"d", + "Name":"D", + "BitLength":16, + "BitOffset":88, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":65532, + "UnknownValue":65535, + "OutOfRangeValue":65534, + "ReservedValue":65533, + "FieldType":"NUMBER" + } + ] + }, + { + "PGN":130827, + "Id":"sleipnerThrusterStatus", + "Description":"Sleipner: Thruster Status", + "Explanation":"Sent by Sleipner S-Link thruster controllers (PPC-series) once the system is switched on. The unique number matches the ISO identity number the same device claims in PGN 60928, which is how the field was identified. Thrust is signed, and its sign follows the direction commanded in PGN 65280: commands with state \"Thrust direction 2\" produce positive thrust, \"Thrust direction 1\" negative. On retractable units the state field also reports the deployment travel. Fields A, B, C, D and the trailing byte E are not yet understood.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","Interval" + ], + "FieldCount":13, + "Length":13, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Sleipner Motor", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":306, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"controllerType", + "Name":"Controller Type", + "Description":"Constant per device; 24 = PPC520, 25 = PPC820", "BitLength":8, "BitOffset":16, "BitStart":0, - "Match":1, "Resolution":1, "Signed":false, "RangeMin":0, "RangeMax":252, - "FieldType":"NUMBER", - "PartOfPrimaryKey":true + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { "Order":5, - "Id":"rudderAngle", - "Name":"Rudder Angle", - "BitLength":16, + "Id":"thrusterId", + "Name":"Thruster Id", + "Description":"Stable per-unit index within the thruster group", + "BitLength":4, "BitOffset":24, "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.28318530717959, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" }, { "Order":6, - "Id":"a", - "Name":"A", - "BitLength":16, - "BitOffset":40, + "Id":"state", + "Name":"State", + "BitLength":4, + "BitOffset":28, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"SLEIPNER_THRUSTER_STATE" + }, + { + "Order":7, + "Id":"uniqueNumber", + "Name":"Unique Number", + "Description":"ISO Identity Number, as claimed by this device in PGN 60928", + "BitLength":24, + "BitOffset":32, "BitStart":0, "Resolution":1, - "Signed":true, - "RangeMin":-32767, - "RangeMax":32764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, + "Signed":false, + "RangeMin":0, + "RangeMax":16777212, + "UnknownValue":16777215, + "OutOfRangeValue":16777214, + "ReservedValue":16777213, "FieldType":"NUMBER" }, { - "Order":7, - "Id":"b", - "Name":"B", + "Order":8, + "Id":"a", + "Name":"A", "BitLength":8, "BitOffset":56, "BitStart":0, @@ -74059,29 +76020,27 @@ "FieldType":"NUMBER" }, { - "Order":8, - "Id":"commandedCourse", - "Name":"Commanded Course", - "BitLength":16, + "Order":9, + "Id":"b", + "Name":"B", + "BitLength":8, "BitOffset":64, "BitStart":0, - "Unit":"rad", - "Resolution":0.0001, + "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":6.28318530717959, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, - "FieldType":"NUMBER", - "PhysicalQuantity":"ANGLE" + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" }, { - "Order":9, + "Order":10, "Id":"c", "Name":"C", "BitLength":8, - "BitOffset":80, + "BitOffset":72, "BitStart":0, "Resolution":1, "Signed":false, @@ -74093,19 +76052,54 @@ "FieldType":"NUMBER" }, { - "Order":10, + "Order":11, "Id":"d", "Name":"D", - "BitLength":16, + "BitLength":8, + "BitOffset":80, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":12, + "Id":"thrust", + "Name":"Thrust", + "Description":"Reported thrust, -100 to 100%; the sign is the direction", + "BitLength":8, "BitOffset":88, "BitStart":0, + "Unit":"%", + "Resolution":1, + "Signed":true, + "RangeMin":-127, + "RangeMax":124, + "UnknownValue":127, + "OutOfRangeValue":126, + "ReservedValue":125, + "FieldType":"NUMBER", + "PhysicalQuantity":"DIMENSIONLESS_RATIO" + }, + { + "Order":13, + "Id":"e", + "Name":"E", + "BitLength":8, + "BitOffset":96, + "BitStart":0, "Resolution":1, "Signed":false, "RangeMin":0, - "RangeMax":65532, - "UnknownValue":65535, - "OutOfRangeValue":65534, - "ReservedValue":65533, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, "FieldType":"NUMBER" } ] @@ -74365,6 +76359,144 @@ } ] }, + { + "PGN":130828, + "Id":"sleipnerDeviceStatusFast", + "Description":"Sleipner: Device Status (Fast)", + "Explanation":"Sent at ~2 Hz by Sleipner S-Link devices, including while the system is in standby. The unique number matches the ISO identity number the same device claims in PGN 60928, which is how the field was identified. The device index and state occupy the same byte and take the same values as in PGN 130827.", + "Type":"Fast", + "Complete":false, + "Missing":["Fields","FieldLengths","SampleData","Interval" + ], + "FieldCount":8, + "Length":8, + "Fields":[ + { + "Order":1, + "Id":"manufacturerCode", + "Name":"Manufacturer Code", + "Description":"Sleipner Motor", + "BitLength":11, + "BitOffset":0, + "BitStart":0, + "Match":306, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":2044, + "FieldType":"LOOKUP", + "LookupEnumeration":"MANUFACTURER_CODE" + }, + { + "Order":2, + "Id":"reserved", + "Name":"Reserved", + "BitLength":2, + "BitOffset":11, + "BitStart":3, + "Resolution":1, + "FieldType":"RESERVED" + }, + { + "Order":3, + "Id":"industryCode", + "Name":"Industry Code", + "Description":"Marine Industry", + "BitLength":3, + "BitOffset":13, + "BitStart":5, + "Match":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":6, + "FieldType":"LOOKUP", + "LookupEnumeration":"INDUSTRY_CODE" + }, + { + "Order":4, + "Id":"deviceType", + "Name":"Device Type", + "Description":"Constant per device", + "BitLength":8, + "BitOffset":16, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + }, + { + "Order":5, + "Id":"deviceIndex", + "Name":"Device Index", + "Description":"Stable per-device index", + "BitLength":4, + "BitOffset":24, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"NUMBER" + }, + { + "Order":6, + "Id":"state", + "Name":"State", + "BitLength":4, + "BitOffset":28, + "BitStart":4, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":13, + "UnknownValue":15, + "OutOfRangeValue":14, + "FieldType":"LOOKUP", + "LookupEnumeration":"SLEIPNER_THRUSTER_STATE" + }, + { + "Order":7, + "Id":"uniqueNumber", + "Name":"Unique Number", + "Description":"ISO Identity Number, as claimed by this device in PGN 60928", + "BitLength":24, + "BitOffset":32, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":16777212, + "UnknownValue":16777215, + "OutOfRangeValue":16777214, + "ReservedValue":16777213, + "FieldType":"NUMBER" + }, + { + "Order":8, + "Id":"a", + "Name":"A", + "BitLength":8, + "BitOffset":56, + "BitStart":0, + "Resolution":1, + "Signed":false, + "RangeMin":0, + "RangeMax":252, + "UnknownValue":255, + "OutOfRangeValue":254, + "ReservedValue":253, + "FieldType":"NUMBER" + } + ] + }, { "PGN":130829, "Id":"mercuryEngineStatus", @@ -77579,7 +79711,7 @@ "Complete":false, "Missing":["Fields","FieldLengths","Resolution","Interval" ], - "FieldCount":12, + "FieldCount":11, "Length":29, "Fields":[ { @@ -77690,70 +79822,60 @@ }, { "Order":8, - "Id":"e", - "Name":"E", + "Id":"rollRate", + "Name":"Roll Rate", "BitLength":32, "BitOffset":120, "BitStart":0, - "Resolution":1, + "Unit":"rad/s", + "Resolution":1.7453292519943296e-05, "Signed":true, - "RangeMin":-2147483647, - "RangeMax":2147483644, + "RangeMin":-37480.6602728857, + "RangeMax":37480.6602205258, "UnknownValue":2147483647, "OutOfRangeValue":2147483646, "ReservedValue":2147483645, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGULAR_VELOCITY" }, { "Order":9, - "Id":"f", - "Name":"F", + "Id":"pitchRate", + "Name":"Pitch Rate", "BitLength":32, "BitOffset":152, "BitStart":0, - "Resolution":1, + "Unit":"rad/s", + "Resolution":1.7453292519943296e-05, "Signed":true, - "RangeMin":-2147483647, - "RangeMax":2147483644, + "RangeMin":-37480.6602728857, + "RangeMax":37480.6602205258, "UnknownValue":2147483647, "OutOfRangeValue":2147483646, "ReservedValue":2147483645, - "FieldType":"NUMBER" + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGULAR_VELOCITY" }, { "Order":10, - "Id":"g", - "Name":"G", - "BitLength":16, + "Id":"yawRate", + "Name":"Yaw Rate", + "BitLength":32, "BitOffset":184, "BitStart":0, - "Resolution":1, + "Unit":"rad/s", + "Resolution":1.7453292519943296e-05, "Signed":true, - "RangeMin":-32767, - "RangeMax":32764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER" + "RangeMin":-37480.6602728857, + "RangeMax":37480.6602205258, + "UnknownValue":2147483647, + "OutOfRangeValue":2147483646, + "ReservedValue":2147483645, + "FieldType":"NUMBER", + "PhysicalQuantity":"ANGULAR_VELOCITY" }, { "Order":11, - "Id":"h", - "Name":"H", - "BitLength":16, - "BitOffset":200, - "BitStart":0, - "Resolution":1, - "Signed":true, - "RangeMin":-32767, - "RangeMax":32764, - "UnknownValue":32767, - "OutOfRangeValue":32766, - "ReservedValue":32765, - "FieldType":"NUMBER" - }, - { - "Order":12, "Id":"i", "Name":"I", "BitLength":16, @@ -79724,7 +81846,7 @@ "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":10, - "Length":11, + "Length":12, "Fields":[ { "Order":1, @@ -79859,7 +81981,7 @@ "Order":10, "Id":"reserved10", "Name":"Reserved", - "BitLength":24, + "BitLength":32, "BitOffset":64, "BitStart":0, "Resolution":1, @@ -79878,7 +82000,7 @@ "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":10, - "Length":11, + "Length":12, "Fields":[ { "Order":1, @@ -80013,7 +82135,7 @@ "Order":10, "Id":"reserved10", "Name":"Reserved", - "BitLength":24, + "BitLength":32, "BitOffset":64, "BitStart":0, "Resolution":1, @@ -80032,7 +82154,7 @@ "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":10, - "Length":11, + "Length":12, "Fields":[ { "Order":1, @@ -80167,7 +82289,7 @@ "Order":10, "Id":"reserved10", "Name":"Reserved", - "BitLength":24, + "BitLength":32, "BitOffset":64, "BitStart":0, "Resolution":1, @@ -80186,7 +82308,7 @@ "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":10, - "Length":11, + "Length":12, "Fields":[ { "Order":1, @@ -80321,7 +82443,7 @@ "Order":10, "Id":"reserved10", "Name":"Reserved", - "BitLength":24, + "BitLength":32, "BitOffset":64, "BitStart":0, "Resolution":1, @@ -80340,7 +82462,7 @@ "Missing":["Fields","FieldLengths","Resolution","Interval" ], "FieldCount":10, - "Length":11, + "Length":12, "Fields":[ { "Order":1, @@ -80475,7 +82597,7 @@ "Order":10, "Id":"reserved10", "Name":"Reserved", - "BitLength":24, + "BitLength":32, "BitOffset":64, "BitStart":0, "Resolution":1, @@ -81397,8 +83519,8 @@ "Complete":false, "Missing":["Fields","FieldLengths","Resolution" ], - "FieldCount":15, - "Length":14, + "FieldCount":13, + "Length":12, "TransmissionIrregular":true, "Fields":[ { @@ -81570,26 +83692,6 @@ "BitStart":0, "Resolution":1, "FieldType":"RESERVED" - }, - { - "Order":14, - "Id":"reserved14", - "Name":"Reserved", - "BitLength":8, - "BitOffset":96, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" - }, - { - "Order":15, - "Id":"reserved15", - "Name":"Reserved", - "BitLength":8, - "BitOffset":104, - "BitStart":0, - "Resolution":1, - "FieldType":"RESERVED" } ] }, diff --git a/src/enums.ts b/src/enums.ts index 86c60683..9e20d4bf 100644 --- a/src/enums.ts +++ b/src/enums.ts @@ -2299,6 +2299,24 @@ export const FusionCommandValues: {[key: string]: number} = { [FusionCommand.Prev]: 0x6, } +/** + * @category Enumerations + */ +export enum FusionMenuAction { + Open = 'Open', + Select = 'Select', + Close = 'Close', +} + +/** + * @category Enumerations + */ +export const FusionMenuActionValues: {[key: string]: number} = { + [FusionMenuAction.Open]: 0x1, + [FusionMenuAction.Select]: 0x2, + [FusionMenuAction.Close]: 0x4, +} + /** * @category Enumerations */ @@ -2953,6 +2971,26 @@ export const GarminAutopilotFieldValues: {[key: string]: number} = { [GarminAutopilotField.Speed]: 0xf6, } +/** + * @category Enumerations + */ +export enum GarminAutopilotManeuverCode { + DecreaseHeading1Degree = 'Decrease Heading 1 Degree', + DecreaseHeading10Degrees = 'Decrease Heading 10 Degrees', + IncreaseHeading1Degree = 'Increase Heading 1 Degree', + IncreaseHeading10Degrees = 'Increase Heading 10 Degrees', +} + +/** + * @category Enumerations + */ +export const GarminAutopilotManeuverCodeValues: {[key: string]: number} = { + [GarminAutopilotManeuverCode.DecreaseHeading1Degree]: 0x0, + [GarminAutopilotManeuverCode.DecreaseHeading10Degrees]: 0x1, + [GarminAutopilotManeuverCode.IncreaseHeading1Degree]: 0x2, + [GarminAutopilotManeuverCode.IncreaseHeading10Degrees]: 0x3, +} + /** * @category Enumerations */ @@ -3488,47 +3526,42 @@ export const MagneticVariationValues: {[key: string]: number} = { * @category Enumerations */ export enum ManufacturerCode { - ArksEnterprisesInc = 'ARKS Enterprises, Inc.', + ArksEnterprises = 'ARKS Enterprises', FwMurphyenovationControls = 'FW Murphy/Enovation Controls', TwinDisc = 'Twin Disc', KohlerPowerSystems = 'Kohler Power Systems', - HemisphereGpsInc = 'Hemisphere GPS Inc', - BepMarine = 'BEP Marine', + HemisphereGps = 'Hemisphere GPS', Airmar = 'Airmar', Maretron = 'Maretron', Lowrance = 'Lowrance', MercuryMarine = 'Mercury Marine', - NautibusElectronicGmbH = 'Nautibus Electronic GmbH', + NautibusElectronic = 'Nautibus Electronic', BlueWaterData = 'Blue Water Data', Westerbeke = 'Westerbeke', - IssproInc = 'ISSPRO Inc', - OffshoreSystemsukLtd = 'Offshore Systems (UK) Ltd.', + Isspro = 'ISSPRO', + OffshoreSystemsuk = 'Offshore Systems (UK)', Evinrudebrp = 'Evinrude/BRP', - CpacSystemsAb = 'CPAC Systems AB', - XantrexTechnologyInc = 'Xantrex Technology Inc.', - MarlinTechnologiesInc = 'Marlin Technologies, Inc.', + CpacSystems = 'CPAC Systems', + XantrexTechnology = 'Xantrex Technology', + MarlinTechnologies = 'Marlin Technologies', YanmarMarine = 'Yanmar Marine', VolvoPenta = 'Volvo Penta', - HondaMarine = 'Honda Marine', CarlingTechnologiesIncmoritzAerospace = 'Carling Technologies Inc. (Moritz Aerospace)', BeedeInstruments = 'Beede Instruments', - FloscanInstrumentCoInc = 'Floscan Instrument Co. Inc.', - Nobletec = 'Nobletec', + FloscanInstrument = 'Floscan Instrument', + Nobeltec = 'Nobeltec', MysticValleyCommunications = 'Mystic Valley Communications', Actia = 'Actia', - HondaMarine2 = 'Honda Marine 2', DisenosYTechnologia = 'Disenos Y Technologia', DigitalSwitchingSystems = 'Digital Switching Systems', Xintexatena = 'Xintex/Atena', - EmmiNetworkSL = 'EMMI NETWORK S.L.', - HondaMarine3 = 'Honda Marine 3', + EmmiNetwork = 'EMMI NETWORK', Zf = 'ZF', Garmin = 'Garmin', YachtMonitoringSolutions = 'Yacht Monitoring Solutions', - SailormadeMarineTelemetrytetraTechnologyLtd = 'Sailormade Marine Telemetry/Tetra Technology LTD', + SailormadeMarineTelemetrytetraTechnology = 'Sailormade Marine Telemetry/Tetra Technology', Eride = 'Eride', - HondaMarine4 = 'Honda Marine 4', - HondaMotorCompanyLtd = 'Honda Motor Company LTD', + HondaMotor = 'Honda Motor', Groco = 'Groco', Actisense = 'Actisense', AmphenolLtwTechnology = 'Amphenol LTW Technology', @@ -3536,16 +3569,15 @@ export enum ManufacturerCode { HamiltonJet = 'Hamilton Jet', SeaRecovery = 'Sea Recovery', CoelmoSrlItaly = 'Coelmo SRL Italy', - BepMarine2 = 'BEP Marine 2', + BepMarine = 'BEP Marine', EmpirBus = 'Empir Bus', NovAtel = 'NovAtel', - SleipnerMotorAs = 'Sleipner Motor AS', + SleipnerMotor = 'Sleipner Motor', MbwTechnologies = 'MBW Technologies', - FischerPanda = 'Fischer Panda', Icom = 'ICOM', Qwerty = 'Qwerty', Dief = 'Dief', - BoeningAutomationstechnologieGmbHCoKg = 'Boening Automationstechnologie GmbH & Co. KG', + BoeningAutomationstechnologie = 'Boening Automationstechnologie', KoreanMaritimeUniversity = 'Korean Maritime University', ThraneAndThrane = 'Thrane and Thrane', Mastervolt = 'Mastervolt', @@ -3565,8 +3597,8 @@ export enum ManufacturerCode { Chetco = 'Chetco', FusionElectronics = 'Fusion Electronics', StandardHorizon = 'Standard Horizon', - TrueHeadingAb = 'True Heading AB', - EgersundMarineElectronicsAs = 'Egersund Marine Electronics AS', + TrueHeading = 'True Heading', + EgersundMarineElectronics = 'Egersund Marine Electronics', EmTrakMarineElectronics = 'em-trak Marine Electronics', TohatsuCoJp = 'Tohatsu Co, JP', DigitalYacht = 'Digital Yacht', @@ -3574,22 +3606,21 @@ export enum ManufacturerCode { Cummins = 'Cummins', VdoakaContinentalCorporation = 'VDO (aka Continental-Corporation)', ParkerHannifinAkaVillageMarineTech = 'Parker Hannifin aka Village Marine Tech', - AlltekMarineElectronicsCorp = 'Alltek Marine Electronics Corp', + AlltekMarineElectronics = 'Alltek Marine Electronics', SanGiorgioSEIN = 'SAN GIORGIO S.E.I.N', VeethreeElectronicsMarine = 'Veethree Electronics & Marine', - HumminbirdMarineElectronics = 'Humminbird Marine Electronics', SiTexMarineElectronics = 'SI-TEX Marine Electronics', - SeaCrossMarineAb = 'Sea Cross Marine AB', - GmeAkaStandardCommunicationsPtyLtd = 'GME aka Standard Communications Pty LTD', - HumminbirdMarineElectronics2 = 'Humminbird Marine Electronics 2', - OceanSatBv = 'Ocean Sat BV', - ChetcoDigitialInstruments = 'Chetco Digitial Instruments', + SeaCrossMarine = 'Sea Cross Marine', + GmeAkaStandardCommunications = 'GME aka Standard Communications', + HumminbirdMarineElectronics = 'Humminbird Marine Electronics', + OceanSat = 'Ocean Sat', + ChetcoDigitalInstruments = 'Chetco Digital Instruments', Watcheye = 'Watcheye', LcjCapteurs = 'Lcj Capteurs', AttwoodMarine = 'Attwood Marine', NaviopSRL = 'Naviop S.R.L.', - VesperMarineLtd = 'Vesper Marine Ltd', - MarinesoftCoLtd = 'Marinesoft Co. LTD', + VesperMarine = 'Vesper Marine', + Marinesoft = 'Marinesoft', Simarine = 'Simarine', NoLandEngineering = 'NoLand Engineering', TransasUsa = 'Transas USA', @@ -3598,32 +3629,31 @@ export enum ManufacturerCode { OnwaMarine = 'Onwa Marine', Webasto = 'Webasto', MarinecraftsouthKorea = 'Marinecraft (South Korea)', - McMurdoGroupAkaOroliaLtd = 'McMurdo Group aka Orolia LTD', + McMurdoGroupAkaOrolia = 'McMurdo Group aka Orolia', Advansea = 'Advansea', Kvh = 'KVH', SanJoseTechnology = 'San Jose Technology', YachtControl = 'Yacht Control', - SuzukiMotorCorporation = 'Suzuki Motor Corporation', + SuzukiMotor = 'Suzuki Motor', UsCoastGuard = 'US Coast Guard', ShipModuleAkaCustomware = 'Ship Module aka Customware', AquaticAv = 'Aquatic AV', - AventicsGmbH = 'Aventics GmbH', + Aventics = 'Aventics', Intellian = 'Intellian', SamwonIt = 'SamwonIT', ArltTecnologies = 'Arlt Tecnologies', - BavariaYacts = 'Bavaria Yacts', + BavariaYachts = 'Bavaria Yachts', DiverseYachtServices = 'Diverse Yacht Services', WemaUSADbaKus = 'Wema U.S.A dba KUS', - Garmin2 = 'Garmin 2', ShenzhenJiuzhouHimunication = 'Shenzhen Jiuzhou Himunication', - RockfordCorp = 'Rockford Corp', + Rockford = 'Rockford', HarmanInternational = 'Harman International', JlAudio = 'JL Audio', LarsThrane = 'Lars Thrane', Autonnic = 'Autonnic', YachtDevices = 'Yacht Devices', ReapSystems = 'REAP Systems', - AuElectronicsGroup = 'Au Electronics Group', + AemPerformanceElectronics = 'AEM Performance Electronics', LxNav = 'LxNav', LittelfuseIncformerlyCarlingTechnologies = 'Littelfuse, Inc (formerly Carling Technologies)', DaeMyung = 'DaeMyung', @@ -3632,7 +3662,7 @@ export enum ManufacturerCode { ClarionUs = 'Clarion US', HmiSystems = 'HMI Systems', OceanSignal = 'Ocean Signal', - Seekeeper = 'Seekeeper', + Seakeeper = 'Seakeeper', PolyPlanar = 'Poly Planar', FischerPandaDe = 'Fischer Panda DE', BroydaIndustries = 'Broyda Industries', @@ -3645,12 +3675,12 @@ export enum ManufacturerCode { BlueWaterDesalination = 'Blue Water Desalination', Flir = 'FLIR', UndheimSystems = 'Undheim Systems', - LewmarInc = 'Lewmar Inc', + Lewmar = 'Lewmar', TeamSurv = 'TeamSurv', FellMarine = 'Fell Marine', Oceanvolt = 'Oceanvolt', Prospec = 'Prospec', - DataPanelCorp = 'Data Panel Corp', + DataPanel = 'Data Panel', L3Technologies = 'L3 Technologies', RhodanMarineSystems = 'Rhodan Marine Systems', NexfourSolutions = 'Nexfour Solutions', @@ -3658,7 +3688,7 @@ export enum ManufacturerCode { MarinesCosouthKorea = 'Marines Co (South Korea)', NauticOn = 'Nautic-on', Sentinel = 'Sentinel', - JlMarineYstems = 'JL Marine ystems', + JlMarineSystems = 'JL Marine Systems', Ecotronix = 'Ecotronix', ZontisaMarine = 'Zontisa Marine', ExorInternational = 'EXOR International', @@ -3666,18 +3696,18 @@ export enum ManufacturerCode { TjcMicro = 'TJC Micro', CoxPowertrain = 'Cox Powertrain', BlueSeas = 'Blue Seas', - KobeltManufacturingCoLtd = 'Kobelt Manufacturing Co. Ltd', + KobeltManufacturing = 'Kobelt Manufacturing', BlueOceanIot = 'Blue Ocean IOT', XentaSystems = 'Xenta Systems', SignalK = 'Signal K', - UltraflexSpA = 'Ultraflex SpA', + Ultraflex = 'Ultraflex', LintestSmartBoat = 'Lintest SmartBoat', Soundmax = 'Soundmax', TeamItaliaMarineonyxMarineAutomationSRL = 'Team Italia Marine (Onyx Marine Automation s.r.l)', Entratech = 'Entratech', - ItcInc = 'ITC Inc.', - TheMarineGuardianLlc = 'The Marine Guardian LLC', - SonicCorporation = 'Sonic Corporation', + Itc = 'ITC', + TheMarineGuardian = 'The Marine Guardian', + Sonic = 'Sonic', ProNav = 'ProNav', VetusMaxwellInc = 'Vetus Maxwell INC.', LithiumPros = 'Lithium Pros', @@ -3685,96 +3715,96 @@ export enum ManufacturerCode { MarolCoLtd = 'Marol Co ltd', CalypsoInstruments = 'CALYPSO Instruments', SpotZeroWater = 'Spot Zero Water', - LithionicsBatteryLlc = 'Lithionics Battery LLC', - QuickTeckElectronicsLtd = 'Quick-teck Electronics Ltd', + LithionicsBattery = 'Lithionics Battery', + QuickTeckElectronics = 'Quick-teck Electronics', UnidenAmerica = 'Uniden America', Nauticoncept = 'Nauticoncept', - ShadowCasterLedLightingLlc = 'Shadow-Caster LED lighting LLC', - WetSoundsLlc = 'Wet Sounds, LLC', + ShadowCasterLedLighting = 'Shadow-Caster LED lighting', + WetSounds = 'Wet Sounds', ETACircuitBreakers = 'E-T-A Circuit Breakers', Scheiber = 'Scheiber', SmartYachtsInternationalLimited = 'Smart Yachts International Limited', Dockmate = 'Dockmate', BobsMachine = 'Bobs Machine', L3HarrisAsv = 'L3Harris ASV', - BalmarLlc = 'Balmar LLC', - ElettromediaSpa = 'Elettromedia spa', + Balmar = 'Balmar', + Elettromedia = 'Elettromedia', Electromaax = 'Electromaax', - AcrossOceansSystemsLtd = 'Across Oceans Systems Ltd.', + AcrossOceansSystems = 'Across Oceans Systems', KiwiYachting = 'Kiwi Yachting', - BsbArtificialIntelligenceGmbH = 'BSB Artificial Intelligence GmbH', - OrcaTechnologoesAs = 'Orca Technologoes AS', - TbsElectronicsBv = 'TBS Electronics BV', + BsbArtificialIntelligence = 'BSB Artificial Intelligence', + OrcaTechnologies = 'Orca Technologies', + TbsElectronics = 'TBS Electronics', TechnotonElectroics = 'Technoton Electroics', - MgEnergySystemsBV = 'MG Energy Systems B.V.', - SeaMacineRoboticsInc = 'Sea Macine Robotics Inc.', + MgEnergySystems = 'MG Energy Systems', + SeaMachineRobotics = 'Sea Machine Robotics', VistaManufacturing = 'Vista Manufacturing', Zipwake = 'Zipwake', - SailmonBv = 'Sailmon BV', + Sailmon = 'Sailmon', AirmoniqProKft = 'Airmoniq Pro Kft', SierraMarine = 'Sierra Marine', XinuoInformationTechnologyxiamen = 'Xinuo Information Technology (Xiamen)', Septentrio = 'Septentrio', - NkeMarineElecronics = 'NKE Marine Elecronics', + NkeMarineElectronics = 'NKE Marine Electronics', SuperTrackAps = 'SuperTrack Aps', - HondaElectronicsCoLtd = 'Honda Electronics Co., LTD', - RaritanEngineeringCompanyInc = 'Raritan Engineering Company, Inc', + HondaElectronics = 'Honda Electronics', + RaritanEngineering = 'Raritan Engineering', IntegratedPowerSolutionsAg = 'Integrated Power Solutions AG', - InteractiveTechnologiesInc = 'Interactive Technologies, Inc.', + InteractiveTechnologies = 'Interactive Technologies', LtgTech = 'LTG-Tech', - EnergySolutionsukLtd = 'Energy Solutions (UK) LTD.', - WattFuelCellCorp = 'WATT Fuel Cell Corp', + EnergySolutionsuk = 'Energy Solutions (UK)', + WattFuelCell = 'WATT Fuel Cell', ProMainer = 'Pro Mainer', DragonflyEnergy = 'Dragonfly Energy', - KodenElectronicsCoLtd = 'Koden Electronics Co., Ltd', - HumphreeAb = 'Humphree AB', + KodenElectronics = 'Koden Electronics', + Humphree = 'Humphree', HinkleyYachts = 'Hinkley Yachts', GlobalMarineManagementGmbHgmm = 'Global Marine Management GmbH (GMM)', - TriskelMarineLtd = 'Triskel Marine Ltd', + TriskelMarine = 'Triskel Marine', WarwickControlTechnologies = 'Warwick Control Technologies', DolphinCharger = 'Dolphin Charger', - BarnacleSystemsInc = 'Barnacle Systems Inc', - RadianIoTInc = 'Radian IoT, Inc.', - OceanLedMarineLtd = 'Ocean LED Marine Ltd', + BarnacleSystems = 'Barnacle Systems', + RadianIoT = 'Radian IoT', + OceanLedMarine = 'Ocean LED Marine', BluNav = 'BluNav', OvanantongSaiyangElectronicsCoLtd = 'OVA (Nantong Saiyang Electronics Co., Ltd)', RadPropulsion = 'RAD Propulsion', ElectricYacht = 'Electric Yacht', ElcoMotorYachts = 'Elco Motor Yachts', TecnosealFoundrySRL = 'Tecnoseal Foundry S.r.l', - ProChargingSystemsLlc = 'Pro Charging Systems, LLC', - EvexCoLtd = 'EVEX Co., LTD', - GobiusSensorTechnologyAb = 'Gobius Sensor Technology AB', + ProChargingSystems = 'Pro Charging Systems', + Evex = 'EVEX', + GobiusSensorTechnology = 'Gobius Sensor Technology', ArcoMarine = 'Arco Marine', - LencoMarineInc = 'Lenco Marine Inc.', - NaocontrolSL = 'Naocontrol S.L.', + LencoMarine = 'Lenco Marine', + Naocontrol = 'Naocontrol', Revatek = 'Revatek', Aeolionics = 'Aeolionics', - PredictWindLtd = 'PredictWind Ltd', + PredictWind = 'PredictWind', EgisMobileElectric = 'Egis Mobile Electric', StarboardYachtGroup = 'Starboard Yacht Group', RoswellMarine = 'Roswell Marine', EPropulsionguangdongEPropulsionTechnologyLtd = 'ePropulsion (Guangdong ePropulsion Technology Ltd.)', - MicroAirLlc = 'Micro-Air LLC', + MicroAir = 'Micro-Air', VitalBattery = 'Vital Battery', - RideControllerLlc = 'Ride Controller LLC', + RideController = 'Ride Controller', TocaroBlue = 'Tocaro Blue', VanquishYachts = 'Vanquish Yachts', FtTechnologies = 'FT Technologies', - AlpsAlpineCoLtd = 'Alps Alpine Co., Ltd.', + AlpsAlpine = 'Alps Alpine', EForceMarine = 'E-Force Marine', CmcMarine = 'CMC Marine', - NanjingSandemarineInformationTechnologyCoLtd = 'Nanjing Sandemarine Information Technology Co., Ltd.', + NanjingSandemarineInformationTechnology = 'Nanjing Sandemarine Information Technology', TeleflexMarineseaStarSolutions = 'Teleflex Marine (SeaStar Solutions)', Raymarine = 'Raymarine', Navionics = 'Navionics', - JapanRadioCo = 'Japan Radio Co', + JapanRadio = 'Japan Radio', NorthstarTechnologies = 'Northstar Technologies', Furuno = 'Furuno', Trimble = 'Trimble', Simrad = 'Simrad', Litton = 'Litton', - KvasarAb = 'Kvasar AB', + Kvasar = 'Kvasar', Mmp = 'MMP', VectorCantech = 'Vector Cantech', YamahaMarine = 'Yamaha Marine', @@ -3785,47 +3815,42 @@ export enum ManufacturerCode { * @category Enumerations */ export const ManufacturerCodeValues: {[key: string]: number} = { - [ManufacturerCode.ArksEnterprisesInc]: 0x45, + [ManufacturerCode.ArksEnterprises]: 0x45, [ManufacturerCode.FwMurphyenovationControls]: 0x4e, [ManufacturerCode.TwinDisc]: 0x50, [ManufacturerCode.KohlerPowerSystems]: 0x55, - [ManufacturerCode.HemisphereGpsInc]: 0x58, - [ManufacturerCode.BepMarine]: 0x74, + [ManufacturerCode.HemisphereGps]: 0x58, [ManufacturerCode.Airmar]: 0x87, [ManufacturerCode.Maretron]: 0x89, [ManufacturerCode.Lowrance]: 0x8c, [ManufacturerCode.MercuryMarine]: 0x90, - [ManufacturerCode.NautibusElectronicGmbH]: 0x93, + [ManufacturerCode.NautibusElectronic]: 0x93, [ManufacturerCode.BlueWaterData]: 0x94, [ManufacturerCode.Westerbeke]: 0x9a, - [ManufacturerCode.IssproInc]: 0x9d, - [ManufacturerCode.OffshoreSystemsukLtd]: 0xa1, + [ManufacturerCode.Isspro]: 0x9d, + [ManufacturerCode.OffshoreSystemsuk]: 0xa1, [ManufacturerCode.Evinrudebrp]: 0xa3, - [ManufacturerCode.CpacSystemsAb]: 0xa5, - [ManufacturerCode.XantrexTechnologyInc]: 0xa8, - [ManufacturerCode.MarlinTechnologiesInc]: 0xa9, + [ManufacturerCode.CpacSystems]: 0xa5, + [ManufacturerCode.XantrexTechnology]: 0xa8, + [ManufacturerCode.MarlinTechnologies]: 0xa9, [ManufacturerCode.YanmarMarine]: 0xac, [ManufacturerCode.VolvoPenta]: 0xae, - [ManufacturerCode.HondaMarine]: 0xaf, [ManufacturerCode.CarlingTechnologiesIncmoritzAerospace]: 0xb0, [ManufacturerCode.BeedeInstruments]: 0xb9, - [ManufacturerCode.FloscanInstrumentCoInc]: 0xc0, - [ManufacturerCode.Nobletec]: 0xc1, + [ManufacturerCode.FloscanInstrument]: 0xc0, + [ManufacturerCode.Nobeltec]: 0xc1, [ManufacturerCode.MysticValleyCommunications]: 0xc6, [ManufacturerCode.Actia]: 0xc7, - [ManufacturerCode.HondaMarine2]: 0xc8, [ManufacturerCode.DisenosYTechnologia]: 0xc9, [ManufacturerCode.DigitalSwitchingSystems]: 0xd3, [ManufacturerCode.Xintexatena]: 0xd7, - [ManufacturerCode.EmmiNetworkSL]: 0xe0, - [ManufacturerCode.HondaMarine3]: 0xe1, + [ManufacturerCode.EmmiNetwork]: 0xe0, [ManufacturerCode.Zf]: 0xe4, [ManufacturerCode.Garmin]: 0xe5, [ManufacturerCode.YachtMonitoringSolutions]: 0xe9, - [ManufacturerCode.SailormadeMarineTelemetrytetraTechnologyLtd]: 0xeb, + [ManufacturerCode.SailormadeMarineTelemetrytetraTechnology]: 0xeb, [ManufacturerCode.Eride]: 0xf3, - [ManufacturerCode.HondaMarine4]: 0xfa, - [ManufacturerCode.HondaMotorCompanyLtd]: 0x101, + [ManufacturerCode.HondaMotor]: 0x101, [ManufacturerCode.Groco]: 0x110, [ManufacturerCode.Actisense]: 0x111, [ManufacturerCode.AmphenolLtwTechnology]: 0x112, @@ -3833,16 +3858,15 @@ export const ManufacturerCodeValues: {[key: string]: number} = { [ManufacturerCode.HamiltonJet]: 0x11b, [ManufacturerCode.SeaRecovery]: 0x11d, [ManufacturerCode.CoelmoSrlItaly]: 0x11e, - [ManufacturerCode.BepMarine2]: 0x127, + [ManufacturerCode.BepMarine]: 0x127, [ManufacturerCode.EmpirBus]: 0x130, [ManufacturerCode.NovAtel]: 0x131, - [ManufacturerCode.SleipnerMotorAs]: 0x132, + [ManufacturerCode.SleipnerMotor]: 0x132, [ManufacturerCode.MbwTechnologies]: 0x133, - [ManufacturerCode.FischerPanda]: 0x137, [ManufacturerCode.Icom]: 0x13b, [ManufacturerCode.Qwerty]: 0x148, [ManufacturerCode.Dief]: 0x149, - [ManufacturerCode.BoeningAutomationstechnologieGmbHCoKg]: 0x155, + [ManufacturerCode.BoeningAutomationstechnologie]: 0x155, [ManufacturerCode.KoreanMaritimeUniversity]: 0x159, [ManufacturerCode.ThraneAndThrane]: 0x15f, [ManufacturerCode.Mastervolt]: 0x163, @@ -3862,8 +3886,8 @@ export const ManufacturerCodeValues: {[key: string]: number} = { [ManufacturerCode.Chetco]: 0x199, [ManufacturerCode.FusionElectronics]: 0x1a3, [ManufacturerCode.StandardHorizon]: 0x1a5, - [ManufacturerCode.TrueHeadingAb]: 0x1a6, - [ManufacturerCode.EgersundMarineElectronicsAs]: 0x1aa, + [ManufacturerCode.TrueHeading]: 0x1a6, + [ManufacturerCode.EgersundMarineElectronics]: 0x1aa, [ManufacturerCode.EmTrakMarineElectronics]: 0x1ab, [ManufacturerCode.TohatsuCoJp]: 0x1af, [ManufacturerCode.DigitalYacht]: 0x1b5, @@ -3871,22 +3895,21 @@ export const ManufacturerCodeValues: {[key: string]: number} = { [ManufacturerCode.Cummins]: 0x1b8, [ManufacturerCode.VdoakaContinentalCorporation]: 0x1bb, [ManufacturerCode.ParkerHannifinAkaVillageMarineTech]: 0x1c3, - [ManufacturerCode.AlltekMarineElectronicsCorp]: 0x1cb, + [ManufacturerCode.AlltekMarineElectronics]: 0x1cb, [ManufacturerCode.SanGiorgioSEIN]: 0x1cc, [ManufacturerCode.VeethreeElectronicsMarine]: 0x1d2, - [ManufacturerCode.HumminbirdMarineElectronics]: 0x1d3, [ManufacturerCode.SiTexMarineElectronics]: 0x1d6, - [ManufacturerCode.SeaCrossMarineAb]: 0x1d7, - [ManufacturerCode.GmeAkaStandardCommunicationsPtyLtd]: 0x1db, - [ManufacturerCode.HumminbirdMarineElectronics2]: 0x1dc, - [ManufacturerCode.OceanSatBv]: 0x1de, - [ManufacturerCode.ChetcoDigitialInstruments]: 0x1e1, + [ManufacturerCode.SeaCrossMarine]: 0x1d7, + [ManufacturerCode.GmeAkaStandardCommunications]: 0x1db, + [ManufacturerCode.HumminbirdMarineElectronics]: 0x1dc, + [ManufacturerCode.OceanSat]: 0x1de, + [ManufacturerCode.ChetcoDigitalInstruments]: 0x1e1, [ManufacturerCode.Watcheye]: 0x1ed, [ManufacturerCode.LcjCapteurs]: 0x1f3, [ManufacturerCode.AttwoodMarine]: 0x1f6, [ManufacturerCode.NaviopSRL]: 0x1f7, - [ManufacturerCode.VesperMarineLtd]: 0x1f8, - [ManufacturerCode.MarinesoftCoLtd]: 0x1fe, + [ManufacturerCode.VesperMarine]: 0x1f8, + [ManufacturerCode.Marinesoft]: 0x1fe, [ManufacturerCode.Simarine]: 0x201, [ManufacturerCode.NoLandEngineering]: 0x205, [ManufacturerCode.TransasUsa]: 0x206, @@ -3895,32 +3918,31 @@ export const ManufacturerCodeValues: {[key: string]: number} = { [ManufacturerCode.OnwaMarine]: 0x214, [ManufacturerCode.Webasto]: 0x21c, [ManufacturerCode.MarinecraftsouthKorea]: 0x23b, - [ManufacturerCode.McMurdoGroupAkaOroliaLtd]: 0x23d, + [ManufacturerCode.McMurdoGroupAkaOrolia]: 0x23d, [ManufacturerCode.Advansea]: 0x242, [ManufacturerCode.Kvh]: 0x243, [ManufacturerCode.SanJoseTechnology]: 0x244, [ManufacturerCode.YachtControl]: 0x247, - [ManufacturerCode.SuzukiMotorCorporation]: 0x24a, + [ManufacturerCode.SuzukiMotor]: 0x24a, [ManufacturerCode.UsCoastGuard]: 0x24f, [ManufacturerCode.ShipModuleAkaCustomware]: 0x253, [ManufacturerCode.AquaticAv]: 0x258, - [ManufacturerCode.AventicsGmbH]: 0x25d, + [ManufacturerCode.Aventics]: 0x25d, [ManufacturerCode.Intellian]: 0x25e, [ManufacturerCode.SamwonIt]: 0x264, [ManufacturerCode.ArltTecnologies]: 0x266, - [ManufacturerCode.BavariaYacts]: 0x27d, + [ManufacturerCode.BavariaYachts]: 0x27d, [ManufacturerCode.DiverseYachtServices]: 0x281, [ManufacturerCode.WemaUSADbaKus]: 0x284, - [ManufacturerCode.Garmin2]: 0x285, [ManufacturerCode.ShenzhenJiuzhouHimunication]: 0x292, - [ManufacturerCode.RockfordCorp]: 0x2b0, + [ManufacturerCode.Rockford]: 0x2b0, [ManufacturerCode.HarmanInternational]: 0x2bb, [ManufacturerCode.JlAudio]: 0x2c0, [ManufacturerCode.LarsThrane]: 0x2c4, [ManufacturerCode.Autonnic]: 0x2cb, [ManufacturerCode.YachtDevices]: 0x2cd, [ManufacturerCode.ReapSystems]: 0x2de, - [ManufacturerCode.AuElectronicsGroup]: 0x2df, + [ManufacturerCode.AemPerformanceElectronics]: 0x2df, [ManufacturerCode.LxNav]: 0x2e3, [ManufacturerCode.LittelfuseIncformerlyCarlingTechnologies]: 0x2e5, [ManufacturerCode.DaeMyung]: 0x2e7, @@ -3929,7 +3951,7 @@ export const ManufacturerCodeValues: {[key: string]: number} = { [ManufacturerCode.ClarionUs]: 0x305, [ManufacturerCode.HmiSystems]: 0x308, [ManufacturerCode.OceanSignal]: 0x309, - [ManufacturerCode.Seekeeper]: 0x30a, + [ManufacturerCode.Seakeeper]: 0x30a, [ManufacturerCode.PolyPlanar]: 0x30d, [ManufacturerCode.FischerPandaDe]: 0x311, [ManufacturerCode.BroydaIndustries]: 0x31b, @@ -3942,12 +3964,12 @@ export const ManufacturerCodeValues: {[key: string]: number} = { [ManufacturerCode.BlueWaterDesalination]: 0x32b, [ManufacturerCode.Flir]: 0x32f, [ManufacturerCode.UndheimSystems]: 0x338, - [ManufacturerCode.LewmarInc]: 0x33a, + [ManufacturerCode.Lewmar]: 0x33a, [ManufacturerCode.TeamSurv]: 0x346, [ManufacturerCode.FellMarine]: 0x34c, [ManufacturerCode.Oceanvolt]: 0x34f, [ManufacturerCode.Prospec]: 0x35e, - [ManufacturerCode.DataPanelCorp]: 0x364, + [ManufacturerCode.DataPanel]: 0x364, [ManufacturerCode.L3Technologies]: 0x37a, [ManufacturerCode.RhodanMarineSystems]: 0x37e, [ManufacturerCode.NexfourSolutions]: 0x380, @@ -3955,7 +3977,7 @@ export const ManufacturerCodeValues: {[key: string]: number} = { [ManufacturerCode.MarinesCosouthKorea]: 0x38d, [ManufacturerCode.NauticOn]: 0x38f, [ManufacturerCode.Sentinel]: 0x395, - [ManufacturerCode.JlMarineYstems]: 0x3a1, + [ManufacturerCode.JlMarineSystems]: 0x3a1, [ManufacturerCode.Ecotronix]: 0x3a2, [ManufacturerCode.ZontisaMarine]: 0x3b0, [ManufacturerCode.ExorInternational]: 0x3b7, @@ -3963,18 +3985,18 @@ export const ManufacturerCodeValues: {[key: string]: number} = { [ManufacturerCode.TjcMicro]: 0x3c3, [ManufacturerCode.CoxPowertrain]: 0x3c8, [ManufacturerCode.BlueSeas]: 0x3c9, - [ManufacturerCode.KobeltManufacturingCoLtd]: 0x3d5, + [ManufacturerCode.KobeltManufacturing]: 0x3d5, [ManufacturerCode.BlueOceanIot]: 0x3e0, [ManufacturerCode.XentaSystems]: 0x3e5, [ManufacturerCode.SignalK]: 0x3e7, - [ManufacturerCode.UltraflexSpA]: 0x3ec, + [ManufacturerCode.Ultraflex]: 0x3ec, [ManufacturerCode.LintestSmartBoat]: 0x3f0, [ManufacturerCode.Soundmax]: 0x3f3, [ManufacturerCode.TeamItaliaMarineonyxMarineAutomationSRL]: 0x3fc, [ManufacturerCode.Entratech]: 0x3fd, - [ManufacturerCode.ItcInc]: 0x3fe, - [ManufacturerCode.TheMarineGuardianLlc]: 0x405, - [ManufacturerCode.SonicCorporation]: 0x417, + [ManufacturerCode.Itc]: 0x3fe, + [ManufacturerCode.TheMarineGuardian]: 0x405, + [ManufacturerCode.Sonic]: 0x417, [ManufacturerCode.ProNav]: 0x41b, [ManufacturerCode.VetusMaxwellInc]: 0x41d, [ManufacturerCode.LithiumPros]: 0x420, @@ -3982,96 +4004,96 @@ export const ManufacturerCodeValues: {[key: string]: number} = { [ManufacturerCode.MarolCoLtd]: 0x426, [ManufacturerCode.CalypsoInstruments]: 0x429, [ManufacturerCode.SpotZeroWater]: 0x42a, - [ManufacturerCode.LithionicsBatteryLlc]: 0x42d, - [ManufacturerCode.QuickTeckElectronicsLtd]: 0x42e, + [ManufacturerCode.LithionicsBattery]: 0x42d, + [ManufacturerCode.QuickTeckElectronics]: 0x42e, [ManufacturerCode.UnidenAmerica]: 0x433, [ManufacturerCode.Nauticoncept]: 0x43b, - [ManufacturerCode.ShadowCasterLedLightingLlc]: 0x43c, - [ManufacturerCode.WetSoundsLlc]: 0x43d, + [ManufacturerCode.ShadowCasterLedLighting]: 0x43c, + [ManufacturerCode.WetSounds]: 0x43d, [ManufacturerCode.ETACircuitBreakers]: 0x440, [ManufacturerCode.Scheiber]: 0x444, [ManufacturerCode.SmartYachtsInternationalLimited]: 0x44c, [ManufacturerCode.Dockmate]: 0x455, [ManufacturerCode.BobsMachine]: 0x45a, [ManufacturerCode.L3HarrisAsv]: 0x45e, - [ManufacturerCode.BalmarLlc]: 0x45f, - [ManufacturerCode.ElettromediaSpa]: 0x460, + [ManufacturerCode.Balmar]: 0x45f, + [ManufacturerCode.Elettromedia]: 0x460, [ManufacturerCode.Electromaax]: 0x467, - [ManufacturerCode.AcrossOceansSystemsLtd]: 0x474, + [ManufacturerCode.AcrossOceansSystems]: 0x474, [ManufacturerCode.KiwiYachting]: 0x479, - [ManufacturerCode.BsbArtificialIntelligenceGmbH]: 0x47e, - [ManufacturerCode.OrcaTechnologoesAs]: 0x47f, - [ManufacturerCode.TbsElectronicsBv]: 0x482, + [ManufacturerCode.BsbArtificialIntelligence]: 0x47e, + [ManufacturerCode.OrcaTechnologies]: 0x47f, + [ManufacturerCode.TbsElectronics]: 0x482, [ManufacturerCode.TechnotonElectroics]: 0x486, - [ManufacturerCode.MgEnergySystemsBV]: 0x488, - [ManufacturerCode.SeaMacineRoboticsInc]: 0x491, + [ManufacturerCode.MgEnergySystems]: 0x488, + [ManufacturerCode.SeaMachineRobotics]: 0x491, [ManufacturerCode.VistaManufacturing]: 0x493, [ManufacturerCode.Zipwake]: 0x49f, - [ManufacturerCode.SailmonBv]: 0x4a2, + [ManufacturerCode.Sailmon]: 0x4a2, [ManufacturerCode.AirmoniqProKft]: 0x4a8, [ManufacturerCode.SierraMarine]: 0x4aa, [ManufacturerCode.XinuoInformationTechnologyxiamen]: 0x4b0, [ManufacturerCode.Septentrio]: 0x4c2, - [ManufacturerCode.NkeMarineElecronics]: 0x4d1, + [ManufacturerCode.NkeMarineElectronics]: 0x4d1, [ManufacturerCode.SuperTrackAps]: 0x4d6, - [ManufacturerCode.HondaElectronicsCoLtd]: 0x4d7, - [ManufacturerCode.RaritanEngineeringCompanyInc]: 0x4dd, + [ManufacturerCode.HondaElectronics]: 0x4d7, + [ManufacturerCode.RaritanEngineering]: 0x4dd, [ManufacturerCode.IntegratedPowerSolutionsAg]: 0x4e1, - [ManufacturerCode.InteractiveTechnologiesInc]: 0x4ec, + [ManufacturerCode.InteractiveTechnologies]: 0x4ec, [ManufacturerCode.LtgTech]: 0x503, - [ManufacturerCode.EnergySolutionsukLtd]: 0x513, - [ManufacturerCode.WattFuelCellCorp]: 0x514, + [ManufacturerCode.EnergySolutionsuk]: 0x513, + [ManufacturerCode.WattFuelCell]: 0x514, [ManufacturerCode.ProMainer]: 0x516, [ManufacturerCode.DragonflyEnergy]: 0x519, - [ManufacturerCode.KodenElectronicsCoLtd]: 0x51a, - [ManufacturerCode.HumphreeAb]: 0x51f, + [ManufacturerCode.KodenElectronics]: 0x51a, + [ManufacturerCode.Humphree]: 0x51f, [ManufacturerCode.HinkleyYachts]: 0x524, [ManufacturerCode.GlobalMarineManagementGmbHgmm]: 0x525, - [ManufacturerCode.TriskelMarineLtd]: 0x528, + [ManufacturerCode.TriskelMarine]: 0x528, [ManufacturerCode.WarwickControlTechnologies]: 0x532, [ManufacturerCode.DolphinCharger]: 0x533, - [ManufacturerCode.BarnacleSystemsInc]: 0x539, - [ManufacturerCode.RadianIoTInc]: 0x544, - [ManufacturerCode.OceanLedMarineLtd]: 0x549, + [ManufacturerCode.BarnacleSystems]: 0x539, + [ManufacturerCode.RadianIoT]: 0x544, + [ManufacturerCode.OceanLedMarine]: 0x549, [ManufacturerCode.BluNav]: 0x54f, [ManufacturerCode.OvanantongSaiyangElectronicsCoLtd]: 0x551, [ManufacturerCode.RadPropulsion]: 0x558, [ManufacturerCode.ElectricYacht]: 0x559, [ManufacturerCode.ElcoMotorYachts]: 0x55c, [ManufacturerCode.TecnosealFoundrySRL]: 0x568, - [ManufacturerCode.ProChargingSystemsLlc]: 0x569, - [ManufacturerCode.EvexCoLtd]: 0x56d, - [ManufacturerCode.GobiusSensorTechnologyAb]: 0x576, + [ManufacturerCode.ProChargingSystems]: 0x569, + [ManufacturerCode.Evex]: 0x56d, + [ManufacturerCode.GobiusSensorTechnology]: 0x576, [ManufacturerCode.ArcoMarine]: 0x57b, - [ManufacturerCode.LencoMarineInc]: 0x580, - [ManufacturerCode.NaocontrolSL]: 0x585, + [ManufacturerCode.LencoMarine]: 0x580, + [ManufacturerCode.Naocontrol]: 0x585, [ManufacturerCode.Revatek]: 0x589, [ManufacturerCode.Aeolionics]: 0x59e, - [ManufacturerCode.PredictWindLtd]: 0x59f, + [ManufacturerCode.PredictWind]: 0x59f, [ManufacturerCode.EgisMobileElectric]: 0x5a0, [ManufacturerCode.StarboardYachtGroup]: 0x5a5, [ManufacturerCode.RoswellMarine]: 0x5a6, [ManufacturerCode.EPropulsionguangdongEPropulsionTechnologyLtd]: 0x5ab, - [ManufacturerCode.MicroAirLlc]: 0x5ac, + [ManufacturerCode.MicroAir]: 0x5ac, [ManufacturerCode.VitalBattery]: 0x5ad, - [ManufacturerCode.RideControllerLlc]: 0x5b2, + [ManufacturerCode.RideController]: 0x5b2, [ManufacturerCode.TocaroBlue]: 0x5b4, [ManufacturerCode.VanquishYachts]: 0x5b5, [ManufacturerCode.FtTechnologies]: 0x5bf, - [ManufacturerCode.AlpsAlpineCoLtd]: 0x5c6, + [ManufacturerCode.AlpsAlpine]: 0x5c6, [ManufacturerCode.EForceMarine]: 0x5c9, [ManufacturerCode.CmcMarine]: 0x5ca, - [ManufacturerCode.NanjingSandemarineInformationTechnologyCoLtd]: 0x5cb, + [ManufacturerCode.NanjingSandemarineInformationTechnology]: 0x5cb, [ManufacturerCode.TeleflexMarineseaStarSolutions]: 0x73a, [ManufacturerCode.Raymarine]: 0x73b, [ManufacturerCode.Navionics]: 0x73c, - [ManufacturerCode.JapanRadioCo]: 0x73d, + [ManufacturerCode.JapanRadio]: 0x73d, [ManufacturerCode.NorthstarTechnologies]: 0x73e, [ManufacturerCode.Furuno]: 0x73f, [ManufacturerCode.Trimble]: 0x740, [ManufacturerCode.Simrad]: 0x741, [ManufacturerCode.Litton]: 0x742, - [ManufacturerCode.KvasarAb]: 0x743, + [ManufacturerCode.Kvasar]: 0x743, [ManufacturerCode.Mmp]: 0x744, [ManufacturerCode.VectorCantech]: 0x745, [ManufacturerCode.YamahaMarine]: 0x746, @@ -8235,6 +8257,60 @@ export const SimnetWindSpeedUnitValues: {[key: string]: number} = { [SimnetWindSpeedUnit.KilometersPerHour]: 0x3, } +/** + * @category Enumerations + */ +export enum SleipnerThrusterAction { + Active = 'Active', + Standby = 'Standby', +} + +/** + * @category Enumerations + */ +export const SleipnerThrusterActionValues: {[key: string]: number} = { + [SleipnerThrusterAction.Active]: 0x1, + [SleipnerThrusterAction.Standby]: 0x2, +} + +/** + * @category Enumerations + */ +export enum SleipnerThrusterDirection { + None = 'None', + Direction1 = 'Direction 1', + Direction2 = 'Direction 2', +} + +/** + * @category Enumerations + */ +export const SleipnerThrusterDirectionValues: {[key: string]: number} = { + [SleipnerThrusterDirection.None]: 0x0, + [SleipnerThrusterDirection.Direction1]: 0x1, + [SleipnerThrusterDirection.Direction2]: 0x2, +} + +/** + * @category Enumerations + */ +export enum SleipnerThrusterState { + StowingOrDeploying = 'Stowing or deploying', + Off = 'Off', + Ready = 'Ready', + Thrusting = 'Thrusting', +} + +/** + * @category Enumerations + */ +export const SleipnerThrusterStateValues: {[key: string]: number} = { + [SleipnerThrusterState.StowingOrDeploying]: 0x0, + [SleipnerThrusterState.Off]: 0x1, + [SleipnerThrusterState.Ready]: 0xa, + [SleipnerThrusterState.Thrusting]: 0xb, +} + /** * @category Enumerations */ diff --git a/src/pgns.ts b/src/pgns.ts index 0b73c0e2..5bca75dc 100644 --- a/src/pgns.ts +++ b/src/pgns.ts @@ -2569,7 +2569,7 @@ pgnIdToCreator['furunoHeave'] = (fields:any, dst:number) => new PGN_65280_Furuno * * Description: Honda: Engine Data * - * Match: Manufacturer Code == Honda Marine
+ * Match: Manufacturer Code == Honda Motor
* Match: Industry Code == Marine Industry
* * @category PGN_65280_HondaEngineData @@ -2592,7 +2592,7 @@ export interface PGN_65280_HondaEngineDataFields { * @category PGN_65280_HondaEngineData */ export const PGN_65280_HondaEngineDataMatchFields = { - manufacturerCode: enums.ManufacturerCode.HondaMarine, + manufacturerCode: enums.ManufacturerCode.HondaMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -2634,6 +2634,8 @@ pgnIdToCreator['hondaEngineData'] = (fields:any, dst:number) => new PGN_65280_Ho * * Description: Yanmar: Engine Data A * + * Explanation: Observed on Yanmar i8320P and i8320S engine interfaces. Throttle and transmission gear mirror the control-head command, and engine speed reports whole RPM. + * * Match: Manufacturer Code == Yanmar Marine
* Match: Industry Code == Marine Industry
* @@ -2650,7 +2652,13 @@ export interface PGN_65280_YanmarEngineDataAFields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number - data?: N2K_Binary + unknownSelector?: N2K_Number + engineInstance?: enums.EngineInstance | number + throttlePosition?: N2K_Number + spare?: number + transmissionGear?: enums.GearStatus | number + engineSpeed?: N2K_Number + unknownData?: N2K_Binary } /** @@ -2666,7 +2674,13 @@ export const PGN_65280_YanmarEngineDataAMatchFields = { */ export interface PGN_65280_YanmarEngineDataACreateArgs { reserved?: number - data?: N2K_Binary + unknownSelector?: N2K_Number + engineInstance?: enums.EngineInstance | number + throttlePosition?: N2K_Number + spare?: number + transmissionGear?: enums.GearStatus | number + engineSpeed?: N2K_Number + unknownData?: N2K_Binary } /** @@ -2678,7 +2692,7 @@ export class PGN_65280_YanmarEngineDataA extends PGN implements PGN_65280_Yanmar constructor(fields: PGN_65280_YanmarEngineDataACreateArgs, dst: number = 255) { super({ pgn: 65280, - prio: 3, + prio: 6, dst }) this.fields = { ...PGN_65280_YanmarEngineDataAMatchFields, ...fields } @@ -2900,7 +2914,7 @@ pgnIdToCreator['navicoDeviceStatus'] = (fields:any, dst:number) => new PGN_65280 * * Explanation: CZone circuit control command from a plotter (or other commander) to CZone modules. The plotter broadcasts; each module independently checks whether the 16-bit Circuit ID matches one of its own. Observed wire patterns: byte 6 = 0xF1 for ON commands, 0xF2 for OFF: Level Or Value = 1 (ON) or 2 (OFF) with Command Active and several flag bits asserted. The seven Unknown bits in bytes 6-7 have not yet been mapped to specific actions (likely candidates: dim direction, momentary vs latched, transient vs persistent, dim ramp-rate select, source priority). * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65280_BepMarineCzoneCircuitControl @@ -2933,7 +2947,7 @@ export interface PGN_65280_BepMarineCzoneCircuitControlFields { * @category PGN_65280_BepMarineCzoneCircuitControl */ export const PGN_65280_BepMarineCzoneCircuitControlMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -2980,6 +2994,81 @@ export class PGN_65280_BepMarineCzoneCircuitControl extends PGN implements PGN_6 pgnIdToCreator['bepMarineCzoneCircuitControl'] = (fields:any, dst:number) => new PGN_65280_BepMarineCzoneCircuitControl(fields, dst) +/** + * PGN: 65280 + * + * Description: Sleipner: Thruster Command + * + * Explanation: Sent by Sleipner S-Link control panels (PJC-series joystick panels) at ~20 Hz per thruster instance, at priority 2. The instance selects which thruster the command applies to; direction and device action are separate two-bit fields; thrust is a ten-bit per-mille demand. The thrusters answer with PGN 130827, whose signed thrust field takes the sign of the commanded direction. The remaining bits were zero in every observed frame, including at full deflection. + * + * Match: Manufacturer Code == Sleipner Motor
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_65280_SleipnerThrusterCommand + */ +export interface PGN_65280_SleipnerThrusterCommandInterface extends PGNInterface { + fields: PGN_65280_SleipnerThrusterCommandFields +} + +/** + * @category PGN_65280_SleipnerThrusterCommand + */ +export interface PGN_65280_SleipnerThrusterCommandFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + thrusterInstance?: N2K_Number + direction?: enums.SleipnerThrusterDirection | number + deviceAction?: enums.SleipnerThrusterAction | number + thrust?: N2K_Number + reserved10?: N2K_Binary +} + +/** + * @category PGN_65280_SleipnerThrusterCommand + */ +export const PGN_65280_SleipnerThrusterCommandMatchFields = { + manufacturerCode: enums.ManufacturerCode.SleipnerMotor, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_65280_SleipnerThrusterCommand + */ +export interface PGN_65280_SleipnerThrusterCommandCreateArgs { + reserved?: number + thrusterInstance?: N2K_Number + direction?: enums.SleipnerThrusterDirection | number + deviceAction?: enums.SleipnerThrusterAction | number + thrust?: N2K_Number + reserved10?: N2K_Binary +} + +/** + * @category PGN_65280_SleipnerThrusterCommand + */ +export class PGN_65280_SleipnerThrusterCommand extends PGN implements PGN_65280_SleipnerThrusterCommandInterface { + fields: PGN_65280_SleipnerThrusterCommandFields + + constructor(fields: PGN_65280_SleipnerThrusterCommandCreateArgs, dst: number = 255) { + super({ + pgn: 65280, + prio: 2, + dst + }) + this.fields = { ...PGN_65280_SleipnerThrusterCommandMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_65280_SleipnerThrusterCommandMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('sleipnerThrusterCommand')! + } +} +pgnIdToCreator['sleipnerThrusterCommand'] = (fields:any, dst:number) => new PGN_65280_SleipnerThrusterCommand(fields, dst) + + /** * PGN: 65281 * @@ -3050,7 +3139,7 @@ pgnIdToCreator['yanmarEngineDataB'] = (fields:any, dst:number) => new PGN_65281_ * * Description: BEP Marine: Proprietary PGN 65281 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65281_BepMarineProprietaryPgn65281 @@ -3073,7 +3162,7 @@ export interface PGN_65281_BepMarineProprietaryPgn65281Fields { * @category PGN_65281_BepMarineProprietaryPgn65281 */ export const PGN_65281_BepMarineProprietaryPgn65281MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -3186,7 +3275,7 @@ pgnIdToCreator['maretronNumberOfChannels'] = (fields:any, dst:number) => new PGN * * Explanation: CZone alarm-event PGN. A CZone module emits this single-frame PGN to assert or clear an alarm condition on the bus; the plotter's alarm engine routes it through a 3-sample debounce before raising or clearing the alarm in the UI. Modules originate this PGN themselves (the host CZone library is unpack-only). The byte at offset 2 is read by the unpacker but ignored by the alarm classifier; its per-source semantics are not yet observed in real captures (likely a sub-type / channel index, an alarm-state polarity flag, or a frame counter). * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65282_BepMarineCzoneAlarmEvent @@ -3211,7 +3300,7 @@ export interface PGN_65282_BepMarineCzoneAlarmEventFields { * @category PGN_65282_BepMarineCzoneAlarmEvent */ export const PGN_65282_BepMarineCzoneAlarmEventMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -3257,7 +3346,7 @@ pgnIdToCreator['bepMarineCzoneAlarmEvent'] = (fields:any, dst:number) => new PGN * * Explanation: Per-channel state report for one CZone module's six output channels. Each channel has a 2-bit Mode and a 4-bit Value; the reporting module emits this periodically or on state change so other devices on the bus can mirror its outputs. The Mode and Value field semantics are inferred from context (likely circuit-type/fault state for Mode and dim-level/state-code for Value) but have not yet been verified against captures with known channel states. * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65283_BepMarineCzoneChannelState @@ -3294,7 +3383,7 @@ export interface PGN_65283_BepMarineCzoneChannelStateFields { * @category PGN_65283_BepMarineCzoneChannelState */ export const PGN_65283_BepMarineCzoneChannelStateMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -3421,7 +3510,7 @@ pgnIdToCreator['maretronProprietaryDcBreakerCurrent'] = (fields:any, dst:number) * * Description: Honda: Engine Alerts * - * Match: Manufacturer Code == Honda Marine
+ * Match: Manufacturer Code == Honda Motor
* Match: Industry Code == Marine Industry
* * @category PGN_65284_HondaEngineAlerts @@ -3444,7 +3533,7 @@ export interface PGN_65284_HondaEngineAlertsFields { * @category PGN_65284_HondaEngineAlerts */ export const PGN_65284_HondaEngineAlertsMatchFields = { - manufacturerCode: enums.ManufacturerCode.HondaMarine, + manufacturerCode: enums.ManufacturerCode.HondaMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -3488,7 +3577,7 @@ pgnIdToCreator['hondaEngineAlerts'] = (fields:any, dst:number) => new PGN_65284_ * * Explanation: Periodic 'which of my circuits are currently on' report from a CZone module. Also serves as the module's heartbeat: the plotter's tLoadGroupMonitorCZone tracks a moving average of inter-arrival deltas (window of last 20 deltas, initial baseline 1000 ms) and removes the module from the CZone panel when an inter-arrival delta exceeds 3x the moving average. A reasonable broadcast cadence is 0.5 to 2 seconds. There is also a query form (third byte = 0xC8) by which a controller asks every module to report; the bitmap bytes are then unused. * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65284_BepMarineCzoneCircuitStatus @@ -3513,7 +3602,7 @@ export interface PGN_65284_BepMarineCzoneCircuitStatusFields { * @category PGN_65284_BepMarineCzoneCircuitStatus */ export const PGN_65284_BepMarineCzoneCircuitStatusMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -3552,6 +3641,87 @@ export class PGN_65284_BepMarineCzoneCircuitStatus extends PGN implements PGN_65 pgnIdToCreator['bepMarineCzoneCircuitStatus'] = (fields:any, dst:number) => new PGN_65284_BepMarineCzoneCircuitStatus(fields, dst) +/** + * PGN: 65284 + * + * Description: Yanmar: Throttle Control + * + * Explanation: Observed from a Yanmar CAN Bus Control Head at approximately 21 Hz per engine instance. The standard engine-instance bit independently identifies port and starboard transmission gear and throttle commands, mirrored by the corresponding engine interfaces in PGN 65280. + * + * Match: Manufacturer Code == Yanmar Marine
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_65284_YanmarThrottleControl + */ +export interface PGN_65284_YanmarThrottleControlInterface extends PGNInterface { + fields: PGN_65284_YanmarThrottleControlFields +} + +/** + * @category PGN_65284_YanmarThrottleControl + */ +export interface PGN_65284_YanmarThrottleControlFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + unknownSelector?: N2K_Number + engineInstance?: enums.EngineInstance | number + transmissionGear?: enums.GearStatus | number + unknownControlFlag: N2K_Number + reservedControlBits?: number + throttlePosition?: N2K_Number + reserved7?: number + unknownData?: N2K_Binary +} + +/** + * @category PGN_65284_YanmarThrottleControl + */ +export const PGN_65284_YanmarThrottleControlMatchFields = { + manufacturerCode: enums.ManufacturerCode.YanmarMarine, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_65284_YanmarThrottleControl + */ +export interface PGN_65284_YanmarThrottleControlCreateArgs { + reserved?: number + unknownSelector?: N2K_Number + engineInstance?: enums.EngineInstance | number + transmissionGear?: enums.GearStatus | number + unknownControlFlag: N2K_Number + reservedControlBits?: number + throttlePosition?: N2K_Number + reserved7?: number + unknownData?: N2K_Binary +} + +/** + * @category PGN_65284_YanmarThrottleControl + */ +export class PGN_65284_YanmarThrottleControl extends PGN implements PGN_65284_YanmarThrottleControlInterface { + fields: PGN_65284_YanmarThrottleControlFields + + constructor(fields: PGN_65284_YanmarThrottleControlCreateArgs, dst: number = 255) { + super({ + pgn: 65284, + prio: 2, + dst + }) + this.fields = { ...PGN_65284_YanmarThrottleControlMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_65284_YanmarThrottleControlMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('yanmarThrottleControl')! + } +} +pgnIdToCreator['yanmarThrottleControl'] = (fields:any, dst:number) => new PGN_65284_YanmarThrottleControl(fields, dst) + + /** * PGN: 65285 * @@ -4598,7 +4768,7 @@ pgnIdToCreator['maretronRotationalRate'] = (fields:any, dst:number) => new PGN_6 * * Explanation: CZone module's 'I'm here' announce. A module sends one shortly after coming online. The plotter uses it to populate its list of CZone-recognised modules. The 20-bit Unique field should be stable across restarts of the same module so the plotter's 'have I seen this before' logic stays consistent. Field B (18 bits) and Field C (2 bits) have not been observed populated; semantics unknown. The Dipswitch byte order on the wire is direct (no bit-reverse): the binary string '00011000' shown in the CZone Configuration Tool corresponds to byte value 0x18 = 24. * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65290_BepMarineCzoneModuleAnnounce @@ -4624,7 +4794,7 @@ export interface PGN_65290_BepMarineCzoneModuleAnnounceFields { * @category PGN_65290_BepMarineCzoneModuleAnnounce */ export const PGN_65290_BepMarineCzoneModuleAnnounceMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5091,7 +5261,7 @@ pgnIdToCreator['diverseYachtServicesLoadCell'] = (fields:any, dst:number) => new * * Description: BEP Marine: Proprietary PGN 65294 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65294_BepMarineProprietaryPgn65294 @@ -5114,7 +5284,7 @@ export interface PGN_65294_BepMarineProprietaryPgn65294Fields { * @category PGN_65294_BepMarineProprietaryPgn65294 */ export const PGN_65294_BepMarineProprietaryPgn65294MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5158,7 +5328,7 @@ pgnIdToCreator['bepMarineProprietaryPgn65294'] = (fields:any, dst:number) => new * * Explanation: CZone alarm/status/acknowledgement message. Payload byte 2 is the device/source module id, byte 3 is the channel/alarm id, bytes 4-5 are the little-endian alarm type, and byte 6 contains packed severity/state flags. Payload byte 7 is reserved. * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65295_BepMarineCzoneAlarm @@ -5188,7 +5358,7 @@ export interface PGN_65295_BepMarineCzoneAlarmFields { * @category PGN_65295_BepMarineCzoneAlarm */ export const PGN_65295_BepMarineCzoneAlarmMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5237,7 +5407,7 @@ pgnIdToCreator['bepMarineCzoneAlarm'] = (fields:any, dst:number) => new PGN_6529 * * Description: BEP Marine: Proprietary PGN 65296 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65296_BepMarineProprietaryPgn65296 @@ -5260,7 +5430,7 @@ export interface PGN_65296_BepMarineProprietaryPgn65296Fields { * @category PGN_65296_BepMarineProprietaryPgn65296 */ export const PGN_65296_BepMarineProprietaryPgn65296MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5302,7 +5472,7 @@ pgnIdToCreator['bepMarineProprietaryPgn65296'] = (fields:any, dst:number) => new * * Description: BEP Marine: Proprietary PGN 65297 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65297_BepMarineProprietaryPgn65297 @@ -5325,7 +5495,7 @@ export interface PGN_65297_BepMarineProprietaryPgn65297Fields { * @category PGN_65297_BepMarineProprietaryPgn65297 */ export const PGN_65297_BepMarineProprietaryPgn65297MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5367,7 +5537,7 @@ pgnIdToCreator['bepMarineProprietaryPgn65297'] = (fields:any, dst:number) => new * * Description: Suzuki: Engine Data A * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_65298_SuzukiEngineDataA @@ -5390,7 +5560,7 @@ export interface PGN_65298_SuzukiEngineDataAFields { * @category PGN_65298_SuzukiEngineDataA */ export const PGN_65298_SuzukiEngineDataAMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5432,7 +5602,7 @@ pgnIdToCreator['suzukiEngineDataA'] = (fields:any, dst:number) => new PGN_65298_ * * Description: Suzuki: Engine Data B * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_65299_SuzukiEngineDataB @@ -5455,7 +5625,7 @@ export interface PGN_65299_SuzukiEngineDataBFields { * @category PGN_65299_SuzukiEngineDataB */ export const PGN_65299_SuzukiEngineDataBMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5499,7 +5669,7 @@ pgnIdToCreator['suzukiEngineDataB'] = (fields:any, dst:number) => new PGN_65299_ * * Explanation: CZone request for remote alarm string text. The request identifies the device and channel/alarm id; the remote device is expected to respond with the matching alarm string. * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65299_BepMarineCzoneAlarmStringRequest @@ -5524,7 +5694,7 @@ export interface PGN_65299_BepMarineCzoneAlarmStringRequestFields { * @category PGN_65299_BepMarineCzoneAlarmStringRequest */ export const PGN_65299_BepMarineCzoneAlarmStringRequestMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5568,7 +5738,7 @@ pgnIdToCreator['bepMarineCzoneAlarmStringRequest'] = (fields:any, dst:number) => * * Description: Suzuki: Engine Data C * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_65300_SuzukiEngineDataC @@ -5591,7 +5761,7 @@ export interface PGN_65300_SuzukiEngineDataCFields { * @category PGN_65300_SuzukiEngineDataC */ export const PGN_65300_SuzukiEngineDataCMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5633,7 +5803,7 @@ pgnIdToCreator['suzukiEngineDataC'] = (fields:any, dst:number) => new PGN_65300_ * * Description: BEP Marine: Proprietary PGN 65300 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65300_BepMarineProprietaryPgn65300 @@ -5656,7 +5826,7 @@ export interface PGN_65300_BepMarineProprietaryPgn65300Fields { * @category PGN_65300_BepMarineProprietaryPgn65300 */ export const PGN_65300_BepMarineProprietaryPgn65300MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5767,7 +5937,7 @@ pgnIdToCreator['carlingSwitchboardStatus'] = (fields:any, dst:number) => new PGN * * Description: BEP Marine: CZone 65301 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65301_BepMarineCzone65301 @@ -5793,7 +5963,7 @@ export interface PGN_65301_BepMarineCzone65301Fields { * @category PGN_65301_BepMarineCzone65301 */ export const PGN_65301_BepMarineCzone65301MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -5909,7 +6079,7 @@ pgnIdToCreator['simnetApUnknown1'] = (fields:any, dst:number) => new PGN_65302_S * * Description: Suzuki: Engine Data D * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_65303_SuzukiEngineDataD @@ -5932,7 +6102,7 @@ export interface PGN_65303_SuzukiEngineDataDFields { * @category PGN_65303_SuzukiEngineDataD */ export const PGN_65303_SuzukiEngineDataDMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -6047,7 +6217,7 @@ pgnIdToCreator['lowranceVesselSetupEngineAndTankConfiguration'] = (fields:any, d * * Description: Suzuki: Engine Data E * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_65304_SuzukiEngineDataE @@ -6070,7 +6240,7 @@ export interface PGN_65304_SuzukiEngineDataEFields { * @category PGN_65304_SuzukiEngineDataE */ export const PGN_65304_SuzukiEngineDataEMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -6112,7 +6282,7 @@ pgnIdToCreator['suzukiEngineDataE'] = (fields:any, dst:number) => new PGN_65304_ * * Description: BEP Marine: Proprietary PGN 65304 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65304_BepMarineProprietaryPgn65304 @@ -6135,7 +6305,7 @@ export interface PGN_65304_BepMarineProprietaryPgn65304Fields { * @category PGN_65304_BepMarineProprietaryPgn65304 */ export const PGN_65304_BepMarineProprietaryPgn65304MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -6245,6 +6415,81 @@ export class PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcast ex pgnIdToCreator['lowranceVesselSetupEngineAndTankConfigurationBroadcast'] = (fields:any, dst:number) => new PGN_65304_LowranceVesselSetupEngineAndTankConfigurationBroadcast(fields, dst) +/** + * PGN: 65304 + * + * Description: Sleipner: Device Status + * + * Explanation: Sent by Sleipner S-Link devices once the system is switched on. Carries the same identity and state layout as the fast-packet PGN 130828; the unique number matches the ISO identity number the same device claims in PGN 60928, which is how the field was identified. + * + * Match: Manufacturer Code == Sleipner Motor
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_65304_SleipnerDeviceStatus + */ +export interface PGN_65304_SleipnerDeviceStatusInterface extends PGNInterface { + fields: PGN_65304_SleipnerDeviceStatusFields +} + +/** + * @category PGN_65304_SleipnerDeviceStatus + */ +export interface PGN_65304_SleipnerDeviceStatusFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + deviceType?: N2K_Number + deviceIndex?: N2K_Number + a?: N2K_Number + uniqueNumber?: N2K_Number + b?: N2K_Number +} + +/** + * @category PGN_65304_SleipnerDeviceStatus + */ +export const PGN_65304_SleipnerDeviceStatusMatchFields = { + manufacturerCode: enums.ManufacturerCode.SleipnerMotor, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_65304_SleipnerDeviceStatus + */ +export interface PGN_65304_SleipnerDeviceStatusCreateArgs { + reserved?: number + deviceType?: N2K_Number + deviceIndex?: N2K_Number + a?: N2K_Number + uniqueNumber?: N2K_Number + b?: N2K_Number +} + +/** + * @category PGN_65304_SleipnerDeviceStatus + */ +export class PGN_65304_SleipnerDeviceStatus extends PGN implements PGN_65304_SleipnerDeviceStatusInterface { + fields: PGN_65304_SleipnerDeviceStatusFields + + constructor(fields: PGN_65304_SleipnerDeviceStatusCreateArgs, dst: number = 255) { + super({ + pgn: 65304, + prio: 3, + dst + }) + this.fields = { ...PGN_65304_SleipnerDeviceStatusMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_65304_SleipnerDeviceStatusMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('sleipnerDeviceStatus')! + } +} +pgnIdToCreator['sleipnerDeviceStatus'] = (fields:any, dst:number) => new PGN_65304_SleipnerDeviceStatus(fields, dst) + + /** * PGN: 65305 * @@ -6614,7 +6859,7 @@ pgnIdToCreator['simnetSailingProcessorStatus'] = (fields:any, dst:number) => new * * Description: BEP Marine: Proprietary PGN 65306 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65306_BepMarineProprietaryPgn65306 @@ -6637,7 +6882,7 @@ export interface PGN_65306_BepMarineProprietaryPgn65306Fields { * @category PGN_65306_BepMarineProprietaryPgn65306 */ export const PGN_65306_BepMarineProprietaryPgn65306MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -6679,7 +6924,7 @@ pgnIdToCreator['bepMarineProprietaryPgn65306'] = (fields:any, dst:number) => new * * Description: BEP Marine: Proprietary PGN 65308 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65308_BepMarineProprietaryPgn65308 @@ -6702,7 +6947,7 @@ export interface PGN_65308_BepMarineProprietaryPgn65308Fields { * @category PGN_65308_BepMarineProprietaryPgn65308 */ export const PGN_65308_BepMarineProprietaryPgn65308MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -6817,7 +7062,7 @@ pgnIdToCreator['navicoWirelessBatteryStatus'] = (fields:any, dst:number) => new * * Description: BEP Marine: Proprietary PGN 65310 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65310_BepMarineProprietaryPgn65310 @@ -6840,7 +7085,7 @@ export interface PGN_65310_BepMarineProprietaryPgn65310Fields { * @category PGN_65310_BepMarineProprietaryPgn65310 */ export const PGN_65310_BepMarineProprietaryPgn65310MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -6882,7 +7127,7 @@ pgnIdToCreator['bepMarineProprietaryPgn65310'] = (fields:any, dst:number) => new * * Description: BEP Marine: Proprietary PGN 65311 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65311_BepMarineProprietaryPgn65311 @@ -6905,7 +7150,7 @@ export interface PGN_65311_BepMarineProprietaryPgn65311Fields { * @category PGN_65311_BepMarineProprietaryPgn65311 */ export const PGN_65311_BepMarineProprietaryPgn65311MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -7087,7 +7332,7 @@ pgnIdToCreator['navicoDepthQuality'] = (fields:any, dst:number) => new PGN_65313 * * Description: BEP Marine: Proprietary PGN 65314 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65314_BepMarineProprietaryPgn65314 @@ -7110,7 +7355,7 @@ export interface PGN_65314_BepMarineProprietaryPgn65314Fields { * @category PGN_65314_BepMarineProprietaryPgn65314 */ export const PGN_65314_BepMarineProprietaryPgn65314MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -7225,7 +7470,7 @@ pgnIdToCreator['yamahaGearStatus'] = (fields:any, dst:number) => new PGN_65314_Y * * Description: Suzuki: Troll Mode Control * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_65315_SuzukiTrollModeControl @@ -7248,7 +7493,7 @@ export interface PGN_65315_SuzukiTrollModeControlFields { * @category PGN_65315_SuzukiTrollModeControl */ export const PGN_65315_SuzukiTrollModeControlMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -7290,7 +7535,7 @@ pgnIdToCreator['suzukiTrollModeControl'] = (fields:any, dst:number) => new PGN_6 * * Description: BEP Marine: Proprietary PGN 65316 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65316_BepMarineProprietaryPgn65316 @@ -7313,7 +7558,7 @@ export interface PGN_65316_BepMarineProprietaryPgn65316Fields { * @category PGN_65316_BepMarineProprietaryPgn65316 */ export const PGN_65316_BepMarineProprietaryPgn65316MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -7564,7 +7809,7 @@ pgnIdToCreator['simnetAnalogTelemetry'] = (fields:any, dst:number) => new PGN_65 * * Description: BEP Marine: Proprietary PGN 65325 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_65325_BepMarineProprietaryPgn65325 @@ -7587,7 +7832,7 @@ export interface PGN_65325_BepMarineProprietaryPgn65325Fields { * @category PGN_65325_BepMarineProprietaryPgn65325 */ export const PGN_65325_BepMarineProprietaryPgn65325MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -11294,6 +11539,8 @@ pgnIdToCreator['garminAutopilotResponseSetting'] = (fields:any, dst:number) => n * * Description: Garmin Autopilot: Mode State * + * Explanation: Observed directed control-head commands and matching autopilot broadcasts use an 11-byte payload with a trailing spare zero byte. + * * Match: Manufacturer Code == Garmin
* Match: Industry Code == Marine Industry
* Match: Sub-protocol ID == Autopilot transport
@@ -11320,8 +11567,9 @@ export interface PGN_126720_GarminAutopilotModeStateFields { wrapperByte2?: N2K_Number | string fieldGroup?: N2K_Number | string field: enums.GarminAutopilotField | number - reserved9?: number + spare9?: number modeState?: enums.GarminAutopilotModeState | number + spare11?: number } /** @@ -11342,8 +11590,9 @@ export const PGN_126720_GarminAutopilotModeStateMatchFields = { */ export interface PGN_126720_GarminAutopilotModeStateCreateArgs { reserved?: number - reserved9?: number + spare9?: number modeState?: enums.GarminAutopilotModeState | number + spare11?: number } /** @@ -11456,6 +11705,8 @@ pgnIdToCreator['garminAutopilotHeartbeat'] = (fields:any, dst:number) => new PGN * * Description: Garmin Autopilot: Maneuver * + * Explanation: Observed Garmin helm turn-button commands 0 through 3 use a 9-byte payload ending after a zero spare byte. Other command forms may include the trailing Value field, whose semantics are not yet known. + * * Match: Manufacturer Code == Garmin
* Match: Industry Code == Marine Industry
* Match: Sub-protocol ID == Autopilot transport
@@ -11480,8 +11731,8 @@ export interface PGN_126720_GarminAutopilotManeuverFields { wrapperByte1?: N2K_Number | string wrapperByte2?: N2K_Number | string fieldGroup?: N2K_Number | string - maneuverCode?: N2K_Number - reserved9?: number + maneuverCode?: enums.GarminAutopilotManeuverCode | number + spare9?: number value?: N2K_Number } @@ -11502,8 +11753,8 @@ export const PGN_126720_GarminAutopilotManeuverMatchFields = { */ export interface PGN_126720_GarminAutopilotManeuverCreateArgs { reserved?: number - maneuverCode?: N2K_Number - reserved9?: number + maneuverCode?: enums.GarminAutopilotManeuverCode | number + spare9?: number value?: N2K_Number } @@ -14139,6 +14390,224 @@ export class PGN_126720_GarminColorMode extends PGN implements PGN_126720_Garmin pgnIdToCreator['garminColorMode'] = (fields:any, dst:number) => new PGN_126720_GarminColorMode(fields, dst) +/** + * PGN: 126720 + * + * Description: Fusion: Menu Action Command + * + * Match: Manufacturer Code == Fusion Electronics
+ * Match: Industry Code == Marine Industry
+ * Match: Proprietary ID == Menu Action
+ * + * @category PGN_126720_FusionMenuActionCommand + */ +export interface PGN_126720_FusionMenuActionCommandInterface extends PGNInterface { + fields: PGN_126720_FusionMenuActionCommandFields +} + +/** + * @category PGN_126720_FusionMenuActionCommand + */ +export interface PGN_126720_FusionMenuActionCommandFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + proprietaryId: enums.FusionMessageId | number + sourceId: N2K_Number + itemIndex?: N2K_Number + action?: enums.FusionMenuAction | number + lockId?: N2K_Number +} + +/** + * @category PGN_126720_FusionMenuActionCommand + */ +export const PGN_126720_FusionMenuActionCommandMatchFields = { + manufacturerCode: enums.ManufacturerCode.FusionElectronics, + industryCode: enums.IndustryCode.MarineIndustry, + proprietaryId: enums.FusionMessageId.MenuAction, +} + +/** + * @category PGN_126720_FusionMenuActionCommand + */ +export interface PGN_126720_FusionMenuActionCommandCreateArgs { + reserved?: number + sourceId: N2K_Number + itemIndex?: N2K_Number + action?: enums.FusionMenuAction | number + lockId?: N2K_Number +} + +/** + * @category PGN_126720_FusionMenuActionCommand + */ +export class PGN_126720_FusionMenuActionCommand extends PGN implements PGN_126720_FusionMenuActionCommandInterface { + fields: PGN_126720_FusionMenuActionCommandFields + + constructor(fields: PGN_126720_FusionMenuActionCommandCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 3, + dst + }) + this.fields = { ...PGN_126720_FusionMenuActionCommandMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_FusionMenuActionCommandMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('fusionMenuActionCommand')! + } +} +pgnIdToCreator['fusionMenuActionCommand'] = (fields:any, dst:number) => new PGN_126720_FusionMenuActionCommand(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Fusion: Request Menu Count + * + * Match: Manufacturer Code == Fusion Electronics
+ * Match: Industry Code == Marine Industry
+ * Match: Proprietary ID == Request Menu Count
+ * + * @category PGN_126720_FusionRequestMenuCount + */ +export interface PGN_126720_FusionRequestMenuCountInterface extends PGNInterface { + fields: PGN_126720_FusionRequestMenuCountFields +} + +/** + * @category PGN_126720_FusionRequestMenuCount + */ +export interface PGN_126720_FusionRequestMenuCountFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + proprietaryId: enums.FusionMessageId | number + sourceId: N2K_Number + lockId?: N2K_Number +} + +/** + * @category PGN_126720_FusionRequestMenuCount + */ +export const PGN_126720_FusionRequestMenuCountMatchFields = { + manufacturerCode: enums.ManufacturerCode.FusionElectronics, + industryCode: enums.IndustryCode.MarineIndustry, + proprietaryId: enums.FusionMessageId.RequestMenuCount, +} + +/** + * @category PGN_126720_FusionRequestMenuCount + */ +export interface PGN_126720_FusionRequestMenuCountCreateArgs { + reserved?: number + sourceId: N2K_Number + lockId?: N2K_Number +} + +/** + * @category PGN_126720_FusionRequestMenuCount + */ +export class PGN_126720_FusionRequestMenuCount extends PGN implements PGN_126720_FusionRequestMenuCountInterface { + fields: PGN_126720_FusionRequestMenuCountFields + + constructor(fields: PGN_126720_FusionRequestMenuCountCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 3, + dst + }) + this.fields = { ...PGN_126720_FusionRequestMenuCountMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_FusionRequestMenuCountMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('fusionRequestMenuCount')! + } +} +pgnIdToCreator['fusionRequestMenuCount'] = (fields:any, dst:number) => new PGN_126720_FusionRequestMenuCount(fields, dst) + + +/** + * PGN: 126720 + * + * Description: Fusion: Request Menu Items + * + * Match: Manufacturer Code == Fusion Electronics
+ * Match: Industry Code == Marine Industry
+ * Match: Proprietary ID == Request Menu Item
+ * + * @category PGN_126720_FusionRequestMenuItems + */ +export interface PGN_126720_FusionRequestMenuItemsInterface extends PGNInterface { + fields: PGN_126720_FusionRequestMenuItemsFields +} + +/** + * @category PGN_126720_FusionRequestMenuItems + */ +export interface PGN_126720_FusionRequestMenuItemsFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + proprietaryId: enums.FusionMessageId | number + sourceId: N2K_Number + startIndex?: N2K_Number + count?: N2K_Number + lockId?: N2K_Number +} + +/** + * @category PGN_126720_FusionRequestMenuItems + */ +export const PGN_126720_FusionRequestMenuItemsMatchFields = { + manufacturerCode: enums.ManufacturerCode.FusionElectronics, + industryCode: enums.IndustryCode.MarineIndustry, + proprietaryId: enums.FusionMessageId.RequestMenuItem, +} + +/** + * @category PGN_126720_FusionRequestMenuItems + */ +export interface PGN_126720_FusionRequestMenuItemsCreateArgs { + reserved?: number + sourceId: N2K_Number + startIndex?: N2K_Number + count?: N2K_Number + lockId?: N2K_Number +} + +/** + * @category PGN_126720_FusionRequestMenuItems + */ +export class PGN_126720_FusionRequestMenuItems extends PGN implements PGN_126720_FusionRequestMenuItemsInterface { + fields: PGN_126720_FusionRequestMenuItemsFields + + constructor(fields: PGN_126720_FusionRequestMenuItemsCreateArgs, dst: number = 255) { + super({ + pgn: 126720, + prio: 3, + dst + }) + this.fields = { ...PGN_126720_FusionRequestMenuItemsMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_126720_FusionRequestMenuItemsMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('fusionRequestMenuItems')! + } +} +pgnIdToCreator['fusionRequestMenuItems'] = (fields:any, dst:number) => new PGN_126720_FusionRequestMenuItems(fields, dst) + + /** * PGN: 126976 * @@ -16629,7 +17098,7 @@ pgnIdToCreator['converterStatus'] = (fields:any, dst:number) => new PGN_127750(f * * Description: DC Voltage/Current * - * Explanation: This PGN has not been observed live on a real bus, so its framing is unconfirmed. The 8-byte payload fits a single frame, but CSS Electronics lists it as fast packet and a single-frame variant was not recognized by a Navico chartplotter in testing, so it is defined here as fast packet (the more likely framing) until a live capture settles it. The transmission interval is likewise unknown. See github issue #655. + * Explanation: This PGN has been observed only on Maretron devices so far. * * @category PGN_127751 */ @@ -17916,6 +18385,7 @@ export interface PGN_129039Fields { aisMode: enums.AisMode | number aisCommunicationState: enums.AisCommunicationState | number reserved?: number + sequenceId?: N2K_Number } /** @@ -19124,6 +19594,9 @@ export interface PGN_129793Fields { positionDate?: N2K_Date reserved13?: number gnssType?: enums.PositionFixDevice | number + spare15?: number + reserved16?: number + sequenceId?: N2K_Number } /** @@ -19184,6 +19657,7 @@ export interface PGN_129794Fields { reserved?: number aisTransceiverInformation?: enums.AisTransceiver | number reserved21?: number + sequenceId?: N2K_Number } /** @@ -24901,7 +25375,7 @@ pgnIdToCreator['simradTextMessage'] = (fields:any, dst:number) => new PGN_130816 * * Explanation: Channel the plotter uses to push a .zcf configuration file over the bus. Each fast-packet sequence carries one chunk; a complete .zcf reassembles by concatenating the Data portion of all chunks in Chunk Index order. Each non-terminal chunk carries exactly 200 bytes of .zcf data; the terminal chunk is the first one with Data length < 200, followed by a final chunk with Data length == 0 marking transfer end. Receivers should key state by source address; back-to-back transfers from the same source are observed. * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_130816_BepMarineCzoneZcfBusDistribution @@ -24927,7 +25401,7 @@ export interface PGN_130816_BepMarineCzoneZcfBusDistributionFields { * @category PGN_130816_BepMarineCzoneZcfBusDistribution */ export const PGN_130816_BepMarineCzoneZcfBusDistributionMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -24972,7 +25446,7 @@ pgnIdToCreator['bepMarineCzoneZcfBusDistribution'] = (fields:any, dst:number) => * * Description: Honda: Engine Status * - * Match: Manufacturer Code == Honda Marine
+ * Match: Manufacturer Code == Honda Motor
* Match: Industry Code == Marine Industry
* * @category PGN_130816_HondaEngineStatus @@ -24994,7 +25468,7 @@ export interface PGN_130816_HondaEngineStatusFields { * @category PGN_130816_HondaEngineStatus */ export const PGN_130816_HondaEngineStatusMatchFields = { - manufacturerCode: enums.ManufacturerCode.HondaMarine, + manufacturerCode: enums.ManufacturerCode.HondaMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -25432,7 +25906,7 @@ pgnIdToCreator['maretronAnnunciatorCapabilities'] = (fields:any, dst:number) => * * Explanation: Periodic extended-status frame from a CZone module. Real CZone modules use it to report per-circuit measurements (e.g. breaker current); the YDAB-01 sends a stub form for module-presence purposes only. Each per-circuit record is 3 bytes: byte 0 = circuit_id (8-bit), byte 1 = value low, byte 2 = bits 0..1 are value high (10-bit magnitude total) + bit 2 = sign (set => positive) + bit 3 = per-frame flag (only meaningful with N>=6 records) + bits 4..7 = unknown. Value is most plausibly current in 0.1 A units, but unverified. Periodic at ~2 s intervals. * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_130817_BepMarineCzoneStatusExtended @@ -25457,7 +25931,7 @@ export interface PGN_130817_BepMarineCzoneStatusExtendedFields { * @category PGN_130817_BepMarineCzoneStatusExtended */ export const PGN_130817_BepMarineCzoneStatusExtendedMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -25496,6 +25970,182 @@ export class PGN_130817_BepMarineCzoneStatusExtended extends PGN implements PGN_ pgnIdToCreator['bepMarineCzoneStatusExtended'] = (fields:any, dst:number) => new PGN_130817_BepMarineCzoneStatusExtended(fields, dst) +/** + * PGN: 130817 + * + * Description: Sleipner: PPC820 Thruster Status + * + * Explanation: Status and telemetry from a Sleipner PPC-series electric thruster controller on the S-Link bus. PGN 130817 is multiplexed by the device-type byte; this variant is the PPC820 (device type 25). The PPC520 (device type 24) carries the identical layout. The field layout follows Sleipner's own S-Link device definition; each field was verified against a live capture: motor voltage sags under load while motor current rises with commanded thrust, and the signed output thrust tracks PGN 130827 for the same unit. Fields A, B, C and the trailing byte D were not identified. + * + * Match: Manufacturer Code == Sleipner Motor
+ * Match: Industry Code == Marine Industry
+ * Match: Device Type == PPC820
+ * + * @category PGN_130817_SleipnerThrusterStatusPpc820 + */ +export interface PGN_130817_SleipnerThrusterStatusPpc820Interface extends PGNInterface { + fields: PGN_130817_SleipnerThrusterStatusPpc820Fields +} + +/** + * @category PGN_130817_SleipnerThrusterStatusPpc820 + */ +export interface PGN_130817_SleipnerThrusterStatusPpc820Fields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + deviceType: N2K_Number | string + a?: N2K_Number + status?: N2K_Binary + motorTemperature?: N2K_Number + powerTemperature?: N2K_Number + b?: N2K_Number + motorVoltage?: N2K_Number + c?: N2K_Binary + motorCurrent?: N2K_Number + outputThrust?: N2K_Number + d?: N2K_Number +} + +/** + * @category PGN_130817_SleipnerThrusterStatusPpc820 + */ +export const PGN_130817_SleipnerThrusterStatusPpc820MatchFields = { + manufacturerCode: enums.ManufacturerCode.SleipnerMotor, + industryCode: enums.IndustryCode.MarineIndustry, + deviceType: "PPC820", +} + +/** + * @category PGN_130817_SleipnerThrusterStatusPpc820 + */ +export interface PGN_130817_SleipnerThrusterStatusPpc820CreateArgs { + reserved?: number + a?: N2K_Number + status?: N2K_Binary + motorTemperature?: N2K_Number + powerTemperature?: N2K_Number + b?: N2K_Number + motorVoltage?: N2K_Number + c?: N2K_Binary + motorCurrent?: N2K_Number + outputThrust?: N2K_Number + d?: N2K_Number +} + +/** + * @category PGN_130817_SleipnerThrusterStatusPpc820 + */ +export class PGN_130817_SleipnerThrusterStatusPpc820 extends PGN implements PGN_130817_SleipnerThrusterStatusPpc820Interface { + fields: PGN_130817_SleipnerThrusterStatusPpc820Fields + + constructor(fields: PGN_130817_SleipnerThrusterStatusPpc820CreateArgs, dst: number = 255) { + super({ + pgn: 130817, + prio: 3, + dst + }) + this.fields = { ...PGN_130817_SleipnerThrusterStatusPpc820MatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130817_SleipnerThrusterStatusPpc820MatchFields) + } + getDefinition(): Definition { + return getPGNWithId('sleipnerThrusterStatusPpc820')! + } +} +pgnIdToCreator['sleipnerThrusterStatusPpc820'] = (fields:any, dst:number) => new PGN_130817_SleipnerThrusterStatusPpc820(fields, dst) + + +/** + * PGN: 130817 + * + * Description: Sleipner: PPC520 Thruster Status + * + * Explanation: Status and telemetry from a Sleipner PPC-series electric thruster controller on the S-Link bus. PGN 130817 is multiplexed by the device-type byte; this variant is the PPC520 (device type 24). The PPC820 (device type 25) carries the identical layout. The field layout follows Sleipner's own S-Link device definition; each field was verified against a live capture: motor voltage sags under load while motor current rises with commanded thrust, and the signed output thrust tracks PGN 130827 for the same unit. Fields A, B, C and the trailing byte D were not identified. + * + * Match: Manufacturer Code == Sleipner Motor
+ * Match: Industry Code == Marine Industry
+ * Match: Device Type == PPC520
+ * + * @category PGN_130817_SleipnerThrusterStatusPpc520 + */ +export interface PGN_130817_SleipnerThrusterStatusPpc520Interface extends PGNInterface { + fields: PGN_130817_SleipnerThrusterStatusPpc520Fields +} + +/** + * @category PGN_130817_SleipnerThrusterStatusPpc520 + */ +export interface PGN_130817_SleipnerThrusterStatusPpc520Fields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + deviceType: N2K_Number | string + a?: N2K_Number + status?: N2K_Binary + motorTemperature?: N2K_Number + powerTemperature?: N2K_Number + b?: N2K_Number + motorVoltage?: N2K_Number + c?: N2K_Binary + motorCurrent?: N2K_Number + outputThrust?: N2K_Number + d?: N2K_Number +} + +/** + * @category PGN_130817_SleipnerThrusterStatusPpc520 + */ +export const PGN_130817_SleipnerThrusterStatusPpc520MatchFields = { + manufacturerCode: enums.ManufacturerCode.SleipnerMotor, + industryCode: enums.IndustryCode.MarineIndustry, + deviceType: "PPC520", +} + +/** + * @category PGN_130817_SleipnerThrusterStatusPpc520 + */ +export interface PGN_130817_SleipnerThrusterStatusPpc520CreateArgs { + reserved?: number + a?: N2K_Number + status?: N2K_Binary + motorTemperature?: N2K_Number + powerTemperature?: N2K_Number + b?: N2K_Number + motorVoltage?: N2K_Number + c?: N2K_Binary + motorCurrent?: N2K_Number + outputThrust?: N2K_Number + d?: N2K_Number +} + +/** + * @category PGN_130817_SleipnerThrusterStatusPpc520 + */ +export class PGN_130817_SleipnerThrusterStatusPpc520 extends PGN implements PGN_130817_SleipnerThrusterStatusPpc520Interface { + fields: PGN_130817_SleipnerThrusterStatusPpc520Fields + + constructor(fields: PGN_130817_SleipnerThrusterStatusPpc520CreateArgs, dst: number = 255) { + super({ + pgn: 130817, + prio: 3, + dst + }) + this.fields = { ...PGN_130817_SleipnerThrusterStatusPpc520MatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130817_SleipnerThrusterStatusPpc520MatchFields) + } + getDefinition(): Definition { + return getPGNWithId('sleipnerThrusterStatusPpc520')! + } +} +pgnIdToCreator['sleipnerThrusterStatusPpc520'] = (fields:any, dst:number) => new PGN_130817_SleipnerThrusterStatusPpc520(fields, dst) + + /** * PGN: 130818 * @@ -25730,7 +26380,7 @@ pgnIdToCreator['maretronLabel'] = (fields:any, dst:number) => new PGN_130818_Mar * * Description: BEP Marine: Proprietary PGN 130818 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_130818_BepMarineProprietaryPgn130818 @@ -25753,7 +26403,7 @@ export interface PGN_130818_BepMarineProprietaryPgn130818Fields { * @category PGN_130818_BepMarineProprietaryPgn130818 */ export const PGN_130818_BepMarineProprietaryPgn130818MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -26178,7 +26828,7 @@ pgnIdToCreator['furunoDeadReckoningConfiguration'] = (fields:any, dst:number) => * * Description: BEP Marine: CZone 130819 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_130819_BepMarineCzone130819 @@ -26208,7 +26858,7 @@ export interface PGN_130819_BepMarineCzone130819Fields { * @category PGN_130819_BepMarineCzone130819 */ export const PGN_130819_BepMarineCzone130819MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -26259,7 +26909,7 @@ pgnIdToCreator['bepMarineCzone130819'] = (fields:any, dst:number) => new PGN_130 * * Explanation: Response form of PGN 65299 (CZone alarm string request). The device and channel/alarm id are echoed back from the request, followed by the matching alarm string text. The string is NUL-terminated; the encoding (ASCII vs UTF-8) is not yet confirmed. This is the only BEP Marine (manufacturer 295) variant of PGN 130820, so it matches on the manufacturer code alone and will also catch other BEP 130820 traffic; e.g. a NAC-3 autopilot emits 130820 once a second carrying comma-separated telemetry such as "1720.0,3,0.0,0.1,0.0,1.8,0.00,358.0,..." rather than an alarm string. * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_130820_BepMarineCzoneAlarmStringResponse @@ -26284,7 +26934,7 @@ export interface PGN_130820_BepMarineCzoneAlarmStringResponseFields { * @category PGN_130820_BepMarineCzoneAlarmStringResponse */ export const PGN_130820_BepMarineCzoneAlarmStringResponseMatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -29789,6 +30439,152 @@ export class PGN_130820_MaretronAlertResponse extends PGN implements PGN_130820_ pgnIdToCreator['maretronAlertResponse'] = (fields:any, dst:number) => new PGN_130820_MaretronAlertResponse(fields, dst) +/** + * PGN: 130820 + * + * Description: Fusion: Menu Action Status + * + * Match: Manufacturer Code == Fusion Electronics
+ * Match: Industry Code == Marine Industry
+ * Match: Message ID == Menu Action
+ * + * @category PGN_130820_FusionMenuActionStatus + */ +export interface PGN_130820_FusionMenuActionStatusInterface extends PGNInterface { + fields: PGN_130820_FusionMenuActionStatusFields +} + +/** + * @category PGN_130820_FusionMenuActionStatus + */ +export interface PGN_130820_FusionMenuActionStatusFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + messageId: enums.FusionStatusMessageId | number + sourceId: N2K_Number + itemIndex?: N2K_Number + action?: enums.FusionMenuAction | number + lockId?: N2K_Number +} + +/** + * @category PGN_130820_FusionMenuActionStatus + */ +export const PGN_130820_FusionMenuActionStatusMatchFields = { + manufacturerCode: enums.ManufacturerCode.FusionElectronics, + industryCode: enums.IndustryCode.MarineIndustry, + messageId: enums.FusionStatusMessageId.MenuAction, +} + +/** + * @category PGN_130820_FusionMenuActionStatus + */ +export interface PGN_130820_FusionMenuActionStatusCreateArgs { + reserved?: number + sourceId: N2K_Number + itemIndex?: N2K_Number + action?: enums.FusionMenuAction | number + lockId?: N2K_Number +} + +/** + * @category PGN_130820_FusionMenuActionStatus + */ +export class PGN_130820_FusionMenuActionStatus extends PGN implements PGN_130820_FusionMenuActionStatusInterface { + fields: PGN_130820_FusionMenuActionStatusFields + + constructor(fields: PGN_130820_FusionMenuActionStatusCreateArgs, dst: number = 255) { + super({ + pgn: 130820, + prio: 7, + dst + }) + this.fields = { ...PGN_130820_FusionMenuActionStatusMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130820_FusionMenuActionStatusMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('fusionMenuActionStatus')! + } +} +pgnIdToCreator['fusionMenuActionStatus'] = (fields:any, dst:number) => new PGN_130820_FusionMenuActionStatus(fields, dst) + + +/** + * PGN: 130820 + * + * Description: Fusion: Menu Count + * + * Match: Manufacturer Code == Fusion Electronics
+ * Match: Industry Code == Marine Industry
+ * Match: Message ID == Menu Count
+ * + * @category PGN_130820_FusionMenuCount + */ +export interface PGN_130820_FusionMenuCountInterface extends PGNInterface { + fields: PGN_130820_FusionMenuCountFields +} + +/** + * @category PGN_130820_FusionMenuCount + */ +export interface PGN_130820_FusionMenuCountFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + messageId: enums.FusionStatusMessageId | number + sourceId: N2K_Number + count?: N2K_Number + lockId?: N2K_Number +} + +/** + * @category PGN_130820_FusionMenuCount + */ +export const PGN_130820_FusionMenuCountMatchFields = { + manufacturerCode: enums.ManufacturerCode.FusionElectronics, + industryCode: enums.IndustryCode.MarineIndustry, + messageId: enums.FusionStatusMessageId.MenuCount, +} + +/** + * @category PGN_130820_FusionMenuCount + */ +export interface PGN_130820_FusionMenuCountCreateArgs { + reserved?: number + sourceId: N2K_Number + count?: N2K_Number + lockId?: N2K_Number +} + +/** + * @category PGN_130820_FusionMenuCount + */ +export class PGN_130820_FusionMenuCount extends PGN implements PGN_130820_FusionMenuCountInterface { + fields: PGN_130820_FusionMenuCountFields + + constructor(fields: PGN_130820_FusionMenuCountCreateArgs, dst: number = 255) { + super({ + pgn: 130820, + prio: 7, + dst + }) + this.fields = { ...PGN_130820_FusionMenuCountMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130820_FusionMenuCountMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('fusionMenuCount')! + } +} +pgnIdToCreator['fusionMenuCount'] = (fields:any, dst:number) => new PGN_130820_FusionMenuCount(fields, dst) + + /** * PGN: 130821 * @@ -30031,7 +30827,7 @@ pgnIdToCreator['maretronAlertText'] = (fields:any, dst:number) => new PGN_130821 * * Description: BEP Marine: Proprietary PGN 130821 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_130821_BepMarineProprietaryPgn130821 @@ -30054,7 +30850,7 @@ export interface PGN_130821_BepMarineProprietaryPgn130821Fields { * @category PGN_130821_BepMarineProprietaryPgn130821 */ export const PGN_130821_BepMarineProprietaryPgn130821MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -30844,7 +31640,7 @@ pgnIdToCreator['maretronAlertControl'] = (fields:any, dst:number) => new PGN_130 * * Description: BEP Marine: Proprietary PGN 130822 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_130822_BepMarineProprietaryPgn130822 @@ -30867,7 +31663,7 @@ export interface PGN_130822_BepMarineProprietaryPgn130822Fields { * @category PGN_130822_BepMarineProprietaryPgn130822 */ export const PGN_130822_BepMarineProprietaryPgn130822MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -31404,11 +32200,11 @@ export interface PGN_130824_MaretronAnnunciatorFields { manufacturerCode?: enums.ManufacturerCode | number reserved?: number industryCode?: enums.IndustryCode | number - field4?: N2K_Number - field5?: N2K_Number - field6?: N2K_Number + annunciatorInstance: N2K_Number + annunciatorState?: N2K_Number + pattern?: N2K_Number field7?: N2K_Number - field8?: N2K_Number + alertId?: N2K_Number } /** @@ -31424,11 +32220,11 @@ export const PGN_130824_MaretronAnnunciatorMatchFields = { */ export interface PGN_130824_MaretronAnnunciatorCreateArgs { reserved?: number - field4?: N2K_Number - field5?: N2K_Number - field6?: N2K_Number + annunciatorInstance: N2K_Number + annunciatorState?: N2K_Number + pattern?: N2K_Number field7?: N2K_Number - field8?: N2K_Number + alertId?: N2K_Number } /** @@ -31690,7 +32486,7 @@ pgnIdToCreator['navicoAlarm'] = (fields:any, dst:number) => new PGN_130825_Navic * * Description: BEP Marine: Proprietary PGN 130825 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_130825_BepMarineProprietaryPgn130825 @@ -31713,7 +32509,7 @@ export interface PGN_130825_BepMarineProprietaryPgn130825Fields { * @category PGN_130825_BepMarineProprietaryPgn130825 */ export const PGN_130825_BepMarineProprietaryPgn130825MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -31979,7 +32775,7 @@ pgnIdToCreator['maretronSwitchIndicatorStatus'] = (fields:any, dst:number) => ne * * Description: BEP Marine: Proprietary PGN 130826 * - * Match: Manufacturer Code == BEP Marine 2
+ * Match: Manufacturer Code == BEP Marine
* Match: Industry Code == Marine Industry
* * @category PGN_130826_BepMarineProprietaryPgn130826 @@ -32002,7 +32798,7 @@ export interface PGN_130826_BepMarineProprietaryPgn130826Fields { * @category PGN_130826_BepMarineProprietaryPgn130826 */ export const PGN_130826_BepMarineProprietaryPgn130826MatchFields = { - manufacturerCode: enums.ManufacturerCode.BepMarine2, + manufacturerCode: enums.ManufacturerCode.BepMarine, industryCode: enums.IndustryCode.MarineIndustry, } @@ -32271,6 +33067,91 @@ export class PGN_130827_FurunoNavpilotStatus extends PGN implements PGN_130827_F pgnIdToCreator['furunoNavpilotStatus'] = (fields:any, dst:number) => new PGN_130827_FurunoNavpilotStatus(fields, dst) +/** + * PGN: 130827 + * + * Description: Sleipner: Thruster Status + * + * Explanation: Sent by Sleipner S-Link thruster controllers (PPC-series) once the system is switched on. The unique number matches the ISO identity number the same device claims in PGN 60928, which is how the field was identified. Thrust is signed, and its sign follows the direction commanded in PGN 65280: commands with state "Thrust direction 2" produce positive thrust, "Thrust direction 1" negative. On retractable units the state field also reports the deployment travel. Fields A, B, C, D and the trailing byte E are not yet understood. + * + * Match: Manufacturer Code == Sleipner Motor
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_130827_SleipnerThrusterStatus + */ +export interface PGN_130827_SleipnerThrusterStatusInterface extends PGNInterface { + fields: PGN_130827_SleipnerThrusterStatusFields +} + +/** + * @category PGN_130827_SleipnerThrusterStatus + */ +export interface PGN_130827_SleipnerThrusterStatusFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + controllerType?: N2K_Number + thrusterId?: N2K_Number + state?: enums.SleipnerThrusterState | number + uniqueNumber?: N2K_Number + a?: N2K_Number + b?: N2K_Number + c?: N2K_Number + d?: N2K_Number + thrust?: N2K_Number + e?: N2K_Number +} + +/** + * @category PGN_130827_SleipnerThrusterStatus + */ +export const PGN_130827_SleipnerThrusterStatusMatchFields = { + manufacturerCode: enums.ManufacturerCode.SleipnerMotor, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_130827_SleipnerThrusterStatus + */ +export interface PGN_130827_SleipnerThrusterStatusCreateArgs { + reserved?: number + controllerType?: N2K_Number + thrusterId?: N2K_Number + state?: enums.SleipnerThrusterState | number + uniqueNumber?: N2K_Number + a?: N2K_Number + b?: N2K_Number + c?: N2K_Number + d?: N2K_Number + thrust?: N2K_Number + e?: N2K_Number +} + +/** + * @category PGN_130827_SleipnerThrusterStatus + */ +export class PGN_130827_SleipnerThrusterStatus extends PGN implements PGN_130827_SleipnerThrusterStatusInterface { + fields: PGN_130827_SleipnerThrusterStatusFields + + constructor(fields: PGN_130827_SleipnerThrusterStatusCreateArgs, dst: number = 255) { + super({ + pgn: 130827, + prio: 3, + dst + }) + this.fields = { ...PGN_130827_SleipnerThrusterStatusMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130827_SleipnerThrusterStatusMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('sleipnerThrusterStatus')! + } +} +pgnIdToCreator['sleipnerThrusterStatus'] = (fields:any, dst:number) => new PGN_130827_SleipnerThrusterStatus(fields, dst) + + /** * PGN: 130828 * @@ -32415,6 +33296,81 @@ export class PGN_130828_MaretronDometicHvacControlStatus extends PGN implements pgnIdToCreator['maretronDometicHvacControlStatus'] = (fields:any, dst:number) => new PGN_130828_MaretronDometicHvacControlStatus(fields, dst) +/** + * PGN: 130828 + * + * Description: Sleipner: Device Status (Fast) + * + * Explanation: Sent at ~2 Hz by Sleipner S-Link devices, including while the system is in standby. The unique number matches the ISO identity number the same device claims in PGN 60928, which is how the field was identified. The device index and state occupy the same byte and take the same values as in PGN 130827. + * + * Match: Manufacturer Code == Sleipner Motor
+ * Match: Industry Code == Marine Industry
+ * + * @category PGN_130828_SleipnerDeviceStatusFast + */ +export interface PGN_130828_SleipnerDeviceStatusFastInterface extends PGNInterface { + fields: PGN_130828_SleipnerDeviceStatusFastFields +} + +/** + * @category PGN_130828_SleipnerDeviceStatusFast + */ +export interface PGN_130828_SleipnerDeviceStatusFastFields { + manufacturerCode?: enums.ManufacturerCode | number + reserved?: number + industryCode?: enums.IndustryCode | number + deviceType?: N2K_Number + deviceIndex?: N2K_Number + state?: enums.SleipnerThrusterState | number + uniqueNumber?: N2K_Number + a?: N2K_Number +} + +/** + * @category PGN_130828_SleipnerDeviceStatusFast + */ +export const PGN_130828_SleipnerDeviceStatusFastMatchFields = { + manufacturerCode: enums.ManufacturerCode.SleipnerMotor, + industryCode: enums.IndustryCode.MarineIndustry, +} + +/** + * @category PGN_130828_SleipnerDeviceStatusFast + */ +export interface PGN_130828_SleipnerDeviceStatusFastCreateArgs { + reserved?: number + deviceType?: N2K_Number + deviceIndex?: N2K_Number + state?: enums.SleipnerThrusterState | number + uniqueNumber?: N2K_Number + a?: N2K_Number +} + +/** + * @category PGN_130828_SleipnerDeviceStatusFast + */ +export class PGN_130828_SleipnerDeviceStatusFast extends PGN implements PGN_130828_SleipnerDeviceStatusFastInterface { + fields: PGN_130828_SleipnerDeviceStatusFastFields + + constructor(fields: PGN_130828_SleipnerDeviceStatusFastCreateArgs, dst: number = 255) { + super({ + pgn: 130828, + prio: 3, + dst + }) + this.fields = { ...PGN_130828_SleipnerDeviceStatusFastMatchFields, ...fields } + } + + static isMatch(pgn:PGN) { + return isMatch(pgn, PGN_130828_SleipnerDeviceStatusFastMatchFields) + } + getDefinition(): Definition { + return getPGNWithId('sleipnerDeviceStatusFast')! + } +} +pgnIdToCreator['sleipnerDeviceStatusFast'] = (fields:any, dst:number) => new PGN_130828_SleipnerDeviceStatusFast(fields, dst) + + /** * PGN: 130829 * @@ -32572,7 +33528,7 @@ pgnIdToCreator['maretronDometicHvacStatus'] = (fields:any, dst:number) => new PG * * Description: Suzuki: Engine Data * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_130830_SuzukiEngineData @@ -32594,7 +33550,7 @@ export interface PGN_130830_SuzukiEngineDataFields { * @category PGN_130830_SuzukiEngineData */ export const PGN_130830_SuzukiEngineDataMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -32700,7 +33656,7 @@ pgnIdToCreator['maretronUniversalConfigurationFp'] = (fields:any, dst:number) => * * Description: Suzuki: Engine and Storage Device Config * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_130831_SuzukiEngineAndStorageDeviceConfig @@ -32722,7 +33678,7 @@ export interface PGN_130831_SuzukiEngineAndStorageDeviceConfigFields { * @category PGN_130831_SuzukiEngineAndStorageDeviceConfig */ export const PGN_130831_SuzukiEngineAndStorageDeviceConfigMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -33629,7 +34585,7 @@ pgnIdToCreator['maretronSwitchStatusCounter'] = (fields:any, dst:number) => new * * Description: Suzuki: Engine Sensor Data * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_130837_SuzukiEngineSensorData @@ -33651,7 +34607,7 @@ export interface PGN_130837_SuzukiEngineSensorDataFields { * @category PGN_130837_SuzukiEngineSensorData */ export const PGN_130837_SuzukiEngineSensorDataMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -33901,7 +34857,7 @@ pgnIdToCreator['maretronBnwas'] = (fields:any, dst:number) => new PGN_130838_Mar * * Description: Suzuki: Fuel Management * - * Match: Manufacturer Code == Suzuki Motor Corporation
+ * Match: Manufacturer Code == Suzuki Motor
* Match: Industry Code == Marine Industry
* * @category PGN_130838_SuzukiFuelManagement @@ -33923,7 +34879,7 @@ export interface PGN_130838_SuzukiFuelManagementFields { * @category PGN_130838_SuzukiFuelManagement */ export const PGN_130838_SuzukiFuelManagementMatchFields = { - manufacturerCode: enums.ManufacturerCode.SuzukiMotorCorporation, + manufacturerCode: enums.ManufacturerCode.SuzukiMotor, industryCode: enums.IndustryCode.MarineIndustry, } @@ -34489,10 +35445,9 @@ export interface PGN_130842_FurunoSixDegreesOfFreedomMovementFields { b?: N2K_Number c?: N2K_Number d?: N2K_Number - e?: N2K_Number - f?: N2K_Number - g?: N2K_Number - h?: N2K_Number + rollRate?: N2K_Number + pitchRate?: N2K_Number + yawRate?: N2K_Number i?: N2K_Number } @@ -34513,10 +35468,9 @@ export interface PGN_130842_FurunoSixDegreesOfFreedomMovementCreateArgs { b?: N2K_Number c?: N2K_Number d?: N2K_Number - e?: N2K_Number - f?: N2K_Number - g?: N2K_Number - h?: N2K_Number + rollRate?: N2K_Number + pitchRate?: N2K_Number + yawRate?: N2K_Number i?: N2K_Number } @@ -36543,8 +37497,6 @@ export interface PGN_130850_SimnetApCommandFields { reserved11?: number reserved12?: number reserved13?: number - reserved14?: number - reserved15?: number } /** @@ -36570,8 +37522,6 @@ export interface PGN_130850_SimnetApCommandCreateArgs { reserved11?: number reserved12?: number reserved13?: number - reserved14?: number - reserved15?: number } /** @@ -37227,7 +38177,7 @@ pgnIdToCreator['airmarHeaterControl'] = (fields:any, dst:number) => new PGN_1308 * * Description: Xantrex: AC Status * - * Match: Manufacturer Code == Xantrex Technology Inc.
+ * Match: Manufacturer Code == Xantrex Technology
* Match: Industry Code == Marine Industry
* * @category PGN_130900_XantrexAcStatus @@ -37261,7 +38211,7 @@ export interface PGN_130900_XantrexAcStatusFields { * @category PGN_130900_XantrexAcStatus */ export const PGN_130900_XantrexAcStatusMatchFields = { - manufacturerCode: enums.ManufacturerCode.XantrexTechnologyInc, + manufacturerCode: enums.ManufacturerCode.XantrexTechnology, industryCode: enums.IndustryCode.MarineIndustry, } @@ -37314,7 +38264,7 @@ pgnIdToCreator['xantrexAcStatus'] = (fields:any, dst:number) => new PGN_130900_X * * Description: Xantrex: DC Source Configuration Status * - * Match: Manufacturer Code == Xantrex Technology Inc.
+ * Match: Manufacturer Code == Xantrex Technology
* Match: Industry Code == Marine Industry
* * @category PGN_130910_XantrexDcSourceConfigurationStatus @@ -37345,7 +38295,7 @@ export interface PGN_130910_XantrexDcSourceConfigurationStatusFields { * @category PGN_130910_XantrexDcSourceConfigurationStatus */ export const PGN_130910_XantrexDcSourceConfigurationStatusMatchFields = { - manufacturerCode: enums.ManufacturerCode.XantrexTechnologyInc, + manufacturerCode: enums.ManufacturerCode.XantrexTechnology, industryCode: enums.IndustryCode.MarineIndustry, } @@ -37395,7 +38345,7 @@ pgnIdToCreator['xantrexDcSourceConfigurationStatus'] = (fields:any, dst:number) * * Description: Xantrex: AC Output Configuration Status * - * Match: Manufacturer Code == Xantrex Technology Inc.
+ * Match: Manufacturer Code == Xantrex Technology
* Match: Industry Code == Marine Industry
* * @category PGN_130911_XantrexAcOutputConfigurationStatus @@ -37426,7 +38376,7 @@ export interface PGN_130911_XantrexAcOutputConfigurationStatusFields { * @category PGN_130911_XantrexAcOutputConfigurationStatus */ export const PGN_130911_XantrexAcOutputConfigurationStatusMatchFields = { - manufacturerCode: enums.ManufacturerCode.XantrexTechnologyInc, + manufacturerCode: enums.ManufacturerCode.XantrexTechnology, industryCode: enums.IndustryCode.MarineIndustry, } @@ -37476,7 +38426,7 @@ pgnIdToCreator['xantrexAcOutputConfigurationStatus'] = (fields:any, dst:number) * * Description: Xantrex: Charger Configuration Status * - * Match: Manufacturer Code == Xantrex Technology Inc.
+ * Match: Manufacturer Code == Xantrex Technology
* Match: Industry Code == Marine Industry
* * @category PGN_130912_XantrexChargerConfigurationStatus @@ -37509,7 +38459,7 @@ export interface PGN_130912_XantrexChargerConfigurationStatusFields { * @category PGN_130912_XantrexChargerConfigurationStatus */ export const PGN_130912_XantrexChargerConfigurationStatusMatchFields = { - manufacturerCode: enums.ManufacturerCode.XantrexTechnologyInc, + manufacturerCode: enums.ManufacturerCode.XantrexTechnology, industryCode: enums.IndustryCode.MarineIndustry, } @@ -37561,7 +38511,7 @@ pgnIdToCreator['xantrexChargerConfigurationStatus'] = (fields:any, dst:number) = * * Description: Xantrex: AC Input Configuration Status * - * Match: Manufacturer Code == Xantrex Technology Inc.
+ * Match: Manufacturer Code == Xantrex Technology
* Match: Industry Code == Marine Industry
* * @category PGN_130913_XantrexAcInputConfigurationStatus @@ -37597,7 +38547,7 @@ export interface PGN_130913_XantrexAcInputConfigurationStatusFields { * @category PGN_130913_XantrexAcInputConfigurationStatus */ export const PGN_130913_XantrexAcInputConfigurationStatusMatchFields = { - manufacturerCode: enums.ManufacturerCode.XantrexTechnologyInc, + manufacturerCode: enums.ManufacturerCode.XantrexTechnology, industryCode: enums.IndustryCode.MarineIndustry, } From 7e1271c5976498196f9fc41b80ea3628e3ea327d Mon Sep 17 00:00:00 2001 From: Kees Verruijt Date: Tue, 25 Aug 2026 16:24:24 +0900 Subject: [PATCH 5/5] 2.0.0 canboat 8.0.0 renames 78 MANUFACTURER_CODE members and drops 8 duplicate codes, which breaks both the enum members consumers spell out and the manufacturer strings decoders emit. Co-Authored-By: Claude Opus 5 (1M context) --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9a73552a..36b47379 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@canboat/ts-pgns", - "version": "1.11.18", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@canboat/ts-pgns", - "version": "1.11.18", + "version": "2.0.0", "license": "Apache-2.0", "dependencies": { "camelcase": "^6.0.0", diff --git a/package.json b/package.json index a2b39580..c6618f56 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@canboat/ts-pgns", - "version": "1.11.18", + "version": "2.0.0", "description": "TypeScript Canboat PGN Definitions", "main": "dist/index.js", "types": "dist/index.d.ts",