From 84c252df6a7f954785b7f2ac57d7a7a40d099d5a Mon Sep 17 00:00:00 2001 From: Guillaume D Date: Tue, 21 Jul 2020 11:40:47 -0700 Subject: [PATCH 1/9] Add sbp definition of new leader/leading message for Solution Groups. As per Design Doc of new Starling Output MVP. The point of this message is to facilitate consumption of output data, in particular that of the fuzed Solution Group, aka "Fuzed Wagon". --- spec/yaml/swiftnav/sbp/system.yaml | 49 +++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/spec/yaml/swiftnav/sbp/system.yaml b/spec/yaml/swiftnav/sbp/system.yaml index 6cb31edb18..58331d261d 100644 --- a/spec/yaml/swiftnav/sbp/system.yaml +++ b/spec/yaml/swiftnav/sbp/system.yaml @@ -304,4 +304,51 @@ definitions: desc: Microseconds portion of the time offset - flags: type: u8 - desc: Status flags (reserved) \ No newline at end of file + desc: Status flags (reserved) + + - MSG_GROUP_META: + id: 0xFF0A + short_desc: Solution Group Metadata + public: true + desc: | + This leading message lists the time metadata of the Solution Group. + It also lists the atomic contents (i.e. types of messages included) of the Solution Group. + fields: + - wn: + type: u16 + units: weeks + desc: GPS Week Number or zero if Reference epoch is not GPS + - tom: + type: u32 + units: ms + desc: Time of Measurement in Milliseconds since reference epoch + - ns_residual: + type: s32 + units: ns + desc: | + Nanosecond residual of millisecond-rounded TOM (ranges + from -500000 to 500000) + - flags: + type: u8 + desc: Status flags (reserved) + fields: + - 4-7: + desc: Reserved + - 2-3: + desc: Solution Group type + values: + - 0: None (invalid) + - 1: GNSS only + - 2: GNSS+INS (Fuzed) + - 3: Reserved + - 0-1: + desc: Time source + values: + - 0: Reference epoch is start of current GPS week + - 1: Reference epoch is Sensor Time Init + - 2: Reference epoch is unknown + - 3: Reference epoch is last PPS + - group_msgs: + type: array + fill: u16 + desc: An inorder list of message types included in the Solution Group From e3d91da08fc7313e8b17b298fdc0610b5e5d1830 Mon Sep 17 00:00:00 2001 From: Guillaume D Date: Tue, 21 Jul 2020 11:41:39 -0700 Subject: [PATCH 2/9] Increment number messages for Python Tests table --- python/tests/sbp/test_table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tests/sbp/test_table.py b/python/tests/sbp/test_table.py index 7fc8514d24..7589c4d223 100644 --- a/python/tests/sbp/test_table.py +++ b/python/tests/sbp/test_table.py @@ -44,7 +44,7 @@ def test_table_count(): Test number of available messages to deserialize. """ - number_of_messages = 186 + number_of_messages = 187 assert len(_SBP_TABLE) == number_of_messages def test_table_unqiue_count(): From e38bd9cae583375b66ff1e47ce869de4c3a5d3c8 Mon Sep 17 00:00:00 2001 From: Guillaume D Date: Tue, 21 Jul 2020 11:49:48 -0700 Subject: [PATCH 3/9] Add Rust u16 array reader-parser with robust Err handling Because MSG_GROUP_META introduces a new type (array of u16) that was not used before in any other sbp message, a dedicated parser must exist for the bindings to be built. Because buffering is always by chunks of u8, an array of u16 must be built from reading pairs of u8. Convention is always LittleEndian throughout the entire sbp protocol. --- rust/sbp/src/parser/mod.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/rust/sbp/src/parser/mod.rs b/rust/sbp/src/parser/mod.rs index 01ccf3b5d0..581bc0ea1e 100644 --- a/rust/sbp/src/parser/mod.rs +++ b/rust/sbp/src/parser/mod.rs @@ -213,6 +213,31 @@ fn test_read_string() { assert_eq!(string, " string".to_string()); } +pub(crate) fn read_u16_array(buf: &mut &[u8]) -> Result> { + // buf is in fact an array of u16, so at least 2 u8 elem, unless buf is empty + let iter = buf.chunks_exact(2); + // collect() guarantees that it will return Err if at least one Err is found while iterating over the Vec + // https://doc.rust-lang.org/std/iter/trait.FromIterator.html#method.from_iter-14 + // map_err necessary to convert the generic read_u16's Error into our Error enum type + // LittleEndian means chunks are read from right-to-left + let v = iter + .map(|mut x| x.read_u16::().map_err(|e| e.into())) + .collect(); + v +} + +#[test] +fn test_read_u16_array() { + // A basic unit test for read_u16_array, LittleEndian convention assumed everywhere + let mock_data: [u8; 4] = [0b00000001, 0b00010000, 0b00000010, 0b00000001]; + let mut expected_vec = Vec::with_capacity(2); + // 0b00010000+0b00000001 + expected_vec.push(4097); + expected_vec.push(258); + let returned_vec = read_u16_array(&mut &mock_data[..]).unwrap(); + assert_eq!(expected_vec, returned_vec); +} + pub(crate) fn read_u8_array(buf: &mut &[u8]) -> Result> { Ok(buf.to_vec()) } From f3b890d88c05da613efb5dc53cdd959ed99d9c38 Mon Sep 17 00:00:00 2001 From: Guillaume D Date: Tue, 21 Jul 2020 12:00:06 -0700 Subject: [PATCH 4/9] Add test for new msg MsgGroupMeta Use https://gist.github.com/silverjam/83a3376a6d639a4a57e2b9be4636f972 for more info on how to create such test. Also make sure the raw_json field has all fields in it. I left sbp-test-data into libsbp --- .../sbp/system/test_MsgGroupMeta.yaml | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 spec/tests/yaml/swiftnav/sbp/system/test_MsgGroupMeta.yaml diff --git a/spec/tests/yaml/swiftnav/sbp/system/test_MsgGroupMeta.yaml b/spec/tests/yaml/swiftnav/sbp/system/test_MsgGroupMeta.yaml new file mode 100644 index 0000000000..fbbab81753 --- /dev/null +++ b/spec/tests/yaml/swiftnav/sbp/system/test_MsgGroupMeta.yaml @@ -0,0 +1,30 @@ +--- +description: Unit tests for swiftnav.sbp.system MsgGroupMeta +generated_on: 2020-07-17 00:00:00.00 # manually generated +package: sbp.system +tests: + +- msg: + fields: + wn: 1984 + tom: 123456 + ns_residual: 0 + flags: 0b00000011 + group_msgs: [522, 65282] # pos_lla & msg_ins_updates + module: sbp.system + name: MsgGroupMeta + msg_type: '0xFF0A' + raw_json: '{"crc": 19612, "flags": 3, "wn": 1984, "sender": 61166, "msg_type": 65290, + "tom": 123456, "ns_residual": 0, "length": 15, "group_msgs": [522, 65282], "preamble": 85, "payload": + "wAdA4gEAAAAAAAMKAgL/"}' + # base64 + raw_packet: VQr/7u4PwAdA4gEAAAAAAAMKAgL/nEw= + sbp: + crc: '0x4c9c' + length: 15 + msg_type: '0xFF0A' + payload: wAdA4gEAAAAAAAMKAgL/ + preamble: '0x55' + sender: '0xEEEE' +version: 3.1 +... \ No newline at end of file From 72e607dfb5a8e98d8f52835c330679030e883d0c Mon Sep 17 00:00:00 2001 From: Guillaume Decerprit Date: Tue, 21 Jul 2020 12:35:59 -0700 Subject: [PATCH 5/9] Add built bindings + sbp.pdf --- c/include/libsbp/cpp/message_traits.h | 6 + c/include/libsbp/system.h | 17 + c/test/auto_check_sbp_acquisition_39.c | 4 +- c/test/auto_check_sbp_bootload_40.c | 4 +- c/test/auto_check_sbp_ext_events_41.c | 4 +- c/test/auto_check_sbp_logging_42.c | 221 +++++++- c/test/auto_check_sbp_logging_43.c | 4 +- c/test/auto_check_sbp_navigation_44.c | 4 +- c/test/auto_check_sbp_observation_45.c | 4 +- c/test/auto_check_sbp_piksi_46.c | 4 +- c/test/auto_check_sbp_system_36.c | 19 +- c/test/auto_check_sbp_system_37.c | 16 +- c/test/auto_check_sbp_system_38.c | 4 +- c/test/auto_check_sbp_system_47.c | 4 +- c/test/auto_check_sbp_tracking_48.c | 475 ++++++++---------- c/test/auto_check_sbp_tracking_49.c | 452 +++++++++++------ c/test/auto_check_sbp_tracking_50.c | 4 +- c/test/auto_check_sbp_vehicle_51.c | 12 +- c/test/check_main.c | 21 +- c/test/check_suites.h | 21 +- docs/sbp.pdf | Bin 444829 -> 447647 bytes haskell/src/SwiftNav/SBP/System.hs | 42 ++ .../com/swiftnav/sbp/client/MessageTable.java | 3 + javascript/sbp.bundle.js | 2 +- javascript/sbp/system.js | 43 ++ proto/system.proto | 13 + python/sbp/jit/system.py | 48 ++ python/sbp/system.py | 114 +++++ rust/sbp/src/messages/mod.rs | 8 + rust/sbp/src/messages/system.rs | 76 +++ 30 files changed, 1170 insertions(+), 479 deletions(-) diff --git a/c/include/libsbp/cpp/message_traits.h b/c/include/libsbp/cpp/message_traits.h index 2d7bb0adea..4a22e72a6c 100644 --- a/c/include/libsbp/cpp/message_traits.h +++ b/c/include/libsbp/cpp/message_traits.h @@ -1097,6 +1097,12 @@ struct MessageTraits { }; +template<> +struct MessageTraits { + static constexpr u16 id = 65290; +}; + + template<> struct MessageTraits { static constexpr u16 id = 65535; diff --git a/c/include/libsbp/system.h b/c/include/libsbp/system.h index 7bd77b66f2..8b72211262 100644 --- a/c/include/libsbp/system.h +++ b/c/include/libsbp/system.h @@ -146,6 +146,23 @@ typedef struct SBP_ATTR_PACKED { } msg_gnss_time_offset_t; +/** Solution Group Metadata + * + * This leading message lists the time metadata of the Solution Group. + * It also lists the atomic contents (i.e. types of messages included) of the Solution Group. + */ +#define SBP_MSG_GROUP_META 0xFF0A +typedef struct SBP_ATTR_PACKED { + u16 wn; /**< GPS Week Number or zero if Reference epoch is not GPS [weeks] */ + u32 tom; /**< Time of Measurement in Milliseconds since reference epoch [ms] */ + s32 ns_residual; /**< Nanosecond residual of millisecond-rounded TOM (ranges +from -500000 to 500000) + [ns] */ + u8 flags; /**< Status flags (reserved) */ + u16 group_msgs[0]; /**< An inorder list of message types included in the Solution Group */ +} msg_group_meta_t; + + /** \} */ SBP_PACK_END diff --git a/c/test/auto_check_sbp_acquisition_39.c b/c/test/auto_check_sbp_acquisition_39.c index 987d3214e0..3908d0cb34 100644 --- a/c/test/auto_check_sbp_acquisition_39.c +++ b/c/test/auto_check_sbp_acquisition_39.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_bootload_40.c b/c/test/auto_check_sbp_bootload_40.c index eb66c17bf4..239ee805be 100644 --- a/c/test/auto_check_sbp_bootload_40.c +++ b/c/test/auto_check_sbp_bootload_40.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_ext_events_41.c b/c/test/auto_check_sbp_ext_events_41.c index afa2e0e88a..c3077f2635 100644 --- a/c/test/auto_check_sbp_ext_events_41.c +++ b/c/test/auto_check_sbp_ext_events_41.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_logging_42.c b/c/test/auto_check_sbp_logging_42.c index 18e19050df..edbc56c55b 100644 --- a/c/test/auto_check_sbp_logging_42.c +++ b/c/test/auto_check_sbp_logging_42.c @@ -10,7 +10,7 @@ * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. */ -// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/test_msgFwd.yaml by generate.py. Do not modify by hand! +// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/test_logging.yaml by generate.py. Do not modify by hand! #include #include // for debugging @@ -97,12 +97,12 @@ START_TEST( test_auto_check_sbp_logging_42 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x402, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x10, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,2,4,66,0,18,0,0,86,81,68,47,81,103,65,69,65,65,65,65,65,69,97,103,125,95, }; + u8 test_data[] = {85,16,0,34,34,43,73,78,70,79,58,32,97,99,113,58,32,80,82,78,32,49,53,32,102,111,117,110,100,32,64,32,45,50,52,57,55,32,72,122,44,32,50,48,32,83,78,82,10,116,103, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x402, 66, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x10, 8738, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -111,7 +111,7 @@ START_TEST( test_auto_check_sbp_logging_42 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 66, + fail_unless(last_sender_id == 8738, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -122,12 +122,215 @@ START_TEST( test_auto_check_sbp_logging_42 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_fwd_t* msg = ( msg_fwd_t *)((void *)last_msg + 6); + msg_print_dep_t* msg = ( msg_print_dep_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(strstr(msg->fwd_payload, ((char []){(char)86,(char)81,(char)68,(char)47,(char)81,(char)103,(char)65,(char)69,(char)65,(char)65,(char)65,(char)65,(char)65,(char)69,(char)97,(char)103,0})) != NULL, "incorrect value for msg->fwd_payload, expected string '%s', is '%s'", ((char []){(char)86,(char)81,(char)68,(char)47,(char)81,(char)103,(char)65,(char)69,(char)65,(char)65,(char)65,(char)65,(char)65,(char)69,(char)97,(char)103,0}), msg->fwd_payload); - fail_unless(msg->protocol == 0, "incorrect value for protocol, expected 0, is %d", msg->protocol); - fail_unless(msg->source == 0, "incorrect value for source, expected 0, is %d", msg->source); + fail_unless(strstr(msg->text, ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)97,(char)99,(char)113,(char)58,(char)32,(char)80,(char)82,(char)78,(char)32,(char)49,(char)53,(char)32,(char)102,(char)111,(char)117,(char)110,(char)100,(char)32,(char)64,(char)32,(char)45,(char)50,(char)52,(char)57,(char)55,(char)32,(char)72,(char)122,(char)44,(char)32,(char)50,(char)48,(char)32,(char)83,(char)78,(char)82,(char)10,0})) != NULL, "incorrect value for msg->text, expected string '%s', is '%s'", ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)97,(char)99,(char)113,(char)58,(char)32,(char)80,(char)82,(char)78,(char)32,(char)49,(char)53,(char)32,(char)102,(char)111,(char)117,(char)110,(char)100,(char)32,(char)64,(char)32,(char)45,(char)50,(char)52,(char)57,(char)55,(char)32,(char)72,(char)122,(char)44,(char)32,(char)50,(char)48,(char)32,(char)83,(char)78,(char)82,(char)10,0}), msg->text); + } + // Test successful parsing of a message + { + // SBP parser state must be initialized before sbp_process is called. + // We re-initialize before every test so that callbacks for the same message types can be + // allocated multiple times across different tests. + sbp_state_init(&sbp_state); + + sbp_state_set_io_context(&sbp_state, &DUMMY_MEMORY_FOR_IO); + + logging_reset(); + + sbp_register_callback(&sbp_state, 0x10, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + + u8 test_data[] = {85,16,0,34,34,42,73,78,70,79,58,32,97,99,113,58,32,80,82,78,32,51,49,32,102,111,117,110,100,32,64,32,52,50,52,53,32,72,122,44,32,50,49,32,83,78,82,10,140,43, }; + + dummy_reset(); + sbp_send_message(&sbp_state, 0x10, 8738, sizeof(test_data), test_data, &dummy_write); + + while (dummy_rd < dummy_wr) { + fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + fail_unless(n_callbacks_logged == 1, + "one callback should have been logged"); + fail_unless(last_sender_id == 8738, + "sender_id decoded incorrectly"); + fail_unless(last_len == sizeof(test_data), + "len decoded incorrectly"); + fail_unless(memcmp(last_msg, test_data, sizeof(test_data)) + == 0, + "test data decoded incorrectly"); + fail_unless(last_context == &DUMMY_MEMORY_FOR_CALLBACKS, + "context pointer incorrectly passed"); + + // Cast to expected message type - the +6 byte offset is where the payload starts + msg_print_dep_t* msg = ( msg_print_dep_t *)((void *)last_msg + 6); + // Run tests against fields + fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); + fail_unless(strstr(msg->text, ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)97,(char)99,(char)113,(char)58,(char)32,(char)80,(char)82,(char)78,(char)32,(char)51,(char)49,(char)32,(char)102,(char)111,(char)117,(char)110,(char)100,(char)32,(char)64,(char)32,(char)52,(char)50,(char)52,(char)53,(char)32,(char)72,(char)122,(char)44,(char)32,(char)50,(char)49,(char)32,(char)83,(char)78,(char)82,(char)10,0})) != NULL, "incorrect value for msg->text, expected string '%s', is '%s'", ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)97,(char)99,(char)113,(char)58,(char)32,(char)80,(char)82,(char)78,(char)32,(char)51,(char)49,(char)32,(char)102,(char)111,(char)117,(char)110,(char)100,(char)32,(char)64,(char)32,(char)52,(char)50,(char)52,(char)53,(char)32,(char)72,(char)122,(char)44,(char)32,(char)50,(char)49,(char)32,(char)83,(char)78,(char)82,(char)10,0}), msg->text); + } + // Test successful parsing of a message + { + // SBP parser state must be initialized before sbp_process is called. + // We re-initialize before every test so that callbacks for the same message types can be + // allocated multiple times across different tests. + sbp_state_init(&sbp_state); + + sbp_state_set_io_context(&sbp_state, &DUMMY_MEMORY_FOR_IO); + + logging_reset(); + + sbp_register_callback(&sbp_state, 0x10, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + + u8 test_data[] = {85,16,0,34,34,35,73,78,70,79,58,32,68,105,115,97,98,108,105,110,103,32,99,104,97,110,110,101,108,32,48,32,40,80,82,78,32,49,49,41,10,23,143, }; + + dummy_reset(); + sbp_send_message(&sbp_state, 0x10, 8738, sizeof(test_data), test_data, &dummy_write); + + while (dummy_rd < dummy_wr) { + fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + fail_unless(n_callbacks_logged == 1, + "one callback should have been logged"); + fail_unless(last_sender_id == 8738, + "sender_id decoded incorrectly"); + fail_unless(last_len == sizeof(test_data), + "len decoded incorrectly"); + fail_unless(memcmp(last_msg, test_data, sizeof(test_data)) + == 0, + "test data decoded incorrectly"); + fail_unless(last_context == &DUMMY_MEMORY_FOR_CALLBACKS, + "context pointer incorrectly passed"); + + // Cast to expected message type - the +6 byte offset is where the payload starts + msg_print_dep_t* msg = ( msg_print_dep_t *)((void *)last_msg + 6); + // Run tests against fields + fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); + fail_unless(strstr(msg->text, ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)68,(char)105,(char)115,(char)97,(char)98,(char)108,(char)105,(char)110,(char)103,(char)32,(char)99,(char)104,(char)97,(char)110,(char)110,(char)101,(char)108,(char)32,(char)48,(char)32,(char)40,(char)80,(char)82,(char)78,(char)32,(char)49,(char)49,(char)41,(char)10,0})) != NULL, "incorrect value for msg->text, expected string '%s', is '%s'", ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)68,(char)105,(char)115,(char)97,(char)98,(char)108,(char)105,(char)110,(char)103,(char)32,(char)99,(char)104,(char)97,(char)110,(char)110,(char)101,(char)108,(char)32,(char)48,(char)32,(char)40,(char)80,(char)82,(char)78,(char)32,(char)49,(char)49,(char)41,(char)10,0}), msg->text); + } + // Test successful parsing of a message + { + // SBP parser state must be initialized before sbp_process is called. + // We re-initialize before every test so that callbacks for the same message types can be + // allocated multiple times across different tests. + sbp_state_init(&sbp_state); + + sbp_state_set_io_context(&sbp_state, &DUMMY_MEMORY_FOR_IO); + + logging_reset(); + + sbp_register_callback(&sbp_state, 0x10, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + + u8 test_data[] = {85,16,0,34,34,41,73,78,70,79,58,32,97,99,113,58,32,80,82,78,32,50,32,102,111,117,110,100,32,64,32,51,57,57,54,32,72,122,44,32,50,48,32,83,78,82,10,239,48, }; + + dummy_reset(); + sbp_send_message(&sbp_state, 0x10, 8738, sizeof(test_data), test_data, &dummy_write); + + while (dummy_rd < dummy_wr) { + fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + fail_unless(n_callbacks_logged == 1, + "one callback should have been logged"); + fail_unless(last_sender_id == 8738, + "sender_id decoded incorrectly"); + fail_unless(last_len == sizeof(test_data), + "len decoded incorrectly"); + fail_unless(memcmp(last_msg, test_data, sizeof(test_data)) + == 0, + "test data decoded incorrectly"); + fail_unless(last_context == &DUMMY_MEMORY_FOR_CALLBACKS, + "context pointer incorrectly passed"); + + // Cast to expected message type - the +6 byte offset is where the payload starts + msg_print_dep_t* msg = ( msg_print_dep_t *)((void *)last_msg + 6); + // Run tests against fields + fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); + fail_unless(strstr(msg->text, ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)97,(char)99,(char)113,(char)58,(char)32,(char)80,(char)82,(char)78,(char)32,(char)50,(char)32,(char)102,(char)111,(char)117,(char)110,(char)100,(char)32,(char)64,(char)32,(char)51,(char)57,(char)57,(char)54,(char)32,(char)72,(char)122,(char)44,(char)32,(char)50,(char)48,(char)32,(char)83,(char)78,(char)82,(char)10,0})) != NULL, "incorrect value for msg->text, expected string '%s', is '%s'", ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)97,(char)99,(char)113,(char)58,(char)32,(char)80,(char)82,(char)78,(char)32,(char)50,(char)32,(char)102,(char)111,(char)117,(char)110,(char)100,(char)32,(char)64,(char)32,(char)51,(char)57,(char)57,(char)54,(char)32,(char)72,(char)122,(char)44,(char)32,(char)50,(char)48,(char)32,(char)83,(char)78,(char)82,(char)10,0}), msg->text); + } + // Test successful parsing of a message + { + // SBP parser state must be initialized before sbp_process is called. + // We re-initialize before every test so that callbacks for the same message types can be + // allocated multiple times across different tests. + sbp_state_init(&sbp_state); + + sbp_state_set_io_context(&sbp_state, &DUMMY_MEMORY_FOR_IO); + + logging_reset(); + + sbp_register_callback(&sbp_state, 0x10, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + + u8 test_data[] = {85,16,0,34,34,42,73,78,70,79,58,32,97,99,113,58,32,80,82,78,32,52,32,102,111,117,110,100,32,64,32,45,55,52,57,50,32,72,122,44,32,50,48,32,83,78,82,10,47,248, }; + + dummy_reset(); + sbp_send_message(&sbp_state, 0x10, 8738, sizeof(test_data), test_data, &dummy_write); + + while (dummy_rd < dummy_wr) { + fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + fail_unless(n_callbacks_logged == 1, + "one callback should have been logged"); + fail_unless(last_sender_id == 8738, + "sender_id decoded incorrectly"); + fail_unless(last_len == sizeof(test_data), + "len decoded incorrectly"); + fail_unless(memcmp(last_msg, test_data, sizeof(test_data)) + == 0, + "test data decoded incorrectly"); + fail_unless(last_context == &DUMMY_MEMORY_FOR_CALLBACKS, + "context pointer incorrectly passed"); + + // Cast to expected message type - the +6 byte offset is where the payload starts + msg_print_dep_t* msg = ( msg_print_dep_t *)((void *)last_msg + 6); + // Run tests against fields + fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); + fail_unless(strstr(msg->text, ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)97,(char)99,(char)113,(char)58,(char)32,(char)80,(char)82,(char)78,(char)32,(char)52,(char)32,(char)102,(char)111,(char)117,(char)110,(char)100,(char)32,(char)64,(char)32,(char)45,(char)55,(char)52,(char)57,(char)50,(char)32,(char)72,(char)122,(char)44,(char)32,(char)50,(char)48,(char)32,(char)83,(char)78,(char)82,(char)10,0})) != NULL, "incorrect value for msg->text, expected string '%s', is '%s'", ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)97,(char)99,(char)113,(char)58,(char)32,(char)80,(char)82,(char)78,(char)32,(char)52,(char)32,(char)102,(char)111,(char)117,(char)110,(char)100,(char)32,(char)64,(char)32,(char)45,(char)55,(char)52,(char)57,(char)50,(char)32,(char)72,(char)122,(char)44,(char)32,(char)50,(char)48,(char)32,(char)83,(char)78,(char)82,(char)10,0}), msg->text); + } + // Test successful parsing of a message + { + // SBP parser state must be initialized before sbp_process is called. + // We re-initialize before every test so that callbacks for the same message types can be + // allocated multiple times across different tests. + sbp_state_init(&sbp_state); + + sbp_state_set_io_context(&sbp_state, &DUMMY_MEMORY_FOR_IO); + + logging_reset(); + + sbp_register_callback(&sbp_state, 0x10, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + + u8 test_data[] = {85,16,0,34,34,35,73,78,70,79,58,32,68,105,115,97,98,108,105,110,103,32,99,104,97,110,110,101,108,32,49,32,40,80,82,78,32,49,53,41,10,158,139, }; + + dummy_reset(); + sbp_send_message(&sbp_state, 0x10, 8738, sizeof(test_data), test_data, &dummy_write); + + while (dummy_rd < dummy_wr) { + fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + fail_unless(n_callbacks_logged == 1, + "one callback should have been logged"); + fail_unless(last_sender_id == 8738, + "sender_id decoded incorrectly"); + fail_unless(last_len == sizeof(test_data), + "len decoded incorrectly"); + fail_unless(memcmp(last_msg, test_data, sizeof(test_data)) + == 0, + "test data decoded incorrectly"); + fail_unless(last_context == &DUMMY_MEMORY_FOR_CALLBACKS, + "context pointer incorrectly passed"); + + // Cast to expected message type - the +6 byte offset is where the payload starts + msg_print_dep_t* msg = ( msg_print_dep_t *)((void *)last_msg + 6); + // Run tests against fields + fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); + fail_unless(strstr(msg->text, ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)68,(char)105,(char)115,(char)97,(char)98,(char)108,(char)105,(char)110,(char)103,(char)32,(char)99,(char)104,(char)97,(char)110,(char)110,(char)101,(char)108,(char)32,(char)49,(char)32,(char)40,(char)80,(char)82,(char)78,(char)32,(char)49,(char)53,(char)41,(char)10,0})) != NULL, "incorrect value for msg->text, expected string '%s', is '%s'", ((char []){(char)73,(char)78,(char)70,(char)79,(char)58,(char)32,(char)68,(char)105,(char)115,(char)97,(char)98,(char)108,(char)105,(char)110,(char)103,(char)32,(char)99,(char)104,(char)97,(char)110,(char)110,(char)101,(char)108,(char)32,(char)49,(char)32,(char)40,(char)80,(char)82,(char)78,(char)32,(char)49,(char)53,(char)41,(char)10,0}), msg->text); } } END_TEST diff --git a/c/test/auto_check_sbp_logging_43.c b/c/test/auto_check_sbp_logging_43.c index 566a08417d..38dd646445 100644 --- a/c/test/auto_check_sbp_logging_43.c +++ b/c/test/auto_check_sbp_logging_43.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_navigation_44.c b/c/test/auto_check_sbp_navigation_44.c index 777f3d34ab..f3ccf8fedc 100644 --- a/c/test/auto_check_sbp_navigation_44.c +++ b/c/test/auto_check_sbp_navigation_44.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_observation_45.c b/c/test/auto_check_sbp_observation_45.c index 3019e7c571..95f4e4e320 100644 --- a/c/test/auto_check_sbp_observation_45.c +++ b/c/test/auto_check_sbp_observation_45.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_piksi_46.c b/c/test/auto_check_sbp_piksi_46.c index 329be3ef92..70ace74ed7 100644 --- a/c/test/auto_check_sbp_piksi_46.c +++ b/c/test/auto_check_sbp_piksi_46.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_system_36.c b/c/test/auto_check_sbp_system_36.c index 5006320e9a..61e047d176 100644 --- a/c/test/auto_check_sbp_system_36.c +++ b/c/test/auto_check_sbp_system_36.c @@ -10,7 +10,7 @@ * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. */ -// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/system/test_MsgHeartbeat.yaml by generate.py. Do not modify by hand! +// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/system/test_MsgGroupMeta.yaml by generate.py. Do not modify by hand! #include #include // for debugging @@ -97,12 +97,12 @@ START_TEST( test_auto_check_sbp_system_36 ) logging_reset(); - sbp_register_callback(&sbp_state, 0xffff, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0xFF0A, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,255,255,246,215,4,0,50,0,0,249,216, }; + u8 test_data[] = {85,10,255,238,238,15,192,7,64,226,1,0,0,0,0,0,3,10,2,2,255,156,76, }; dummy_reset(); - sbp_send_message(&sbp_state, 0xffff, 55286, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0xFF0A, 61166, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -111,7 +111,7 @@ START_TEST( test_auto_check_sbp_system_36 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 55286, + fail_unless(last_sender_id == 61166, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -122,10 +122,15 @@ START_TEST( test_auto_check_sbp_system_36 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_heartbeat_t* msg = ( msg_heartbeat_t *)((void *)last_msg + 6); + msg_group_meta_t* msg = ( msg_group_meta_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(msg->flags == 12800, "incorrect value for flags, expected 12800, is %d", msg->flags); + fail_unless(msg->flags == 3, "incorrect value for flags, expected 3, is %d", msg->flags); + fail_unless(msg->group_msgs[0] == 522, "incorrect value for group_msgs[0], expected 522, is %d", msg->group_msgs[0]); + fail_unless(msg->group_msgs[1] == 65282, "incorrect value for group_msgs[1], expected 65282, is %d", msg->group_msgs[1]); + fail_unless(msg->ns_residual == 0, "incorrect value for ns_residual, expected 0, is %d", msg->ns_residual); + fail_unless(msg->tom == 123456, "incorrect value for tom, expected 123456, is %d", msg->tom); + fail_unless(msg->wn == 1984, "incorrect value for wn, expected 1984, is %d", msg->wn); } } END_TEST diff --git a/c/test/auto_check_sbp_system_37.c b/c/test/auto_check_sbp_system_37.c index 979998013a..599957abf1 100644 --- a/c/test/auto_check_sbp_system_37.c +++ b/c/test/auto_check_sbp_system_37.c @@ -10,7 +10,7 @@ * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. */ -// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/system/test_MsgStartup.yaml by generate.py. Do not modify by hand! +// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/system/test_MsgHeartbeat.yaml by generate.py. Do not modify by hand! #include #include // for debugging @@ -97,12 +97,12 @@ START_TEST( test_auto_check_sbp_system_37 ) logging_reset(); - sbp_register_callback(&sbp_state, 0xff00, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0xffff, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,0,255,66,0,4,0,0,0,0,70,160, }; + u8 test_data[] = {85,255,255,246,215,4,0,50,0,0,249,216, }; dummy_reset(); - sbp_send_message(&sbp_state, 0xff00, 66, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0xffff, 55286, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -111,7 +111,7 @@ START_TEST( test_auto_check_sbp_system_37 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 66, + fail_unless(last_sender_id == 55286, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -122,12 +122,10 @@ START_TEST( test_auto_check_sbp_system_37 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_startup_t* msg = ( msg_startup_t *)((void *)last_msg + 6); + msg_heartbeat_t* msg = ( msg_heartbeat_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(msg->cause == 0, "incorrect value for cause, expected 0, is %d", msg->cause); - fail_unless(msg->reserved == 0, "incorrect value for reserved, expected 0, is %d", msg->reserved); - fail_unless(msg->startup_type == 0, "incorrect value for startup_type, expected 0, is %d", msg->startup_type); + fail_unless(msg->flags == 12800, "incorrect value for flags, expected 12800, is %d", msg->flags); } } END_TEST diff --git a/c/test/auto_check_sbp_system_38.c b/c/test/auto_check_sbp_system_38.c index c015551500..f51b916129 100644 --- a/c/test/auto_check_sbp_system_38.c +++ b/c/test/auto_check_sbp_system_38.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_system_47.c b/c/test/auto_check_sbp_system_47.c index c857002a1d..8500435b6a 100644 --- a/c/test/auto_check_sbp_system_47.c +++ b/c/test/auto_check_sbp_system_47.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_tracking_48.c b/c/test/auto_check_sbp_tracking_48.c index 58a1752e88..f69852b6dc 100644 --- a/c/test/auto_check_sbp_tracking_48.c +++ b/c/test/auto_check_sbp_tracking_48.c @@ -10,7 +10,7 @@ * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. */ -// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/tracking/test_MsgTrackingState.yaml by generate.py. Do not modify by hand! +// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/test_tracking.yaml by generate.py. Do not modify by hand! #include #include // for debugging @@ -97,12 +97,12 @@ START_TEST( test_auto_check_sbp_tracking_48 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x16, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,197,253,28,66,1,203,0,0,0,231,99,16,66,1,208,0,0,0,212,129,22,66,1,212,0,0,0,58,21,28,66,1,217,0,0,0,178,33,40,66,1,218,0,0,0,235,189,21,66,1,220,0,0,0,29,177,25,66,1,222,0,0,0,43,169,27,66,1,225,0,0,0,137,125,42,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,222,97, }; + u8 test_data[] = {85,22,0,195,4,66,1,0,204,177,51,65,1,2,198,4,39,65,1,3,219,182,27,65,1,7,132,120,101,65,1,10,91,91,251,64,1,13,42,37,163,64,1,22,130,184,215,64,1,30,115,53,75,65,1,31,16,74,126,65,1,25,132,196,135,64,1,6,100,59,223,64,17,225, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x16, 1219, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -111,7 +111,7 @@ START_TEST( test_auto_check_sbp_tracking_48 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 55286, + fail_unless(last_sender_id == 1219, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -122,64 +122,42 @@ START_TEST( test_auto_check_sbp_tracking_48 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); + msg_tracking_state_dep_a_t* msg = ( msg_tracking_state_dep_a_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless((msg->states[0].cn0*100 - 39.2478218079*100) < 0.05, "incorrect value for states[0].cn0, expected 39.2478218079, is %f", msg->states[0].cn0); - fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); - fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); - fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless((msg->states[0].cn0*100 - 11.2309074402*100) < 0.05, "incorrect value for states[0].cn0, expected 11.2309074402, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].prn == 0, "incorrect value for states[0].prn, expected 0, is %d", msg->states[0].prn); fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); - fail_unless((msg->states[1].cn0*100 - 36.0975608826*100) < 0.05, "incorrect value for states[1].cn0, expected 36.0975608826, is %f", msg->states[1].cn0); - fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); - fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); - fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless((msg->states[1].cn0*100 - 10.43866539*100) < 0.05, "incorrect value for states[1].cn0, expected 10.43866539, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].prn == 2, "incorrect value for states[1].prn, expected 2, is %d", msg->states[1].prn); fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); - fail_unless((msg->states[2].cn0*100 - 37.6267852783*100) < 0.05, "incorrect value for states[2].cn0, expected 37.6267852783, is %f", msg->states[2].cn0); - fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); - fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); - fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless((msg->states[2].cn0*100 - 9.73214244843*100) < 0.05, "incorrect value for states[2].cn0, expected 9.73214244843, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].prn == 3, "incorrect value for states[2].prn, expected 3, is %d", msg->states[2].prn); fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); - fail_unless((msg->states[3].cn0*100 - 39.0207290649*100) < 0.05, "incorrect value for states[3].cn0, expected 39.0207290649, is %f", msg->states[3].cn0); - fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); - fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); - fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); + fail_unless((msg->states[3].cn0*100 - 14.34192276*100) < 0.05, "incorrect value for states[3].cn0, expected 14.34192276, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].prn == 7, "incorrect value for states[3].prn, expected 7, is %d", msg->states[3].prn); fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); - fail_unless((msg->states[4].cn0*100 - 42.0329055786*100) < 0.05, "incorrect value for states[4].cn0, expected 42.0329055786, is %f", msg->states[4].cn0); - fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); - fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); - fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); + fail_unless((msg->states[4].cn0*100 - 7.85490179062*100) < 0.05, "incorrect value for states[4].cn0, expected 7.85490179062, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].prn == 10, "incorrect value for states[4].prn, expected 10, is %d", msg->states[4].prn); fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); - fail_unless((msg->states[5].cn0*100 - 37.4354667664*100) < 0.05, "incorrect value for states[5].cn0, expected 37.4354667664, is %f", msg->states[5].cn0); - fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); - fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); - fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); + fail_unless((msg->states[5].cn0*100 - 5.09828662872*100) < 0.05, "incorrect value for states[5].cn0, expected 5.09828662872, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].prn == 13, "incorrect value for states[5].prn, expected 13, is %d", msg->states[5].prn); fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); - fail_unless((msg->states[6].cn0*100 - 38.4229621887*100) < 0.05, "incorrect value for states[6].cn0, expected 38.4229621887, is %f", msg->states[6].cn0); - fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); - fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); - fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); + fail_unless((msg->states[6].cn0*100 - 6.74127292633*100) < 0.05, "incorrect value for states[6].cn0, expected 6.74127292633, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].prn == 22, "incorrect value for states[6].prn, expected 22, is %d", msg->states[6].prn); fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); - fail_unless((msg->states[7].cn0*100 - 38.9152030945*100) < 0.05, "incorrect value for states[7].cn0, expected 38.9152030945, is %f", msg->states[7].cn0); - fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); - fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); - fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); + fail_unless((msg->states[7].cn0*100 - 12.7005491257*100) < 0.05, "incorrect value for states[7].cn0, expected 12.7005491257, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].prn == 30, "incorrect value for states[7].prn, expected 30, is %d", msg->states[7].prn); fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); - fail_unless((msg->states[8].cn0*100 - 42.622592926*100) < 0.05, "incorrect value for states[8].cn0, expected 42.622592926, is %f", msg->states[8].cn0); - fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); - fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); - fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); + fail_unless((msg->states[8].cn0*100 - 15.893081665*100) < 0.05, "incorrect value for states[8].cn0, expected 15.893081665, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].prn == 31, "incorrect value for states[8].prn, expected 31, is %d", msg->states[8].prn); fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); - fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); - fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); - fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); - fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); - fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); - fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); - fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); - fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); - fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); - fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); + fail_unless((msg->states[9].cn0*100 - 4.24273872375*100) < 0.05, "incorrect value for states[9].cn0, expected 4.24273872375, is %f", msg->states[9].cn0); + fail_unless(msg->states[9].prn == 25, "incorrect value for states[9].prn, expected 25, is %d", msg->states[9].prn); + fail_unless(msg->states[9].state == 1, "incorrect value for states[9].state, expected 1, is %d", msg->states[9].state); + fail_unless((msg->states[10].cn0*100 - 6.97599983215*100) < 0.05, "incorrect value for states[10].cn0, expected 6.97599983215, is %f", msg->states[10].cn0); + fail_unless(msg->states[10].prn == 6, "incorrect value for states[10].prn, expected 6, is %d", msg->states[10].prn); + fail_unless(msg->states[10].state == 1, "incorrect value for states[10].state, expected 1, is %d", msg->states[10].state); } // Test successful parsing of a message { @@ -192,12 +170,12 @@ START_TEST( test_auto_check_sbp_tracking_48 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x16, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,250,249,27,66,1,203,0,0,0,40,143,11,66,1,208,0,0,0,190,200,21,66,1,212,0,0,0,251,233,26,66,1,217,0,0,0,209,238,39,66,1,218,0,0,0,162,219,21,66,1,220,0,0,0,162,197,25,66,1,222,0,0,0,14,35,28,66,1,225,0,0,0,9,153,43,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,20,31, }; + u8 test_data[] = {85,22,0,195,4,66,1,0,216,57,48,65,1,2,145,41,46,65,1,3,4,26,34,65,1,7,177,67,109,65,1,10,61,80,249,64,1,13,250,199,155,64,1,22,55,19,215,64,1,30,138,138,79,65,1,31,214,179,119,65,1,25,53,138,120,64,1,6,183,247,129,64,168,173, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x16, 1219, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -206,7 +184,7 @@ START_TEST( test_auto_check_sbp_tracking_48 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 55286, + fail_unless(last_sender_id == 1219, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -217,64 +195,42 @@ START_TEST( test_auto_check_sbp_tracking_48 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); + msg_tracking_state_dep_a_t* msg = ( msg_tracking_state_dep_a_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless((msg->states[0].cn0*100 - 38.9941177368*100) < 0.05, "incorrect value for states[0].cn0, expected 38.9941177368, is %f", msg->states[0].cn0); - fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); - fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); - fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless((msg->states[0].cn0*100 - 11.0141220093*100) < 0.05, "incorrect value for states[0].cn0, expected 11.0141220093, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].prn == 0, "incorrect value for states[0].prn, expected 0, is %d", msg->states[0].prn); fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); - fail_unless((msg->states[1].cn0*100 - 34.8898010254*100) < 0.05, "incorrect value for states[1].cn0, expected 34.8898010254, is %f", msg->states[1].cn0); - fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); - fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); - fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless((msg->states[1].cn0*100 - 10.8851480484*100) < 0.05, "incorrect value for states[1].cn0, expected 10.8851480484, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].prn == 2, "incorrect value for states[1].prn, expected 2, is %d", msg->states[1].prn); fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); - fail_unless((msg->states[2].cn0*100 - 37.4460372925*100) < 0.05, "incorrect value for states[2].cn0, expected 37.4460372925, is %f", msg->states[2].cn0); - fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); - fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); - fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless((msg->states[2].cn0*100 - 10.1313514709*100) < 0.05, "incorrect value for states[2].cn0, expected 10.1313514709, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].prn == 3, "incorrect value for states[2].prn, expected 3, is %d", msg->states[2].prn); fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); - fail_unless((msg->states[3].cn0*100 - 38.7284965515*100) < 0.05, "incorrect value for states[3].cn0, expected 38.7284965515, is %f", msg->states[3].cn0); - fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); - fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); - fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); + fail_unless((msg->states[3].cn0*100 - 14.8290262222*100) < 0.05, "incorrect value for states[3].cn0, expected 14.8290262222, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].prn == 7, "incorrect value for states[3].prn, expected 7, is %d", msg->states[3].prn); fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); - fail_unless((msg->states[4].cn0*100 - 41.9832191467*100) < 0.05, "incorrect value for states[4].cn0, expected 41.9832191467, is %f", msg->states[4].cn0); - fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); - fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); - fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); + fail_unless((msg->states[4].cn0*100 - 7.79104471207*100) < 0.05, "incorrect value for states[4].cn0, expected 7.79104471207, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].prn == 10, "incorrect value for states[4].prn, expected 10, is %d", msg->states[4].prn); fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); - fail_unless((msg->states[5].cn0*100 - 37.4644851685*100) < 0.05, "incorrect value for states[5].cn0, expected 37.4644851685, is %f", msg->states[5].cn0); - fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); - fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); - fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); + fail_unless((msg->states[5].cn0*100 - 4.86816120148*100) < 0.05, "incorrect value for states[5].cn0, expected 4.86816120148, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].prn == 13, "incorrect value for states[5].prn, expected 13, is %d", msg->states[5].prn); fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); - fail_unless((msg->states[6].cn0*100 - 38.4430007935*100) < 0.05, "incorrect value for states[6].cn0, expected 38.4430007935, is %f", msg->states[6].cn0); - fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); - fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); - fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); + fail_unless((msg->states[6].cn0*100 - 6.72109556198*100) < 0.05, "incorrect value for states[6].cn0, expected 6.72109556198, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].prn == 22, "incorrect value for states[6].prn, expected 22, is %d", msg->states[6].prn); fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); - fail_unless((msg->states[7].cn0*100 - 39.0342330933*100) < 0.05, "incorrect value for states[7].cn0, expected 39.0342330933, is %f", msg->states[7].cn0); - fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); - fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); - fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); + fail_unless((msg->states[7].cn0*100 - 12.9713230133*100) < 0.05, "incorrect value for states[7].cn0, expected 12.9713230133, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].prn == 30, "incorrect value for states[7].prn, expected 30, is %d", msg->states[7].prn); fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); - fail_unless((msg->states[8].cn0*100 - 42.8994483948*100) < 0.05, "incorrect value for states[8].cn0, expected 42.8994483948, is %f", msg->states[8].cn0); - fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); - fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); - fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); + fail_unless((msg->states[8].cn0*100 - 15.4814052582*100) < 0.05, "incorrect value for states[8].cn0, expected 15.4814052582, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].prn == 31, "incorrect value for states[8].prn, expected 31, is %d", msg->states[8].prn); fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); - fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); - fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); - fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); - fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); - fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); - fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); - fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); - fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); - fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); - fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); + fail_unless((msg->states[9].cn0*100 - 3.88343548775*100) < 0.05, "incorrect value for states[9].cn0, expected 3.88343548775, is %f", msg->states[9].cn0); + fail_unless(msg->states[9].prn == 25, "incorrect value for states[9].prn, expected 25, is %d", msg->states[9].prn); + fail_unless(msg->states[9].state == 1, "incorrect value for states[9].state, expected 1, is %d", msg->states[9].state); + fail_unless((msg->states[10].cn0*100 - 4.06148862839*100) < 0.05, "incorrect value for states[10].cn0, expected 4.06148862839, is %f", msg->states[10].cn0); + fail_unless(msg->states[10].prn == 6, "incorrect value for states[10].prn, expected 6, is %d", msg->states[10].prn); + fail_unless(msg->states[10].state == 1, "incorrect value for states[10].state, expected 1, is %d", msg->states[10].state); } // Test successful parsing of a message { @@ -287,12 +243,12 @@ START_TEST( test_auto_check_sbp_tracking_48 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x16, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,123,209,27,66,1,203,0,0,0,214,64,15,66,1,208,0,0,0,56,55,22,66,1,212,0,0,0,91,142,27,66,1,217,0,0,0,253,154,41,66,1,218,0,0,0,128,142,22,66,1,220,0,0,0,17,174,23,66,1,222,0,0,0,155,2,29,66,1,225,0,0,0,162,100,42,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,233,71, }; + u8 test_data[] = {85,22,0,195,4,66,1,0,141,76,60,65,1,2,69,139,46,65,1,3,146,27,30,65,1,7,235,56,97,65,1,10,141,213,243,64,1,13,250,170,166,64,1,22,17,101,201,64,1,30,172,183,83,65,1,31,238,193,120,65,1,25,220,48,132,64,1,6,49,214,54,64,110,179, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x16, 1219, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -301,7 +257,7 @@ START_TEST( test_auto_check_sbp_tracking_48 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 55286, + fail_unless(last_sender_id == 1219, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -312,63 +268,114 @@ START_TEST( test_auto_check_sbp_tracking_48 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); + msg_tracking_state_dep_a_t* msg = ( msg_tracking_state_dep_a_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless((msg->states[0].cn0*100 - 38.9545707703*100) < 0.05, "incorrect value for states[0].cn0, expected 38.9545707703, is %f", msg->states[0].cn0); - fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); - fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); - fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless((msg->states[0].cn0*100 - 11.7686891556*100) < 0.05, "incorrect value for states[0].cn0, expected 11.7686891556, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].prn == 0, "incorrect value for states[0].prn, expected 0, is %d", msg->states[0].prn); fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); - fail_unless((msg->states[1].cn0*100 - 35.8133163452*100) < 0.05, "incorrect value for states[1].cn0, expected 35.8133163452, is %f", msg->states[1].cn0); - fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); - fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); - fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless((msg->states[1].cn0*100 - 10.9090013504*100) < 0.05, "incorrect value for states[1].cn0, expected 10.9090013504, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].prn == 2, "incorrect value for states[1].prn, expected 2, is %d", msg->states[1].prn); fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); - fail_unless((msg->states[2].cn0*100 - 37.5539245605*100) < 0.05, "incorrect value for states[2].cn0, expected 37.5539245605, is %f", msg->states[2].cn0); - fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); - fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); - fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless((msg->states[2].cn0*100 - 9.88173103333*100) < 0.05, "incorrect value for states[2].cn0, expected 9.88173103333, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].prn == 3, "incorrect value for states[2].prn, expected 3, is %d", msg->states[2].prn); fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); - fail_unless((msg->states[3].cn0*100 - 38.8890190125*100) < 0.05, "incorrect value for states[3].cn0, expected 38.8890190125, is %f", msg->states[3].cn0); - fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); - fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); - fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); + fail_unless((msg->states[3].cn0*100 - 14.0763959885*100) < 0.05, "incorrect value for states[3].cn0, expected 14.0763959885, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].prn == 7, "incorrect value for states[3].prn, expected 7, is %d", msg->states[3].prn); fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); - fail_unless((msg->states[4].cn0*100 - 42.4013557434*100) < 0.05, "incorrect value for states[4].cn0, expected 42.4013557434, is %f", msg->states[4].cn0); - fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); - fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); - fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); + fail_unless((msg->states[4].cn0*100 - 7.6198182106*100) < 0.05, "incorrect value for states[4].cn0, expected 7.6198182106, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].prn == 10, "incorrect value for states[4].prn, expected 10, is %d", msg->states[4].prn); fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); - fail_unless((msg->states[5].cn0*100 - 37.6391601562*100) < 0.05, "incorrect value for states[5].cn0, expected 37.6391601562, is %f", msg->states[5].cn0); - fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); - fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); - fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); + fail_unless((msg->states[5].cn0*100 - 5.20837116241*100) < 0.05, "incorrect value for states[5].cn0, expected 5.20837116241, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].prn == 13, "incorrect value for states[5].prn, expected 13, is %d", msg->states[5].prn); fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); - fail_unless((msg->states[6].cn0*100 - 37.9199867249*100) < 0.05, "incorrect value for states[6].cn0, expected 37.9199867249, is %f", msg->states[6].cn0); - fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); - fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); - fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); + fail_unless((msg->states[6].cn0*100 - 6.29358720779*100) < 0.05, "incorrect value for states[6].cn0, expected 6.29358720779, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].prn == 22, "incorrect value for states[6].prn, expected 22, is %d", msg->states[6].prn); fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); - fail_unless((msg->states[7].cn0*100 - 39.2525444031*100) < 0.05, "incorrect value for states[7].cn0, expected 39.2525444031, is %f", msg->states[7].cn0); - fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); - fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); - fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); + fail_unless((msg->states[7].cn0*100 - 13.2323417664*100) < 0.05, "incorrect value for states[7].cn0, expected 13.2323417664, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].prn == 30, "incorrect value for states[7].prn, expected 30, is %d", msg->states[7].prn); fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); - fail_unless((msg->states[8].cn0*100 - 42.598274231*100) < 0.05, "incorrect value for states[8].cn0, expected 42.598274231, is %f", msg->states[8].cn0); - fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); - fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); - fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); + fail_unless((msg->states[8].cn0*100 - 15.5473461151*100) < 0.05, "incorrect value for states[8].cn0, expected 15.5473461151, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].prn == 31, "incorrect value for states[8].prn, expected 31, is %d", msg->states[8].prn); fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); + fail_unless((msg->states[9].cn0*100 - 4.13096427917*100) < 0.05, "incorrect value for states[9].cn0, expected 4.13096427917, is %f", msg->states[9].cn0); + fail_unless(msg->states[9].prn == 25, "incorrect value for states[9].prn, expected 25, is %d", msg->states[9].prn); + fail_unless(msg->states[9].state == 1, "incorrect value for states[9].state, expected 1, is %d", msg->states[9].state); + fail_unless((msg->states[10].cn0*100 - 2.85682320595*100) < 0.05, "incorrect value for states[10].cn0, expected 2.85682320595, is %f", msg->states[10].cn0); + fail_unless(msg->states[10].prn == 6, "incorrect value for states[10].prn, expected 6, is %d", msg->states[10].prn); + fail_unless(msg->states[10].state == 1, "incorrect value for states[10].state, expected 1, is %d", msg->states[10].state); + } + // Test successful parsing of a message + { + // SBP parser state must be initialized before sbp_process is called. + // We re-initialize before every test so that callbacks for the same message types can be + // allocated multiple times across different tests. + sbp_state_init(&sbp_state); + + sbp_state_set_io_context(&sbp_state, &DUMMY_MEMORY_FOR_IO); + + logging_reset(); + + sbp_register_callback(&sbp_state, 0x16, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + + u8 test_data[] = {85,22,0,195,4,66,1,0,55,143,120,66,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,248,89, }; + + dummy_reset(); + sbp_send_message(&sbp_state, 0x16, 1219, sizeof(test_data), test_data, &dummy_write); + + while (dummy_rd < dummy_wr) { + fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + fail_unless(n_callbacks_logged == 1, + "one callback should have been logged"); + fail_unless(last_sender_id == 1219, + "sender_id decoded incorrectly"); + fail_unless(last_len == sizeof(test_data), + "len decoded incorrectly"); + fail_unless(memcmp(last_msg, test_data, sizeof(test_data)) + == 0, + "test data decoded incorrectly"); + fail_unless(last_context == &DUMMY_MEMORY_FOR_CALLBACKS, + "context pointer incorrectly passed"); + + // Cast to expected message type - the +6 byte offset is where the payload starts + msg_tracking_state_dep_a_t* msg = ( msg_tracking_state_dep_a_t *)((void *)last_msg + 6); + // Run tests against fields + fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); + fail_unless((msg->states[0].cn0*100 - 62.1398582458*100) < 0.05, "incorrect value for states[0].cn0, expected 62.1398582458, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].prn == 0, "incorrect value for states[0].prn, expected 0, is %d", msg->states[0].prn); + fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); + fail_unless((msg->states[1].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[1].cn0, expected -1.0, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].prn == 0, "incorrect value for states[1].prn, expected 0, is %d", msg->states[1].prn); + fail_unless(msg->states[1].state == 0, "incorrect value for states[1].state, expected 0, is %d", msg->states[1].state); + fail_unless((msg->states[2].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[2].cn0, expected -1.0, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].prn == 0, "incorrect value for states[2].prn, expected 0, is %d", msg->states[2].prn); + fail_unless(msg->states[2].state == 0, "incorrect value for states[2].state, expected 0, is %d", msg->states[2].state); + fail_unless((msg->states[3].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[3].cn0, expected -1.0, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].prn == 0, "incorrect value for states[3].prn, expected 0, is %d", msg->states[3].prn); + fail_unless(msg->states[3].state == 0, "incorrect value for states[3].state, expected 0, is %d", msg->states[3].state); + fail_unless((msg->states[4].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[4].cn0, expected -1.0, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].prn == 0, "incorrect value for states[4].prn, expected 0, is %d", msg->states[4].prn); + fail_unless(msg->states[4].state == 0, "incorrect value for states[4].state, expected 0, is %d", msg->states[4].state); + fail_unless((msg->states[5].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[5].cn0, expected -1.0, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].prn == 0, "incorrect value for states[5].prn, expected 0, is %d", msg->states[5].prn); + fail_unless(msg->states[5].state == 0, "incorrect value for states[5].state, expected 0, is %d", msg->states[5].state); + fail_unless((msg->states[6].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[6].cn0, expected -1.0, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].prn == 0, "incorrect value for states[6].prn, expected 0, is %d", msg->states[6].prn); + fail_unless(msg->states[6].state == 0, "incorrect value for states[6].state, expected 0, is %d", msg->states[6].state); + fail_unless((msg->states[7].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[7].cn0, expected -1.0, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].prn == 0, "incorrect value for states[7].prn, expected 0, is %d", msg->states[7].prn); + fail_unless(msg->states[7].state == 0, "incorrect value for states[7].state, expected 0, is %d", msg->states[7].state); + fail_unless((msg->states[8].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[8].cn0, expected -1.0, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].prn == 0, "incorrect value for states[8].prn, expected 0, is %d", msg->states[8].prn); + fail_unless(msg->states[8].state == 0, "incorrect value for states[8].state, expected 0, is %d", msg->states[8].state); fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); - fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); - fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); - fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); + fail_unless(msg->states[9].prn == 0, "incorrect value for states[9].prn, expected 0, is %d", msg->states[9].prn); fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); - fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); - fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); - fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); + fail_unless(msg->states[10].prn == 0, "incorrect value for states[10].prn, expected 0, is %d", msg->states[10].prn); fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); } // Test successful parsing of a message @@ -382,12 +389,12 @@ START_TEST( test_auto_check_sbp_tracking_48 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x16, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,120,122,29,66,1,203,0,0,0,66,22,18,66,1,208,0,0,0,153,163,24,66,1,212,0,0,0,178,204,28,66,1,217,0,0,0,220,59,38,66,1,218,0,0,0,161,27,20,66,1,220,0,0,0,125,107,24,66,1,222,0,0,0,242,46,28,66,1,225,0,0,0,231,130,41,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,73,193, }; + u8 test_data[] = {85,22,0,195,4,66,1,0,218,14,19,66,1,2,210,3,21,65,1,3,234,214,134,65,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,84,101, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x16, 1219, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -396,7 +403,7 @@ START_TEST( test_auto_check_sbp_tracking_48 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 55286, + fail_unless(last_sender_id == 1219, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -407,63 +414,41 @@ START_TEST( test_auto_check_sbp_tracking_48 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); + msg_tracking_state_dep_a_t* msg = ( msg_tracking_state_dep_a_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless((msg->states[0].cn0*100 - 39.3695983887*100) < 0.05, "incorrect value for states[0].cn0, expected 39.3695983887, is %f", msg->states[0].cn0); - fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); - fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); - fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless((msg->states[0].cn0*100 - 36.764503479*100) < 0.05, "incorrect value for states[0].cn0, expected 36.764503479, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].prn == 0, "incorrect value for states[0].prn, expected 0, is %d", msg->states[0].prn); fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); - fail_unless((msg->states[1].cn0*100 - 36.521736145*100) < 0.05, "incorrect value for states[1].cn0, expected 36.521736145, is %f", msg->states[1].cn0); - fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); - fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); - fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless((msg->states[1].cn0*100 - 9.31343269348*100) < 0.05, "incorrect value for states[1].cn0, expected 9.31343269348, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].prn == 2, "incorrect value for states[1].prn, expected 2, is %d", msg->states[1].prn); fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); - fail_unless((msg->states[2].cn0*100 - 38.1597633362*100) < 0.05, "incorrect value for states[2].cn0, expected 38.1597633362, is %f", msg->states[2].cn0); - fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); - fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); - fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless((msg->states[2].cn0*100 - 16.8549385071*100) < 0.05, "incorrect value for states[2].cn0, expected 16.8549385071, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].prn == 3, "incorrect value for states[2].prn, expected 3, is %d", msg->states[2].prn); fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); - fail_unless((msg->states[3].cn0*100 - 39.1998977661*100) < 0.05, "incorrect value for states[3].cn0, expected 39.1998977661, is %f", msg->states[3].cn0); - fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); - fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); - fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); - fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); - fail_unless((msg->states[4].cn0*100 - 41.5584564209*100) < 0.05, "incorrect value for states[4].cn0, expected 41.5584564209, is %f", msg->states[4].cn0); - fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); - fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); - fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); - fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); - fail_unless((msg->states[5].cn0*100 - 37.0269813538*100) < 0.05, "incorrect value for states[5].cn0, expected 37.0269813538, is %f", msg->states[5].cn0); - fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); - fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); - fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); - fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); - fail_unless((msg->states[6].cn0*100 - 38.1049690247*100) < 0.05, "incorrect value for states[6].cn0, expected 38.1049690247, is %f", msg->states[6].cn0); - fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); - fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); - fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); - fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); - fail_unless((msg->states[7].cn0*100 - 39.0458450317*100) < 0.05, "incorrect value for states[7].cn0, expected 39.0458450317, is %f", msg->states[7].cn0); - fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); - fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); - fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); - fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); - fail_unless((msg->states[8].cn0*100 - 42.3778343201*100) < 0.05, "incorrect value for states[8].cn0, expected 42.3778343201, is %f", msg->states[8].cn0); - fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); - fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); - fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); - fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); + fail_unless((msg->states[3].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[3].cn0, expected -1.0, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].prn == 0, "incorrect value for states[3].prn, expected 0, is %d", msg->states[3].prn); + fail_unless(msg->states[3].state == 0, "incorrect value for states[3].state, expected 0, is %d", msg->states[3].state); + fail_unless((msg->states[4].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[4].cn0, expected -1.0, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].prn == 0, "incorrect value for states[4].prn, expected 0, is %d", msg->states[4].prn); + fail_unless(msg->states[4].state == 0, "incorrect value for states[4].state, expected 0, is %d", msg->states[4].state); + fail_unless((msg->states[5].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[5].cn0, expected -1.0, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].prn == 0, "incorrect value for states[5].prn, expected 0, is %d", msg->states[5].prn); + fail_unless(msg->states[5].state == 0, "incorrect value for states[5].state, expected 0, is %d", msg->states[5].state); + fail_unless((msg->states[6].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[6].cn0, expected -1.0, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].prn == 0, "incorrect value for states[6].prn, expected 0, is %d", msg->states[6].prn); + fail_unless(msg->states[6].state == 0, "incorrect value for states[6].state, expected 0, is %d", msg->states[6].state); + fail_unless((msg->states[7].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[7].cn0, expected -1.0, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].prn == 0, "incorrect value for states[7].prn, expected 0, is %d", msg->states[7].prn); + fail_unless(msg->states[7].state == 0, "incorrect value for states[7].state, expected 0, is %d", msg->states[7].state); + fail_unless((msg->states[8].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[8].cn0, expected -1.0, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].prn == 0, "incorrect value for states[8].prn, expected 0, is %d", msg->states[8].prn); + fail_unless(msg->states[8].state == 0, "incorrect value for states[8].state, expected 0, is %d", msg->states[8].state); fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); - fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); - fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); - fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); + fail_unless(msg->states[9].prn == 0, "incorrect value for states[9].prn, expected 0, is %d", msg->states[9].prn); fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); - fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); - fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); - fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); + fail_unless(msg->states[10].prn == 0, "incorrect value for states[10].prn, expected 0, is %d", msg->states[10].prn); fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); } // Test successful parsing of a message @@ -477,12 +462,12 @@ START_TEST( test_auto_check_sbp_tracking_48 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x16, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,103,208,30,66,1,203,0,0,0,117,24,18,66,1,208,0,0,0,200,173,20,66,1,212,0,0,0,137,68,27,66,1,217,0,0,0,243,51,40,66,1,218,0,0,0,225,58,23,66,1,220,0,0,0,132,221,22,66,1,222,0,0,0,157,29,26,66,1,225,0,0,0,133,21,41,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,126,47, }; + u8 test_data[] = {85,22,0,195,4,66,1,0,98,39,219,65,1,2,0,0,56,64,1,3,121,123,7,65,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,0,0,0,0,128,191,37,123, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x16, 1219, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -491,7 +476,7 @@ START_TEST( test_auto_check_sbp_tracking_48 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 55286, + fail_unless(last_sender_id == 1219, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -502,63 +487,41 @@ START_TEST( test_auto_check_sbp_tracking_48 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); + msg_tracking_state_dep_a_t* msg = ( msg_tracking_state_dep_a_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless((msg->states[0].cn0*100 - 39.7035179138*100) < 0.05, "incorrect value for states[0].cn0, expected 39.7035179138, is %f", msg->states[0].cn0); - fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); - fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); - fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless((msg->states[0].cn0*100 - 27.3942298889*100) < 0.05, "incorrect value for states[0].cn0, expected 27.3942298889, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].prn == 0, "incorrect value for states[0].prn, expected 0, is %d", msg->states[0].prn); fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); - fail_unless((msg->states[1].cn0*100 - 36.5238838196*100) < 0.05, "incorrect value for states[1].cn0, expected 36.5238838196, is %f", msg->states[1].cn0); - fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); - fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); - fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless((msg->states[1].cn0*100 - 2.875*100) < 0.05, "incorrect value for states[1].cn0, expected 2.875, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].prn == 2, "incorrect value for states[1].prn, expected 2, is %d", msg->states[1].prn); fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); - fail_unless((msg->states[2].cn0*100 - 37.169708252*100) < 0.05, "incorrect value for states[2].cn0, expected 37.169708252, is %f", msg->states[2].cn0); - fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); - fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); - fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless((msg->states[2].cn0*100 - 8.46764469147*100) < 0.05, "incorrect value for states[2].cn0, expected 8.46764469147, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].prn == 3, "incorrect value for states[2].prn, expected 3, is %d", msg->states[2].prn); fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); - fail_unless((msg->states[3].cn0*100 - 38.8169288635*100) < 0.05, "incorrect value for states[3].cn0, expected 38.8169288635, is %f", msg->states[3].cn0); - fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); - fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); - fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); - fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); - fail_unless((msg->states[4].cn0*100 - 42.0507316589*100) < 0.05, "incorrect value for states[4].cn0, expected 42.0507316589, is %f", msg->states[4].cn0); - fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); - fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); - fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); - fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); - fail_unless((msg->states[5].cn0*100 - 37.8074989319*100) < 0.05, "incorrect value for states[5].cn0, expected 37.8074989319, is %f", msg->states[5].cn0); - fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); - fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); - fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); - fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); - fail_unless((msg->states[6].cn0*100 - 37.7163238525*100) < 0.05, "incorrect value for states[6].cn0, expected 37.7163238525, is %f", msg->states[6].cn0); - fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); - fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); - fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); - fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); - fail_unless((msg->states[7].cn0*100 - 38.52891922*100) < 0.05, "incorrect value for states[7].cn0, expected 38.52891922, is %f", msg->states[7].cn0); - fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); - fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); - fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); - fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); - fail_unless((msg->states[8].cn0*100 - 42.2710151672*100) < 0.05, "incorrect value for states[8].cn0, expected 42.2710151672, is %f", msg->states[8].cn0); - fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); - fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); - fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); - fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); + fail_unless((msg->states[3].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[3].cn0, expected -1.0, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].prn == 0, "incorrect value for states[3].prn, expected 0, is %d", msg->states[3].prn); + fail_unless(msg->states[3].state == 0, "incorrect value for states[3].state, expected 0, is %d", msg->states[3].state); + fail_unless((msg->states[4].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[4].cn0, expected -1.0, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].prn == 0, "incorrect value for states[4].prn, expected 0, is %d", msg->states[4].prn); + fail_unless(msg->states[4].state == 0, "incorrect value for states[4].state, expected 0, is %d", msg->states[4].state); + fail_unless((msg->states[5].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[5].cn0, expected -1.0, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].prn == 0, "incorrect value for states[5].prn, expected 0, is %d", msg->states[5].prn); + fail_unless(msg->states[5].state == 0, "incorrect value for states[5].state, expected 0, is %d", msg->states[5].state); + fail_unless((msg->states[6].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[6].cn0, expected -1.0, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].prn == 0, "incorrect value for states[6].prn, expected 0, is %d", msg->states[6].prn); + fail_unless(msg->states[6].state == 0, "incorrect value for states[6].state, expected 0, is %d", msg->states[6].state); + fail_unless((msg->states[7].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[7].cn0, expected -1.0, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].prn == 0, "incorrect value for states[7].prn, expected 0, is %d", msg->states[7].prn); + fail_unless(msg->states[7].state == 0, "incorrect value for states[7].state, expected 0, is %d", msg->states[7].state); + fail_unless((msg->states[8].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[8].cn0, expected -1.0, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].prn == 0, "incorrect value for states[8].prn, expected 0, is %d", msg->states[8].prn); + fail_unless(msg->states[8].state == 0, "incorrect value for states[8].state, expected 0, is %d", msg->states[8].state); fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); - fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); - fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); - fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); + fail_unless(msg->states[9].prn == 0, "incorrect value for states[9].prn, expected 0, is %d", msg->states[9].prn); fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); - fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); - fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); - fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); + fail_unless(msg->states[10].prn == 0, "incorrect value for states[10].prn, expected 0, is %d", msg->states[10].prn); fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); } } diff --git a/c/test/auto_check_sbp_tracking_49.c b/c/test/auto_check_sbp_tracking_49.c index 15350d2d4d..44c960d6b8 100644 --- a/c/test/auto_check_sbp_tracking_49.c +++ b/c/test/auto_check_sbp_tracking_49.c @@ -10,7 +10,7 @@ * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. */ -// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/tracking/test_MsgTrackingStateDetailedDep.yaml by generate.py. Do not modify by hand! +// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/tracking/test_MsgTrackingState.yaml by generate.py. Do not modify by hand! #include #include // for debugging @@ -97,12 +97,12 @@ START_TEST( test_auto_check_sbp_tracking_49 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x11, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,17,0,59,103,55,163,151,112,215,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,5,0,0,169,177,208,54,15,0,0,0,85,61,0,0,39,0,1,0,0,0,0,0,0,0,40,0,108,1,0,11,0,0,9,166,214, }; + u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,197,253,28,66,1,203,0,0,0,231,99,16,66,1,208,0,0,0,212,129,22,66,1,212,0,0,0,58,21,28,66,1,217,0,0,0,178,33,40,66,1,218,0,0,0,235,189,21,66,1,220,0,0,0,29,177,25,66,1,222,0,0,0,43,169,27,66,1,225,0,0,0,137,125,42,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,222,97, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x11, 26427, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -111,7 +111,7 @@ START_TEST( test_auto_check_sbp_tracking_49 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 26427, + fail_unless(last_sender_id == 55286, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -122,34 +122,64 @@ START_TEST( test_auto_check_sbp_tracking_49 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_detailed_dep_t* msg = ( msg_tracking_state_detailed_dep_t *)((void *)last_msg + 6); + msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(msg->L.f == 169, "incorrect value for L.f, expected 169, is %d", msg->L.f); - fail_unless(msg->L.i == 1319, "incorrect value for L.i, expected 1319, is %d", msg->L.i); - fail_unless(msg->P == 0, "incorrect value for P, expected 0, is %d", msg->P); - fail_unless(msg->P_std == 0, "incorrect value for P_std, expected 0, is %d", msg->P_std); - fail_unless(msg->acceleration == 108, "incorrect value for acceleration, expected 108, is %d", msg->acceleration); - fail_unless(msg->clock_drift == 0, "incorrect value for clock_drift, expected 0, is %d", msg->clock_drift); - fail_unless(msg->clock_offset == 0, "incorrect value for clock_offset, expected 0, is %d", msg->clock_offset); - fail_unless(msg->cn0 == 177, "incorrect value for cn0, expected 177, is %d", msg->cn0); - fail_unless(msg->corr_spacing == 40, "incorrect value for corr_spacing, expected 40, is %d", msg->corr_spacing); - fail_unless(msg->doppler == 15701, "incorrect value for doppler, expected 15701, is %d", msg->doppler); - fail_unless(msg->doppler_std == 39, "incorrect value for doppler_std, expected 39, is %d", msg->doppler_std); - fail_unless(msg->lock == 14032, "incorrect value for lock, expected 14032, is %d", msg->lock); - fail_unless(msg->misc_flags == 9, "incorrect value for misc_flags, expected 9, is %d", msg->misc_flags); - fail_unless(msg->nav_flags == 0, "incorrect value for nav_flags, expected 0, is %d", msg->nav_flags); - fail_unless(msg->pset_flags == 0, "incorrect value for pset_flags, expected 0, is %d", msg->pset_flags); - fail_unless(msg->recv_time == 7909447587, "incorrect value for recv_time, expected 7909447587, is %d", msg->recv_time); - fail_unless(msg->sid.code == 0, "incorrect value for sid.code, expected 0, is %d", msg->sid.code); - fail_unless(msg->sid.reserved == 0, "incorrect value for sid.reserved, expected 0, is %d", msg->sid.reserved); - fail_unless(msg->sid.sat == 15, "incorrect value for sid.sat, expected 15, is %d", msg->sid.sat); - fail_unless(msg->sync_flags == 1, "incorrect value for sync_flags, expected 1, is %d", msg->sync_flags); - fail_unless(msg->tot.tow == 0, "incorrect value for tot.tow, expected 0, is %d", msg->tot.tow); - fail_unless(msg->tot.wn == 0, "incorrect value for tot.wn, expected 0, is %d", msg->tot.wn); - fail_unless(msg->tow_flags == 0, "incorrect value for tow_flags, expected 0, is %d", msg->tow_flags); - fail_unless(msg->track_flags == 11, "incorrect value for track_flags, expected 11, is %d", msg->track_flags); - fail_unless(msg->uptime == 1, "incorrect value for uptime, expected 1, is %d", msg->uptime); + fail_unless((msg->states[0].cn0*100 - 39.2478218079*100) < 0.05, "incorrect value for states[0].cn0, expected 39.2478218079, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); + fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); + fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); + fail_unless((msg->states[1].cn0*100 - 36.0975608826*100) < 0.05, "incorrect value for states[1].cn0, expected 36.0975608826, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); + fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); + fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); + fail_unless((msg->states[2].cn0*100 - 37.6267852783*100) < 0.05, "incorrect value for states[2].cn0, expected 37.6267852783, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); + fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); + fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); + fail_unless((msg->states[3].cn0*100 - 39.0207290649*100) < 0.05, "incorrect value for states[3].cn0, expected 39.0207290649, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); + fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); + fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); + fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); + fail_unless((msg->states[4].cn0*100 - 42.0329055786*100) < 0.05, "incorrect value for states[4].cn0, expected 42.0329055786, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); + fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); + fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); + fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); + fail_unless((msg->states[5].cn0*100 - 37.4354667664*100) < 0.05, "incorrect value for states[5].cn0, expected 37.4354667664, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); + fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); + fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); + fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); + fail_unless((msg->states[6].cn0*100 - 38.4229621887*100) < 0.05, "incorrect value for states[6].cn0, expected 38.4229621887, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); + fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); + fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); + fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); + fail_unless((msg->states[7].cn0*100 - 38.9152030945*100) < 0.05, "incorrect value for states[7].cn0, expected 38.9152030945, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); + fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); + fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); + fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); + fail_unless((msg->states[8].cn0*100 - 42.622592926*100) < 0.05, "incorrect value for states[8].cn0, expected 42.622592926, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); + fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); + fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); + fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); + fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); + fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); + fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); + fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); + fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); + fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); + fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); + fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); + fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); + fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); } // Test successful parsing of a message { @@ -162,12 +192,12 @@ START_TEST( test_auto_check_sbp_tracking_49 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x11, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,17,0,59,103,55,97,251,61,245,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,7,0,0,14,175,208,54,15,0,0,0,51,61,0,0,30,0,1,0,0,0,0,0,0,0,40,0,224,1,0,11,0,0,9,136,179, }; + u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,250,249,27,66,1,203,0,0,0,40,143,11,66,1,208,0,0,0,190,200,21,66,1,212,0,0,0,251,233,26,66,1,217,0,0,0,209,238,39,66,1,218,0,0,0,162,219,21,66,1,220,0,0,0,162,197,25,66,1,222,0,0,0,14,35,28,66,1,225,0,0,0,9,153,43,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,20,31, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x11, 26427, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -176,7 +206,7 @@ START_TEST( test_auto_check_sbp_tracking_49 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 26427, + fail_unless(last_sender_id == 55286, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -187,34 +217,64 @@ START_TEST( test_auto_check_sbp_tracking_49 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_detailed_dep_t* msg = ( msg_tracking_state_detailed_dep_t *)((void *)last_msg + 6); + msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(msg->L.f == 14, "incorrect value for L.f, expected 14, is %d", msg->L.f); - fail_unless(msg->L.i == 1810, "incorrect value for L.i, expected 1810, is %d", msg->L.i); - fail_unless(msg->P == 0, "incorrect value for P, expected 0, is %d", msg->P); - fail_unless(msg->P_std == 0, "incorrect value for P_std, expected 0, is %d", msg->P_std); - fail_unless(msg->acceleration == -32, "incorrect value for acceleration, expected -32, is %d", msg->acceleration); - fail_unless(msg->clock_drift == 0, "incorrect value for clock_drift, expected 0, is %d", msg->clock_drift); - fail_unless(msg->clock_offset == 0, "incorrect value for clock_offset, expected 0, is %d", msg->clock_offset); - fail_unless(msg->cn0 == 175, "incorrect value for cn0, expected 175, is %d", msg->cn0); - fail_unless(msg->corr_spacing == 40, "incorrect value for corr_spacing, expected 40, is %d", msg->corr_spacing); - fail_unless(msg->doppler == 15667, "incorrect value for doppler, expected 15667, is %d", msg->doppler); - fail_unless(msg->doppler_std == 30, "incorrect value for doppler_std, expected 30, is %d", msg->doppler_std); - fail_unless(msg->lock == 14032, "incorrect value for lock, expected 14032, is %d", msg->lock); - fail_unless(msg->misc_flags == 9, "incorrect value for misc_flags, expected 9, is %d", msg->misc_flags); - fail_unless(msg->nav_flags == 0, "incorrect value for nav_flags, expected 0, is %d", msg->nav_flags); - fail_unless(msg->pset_flags == 0, "incorrect value for pset_flags, expected 0, is %d", msg->pset_flags); - fail_unless(msg->recv_time == 8409447265, "incorrect value for recv_time, expected 8409447265, is %d", msg->recv_time); - fail_unless(msg->sid.code == 0, "incorrect value for sid.code, expected 0, is %d", msg->sid.code); - fail_unless(msg->sid.reserved == 0, "incorrect value for sid.reserved, expected 0, is %d", msg->sid.reserved); - fail_unless(msg->sid.sat == 15, "incorrect value for sid.sat, expected 15, is %d", msg->sid.sat); - fail_unless(msg->sync_flags == 1, "incorrect value for sync_flags, expected 1, is %d", msg->sync_flags); - fail_unless(msg->tot.tow == 0, "incorrect value for tot.tow, expected 0, is %d", msg->tot.tow); - fail_unless(msg->tot.wn == 0, "incorrect value for tot.wn, expected 0, is %d", msg->tot.wn); - fail_unless(msg->tow_flags == 0, "incorrect value for tow_flags, expected 0, is %d", msg->tow_flags); - fail_unless(msg->track_flags == 11, "incorrect value for track_flags, expected 11, is %d", msg->track_flags); - fail_unless(msg->uptime == 1, "incorrect value for uptime, expected 1, is %d", msg->uptime); + fail_unless((msg->states[0].cn0*100 - 38.9941177368*100) < 0.05, "incorrect value for states[0].cn0, expected 38.9941177368, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); + fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); + fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); + fail_unless((msg->states[1].cn0*100 - 34.8898010254*100) < 0.05, "incorrect value for states[1].cn0, expected 34.8898010254, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); + fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); + fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); + fail_unless((msg->states[2].cn0*100 - 37.4460372925*100) < 0.05, "incorrect value for states[2].cn0, expected 37.4460372925, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); + fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); + fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); + fail_unless((msg->states[3].cn0*100 - 38.7284965515*100) < 0.05, "incorrect value for states[3].cn0, expected 38.7284965515, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); + fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); + fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); + fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); + fail_unless((msg->states[4].cn0*100 - 41.9832191467*100) < 0.05, "incorrect value for states[4].cn0, expected 41.9832191467, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); + fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); + fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); + fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); + fail_unless((msg->states[5].cn0*100 - 37.4644851685*100) < 0.05, "incorrect value for states[5].cn0, expected 37.4644851685, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); + fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); + fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); + fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); + fail_unless((msg->states[6].cn0*100 - 38.4430007935*100) < 0.05, "incorrect value for states[6].cn0, expected 38.4430007935, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); + fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); + fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); + fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); + fail_unless((msg->states[7].cn0*100 - 39.0342330933*100) < 0.05, "incorrect value for states[7].cn0, expected 39.0342330933, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); + fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); + fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); + fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); + fail_unless((msg->states[8].cn0*100 - 42.8994483948*100) < 0.05, "incorrect value for states[8].cn0, expected 42.8994483948, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); + fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); + fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); + fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); + fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); + fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); + fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); + fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); + fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); + fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); + fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); + fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); + fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); + fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); } // Test successful parsing of a message { @@ -227,12 +287,12 @@ START_TEST( test_auto_check_sbp_tracking_49 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x11, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,17,0,59,103,55,139,218,236,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,8,0,0,8,179,208,54,15,0,0,0,67,61,0,0,22,0,2,0,0,0,0,0,0,0,40,0,27,1,0,11,0,2,9,217,159, }; + u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,123,209,27,66,1,203,0,0,0,214,64,15,66,1,208,0,0,0,56,55,22,66,1,212,0,0,0,91,142,27,66,1,217,0,0,0,253,154,41,66,1,218,0,0,0,128,142,22,66,1,220,0,0,0,17,174,23,66,1,222,0,0,0,155,2,29,66,1,225,0,0,0,162,100,42,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,233,71, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x11, 26427, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -241,7 +301,7 @@ START_TEST( test_auto_check_sbp_tracking_49 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 26427, + fail_unless(last_sender_id == 55286, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -252,34 +312,64 @@ START_TEST( test_auto_check_sbp_tracking_49 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_detailed_dep_t* msg = ( msg_tracking_state_detailed_dep_t *)((void *)last_msg + 6); + msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(msg->L.f == 8, "incorrect value for L.f, expected 8, is %d", msg->L.f); - fail_unless(msg->L.i == 2298, "incorrect value for L.i, expected 2298, is %d", msg->L.i); - fail_unless(msg->P == 0, "incorrect value for P, expected 0, is %d", msg->P); - fail_unless(msg->P_std == 0, "incorrect value for P_std, expected 0, is %d", msg->P_std); - fail_unless(msg->acceleration == 27, "incorrect value for acceleration, expected 27, is %d", msg->acceleration); - fail_unless(msg->clock_drift == 0, "incorrect value for clock_drift, expected 0, is %d", msg->clock_drift); - fail_unless(msg->clock_offset == 0, "incorrect value for clock_offset, expected 0, is %d", msg->clock_offset); - fail_unless(msg->cn0 == 179, "incorrect value for cn0, expected 179, is %d", msg->cn0); - fail_unless(msg->corr_spacing == 40, "incorrect value for corr_spacing, expected 40, is %d", msg->corr_spacing); - fail_unless(msg->doppler == 15683, "incorrect value for doppler, expected 15683, is %d", msg->doppler); - fail_unless(msg->doppler_std == 22, "incorrect value for doppler_std, expected 22, is %d", msg->doppler_std); - fail_unless(msg->lock == 14032, "incorrect value for lock, expected 14032, is %d", msg->lock); - fail_unless(msg->misc_flags == 9, "incorrect value for misc_flags, expected 9, is %d", msg->misc_flags); - fail_unless(msg->nav_flags == 0, "incorrect value for nav_flags, expected 0, is %d", msg->nav_flags); - fail_unless(msg->pset_flags == 2, "incorrect value for pset_flags, expected 2, is %d", msg->pset_flags); - fail_unless(msg->recv_time == 8907446923, "incorrect value for recv_time, expected 8907446923, is %d", msg->recv_time); - fail_unless(msg->sid.code == 0, "incorrect value for sid.code, expected 0, is %d", msg->sid.code); - fail_unless(msg->sid.reserved == 0, "incorrect value for sid.reserved, expected 0, is %d", msg->sid.reserved); - fail_unless(msg->sid.sat == 15, "incorrect value for sid.sat, expected 15, is %d", msg->sid.sat); - fail_unless(msg->sync_flags == 1, "incorrect value for sync_flags, expected 1, is %d", msg->sync_flags); - fail_unless(msg->tot.tow == 0, "incorrect value for tot.tow, expected 0, is %d", msg->tot.tow); - fail_unless(msg->tot.wn == 0, "incorrect value for tot.wn, expected 0, is %d", msg->tot.wn); - fail_unless(msg->tow_flags == 0, "incorrect value for tow_flags, expected 0, is %d", msg->tow_flags); - fail_unless(msg->track_flags == 11, "incorrect value for track_flags, expected 11, is %d", msg->track_flags); - fail_unless(msg->uptime == 2, "incorrect value for uptime, expected 2, is %d", msg->uptime); + fail_unless((msg->states[0].cn0*100 - 38.9545707703*100) < 0.05, "incorrect value for states[0].cn0, expected 38.9545707703, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); + fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); + fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); + fail_unless((msg->states[1].cn0*100 - 35.8133163452*100) < 0.05, "incorrect value for states[1].cn0, expected 35.8133163452, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); + fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); + fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); + fail_unless((msg->states[2].cn0*100 - 37.5539245605*100) < 0.05, "incorrect value for states[2].cn0, expected 37.5539245605, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); + fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); + fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); + fail_unless((msg->states[3].cn0*100 - 38.8890190125*100) < 0.05, "incorrect value for states[3].cn0, expected 38.8890190125, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); + fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); + fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); + fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); + fail_unless((msg->states[4].cn0*100 - 42.4013557434*100) < 0.05, "incorrect value for states[4].cn0, expected 42.4013557434, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); + fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); + fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); + fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); + fail_unless((msg->states[5].cn0*100 - 37.6391601562*100) < 0.05, "incorrect value for states[5].cn0, expected 37.6391601562, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); + fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); + fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); + fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); + fail_unless((msg->states[6].cn0*100 - 37.9199867249*100) < 0.05, "incorrect value for states[6].cn0, expected 37.9199867249, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); + fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); + fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); + fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); + fail_unless((msg->states[7].cn0*100 - 39.2525444031*100) < 0.05, "incorrect value for states[7].cn0, expected 39.2525444031, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); + fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); + fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); + fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); + fail_unless((msg->states[8].cn0*100 - 42.598274231*100) < 0.05, "incorrect value for states[8].cn0, expected 42.598274231, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); + fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); + fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); + fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); + fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); + fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); + fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); + fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); + fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); + fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); + fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); + fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); + fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); + fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); } // Test successful parsing of a message { @@ -292,12 +382,12 @@ START_TEST( test_auto_check_sbp_tracking_49 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x11, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,17,0,59,103,55,255,251,170,48,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,10,0,0,125,181,208,54,15,0,0,0,29,61,0,0,10,0,2,0,0,0,0,0,0,0,40,0,220,1,0,11,0,3,9,66,95, }; + u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,120,122,29,66,1,203,0,0,0,66,22,18,66,1,208,0,0,0,153,163,24,66,1,212,0,0,0,178,204,28,66,1,217,0,0,0,220,59,38,66,1,218,0,0,0,161,27,20,66,1,220,0,0,0,125,107,24,66,1,222,0,0,0,242,46,28,66,1,225,0,0,0,231,130,41,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,73,193, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x11, 26427, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -306,7 +396,7 @@ START_TEST( test_auto_check_sbp_tracking_49 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 26427, + fail_unless(last_sender_id == 55286, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -317,34 +407,64 @@ START_TEST( test_auto_check_sbp_tracking_49 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_detailed_dep_t* msg = ( msg_tracking_state_detailed_dep_t *)((void *)last_msg + 6); + msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(msg->L.f == 125, "incorrect value for L.f, expected 125, is %d", msg->L.f); - fail_unless(msg->L.i == 2786, "incorrect value for L.i, expected 2786, is %d", msg->L.i); - fail_unless(msg->P == 0, "incorrect value for P, expected 0, is %d", msg->P); - fail_unless(msg->P_std == 0, "incorrect value for P_std, expected 0, is %d", msg->P_std); - fail_unless(msg->acceleration == -36, "incorrect value for acceleration, expected -36, is %d", msg->acceleration); - fail_unless(msg->clock_drift == 0, "incorrect value for clock_drift, expected 0, is %d", msg->clock_drift); - fail_unless(msg->clock_offset == 0, "incorrect value for clock_offset, expected 0, is %d", msg->clock_offset); - fail_unless(msg->cn0 == 181, "incorrect value for cn0, expected 181, is %d", msg->cn0); - fail_unless(msg->corr_spacing == 40, "incorrect value for corr_spacing, expected 40, is %d", msg->corr_spacing); - fail_unless(msg->doppler == 15645, "incorrect value for doppler, expected 15645, is %d", msg->doppler); - fail_unless(msg->doppler_std == 10, "incorrect value for doppler_std, expected 10, is %d", msg->doppler_std); - fail_unless(msg->lock == 14032, "incorrect value for lock, expected 14032, is %d", msg->lock); - fail_unless(msg->misc_flags == 9, "incorrect value for misc_flags, expected 9, is %d", msg->misc_flags); - fail_unless(msg->nav_flags == 0, "incorrect value for nav_flags, expected 0, is %d", msg->nav_flags); - fail_unless(msg->pset_flags == 3, "incorrect value for pset_flags, expected 3, is %d", msg->pset_flags); - fail_unless(msg->recv_time == 9406446591, "incorrect value for recv_time, expected 9406446591, is %d", msg->recv_time); - fail_unless(msg->sid.code == 0, "incorrect value for sid.code, expected 0, is %d", msg->sid.code); - fail_unless(msg->sid.reserved == 0, "incorrect value for sid.reserved, expected 0, is %d", msg->sid.reserved); - fail_unless(msg->sid.sat == 15, "incorrect value for sid.sat, expected 15, is %d", msg->sid.sat); - fail_unless(msg->sync_flags == 1, "incorrect value for sync_flags, expected 1, is %d", msg->sync_flags); - fail_unless(msg->tot.tow == 0, "incorrect value for tot.tow, expected 0, is %d", msg->tot.tow); - fail_unless(msg->tot.wn == 0, "incorrect value for tot.wn, expected 0, is %d", msg->tot.wn); - fail_unless(msg->tow_flags == 0, "incorrect value for tow_flags, expected 0, is %d", msg->tow_flags); - fail_unless(msg->track_flags == 11, "incorrect value for track_flags, expected 11, is %d", msg->track_flags); - fail_unless(msg->uptime == 2, "incorrect value for uptime, expected 2, is %d", msg->uptime); + fail_unless((msg->states[0].cn0*100 - 39.3695983887*100) < 0.05, "incorrect value for states[0].cn0, expected 39.3695983887, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); + fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); + fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); + fail_unless((msg->states[1].cn0*100 - 36.521736145*100) < 0.05, "incorrect value for states[1].cn0, expected 36.521736145, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); + fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); + fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); + fail_unless((msg->states[2].cn0*100 - 38.1597633362*100) < 0.05, "incorrect value for states[2].cn0, expected 38.1597633362, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); + fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); + fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); + fail_unless((msg->states[3].cn0*100 - 39.1998977661*100) < 0.05, "incorrect value for states[3].cn0, expected 39.1998977661, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); + fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); + fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); + fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); + fail_unless((msg->states[4].cn0*100 - 41.5584564209*100) < 0.05, "incorrect value for states[4].cn0, expected 41.5584564209, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); + fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); + fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); + fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); + fail_unless((msg->states[5].cn0*100 - 37.0269813538*100) < 0.05, "incorrect value for states[5].cn0, expected 37.0269813538, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); + fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); + fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); + fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); + fail_unless((msg->states[6].cn0*100 - 38.1049690247*100) < 0.05, "incorrect value for states[6].cn0, expected 38.1049690247, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); + fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); + fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); + fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); + fail_unless((msg->states[7].cn0*100 - 39.0458450317*100) < 0.05, "incorrect value for states[7].cn0, expected 39.0458450317, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); + fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); + fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); + fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); + fail_unless((msg->states[8].cn0*100 - 42.3778343201*100) < 0.05, "incorrect value for states[8].cn0, expected 42.3778343201, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); + fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); + fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); + fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); + fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); + fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); + fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); + fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); + fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); + fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); + fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); + fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); + fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); + fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); } // Test successful parsing of a message { @@ -357,12 +477,12 @@ START_TEST( test_auto_check_sbp_tracking_49 ) logging_reset(); - sbp_register_callback(&sbp_state, 0x11, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_register_callback(&sbp_state, 0x13, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,17,0,59,103,55,189,95,120,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,12,0,0,64,184,208,54,15,0,0,0,24,61,0,0,4,0,3,0,0,0,0,0,0,0,40,0,2,1,0,11,0,3,9,194,206, }; + u8 test_data[] = {85,19,0,246,215,99,1,202,0,0,0,103,208,30,66,1,203,0,0,0,117,24,18,66,1,208,0,0,0,200,173,20,66,1,212,0,0,0,137,68,27,66,1,217,0,0,0,243,51,40,66,1,218,0,0,0,225,58,23,66,1,220,0,0,0,132,221,22,66,1,222,0,0,0,157,29,26,66,1,225,0,0,0,133,21,41,66,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,128,191,126,47, }; dummy_reset(); - sbp_send_message(&sbp_state, 0x11, 26427, sizeof(test_data), test_data, &dummy_write); + sbp_send_message(&sbp_state, 0x13, 55286, sizeof(test_data), test_data, &dummy_write); while (dummy_rd < dummy_wr) { fail_unless(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, @@ -371,7 +491,7 @@ START_TEST( test_auto_check_sbp_tracking_49 ) fail_unless(n_callbacks_logged == 1, "one callback should have been logged"); - fail_unless(last_sender_id == 26427, + fail_unless(last_sender_id == 55286, "sender_id decoded incorrectly"); fail_unless(last_len == sizeof(test_data), "len decoded incorrectly"); @@ -382,34 +502,64 @@ START_TEST( test_auto_check_sbp_tracking_49 ) "context pointer incorrectly passed"); // Cast to expected message type - the +6 byte offset is where the payload starts - msg_tracking_state_detailed_dep_t* msg = ( msg_tracking_state_detailed_dep_t *)((void *)last_msg + 6); + msg_tracking_state_dep_b_t* msg = ( msg_tracking_state_dep_b_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(msg->L.f == 64, "incorrect value for L.f, expected 64, is %d", msg->L.f); - fail_unless(msg->L.i == 3275, "incorrect value for L.i, expected 3275, is %d", msg->L.i); - fail_unless(msg->P == 0, "incorrect value for P, expected 0, is %d", msg->P); - fail_unless(msg->P_std == 0, "incorrect value for P_std, expected 0, is %d", msg->P_std); - fail_unless(msg->acceleration == 2, "incorrect value for acceleration, expected 2, is %d", msg->acceleration); - fail_unless(msg->clock_drift == 0, "incorrect value for clock_drift, expected 0, is %d", msg->clock_drift); - fail_unless(msg->clock_offset == 0, "incorrect value for clock_offset, expected 0, is %d", msg->clock_offset); - fail_unless(msg->cn0 == 184, "incorrect value for cn0, expected 184, is %d", msg->cn0); - fail_unless(msg->corr_spacing == 40, "incorrect value for corr_spacing, expected 40, is %d", msg->corr_spacing); - fail_unless(msg->doppler == 15640, "incorrect value for doppler, expected 15640, is %d", msg->doppler); - fail_unless(msg->doppler_std == 4, "incorrect value for doppler_std, expected 4, is %d", msg->doppler_std); - fail_unless(msg->lock == 14032, "incorrect value for lock, expected 14032, is %d", msg->lock); - fail_unless(msg->misc_flags == 9, "incorrect value for misc_flags, expected 9, is %d", msg->misc_flags); - fail_unless(msg->nav_flags == 0, "incorrect value for nav_flags, expected 0, is %d", msg->nav_flags); - fail_unless(msg->pset_flags == 3, "incorrect value for pset_flags, expected 3, is %d", msg->pset_flags); - fail_unless(msg->recv_time == 9906446269, "incorrect value for recv_time, expected 9906446269, is %d", msg->recv_time); - fail_unless(msg->sid.code == 0, "incorrect value for sid.code, expected 0, is %d", msg->sid.code); - fail_unless(msg->sid.reserved == 0, "incorrect value for sid.reserved, expected 0, is %d", msg->sid.reserved); - fail_unless(msg->sid.sat == 15, "incorrect value for sid.sat, expected 15, is %d", msg->sid.sat); - fail_unless(msg->sync_flags == 1, "incorrect value for sync_flags, expected 1, is %d", msg->sync_flags); - fail_unless(msg->tot.tow == 0, "incorrect value for tot.tow, expected 0, is %d", msg->tot.tow); - fail_unless(msg->tot.wn == 0, "incorrect value for tot.wn, expected 0, is %d", msg->tot.wn); - fail_unless(msg->tow_flags == 0, "incorrect value for tow_flags, expected 0, is %d", msg->tow_flags); - fail_unless(msg->track_flags == 11, "incorrect value for track_flags, expected 11, is %d", msg->track_flags); - fail_unless(msg->uptime == 3, "incorrect value for uptime, expected 3, is %d", msg->uptime); + fail_unless((msg->states[0].cn0*100 - 39.7035179138*100) < 0.05, "incorrect value for states[0].cn0, expected 39.7035179138, is %f", msg->states[0].cn0); + fail_unless(msg->states[0].sid.code == 0, "incorrect value for states[0].sid.code, expected 0, is %d", msg->states[0].sid.code); + fail_unless(msg->states[0].sid.reserved == 0, "incorrect value for states[0].sid.reserved, expected 0, is %d", msg->states[0].sid.reserved); + fail_unless(msg->states[0].sid.sat == 202, "incorrect value for states[0].sid.sat, expected 202, is %d", msg->states[0].sid.sat); + fail_unless(msg->states[0].state == 1, "incorrect value for states[0].state, expected 1, is %d", msg->states[0].state); + fail_unless((msg->states[1].cn0*100 - 36.5238838196*100) < 0.05, "incorrect value for states[1].cn0, expected 36.5238838196, is %f", msg->states[1].cn0); + fail_unless(msg->states[1].sid.code == 0, "incorrect value for states[1].sid.code, expected 0, is %d", msg->states[1].sid.code); + fail_unless(msg->states[1].sid.reserved == 0, "incorrect value for states[1].sid.reserved, expected 0, is %d", msg->states[1].sid.reserved); + fail_unless(msg->states[1].sid.sat == 203, "incorrect value for states[1].sid.sat, expected 203, is %d", msg->states[1].sid.sat); + fail_unless(msg->states[1].state == 1, "incorrect value for states[1].state, expected 1, is %d", msg->states[1].state); + fail_unless((msg->states[2].cn0*100 - 37.169708252*100) < 0.05, "incorrect value for states[2].cn0, expected 37.169708252, is %f", msg->states[2].cn0); + fail_unless(msg->states[2].sid.code == 0, "incorrect value for states[2].sid.code, expected 0, is %d", msg->states[2].sid.code); + fail_unless(msg->states[2].sid.reserved == 0, "incorrect value for states[2].sid.reserved, expected 0, is %d", msg->states[2].sid.reserved); + fail_unless(msg->states[2].sid.sat == 208, "incorrect value for states[2].sid.sat, expected 208, is %d", msg->states[2].sid.sat); + fail_unless(msg->states[2].state == 1, "incorrect value for states[2].state, expected 1, is %d", msg->states[2].state); + fail_unless((msg->states[3].cn0*100 - 38.8169288635*100) < 0.05, "incorrect value for states[3].cn0, expected 38.8169288635, is %f", msg->states[3].cn0); + fail_unless(msg->states[3].sid.code == 0, "incorrect value for states[3].sid.code, expected 0, is %d", msg->states[3].sid.code); + fail_unless(msg->states[3].sid.reserved == 0, "incorrect value for states[3].sid.reserved, expected 0, is %d", msg->states[3].sid.reserved); + fail_unless(msg->states[3].sid.sat == 212, "incorrect value for states[3].sid.sat, expected 212, is %d", msg->states[3].sid.sat); + fail_unless(msg->states[3].state == 1, "incorrect value for states[3].state, expected 1, is %d", msg->states[3].state); + fail_unless((msg->states[4].cn0*100 - 42.0507316589*100) < 0.05, "incorrect value for states[4].cn0, expected 42.0507316589, is %f", msg->states[4].cn0); + fail_unless(msg->states[4].sid.code == 0, "incorrect value for states[4].sid.code, expected 0, is %d", msg->states[4].sid.code); + fail_unless(msg->states[4].sid.reserved == 0, "incorrect value for states[4].sid.reserved, expected 0, is %d", msg->states[4].sid.reserved); + fail_unless(msg->states[4].sid.sat == 217, "incorrect value for states[4].sid.sat, expected 217, is %d", msg->states[4].sid.sat); + fail_unless(msg->states[4].state == 1, "incorrect value for states[4].state, expected 1, is %d", msg->states[4].state); + fail_unless((msg->states[5].cn0*100 - 37.8074989319*100) < 0.05, "incorrect value for states[5].cn0, expected 37.8074989319, is %f", msg->states[5].cn0); + fail_unless(msg->states[5].sid.code == 0, "incorrect value for states[5].sid.code, expected 0, is %d", msg->states[5].sid.code); + fail_unless(msg->states[5].sid.reserved == 0, "incorrect value for states[5].sid.reserved, expected 0, is %d", msg->states[5].sid.reserved); + fail_unless(msg->states[5].sid.sat == 218, "incorrect value for states[5].sid.sat, expected 218, is %d", msg->states[5].sid.sat); + fail_unless(msg->states[5].state == 1, "incorrect value for states[5].state, expected 1, is %d", msg->states[5].state); + fail_unless((msg->states[6].cn0*100 - 37.7163238525*100) < 0.05, "incorrect value for states[6].cn0, expected 37.7163238525, is %f", msg->states[6].cn0); + fail_unless(msg->states[6].sid.code == 0, "incorrect value for states[6].sid.code, expected 0, is %d", msg->states[6].sid.code); + fail_unless(msg->states[6].sid.reserved == 0, "incorrect value for states[6].sid.reserved, expected 0, is %d", msg->states[6].sid.reserved); + fail_unless(msg->states[6].sid.sat == 220, "incorrect value for states[6].sid.sat, expected 220, is %d", msg->states[6].sid.sat); + fail_unless(msg->states[6].state == 1, "incorrect value for states[6].state, expected 1, is %d", msg->states[6].state); + fail_unless((msg->states[7].cn0*100 - 38.52891922*100) < 0.05, "incorrect value for states[7].cn0, expected 38.52891922, is %f", msg->states[7].cn0); + fail_unless(msg->states[7].sid.code == 0, "incorrect value for states[7].sid.code, expected 0, is %d", msg->states[7].sid.code); + fail_unless(msg->states[7].sid.reserved == 0, "incorrect value for states[7].sid.reserved, expected 0, is %d", msg->states[7].sid.reserved); + fail_unless(msg->states[7].sid.sat == 222, "incorrect value for states[7].sid.sat, expected 222, is %d", msg->states[7].sid.sat); + fail_unless(msg->states[7].state == 1, "incorrect value for states[7].state, expected 1, is %d", msg->states[7].state); + fail_unless((msg->states[8].cn0*100 - 42.2710151672*100) < 0.05, "incorrect value for states[8].cn0, expected 42.2710151672, is %f", msg->states[8].cn0); + fail_unless(msg->states[8].sid.code == 0, "incorrect value for states[8].sid.code, expected 0, is %d", msg->states[8].sid.code); + fail_unless(msg->states[8].sid.reserved == 0, "incorrect value for states[8].sid.reserved, expected 0, is %d", msg->states[8].sid.reserved); + fail_unless(msg->states[8].sid.sat == 225, "incorrect value for states[8].sid.sat, expected 225, is %d", msg->states[8].sid.sat); + fail_unless(msg->states[8].state == 1, "incorrect value for states[8].state, expected 1, is %d", msg->states[8].state); + fail_unless((msg->states[9].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[9].cn0, expected -1.0, is %f", msg->states[9].cn0); + fail_unless(msg->states[9].sid.code == 0, "incorrect value for states[9].sid.code, expected 0, is %d", msg->states[9].sid.code); + fail_unless(msg->states[9].sid.reserved == 0, "incorrect value for states[9].sid.reserved, expected 0, is %d", msg->states[9].sid.reserved); + fail_unless(msg->states[9].sid.sat == 0, "incorrect value for states[9].sid.sat, expected 0, is %d", msg->states[9].sid.sat); + fail_unless(msg->states[9].state == 0, "incorrect value for states[9].state, expected 0, is %d", msg->states[9].state); + fail_unless((msg->states[10].cn0*100 - -1.0*100) < 0.05, "incorrect value for states[10].cn0, expected -1.0, is %f", msg->states[10].cn0); + fail_unless(msg->states[10].sid.code == 0, "incorrect value for states[10].sid.code, expected 0, is %d", msg->states[10].sid.code); + fail_unless(msg->states[10].sid.reserved == 0, "incorrect value for states[10].sid.reserved, expected 0, is %d", msg->states[10].sid.reserved); + fail_unless(msg->states[10].sid.sat == 0, "incorrect value for states[10].sid.sat, expected 0, is %d", msg->states[10].sid.sat); + fail_unless(msg->states[10].state == 0, "incorrect value for states[10].state, expected 0, is %d", msg->states[10].state); } } END_TEST diff --git a/c/test/auto_check_sbp_tracking_50.c b/c/test/auto_check_sbp_tracking_50.c index 998bf782e6..669f640c23 100644 --- a/c/test/auto_check_sbp_tracking_50.c +++ b/c/test/auto_check_sbp_tracking_50.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. diff --git a/c/test/auto_check_sbp_vehicle_51.c b/c/test/auto_check_sbp_vehicle_51.c index 0d5dc2669b..ef1aed098a 100644 --- a/c/test/auto_check_sbp_vehicle_51.c +++ b/c/test/auto_check_sbp_vehicle_51.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015 Swift Navigation Inc. - * Contact: Joshua Gross + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation * * This source is subject to the license found in the file 'LICENSE' which must * be be distributed together with this source. All other rights reserved. @@ -99,7 +99,7 @@ START_TEST( test_auto_check_sbp_vehicle_51 ) sbp_register_callback(&sbp_state, 0x903, &logging_callback, &DUMMY_MEMORY_FOR_CALLBACKS, &n); - u8 test_data[] = {85,3,9,66,0,9,7,0,0,0,3,0,0,0,3,36,82, }; + u8 test_data[] = {85,3,9,66,0,9,8,0,0,0,7,0,0,0,1,52,99, }; dummy_reset(); sbp_send_message(&sbp_state, 0x903, 66, sizeof(test_data), test_data, &dummy_write); @@ -125,9 +125,9 @@ START_TEST( test_auto_check_sbp_vehicle_51 ) msg_odometry_t* msg = ( msg_odometry_t *)((void *)last_msg + 6); // Run tests against fields fail_unless(msg != 0, "stub to prevent warnings if msg isn't used"); - fail_unless(msg->flags == 3, "incorrect value for flags, expected 3, is %d", msg->flags); - fail_unless(msg->tow == 7, "incorrect value for tow, expected 7, is %d", msg->tow); - fail_unless(msg->velocity == 3, "incorrect value for velocity, expected 3, is %d", msg->velocity); + fail_unless(msg->flags == 1, "incorrect value for flags, expected 1, is %d", msg->flags); + fail_unless(msg->tow == 8, "incorrect value for tow, expected 8, is %d", msg->tow); + fail_unless(msg->velocity == 7, "incorrect value for velocity, expected 7, is %d", msg->velocity); } } END_TEST diff --git a/c/test/check_main.c b/c/test/check_main.c index 8410f738c1..07ea49fb15 100644 --- a/c/test/check_main.c +++ b/c/test/check_main.c @@ -63,19 +63,20 @@ int main(void) srunner_add_suite(sr, auto_check_sbp_system_35_suite()); srunner_add_suite(sr, auto_check_sbp_system_36_suite()); srunner_add_suite(sr, auto_check_sbp_system_37_suite()); - srunner_add_suite(sr, auto_check_sbp_acquisition_38_suite()); - srunner_add_suite(sr, auto_check_sbp_bootload_39_suite()); - srunner_add_suite(sr, auto_check_sbp_ext_events_40_suite()); - srunner_add_suite(sr, auto_check_sbp_logging_41_suite()); + srunner_add_suite(sr, auto_check_sbp_system_38_suite()); + srunner_add_suite(sr, auto_check_sbp_acquisition_39_suite()); + srunner_add_suite(sr, auto_check_sbp_bootload_40_suite()); + srunner_add_suite(sr, auto_check_sbp_ext_events_41_suite()); srunner_add_suite(sr, auto_check_sbp_logging_42_suite()); - srunner_add_suite(sr, auto_check_sbp_navigation_43_suite()); - srunner_add_suite(sr, auto_check_sbp_observation_44_suite()); - srunner_add_suite(sr, auto_check_sbp_piksi_45_suite()); - srunner_add_suite(sr, auto_check_sbp_system_46_suite()); - srunner_add_suite(sr, auto_check_sbp_tracking_47_suite()); + srunner_add_suite(sr, auto_check_sbp_logging_43_suite()); + srunner_add_suite(sr, auto_check_sbp_navigation_44_suite()); + srunner_add_suite(sr, auto_check_sbp_observation_45_suite()); + srunner_add_suite(sr, auto_check_sbp_piksi_46_suite()); + srunner_add_suite(sr, auto_check_sbp_system_47_suite()); srunner_add_suite(sr, auto_check_sbp_tracking_48_suite()); srunner_add_suite(sr, auto_check_sbp_tracking_49_suite()); - srunner_add_suite(sr, auto_check_sbp_vehicle_50_suite()); + srunner_add_suite(sr, auto_check_sbp_tracking_50_suite()); + srunner_add_suite(sr, auto_check_sbp_vehicle_51_suite()); srunner_set_fork_status(sr, CK_NOFORK); srunner_run_all(sr, CK_NORMAL); diff --git a/c/test/check_suites.h b/c/test/check_suites.h index 53d0ff1d5c..12c6d21aff 100644 --- a/c/test/check_suites.h +++ b/c/test/check_suites.h @@ -54,18 +54,19 @@ Suite* auto_check_sbp_settings_34_suite(void); Suite* auto_check_sbp_system_35_suite(void); Suite* auto_check_sbp_system_36_suite(void); Suite* auto_check_sbp_system_37_suite(void); -Suite* auto_check_sbp_acquisition_38_suite(void); -Suite* auto_check_sbp_bootload_39_suite(void); -Suite* auto_check_sbp_ext_events_40_suite(void); -Suite* auto_check_sbp_logging_41_suite(void); +Suite* auto_check_sbp_system_38_suite(void); +Suite* auto_check_sbp_acquisition_39_suite(void); +Suite* auto_check_sbp_bootload_40_suite(void); +Suite* auto_check_sbp_ext_events_41_suite(void); Suite* auto_check_sbp_logging_42_suite(void); -Suite* auto_check_sbp_navigation_43_suite(void); -Suite* auto_check_sbp_observation_44_suite(void); -Suite* auto_check_sbp_piksi_45_suite(void); -Suite* auto_check_sbp_system_46_suite(void); -Suite* auto_check_sbp_tracking_47_suite(void); +Suite* auto_check_sbp_logging_43_suite(void); +Suite* auto_check_sbp_navigation_44_suite(void); +Suite* auto_check_sbp_observation_45_suite(void); +Suite* auto_check_sbp_piksi_46_suite(void); +Suite* auto_check_sbp_system_47_suite(void); Suite* auto_check_sbp_tracking_48_suite(void); Suite* auto_check_sbp_tracking_49_suite(void); -Suite* auto_check_sbp_vehicle_50_suite(void); +Suite* auto_check_sbp_tracking_50_suite(void); +Suite* auto_check_sbp_vehicle_51_suite(void); #endif /* CHECK_SUITES_H */ \ No newline at end of file diff --git a/docs/sbp.pdf b/docs/sbp.pdf index d23fe364871d6e3aa5e39dca05de89bc394d52fb..4410b38006378467178f8824ef9cf8f88a6380dc 100644 GIT binary patch delta 103113 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 f>IifHKu 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 z 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 getWord32le) + _msgGroupMeta_flags <- getWord8 + _msgGroupMeta_group_msgs <- whileM (not <$> isEmpty) getWord16le + pure MsgGroupMeta {..} + + put MsgGroupMeta {..} = do + putWord16le _msgGroupMeta_wn + putWord32le _msgGroupMeta_tom + (putWord32le . fromIntegral) _msgGroupMeta_ns_residual + putWord8 _msgGroupMeta_flags + mapM_ putWord16le _msgGroupMeta_group_msgs + +$(makeSBP 'msgGroupMeta ''MsgGroupMeta) +$(makeJSON "_msgGroupMeta_" ''MsgGroupMeta) +$(makeLenses ''MsgGroupMeta) diff --git a/java/src/com/swiftnav/sbp/client/MessageTable.java b/java/src/com/swiftnav/sbp/client/MessageTable.java index 35612d6f7c..442416a4eb 100644 --- a/java/src/com/swiftnav/sbp/client/MessageTable.java +++ b/java/src/com/swiftnav/sbp/client/MessageTable.java @@ -189,6 +189,7 @@ import com.swiftnav.sbp.system.MsgCsacTelemetryLabels; import com.swiftnav.sbp.system.MsgInsUpdates; import com.swiftnav.sbp.system.MsgGnssTimeOffset; +import com.swiftnav.sbp.system.MsgGroupMeta; import com.swiftnav.sbp.tracking.MsgTrackingStateDetailedDepA; import com.swiftnav.sbp.tracking.MsgTrackingStateDetailedDep; import com.swiftnav.sbp.tracking.MsgTrackingState; @@ -553,6 +554,8 @@ static SBPMessage dispatch(SBPMessage msg) throws SBPBinaryException { return new MsgInsUpdates(msg); case MsgGnssTimeOffset.TYPE: return new MsgGnssTimeOffset(msg); + case MsgGroupMeta.TYPE: + return new MsgGroupMeta(msg); case MsgTrackingStateDetailedDepA.TYPE: return new MsgTrackingStateDetailedDepA(msg); case MsgTrackingStateDetailedDep.TYPE: diff --git a/javascript/sbp.bundle.js b/javascript/sbp.bundle.js index 51c36de10f..fc3f0d864a 100644 --- a/javascript/sbp.bundle.js +++ b/javascript/sbp.bundle.js @@ -12,4 +12,4 @@ var p=r(24),o=r(25),i=r(17);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647 * @author Feross Aboukhadijeh * @license MIT */ -function p(e,t){if(e===t)return 0;for(var r=e.length,p=t.length,o=0,i=Math.min(r,p);o=0;l--)if(c[l]!==u[l])return!1;for(l=c.length-1;l>=0;l--)if(a=c[l],!g(e[a],t[a],r,p))return!1;return!0}(e,t,r,s))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function E(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function m(e,t,r,p){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(p=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),p=(r&&r.name?" ("+r.name+").":".")+(p?" "+p:"."),e&&!o&&_(o,r,"Missing expected exception"+p);var s="string"==typeof p,n=!e&&o&&!r;if((!e&&i.isError(o)&&s&&E(o,r)||n)&&_(o,r,"Got unwanted exception"+p),e&&o&&r&&!E(o,r)||!e&&o)throw o}u.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return f(d(e.actual),128)+" "+e.operator+" "+f(d(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||_;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var p=r.stack,o=h(t),i=p.indexOf("\n"+o);if(i>=0){var s=p.indexOf("\n",i+1);p=p.substring(s+1)}this.stack=p}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,r){e!=t&&_(e,t,r,"==",u.equal)},u.notEqual=function(e,t,r){e==t&&_(e,t,r,"!=",u.notEqual)},u.deepEqual=function(e,t,r){g(e,t,!1)||_(e,t,r,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,r){g(e,t,!0)||_(e,t,r,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,r){g(e,t,!1)&&_(e,t,r,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,r,p){g(t,r,!0)&&_(t,r,p,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,r){e!==t&&_(e,t,r,"===",u.strictEqual)},u.notStrictEqual=function(e,t,r){e===t&&_(e,t,r,"!==",u.notStrictEqual)},u.throws=function(e,t,r){m(!0,e,t,r)},u.doesNotThrow=function(e,t,r){m(!1,e,t,r)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var r in e)s.call(e,r)&&t.push(r);return t}}).call(this,r(5))},function(e,t,r){(function(e,p){var o=/%[sdj%]/g;t.format=function(e){if(!S(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(p[r++]);case"%d":return Number(p[r++]);case"%j":try{return JSON.stringify(p[r++])}catch(e){return"[Circular]"}default:return e}})),a=p[r];r=3&&(p.depth=arguments[2]),arguments.length>=4&&(p.colors=arguments[3]),f(r)?p.showHidden=r:r&&t._extend(p,r),g(p.showHidden)&&(p.showHidden=!1),g(p.depth)&&(p.depth=2),g(p.colors)&&(p.colors=!1),g(p.customInspect)&&(p.customInspect=!0),p.colors&&(p.stylize=a),c(p,e,p.depth)}function a(e,t){var r=n.styles[t];return r?"["+n.colors[r][0]+"m"+e+"["+n.colors[r][1]+"m":e}function l(e,t){return e}function c(e,r,p){if(e.customInspect&&r&&v(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(p,e);return S(o)||(o=c(e,o,p)),o}var i=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(S(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(_(t))return e.stylize(""+t,"number");if(f(t))return e.stylize(""+t,"boolean");if(d(t))return e.stylize("null","null")}(e,r);if(i)return i;var s=Object.keys(r),n=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(r)),b(r)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(r);if(0===s.length){if(v(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(m(r))return e.stylize(Date.prototype.toString.call(r),"date");if(b(r))return u(r)}var l,E="",L=!1,I=["{","}"];(h(r)&&(L=!0,I=["[","]"]),v(r))&&(E=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(E=" "+RegExp.prototype.toString.call(r)),m(r)&&(E=" "+Date.prototype.toUTCString.call(r)),b(r)&&(E=" "+u(r)),0!==s.length||L&&0!=r.length?p<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),l=L?function(e,t,r,p,o){for(var i=[],s=0,n=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(l,E,I)):I[0]+E+I[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,p,o,i){var s,n,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?n=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(n=e.stylize("[Setter]","special")),U(p,o)||(s="["+o+"]"),n||(e.seen.indexOf(a.value)<0?(n=d(r)?c(e,a.value,null):c(e,a.value,r-1)).indexOf("\n")>-1&&(n=i?n.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+n.split("\n").map((function(e){return" "+e})).join("\n")):n=e.stylize("[Circular]","special")),g(s)){if(i&&o.match(/^\d+$/))return n;(s=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+n}function h(e){return Array.isArray(e)}function f(e){return"boolean"==typeof e}function d(e){return null===e}function _(e){return"number"==typeof e}function S(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return E(e)&&"[object RegExp]"===L(e)}function E(e){return"object"==typeof e&&null!==e}function m(e){return E(e)&&"[object Date]"===L(e)}function b(e){return E(e)&&("[object Error]"===L(e)||e instanceof Error)}function v(e){return"function"==typeof e}function L(e){return Object.prototype.toString.call(e)}function I(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(i)&&(i=p.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=p.pid;s[e]=function(){var p=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,p)}}else s[e]=function(){};return s[e]},t.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=f,t.isNull=d,t.isNullOrUndefined=function(e){return null==e},t.isNumber=_,t.isString=S,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=g,t.isRegExp=w,t.isObject=E,t.isDate=m,t.isError=b,t.isFunction=v,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(43);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(){var e=new Date,t=[I(e.getHours()),I(e.getMinutes()),I(e.getSeconds())].join(":");return[e.getDate(),T[e.getMonth()],t].join(" ")}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",M(),t.format.apply(t,arguments))},t.inherits=r(6),t._extend=function(e,t){if(!t||!E(t))return e;for(var r=Object.keys(t),p=r.length;p--;)e[r[p]]=t[r[p]];return e}}).call(this,r(5),r(9))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,r){var p;!function(r){o(Math.pow(36,5)),o(Math.pow(16,7)),o(Math.pow(10,9)),o(Math.pow(2,30)),o(36),o(16),o(10),o(2);function o(e,t){return this instanceof o?(this._low=0,this._high=0,this.remainder=null,void 0===t?s.call(this,e):"string"==typeof e?n.call(this,e,t):void i.call(this,e,t)):new o(e,t)}function i(e,t){return this._low=0|e,this._high=0|t,this}function s(e){return this._low=65535&e,this._high=e>>>16,this}function n(e,t){var r=parseInt(e,t||10);return this._low=65535&r,this._high=r>>>16,this}o.prototype.fromBits=i,o.prototype.fromNumber=s,o.prototype.fromString=n,o.prototype.toNumber=function(){return 65536*this._high+this._low},o.prototype.toString=function(e){return this.toNumber().toString(e||10)},o.prototype.add=function(e){var t=this._low+e._low,r=t>>>16;return r+=this._high+e._high,this._low=65535&t,this._high=65535&r,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,r,p=this._high,o=this._low,i=e._high,s=e._low;return t=(r=o*s)>>>16,t+=p*s,t&=65535,t+=o*i,this._low=65535&r,this._high=65535&t,this},o.prototype.div=function(e){if(0==e._low&&0==e._high)throw Error("division by zero");if(0==e._high&&1==e._low)return this.remainder=new o(0),this;if(e.gt(this))return this.remainder=this.clone(),this._low=0,this._high=0,this;if(this.eq(e))return this.remainder=new o(0),this._low=1,this._high=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._low=0,this._high=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=16?this._high|=1<>>16)&65535,this},o.prototype.equals=o.prototype.eq=function(e){return this._low==e._low&&this._high==e._high},o.prototype.greaterThan=o.prototype.gt=function(e){return this._high>e._high||!(this._highe._low},o.prototype.lessThan=o.prototype.lt=function(e){return this._highe._high)&&this._low16?(this._low=this._high>>e-16,this._high=0):16==e?(this._low=this._high,this._high=0):(this._low=this._low>>e|this._high<<16-e&65535,this._high>>=e),this},o.prototype.shiftLeft=o.prototype.shiftl=function(e,t){return e>16?(this._high=this._low<>16-e,this._low=this._low<>>32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.rotateRight=o.prototype.rotr=function(e){var t=this._high<<16|this._low;return t=t>>>e|t<<32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.clone=function(){return new o(this._low,this._high)},void 0===(p=function(){return o}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p;!function(r){var o={16:s(Math.pow(16,5)),10:s(Math.pow(10,5)),2:s(Math.pow(2,5))},i={16:s(16),10:s(10),2:s(2)};function s(e,t,r,p){return this instanceof s?(this.remainder=null,"string"==typeof e?l.call(this,e,t):void 0===t?a.call(this,e):void n.apply(this,arguments)):new s(e,t,r,p)}function n(e,t,r,p){return void 0===r?(this._a00=65535&e,this._a16=e>>>16,this._a32=65535&t,this._a48=t>>>16,this):(this._a00=0|e,this._a16=0|t,this._a32=0|r,this._a48=0|p,this)}function a(e){return this._a00=65535&e,this._a16=e>>>16,this._a32=0,this._a48=0,this}function l(e,t){t=t||10,this._a00=0,this._a16=0,this._a32=0,this._a48=0;for(var r=o[t]||new s(Math.pow(t,5)),p=0,i=e.length;p=0&&(r.div(t),p[o]=r.remainder.toNumber().toString(e),r.gt(t));o--);return p[o-1]=r.toNumber().toString(e),p.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,r=t>>>16,p=(r+=this._a16+e._a16)>>>16,o=(p+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&r,this._a32=65535&p,this._a48=65535&o,this},s.prototype.subtract=function(e){return this.add(e.clone().negate())},s.prototype.multiply=function(e){var t=this._a00,r=this._a16,p=this._a32,o=this._a48,i=e._a00,s=e._a16,n=e._a32,a=t*i,l=a>>>16,c=(l+=t*s)>>>16;l&=65535,c+=(l+=r*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=r*s)>>>16,c&=65535,u+=(c+=p*i)>>>16,u+=t*e._a48,u&=65535,u+=r*n,u&=65535,u+=p*s,u&=65535,u+=o*i,this._a00=65535&a,this._a16=65535&l,this._a32=65535&c,this._a48=65535&u,this},s.prototype.div=function(e){if(0==e._a16&&0==e._a32&&0==e._a48){if(0==e._a00)throw Error("division by zero");if(1==e._a00)return this.remainder=new s(0),this}if(e.gt(this))return this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0,this;if(this.eq(e))return this.remainder=new s(0),this._a00=1,this._a16=0,this._a32=0,this._a48=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=48?this._a48|=1<=32?this._a32|=1<=16?this._a16|=1<>>16),this._a16=65535&e,e=(65535&~this._a32)+(e>>>16),this._a32=65535&e,this._a48=~this._a48+(e>>>16)&65535,this},s.prototype.equals=s.prototype.eq=function(e){return this._a48==e._a48&&this._a00==e._a00&&this._a32==e._a32&&this._a16==e._a16},s.prototype.greaterThan=s.prototype.gt=function(e){return this._a48>e._a48||!(this._a48e._a32||!(this._a32e._a16||!(this._a16e._a00))},s.prototype.lessThan=s.prototype.lt=function(e){return this._a48e._a48)&&(this._a32e._a32)&&(this._a16e._a16)&&this._a00=48?(this._a00=this._a48>>e-48,this._a16=0,this._a32=0,this._a48=0):e>=32?(e-=32,this._a00=65535&(this._a32>>e|this._a48<<16-e),this._a16=this._a48>>e&65535,this._a32=0,this._a48=0):e>=16?(e-=16,this._a00=65535&(this._a16>>e|this._a32<<16-e),this._a16=65535&(this._a32>>e|this._a48<<16-e),this._a32=this._a48>>e&65535,this._a48=0):(this._a00=65535&(this._a00>>e|this._a16<<16-e),this._a16=65535&(this._a16>>e|this._a32<<16-e),this._a32=65535&(this._a32>>e|this._a48<<16-e),this._a48=this._a48>>e&65535),this},s.prototype.shiftLeft=s.prototype.shiftl=function(e,t){return(e%=64)>=48?(this._a48=this._a00<=32?(e-=32,this._a48=this._a16<>16-e,this._a32=this._a00<=16?(e-=16,this._a48=this._a32<>16-e,this._a32=65535&(this._a16<>16-e),this._a16=this._a00<>16-e,this._a32=65535&(this._a32<>16-e),this._a16=65535&(this._a16<>16-e),this._a00=this._a00<=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r<>>32-e,i=p<>>32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.rotateRight=s.prototype.rotr=function(e){if(0==(e%=64))return this;if(e>=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r>>>e|p<<32-e,i=p>>>e|r<<32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.clone=function(){return new s(this._a00,this._a16,this._a32,this._a48)},void 0===(p=function(){return s}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=(r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT",n.prototype.msg_type=47,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:i.prototype.parser}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),n.prototype.fieldSpec.push(["cp","writeFloatLE",4]),n.prototype.fieldSpec.push(["cf","writeFloatLE",4]),n.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_C",a.prototype.msg_type=31,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),a.prototype.fieldSpec.push(["cp","writeFloatLE",4]),a.prototype.fieldSpec.push(["cf","writeFloatLE",4]),a.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_B",l.prototype.msg_type=20,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["snr","writeFloatLE",4]),l.prototype.fieldSpec.push(["cp","writeFloatLE",4]),l.prototype.fieldSpec.push(["cf","writeFloatLE",4]),l.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_A",c.prototype.msg_type=21,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").uint8("prn"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["snr","writeFloatLE",4]),c.prototype.fieldSpec.push(["cp","writeFloatLE",4]),c.prototype.fieldSpec.push(["cf","writeFloatLE",4]),c.prototype.fieldSpec.push(["prn","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="AcqSvProfile",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:i.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["job_type","writeUInt8",1]),u.prototype.fieldSpec.push(["status","writeUInt8",1]),u.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),u.prototype.fieldSpec.push(["int_time","writeUInt8",1]),u.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),u.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),u.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),u.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf","writeInt32LE",4]),u.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="AcqSvProfileDep",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:s.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["job_type","writeUInt8",1]),y.prototype.fieldSpec.push(["status","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),y.prototype.fieldSpec.push(["int_time","writeUInt8",1]),y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),y.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),y.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),y.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf","writeInt32LE",4]),y.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE",h.prototype.msg_type=46,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:u.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["acq_sv_profile","array",u.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE_DEP",f.prototype.msg_type=30,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:y.prototype.parser,readUntil:"eof"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["acq_sv_profile","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={47:n,MsgAcqResult:n,31:a,MsgAcqResultDepC:a,20:l,MsgAcqResultDepB:l,21:c,MsgAcqResultDepA:c,AcqSvProfile:u,AcqSvProfileDep:y,46:h,MsgAcqSvProfile:h,30:f,MsgAcqSvProfileDep:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",i.prototype.msg_type=179,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",s.prototype.msg_type=180,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("flags").string("version",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt32LE",4]),s.prototype.fieldSpec.push(["version","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_JUMP_TO_APP",n.prototype.msg_type=177,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("jump"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["jump","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_REQ",a.prototype.msg_type=222,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little"),a.prototype.fieldSpec=[];var l=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_RESP",l.prototype.msg_type=221,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").array("dna",{length:8,type:"uint8"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["dna","array","writeUInt8",function(){return 1},8]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",c.prototype.msg_type=176,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").array("handshake",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["handshake","array","writeUInt8",function(){return 1},null]),e.exports={179:i,MsgBootloaderHandshakeReq:i,180:s,MsgBootloaderHandshakeResp:s,177:n,MsgBootloaderJumpToApp:n,222:a,MsgNapDeviceDnaReq:a,221:l,MsgNapDeviceDnaResp:l,176:c,MsgBootloaderHandshakeDepA:c}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_EXT_EVENT",i.prototype.msg_type=257,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags").uint8("pin"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]),i.prototype.fieldSpec.push(["pin","writeUInt8",1]),e.exports={257:i,MsgExtEvent:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_REQ",i.prototype.msg_type=168,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").uint8("chunk_size").string("filename",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),i.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),i.prototype.fieldSpec.push(["chunk_size","writeUInt8",1]),i.prototype.fieldSpec.push(["filename","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_RESP",s.prototype.msg_type=163,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),s.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_REQ",n.prototype.msg_type=169,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("dirname",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),n.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),n.prototype.fieldSpec.push(["dirname","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_RESP",a.prototype.msg_type=170,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),a.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_REMOVE",l.prototype.msg_type=172,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("filename",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["filename","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_REQ",c.prototype.msg_type=173,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("filename",{greedy:!0}).array("data",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),c.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),c.prototype.fieldSpec.push(["filename","string",null]),c.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_RESP",u.prototype.msg_type=171,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sequence"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_REQ",y.prototype.msg_type=4097,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sequence"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_RESP",h.prototype.msg_type=4098,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("window_size").uint32("batch_size").uint32("fileio_version"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),h.prototype.fieldSpec.push(["window_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["batch_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["fileio_version","writeUInt32LE",4]),e.exports={168:i,MsgFileioReadReq:i,163:s,MsgFileioReadResp:s,169:n,MsgFileioReadDirReq:n,170:a,MsgFileioReadDirResp:a,172:l,MsgFileioRemove:l,173:c,MsgFileioWriteReq:c,171:u,MsgFileioWriteResp:u,4097:y,MsgFileioConfigReq:y,4098:h,MsgFileioConfigResp:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_PROGRAM",i.prototype.msg_type=230,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len").array("data",{type:"uint8",length:"addr_len"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["target","writeUInt8",1]),i.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),i.prototype.fieldSpec.push(["addr_len","writeUInt8",1]),i.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},"addr_len"]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_DONE",s.prototype.msg_type=224,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("response"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["response","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_REQ",n.prototype.msg_type=231,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["target","writeUInt8",1]),n.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),n.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_RESP",a.prototype.msg_type=225,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["target","writeUInt8",1]),a.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),a.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_ERASE",l.prototype.msg_type=226,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("target").uint32("sector_num"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["target","writeUInt8",1]),l.prototype.fieldSpec.push(["sector_num","writeUInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_LOCK_SECTOR",c.prototype.msg_type=227,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sector"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_UNLOCK_SECTOR",u.prototype.msg_type=228,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sector"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_REQ",y.prototype.msg_type=232,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_RESP",h.prototype.msg_type=229,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("stm_id",{length:12,type:"uint8"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["stm_id","array","writeUInt8",function(){return 1},12]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_M25_FLASH_WRITE_STATUS",f.prototype.msg_type=243,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("status",{length:1,type:"uint8"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","array","writeUInt8",function(){return 1},1]),e.exports={230:i,MsgFlashProgram:i,224:s,MsgFlashDone:s,231:n,MsgFlashReadReq:n,225:a,MsgFlashReadResp:a,226:l,MsgFlashErase:l,227:c,MsgStmFlashLockSector:c,228:u,MsgStmFlashUnlockSector:u,232:y,MsgStmUniqueIdReq:y,229:h,MsgStmUniqueIdResp:h,243:f,MsgM25FlashWriteStatus:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_IMU_RAW",i.prototype.msg_type=2304,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("acc_x").int16("acc_y").int16("acc_z").int16("gyr_x").int16("gyr_y").int16("gyr_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["acc_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_z","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_z","writeInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_IMU_AUX",s.prototype.msg_type=2305,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("imu_type").int16("temp").uint8("imu_conf"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["imu_type","writeUInt8",1]),s.prototype.fieldSpec.push(["temp","writeInt16LE",2]),s.prototype.fieldSpec.push(["imu_conf","writeUInt8",1]),e.exports={2304:i,MsgImuRaw:i,2305:s,MsgImuAux:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_CPU_STATE",i.prototype.msg_type=32512,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").string("tname",{length:15}).string("cmdline",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["index","writeUInt8",1]),i.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),i.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),i.prototype.fieldSpec.push(["tname","string",15]),i.prototype.fieldSpec.push(["cmdline","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_MEM_STATE",s.prototype.msg_type=32513,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").string("tname",{length:15}).string("cmdline",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["index","writeUInt8",1]),s.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),s.prototype.fieldSpec.push(["pmem","writeUInt8",1]),s.prototype.fieldSpec.push(["tname","string",15]),s.prototype.fieldSpec.push(["cmdline","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SYS_STATE",n.prototype.msg_type=32514,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),n.prototype.fieldSpec.push(["pmem","writeUInt8",1]),n.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),n.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",a.prototype.msg_type=32515,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("socket_count").uint16("socket_types").uint16("socket_states").string("cmdline",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["index","writeUInt8",1]),a.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_count","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),a.prototype.fieldSpec.push(["cmdline","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",l.prototype.msg_type=32516,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("recv_queued").uint16("send_queued").uint16("socket_types").uint16("socket_states").string("address_of_largest",{length:64}).string("cmdline",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["index","writeUInt8",1]),l.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),l.prototype.fieldSpec.push(["recv_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["send_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),l.prototype.fieldSpec.push(["address_of_largest","string",64]),l.prototype.fieldSpec.push(["cmdline","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SOCKET_USAGE",c.prototype.msg_type=32517,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("avg_queue_depth").uint32("max_queue_depth").array("socket_state_counts",{length:16,type:"uint16le"}).array("socket_type_counts",{length:16,type:"uint16le"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["avg_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["max_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["socket_state_counts","array","writeUInt16LE",function(){return 2},16]),c.prototype.fieldSpec.push(["socket_type_counts","array","writeUInt16LE",function(){return 2},16]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_COUNT",u.prototype.msg_type=32518,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("fd_count").string("cmdline",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt8",1]),u.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),u.prototype.fieldSpec.push(["fd_count","writeUInt16LE",2]),u.prototype.fieldSpec.push(["cmdline","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_SUMMARY",y.prototype.msg_type=32519,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sys_fd_count").string("most_opened",{greedy:!0}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sys_fd_count","writeUInt32LE",4]),y.prototype.fieldSpec.push(["most_opened","string",null]),e.exports={32512:i,MsgLinuxCpuState:i,32513:s,MsgLinuxMemState:s,32514:n,MsgLinuxSysState:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LOG",i.prototype.msg_type=1025,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("level").string("text",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["level","writeUInt8",1]),i.prototype.fieldSpec.push(["text","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").string("fwd_payload",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_PRINT_DEP",n.prototype.msg_type=16,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").string("text",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["text","string",null]),e.exports={1025:i,MsgLog:i,1026:s,MsgFwd:s,16:n,MsgPrintDep:n}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_MAG_RAW",i.prototype.msg_type=2306,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("mag_x").int16("mag_y").int16("mag_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["mag_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_z","writeInt16LE",2]),e.exports={2306:i,MsgMagRaw:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME",i.prototype.msg_type=258,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_UTC_TIME",s.prototype.msg_type=259,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["year","writeUInt16LE",2]),s.prototype.fieldSpec.push(["month","writeUInt8",1]),s.prototype.fieldSpec.push(["day","writeUInt8",1]),s.prototype.fieldSpec.push(["hours","writeUInt8",1]),s.prototype.fieldSpec.push(["minutes","writeUInt8",1]),s.prototype.fieldSpec.push(["seconds","writeUInt8",1]),s.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_DOPS",n.prototype.msg_type=520,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF",a.prototype.msg_type=521,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeDoubleLE",8]),a.prototype.fieldSpec.push(["y","writeDoubleLE",8]),a.prototype.fieldSpec.push(["z","writeDoubleLE",8]),a.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),a.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV",l.prototype.msg_type=532,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["x","writeDoubleLE",8]),l.prototype.fieldSpec.push(["y","writeDoubleLE",8]),l.prototype.fieldSpec.push(["z","writeDoubleLE",8]),l.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH",c.prototype.msg_type=522,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),c.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),c.prototype.fieldSpec.push(["height","writeDoubleLE",8]),c.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV",u.prototype.msg_type=529,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),u.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),u.prototype.fieldSpec.push(["height","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF",y.prototype.msg_type=523,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["x","writeInt32LE",4]),y.prototype.fieldSpec.push(["y","writeInt32LE",4]),y.prototype.fieldSpec.push(["z","writeInt32LE",4]),y.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED",h.prototype.msg_type=524,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),h.prototype.fieldSpec.push(["n","writeInt32LE",4]),h.prototype.fieldSpec.push(["e","writeInt32LE",4]),h.prototype.fieldSpec.push(["d","writeInt32LE",4]),h.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF",f.prototype.msg_type=525,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),f.prototype.fieldSpec.push(["x","writeInt32LE",4]),f.prototype.fieldSpec.push(["y","writeInt32LE",4]),f.prototype.fieldSpec.push(["z","writeInt32LE",4]),f.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),f.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV",d.prototype.msg_type=533,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["x","writeInt32LE",4]),d.prototype.fieldSpec.push(["y","writeInt32LE",4]),d.prototype.fieldSpec.push(["z","writeInt32LE",4]),d.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED",_.prototype.msg_type=526,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["n","writeInt32LE",4]),_.prototype.fieldSpec.push(["e","writeInt32LE",4]),_.prototype.fieldSpec.push(["d","writeInt32LE",4]),_.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV",S.prototype.msg_type=530,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),S.prototype.fieldSpec.push(["n","writeInt32LE",4]),S.prototype.fieldSpec.push(["e","writeInt32LE",4]),S.prototype.fieldSpec.push(["d","writeInt32LE",4]),S.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);var g=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_GNSS",g.prototype.msg_type=553,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["x","writeDoubleLE",8]),g.prototype.fieldSpec.push(["y","writeDoubleLE",8]),g.prototype.fieldSpec.push(["z","writeDoubleLE",8]),g.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",w.prototype.msg_type=564,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["x","writeDoubleLE",8]),w.prototype.fieldSpec.push(["y","writeDoubleLE",8]),w.prototype.fieldSpec.push(["z","writeDoubleLE",8]),w.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_GNSS",E.prototype.msg_type=554,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),E.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),E.prototype.fieldSpec.push(["height","writeDoubleLE",8]),E.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),E.prototype.fieldSpec.push(["flags","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV_GNSS",m.prototype.msg_type=561,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),m.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),m.prototype.fieldSpec.push(["height","writeDoubleLE",8]),m.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),m.prototype.fieldSpec.push(["flags","writeUInt8",1]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_GNSS",b.prototype.msg_type=557,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["x","writeInt32LE",4]),b.prototype.fieldSpec.push(["y","writeInt32LE",4]),b.prototype.fieldSpec.push(["z","writeInt32LE",4]),b.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",v.prototype.msg_type=565,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["x","writeInt32LE",4]),v.prototype.fieldSpec.push(["y","writeInt32LE",4]),v.prototype.fieldSpec.push(["z","writeInt32LE",4]),v.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_GNSS",L.prototype.msg_type=558,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["n","writeInt32LE",4]),L.prototype.fieldSpec.push(["e","writeInt32LE",4]),L.prototype.fieldSpec.push(["d","writeInt32LE",4]),L.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV_GNSS",I.prototype.msg_type=562,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["n","writeInt32LE",4]),I.prototype.fieldSpec.push(["e","writeInt32LE",4]),I.prototype.fieldSpec.push(["d","writeInt32LE",4]),I.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_VEL_BODY",T.prototype.msg_type=531,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["x","writeInt32LE",4]),T.prototype.fieldSpec.push(["y","writeInt32LE",4]),T.prototype.fieldSpec.push(["z","writeInt32LE",4]),T.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_AGE_CORRECTIONS",M.prototype.msg_type=528,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["age","writeUInt16LE",2]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME_DEP_A",U.prototype.msg_type=256,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_DOPS_DEP_A",D.prototype.msg_type=518,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_DEP_A",O.prototype.msg_type=512,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["x","writeDoubleLE",8]),O.prototype.fieldSpec.push(["y","writeDoubleLE",8]),O.prototype.fieldSpec.push(["z","writeDoubleLE",8]),O.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),O.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_DEP_A",G.prototype.msg_type=513,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),G.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),G.prototype.fieldSpec.push(["height","writeDoubleLE",8]),G.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),G.prototype.fieldSpec.push(["flags","writeUInt8",1]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",A.prototype.msg_type=514,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["x","writeInt32LE",4]),A.prototype.fieldSpec.push(["y","writeInt32LE",4]),A.prototype.fieldSpec.push(["z","writeInt32LE",4]),A.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),A.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),A.prototype.fieldSpec.push(["flags","writeUInt8",1]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED_DEP_A",R.prototype.msg_type=515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["n","writeInt32LE",4]),R.prototype.fieldSpec.push(["e","writeInt32LE",4]),R.prototype.fieldSpec.push(["d","writeInt32LE",4]),R.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),R.prototype.fieldSpec.push(["flags","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_DEP_A",C.prototype.msg_type=516,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["x","writeInt32LE",4]),C.prototype.fieldSpec.push(["y","writeInt32LE",4]),C.prototype.fieldSpec.push(["z","writeInt32LE",4]),C.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),C.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_DEP_A",P.prototype.msg_type=517,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["n","writeInt32LE",4]),P.prototype.fieldSpec.push(["e","writeInt32LE",4]),P.prototype.fieldSpec.push(["d","writeInt32LE",4]),P.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",N.prototype.msg_type=519,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_PROTECTION_LEVEL",j.prototype.msg_type=534,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),j.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),j.prototype.fieldSpec.push(["height","writeDoubleLE",8]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,259:s,MsgUtcTime:s,520:n,MsgDops:n,521:a,MsgPosEcef:a,532:l,MsgPosEcefCov:l,522:c,MsgPosLlh:c,529:u,MsgPosLlhCov:u,523:y,MsgBaselineEcef:y,524:h,MsgBaselineNed:h,525:f,MsgVelEcef:f,533:d,MsgVelEcefCov:d,526:_,MsgVelNed:_,530:S,MsgVelNedCov:S,553:g,MsgPosEcefGnss:g,564:w,MsgPosEcefCovGnss:w,554:E,MsgPosLlhGnss:E,561:m,MsgPosLlhCovGnss:m,557:b,MsgVelEcefGnss:b,565:v,MsgVelEcefCovGnss:v,558:L,MsgVelNedGnss:L,562:I,MsgVelNedCovGnss:I,531:T,MsgVelBody:T,528:M,MsgAgeCorrections:M,256:U,MsgGpsTimeDepA:U,518:D,MsgDopsDepA:D,512:O,MsgPosEcefDepA:O,513:G,MsgPosLlhDepA:G,514:A,MsgBaselineEcefDepA:A,515:R,MsgBaselineNedDepA:R,516:C,MsgVelEcefDepA:C,517:P,MsgVelNedDepA:P,519:N,MsgBaselineHeadingDepA:N,534:j,MsgProtectionLevel:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_NDB_EVENT",s.prototype.msg_type=1024,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("recv_time").uint8("event").uint8("object_type").uint8("result").uint8("data_source").nest("object_sid",{type:i.prototype.parser}).nest("src_sid",{type:i.prototype.parser}).uint16("original_sender"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["event","writeUInt8",1]),s.prototype.fieldSpec.push(["object_type","writeUInt8",1]),s.prototype.fieldSpec.push(["result","writeUInt8",1]),s.prototype.fieldSpec.push(["data_source","writeUInt8",1]),s.prototype.fieldSpec.push(["object_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["src_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["original_sender","writeUInt16LE",2]),e.exports={1024:s,MsgNdbEvent:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec),c=r(0).GPSTimeDep,u=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(p.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:n.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="Doppler",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("i").uint8("f"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["i","writeInt16LE",2]),y.prototype.fieldSpec.push(["f","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="PackedObsContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),h.prototype.fieldSpec.push(["D",y.prototype.fieldSpec]),h.prototype.fieldSpec.push(["cn0","writeUInt8",1]),h.prototype.fieldSpec.push(["lock","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var f=function(e,t){return p.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="PackedOsrContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}).uint16("iono_std").uint16("tropo_std").uint16("range_std"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["P","writeUInt32LE",4]),f.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["iono_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["tropo_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["range_std","writeUInt16LE",2]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_OBS",d.prototype.msg_type=74,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:h.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),d.prototype.fieldSpec.push(["obs","array",h.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_LLH",_.prototype.msg_type=68,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").doublele("lat").doublele("lon").doublele("height"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),_.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),_.prototype.fieldSpec.push(["height","writeDoubleLE",8]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_ECEF",S.prototype.msg_type=72,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").doublele("x").doublele("y").doublele("z"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["x","writeDoubleLE",8]),S.prototype.fieldSpec.push(["y","writeDoubleLE",8]),S.prototype.fieldSpec.push(["z","writeDoubleLE",8]);var g=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),g.prototype.fieldSpec.push(["ura","writeFloatLE",4]),g.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),g.prototype.fieldSpec.push(["valid","writeUInt8",1]),g.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),w.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),w.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),w.prototype.fieldSpec.push(["valid","writeUInt8",1]),w.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),E.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),E.prototype.fieldSpec.push(["valid","writeUInt8",1]),E.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_E",m.prototype.msg_type=129,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),m.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),m.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["w","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),m.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_F",b.prototype.msg_type=134,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),b.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),b.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),b.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["w","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),b.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS",v.prototype.msg_type=138,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),v.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),v.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["w","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af0","writeFloatLE",4]),v.prototype.fieldSpec.push(["af1","writeFloatLE",4]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt8",1]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_QZSS",L.prototype.msg_type=142,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),L.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),L.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["w","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["af0","writeFloatLE",4]),L.prototype.fieldSpec.push(["af1","writeFloatLE",4]),L.prototype.fieldSpec.push(["af2","writeFloatLE",4]),L.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_BDS",I.prototype.msg_type=137,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd1").floatle("tgd2").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),I.prototype.fieldSpec.push(["tgd2","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),I.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),I.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["w","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",T.prototype.msg_type=149,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),T.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),T.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),T.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["w","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL",M.prototype.msg_type=141,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),M.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),M.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),M.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),M.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["w","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af2","writeFloatLE",4]),M.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),M.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),M.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),M.prototype.fieldSpec.push(["source","writeUInt8",1]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",U.prototype.msg_type=130,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),U.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_A",D.prototype.msg_type=131,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),D.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),D.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),D.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_B",O.prototype.msg_type=132,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),O.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),O.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS",G.prototype.msg_type=140,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"floatle"}).array("acc",{length:3,type:"floatle"}).floatle("a_gf0").floatle("a_gf1"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),G.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),G.prototype.fieldSpec.push(["vel","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["a_gf0","writeFloatLE",4]),G.prototype.fieldSpec.push(["a_gf1","writeFloatLE",4]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_B",A.prototype.msg_type=133,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),A.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),A.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),A.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",R.prototype.msg_type=135,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),R.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),R.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["fcn","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",C.prototype.msg_type=136,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn").uint8("iod"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),C.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),C.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["fcn","writeUInt8",1]),C.prototype.fieldSpec.push(["iod","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO",P.prototype.msg_type=139,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("gamma").floatle("tau").floatle("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"floatle"}).uint8("fcn").uint8("iod"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),P.prototype.fieldSpec.push(["gamma","writeFloatLE",4]),P.prototype.fieldSpec.push(["tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["d_tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),P.prototype.fieldSpec.push(["fcn","writeUInt8",1]),P.prototype.fieldSpec.push(["iod","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_D",N.prototype.msg_type=128,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),N.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),N.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["w","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["valid","writeUInt8",1]),N.prototype.fieldSpec.push(["healthy","writeUInt8",1]),N.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_A",j.prototype.msg_type=26,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),j.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),j.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["w","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["valid","writeUInt8",1]),j.prototype.fieldSpec.push(["healthy","writeUInt8",1]),j.prototype.fieldSpec.push(["prn","writeUInt8",1]);var x=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_B",x.prototype.msg_type=70,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn").uint8("iode"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),x.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),x.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["w","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["valid","writeUInt8",1]),x.prototype.fieldSpec.push(["healthy","writeUInt8",1]),x.prototype.fieldSpec.push(["prn","writeUInt8",1]),x.prototype.fieldSpec.push(["iode","writeUInt8",1]);var F=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_C",F.prototype.msg_type=71,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),F.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),F.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["w","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["valid","writeUInt8",1]),F.prototype.fieldSpec.push(["healthy","writeUInt8",1]),F.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var k=function(e,t){return p.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(p.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:c.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",c.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var B=function(e,t){return p.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(p.prototype)).messageType="CarrierPhaseDepA",B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").int32("i").uint8("f"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["i","writeInt32LE",4]),B.prototype.fieldSpec.push(["f","writeUInt8",1]);var q=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepA",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").uint8("prn"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["P","writeUInt32LE",4]),q.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),q.prototype.fieldSpec.push(["cn0","writeUInt8",1]),q.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),q.prototype.fieldSpec.push(["prn","writeUInt8",1]);var z=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepB",z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["P","writeUInt32LE",4]),z.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),z.prototype.fieldSpec.push(["cn0","writeUInt8",1]),z.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var H=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var V=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_A",V.prototype.msg_type=69,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);var W=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_B",W.prototype.msg_type=67,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Y=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_C",Y.prototype.msg_type=73,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Q=function(e,t){return p.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(p.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).doublele("a0").doublele("a1").doublele("a2").doublele("a3").doublele("b0").doublele("b1").doublele("b2").doublele("b3"),Q.prototype.fieldSpec=[],Q.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),Q.prototype.fieldSpec.push(["a0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a3","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b3","writeDoubleLE",8]);var K=function(e,t){return p.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(p.prototype)).messageType="MSG_SV_CONFIGURATION_GPS_DEP",K.prototype.msg_type=145,K.prototype.constructor=K,K.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);var X=function(e,t){return p.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(p.prototype)).messageType="GnssCapb",X.prototype.constructor=X,X.prototype.parser=(new o).endianess("little").uint64("gps_active").uint64("gps_l2c").uint64("gps_l5").uint32("glo_active").uint32("glo_l2of").uint32("glo_l3").uint64("sbas_active").uint64("sbas_l5").uint64("bds_active").uint64("bds_d2nav").uint64("bds_b2").uint64("bds_b2a").uint32("qzss_active").uint64("gal_active").uint64("gal_e5"),X.prototype.fieldSpec=[],X.prototype.fieldSpec.push(["gps_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l2c","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["glo_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l2of","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l3","writeUInt32LE",4]),X.prototype.fieldSpec.push(["sbas_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["sbas_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_d2nav","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2a","writeUInt64LE",8]),X.prototype.fieldSpec.push(["qzss_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["gal_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gal_e5","writeUInt64LE",8]);var J=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_CAPB",J.prototype.msg_type=150,J.prototype.constructor=J,J.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);var $=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",$.prototype.msg_type=146,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).uint8("prn").uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["prn","writeUInt8",1]),$.prototype.fieldSpec.push(["valid","writeUInt8",1]),$.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var Z=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",Z.prototype.msg_type=147,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),Z.prototype.fieldSpec=[],Z.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["valid","writeUInt8",1]),Z.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var ee=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY",ee.prototype.msg_type=148,ee.prototype.constructor=ee,ee.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["valid","writeUInt8",1]),ee.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var te=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),te.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),te.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),te.prototype.fieldSpec.push(["valid","writeUInt8",1]),te.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var re=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContentDep",re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),re.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),re.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),re.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),re.prototype.fieldSpec.push(["valid","writeUInt8",1]),re.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var pe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS_DEP",pe.prototype.msg_type=112,pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var oe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS",oe.prototype.msg_type=114,oe.prototype.constructor=oe,oe.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),oe.prototype.fieldSpec=[],oe.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),oe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var ie=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO_DEP",ie.prototype.msg_type=113,ie.prototype.constructor=ie,ie.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),ie.prototype.fieldSpec=[],ie.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),ie.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["i","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var se=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO",se.prototype.msg_type=115,se.prototype.constructor=se,se.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),se.prototype.fieldSpec=[],se.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),se.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["i","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),se.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),se.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var ne=function(e,t){return p.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(p.prototype)).messageType="MSG_GLO_BIASES",ne.prototype.msg_type=117,ne.prototype.constructor=ne,ne.prototype.parser=(new o).endianess("little").uint8("mask").int16("l1ca_bias").int16("l1p_bias").int16("l2ca_bias").int16("l2p_bias"),ne.prototype.fieldSpec=[],ne.prototype.fieldSpec.push(["mask","writeUInt8",1]),ne.prototype.fieldSpec.push(["l1ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l1p_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2p_bias","writeInt16LE",2]);var ae=function(e,t){return p.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(p.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);var le=function(e,t){return p.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(p.prototype)).messageType="MSG_SV_AZ_EL",le.prototype.msg_type=151,le.prototype.constructor=le,le.prototype.parser=(new o).endianess("little").array("azel",{type:ae.prototype.parser,readUntil:"eof"}),le.prototype.fieldSpec=[],le.prototype.fieldSpec.push(["azel","array",ae.prototype.fieldSpec,function(){return this.fields.array.length},null]);var ce=function(e,t){return p.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(p.prototype)).messageType="MSG_OSR",ce.prototype.msg_type=1600,ce.prototype.constructor=ce,ce.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:f.prototype.parser,readUntil:"eof"}),ce.prototype.fieldSpec=[],ce.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),ce.prototype.fieldSpec.push(["obs","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={ObservationHeader:u,Doppler:y,PackedObsContent:h,PackedOsrContent:f,74:d,MsgObs:d,68:_,MsgBasePosLlh:_,72:S,MsgBasePosEcef:S,EphemerisCommonContent:g,EphemerisCommonContentDepB:w,EphemerisCommonContentDepA:E,129:m,MsgEphemerisGpsDepE:m,134:b,MsgEphemerisGpsDepF:b,138:v,MsgEphemerisGps:v,142:L,MsgEphemerisQzss:L,137:I,MsgEphemerisBds:I,149:T,MsgEphemerisGalDepA:T,141:M,MsgEphemerisGal:M,130:U,MsgEphemerisSbasDepA:U,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:R,MsgEphemerisGloDepC:R,136:C,MsgEphemerisGloDepD:C,139:P,MsgEphemerisGlo:P,128:N,MsgEphemerisDepD:N,26:j,MsgEphemerisDepA:j,70:x,MsgEphemerisDepB:x,71:F,MsgEphemerisDepC:F,ObservationHeaderDep:k,CarrierPhaseDepA:B,PackedObsContentDepA:q,PackedObsContentDepB:z,PackedObsContentDepC:H,69:V,MsgObsDepA:V,67:W,MsgObsDepB:W,73:Y,MsgObsDepC:Y,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:$,MsgGroupDelayDepA:$,147:Z,MsgGroupDelayDepB:Z,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:re,112:pe,MsgAlmanacGpsDep:pe,114:oe,MsgAlmanacGps:oe,113:ie,MsgAlmanacGloDep:ie,115:se,MsgAlmanacGlo:se,117:ne,MsgGloBiases:ne,SvAzEl:ae,151:le,MsgSvAzEl:le,1600:ce,MsgOsr:ce}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=(r(0).CarrierPhase,n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),l=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];var c=function(e,t){return p.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];var u=function(e,t){return p.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_RESET",u.prototype.msg_type=182,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_CW_RESULTS",h.prototype.msg_type=192,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];var f=function(e,t){return p.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_CW_START",f.prototype.msg_type=193,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];var d=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_RESET_FILTERS",d.prototype.msg_type=34,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint8("filter"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["filter","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];var S=function(e,t){return p.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_THREAD_STATE",S.prototype.msg_type=23,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").string("name",{length:20}).uint16("cpu").uint32("stack_free"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["name","string",20]),S.prototype.fieldSpec.push(["cpu","writeUInt16LE",2]),S.prototype.fieldSpec.push(["stack_free","writeUInt32LE",4]);var g=function(e,t){return p.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="UARTChannel",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").floatle("tx_throughput").floatle("rx_throughput").uint16("crc_error_count").uint16("io_error_count").uint8("tx_buffer_level").uint8("rx_buffer_level"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["rx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["crc_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["io_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tx_buffer_level","writeUInt8",1]),g.prototype.fieldSpec.push(["rx_buffer_level","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="Period",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").int32("avg").int32("pmin").int32("pmax").int32("current"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["avg","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmin","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmax","writeInt32LE",4]),w.prototype.fieldSpec.push(["current","writeInt32LE",4]);var E=function(e,t){return p.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="Latency",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").int32("avg").int32("lmin").int32("lmax").int32("current"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["avg","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmin","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmax","writeInt32LE",4]),E.prototype.fieldSpec.push(["current","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE",m.prototype.msg_type=29,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}).nest("obs_period",{type:w.prototype.parser}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["obs_period",w.prototype.fieldSpec]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE_DEPA",b.prototype.msg_type=24,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_IAR_STATE",v.prototype.msg_type=25,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("num_hyps"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE",L.prototype.msg_type=43,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE_DEP",I.prototype.msg_type=27,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["mask","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_DEVICE_MONITOR",T.prototype.msg_type=181,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),T.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_REQ",M.prototype.msg_type=184,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["command","string",null]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_RESP",U.prototype.msg_type=185,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["code","writeInt32LE",4]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_OUTPUT",D.prototype.msg_type=188,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("sequence").string("line",{greedy:!0}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),D.prototype.fieldSpec.push(["line","string",null]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_REQ",O.prototype.msg_type=186,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little"),O.prototype.fieldSpec=[];var G=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_RESP",G.prototype.msg_type=187,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").array("ipv4_address",{length:4,type:"uint8"}).uint8("ipv4_mask_size").array("ipv6_address",{length:16,type:"uint8"}).uint8("ipv6_mask_size").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}).uint32("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["ipv4_address","array","writeUInt8",function(){return 1},4]),G.prototype.fieldSpec.push(["ipv4_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["ipv6_address","array","writeUInt8",function(){return 1},16]),G.prototype.fieldSpec.push(["ipv6_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["interface_name","string",16]),G.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var A=function(e,t){return p.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="NetworkUsage",A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint64("duration").uint64("total_bytes").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["duration","writeUInt64LE",8]),A.prototype.fieldSpec.push(["total_bytes","writeUInt64LE",8]),A.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["interface_name","string",16]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",R.prototype.msg_type=189,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_CELL_MODEM_STATUS",C.prototype.msg_type=190,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),C.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),C.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN_DEP",P.prototype.msg_type=80,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:a.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),P.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),P.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN",N.prototype.msg_type=81,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:n.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),N.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_FRONT_END_GAIN",j.prototype.msg_type=191,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").array("rf_gain",{length:8,type:"int8"}).array("if_gain",{length:8,type:"int8"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["rf_gain","array","writeInt8",function(){return 1},8]),j.prototype.fieldSpec.push(["if_gain","array","writeInt8",function(){return 1},8]),e.exports={105:l,MsgAlmanac:l,104:c,MsgSetTime:c,182:u,MsgReset:u,178:y,MsgResetDep:y,192:h,MsgCwResults:h,193:f,MsgCwStart:f,34:d,MsgResetFilters:d,35:_,MsgInitBaseDep:_,23:S,MsgThreadState:S,UARTChannel:g,Period:w,Latency:E,29:m,MsgUartState:m,24:b,MsgUartStateDepa:b,25:v,MsgIarState:v,43:L,MsgMaskSatellite:L,27:I,MsgMaskSatelliteDep:I,181:T,MsgDeviceMonitor:T,184:M,MsgCommandReq:M,185:U,MsgCommandResp:U,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:R,MsgNetworkBandwidthUsage:R,190:C,MsgCellModemStatus:C,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_SBAS_RAW",s.prototype.msg_type=30583,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint32("tow").uint8("message_type").array("data",{length:27,type:"uint8"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["message_type","writeUInt8",1]),s.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},27]),e.exports={30583:s,MsgSbasRaw:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE",s.prototype.msg_type=160,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["setting","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE_RESP",n.prototype.msg_type=175,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["status","writeUInt8",1]),n.prototype.fieldSpec.push(["setting","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_REQ",a.prototype.msg_type=164,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["setting","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_RESP",l.prototype.msg_type=165,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["setting","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",c.prototype.msg_type=162,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("index"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["index","writeUInt16LE",2]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",u.prototype.msg_type=167,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("index").string("setting",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt16LE",2]),u.prototype.fieldSpec.push(["setting","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",y.prototype.msg_type=166,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER",h.prototype.msg_type=174,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["setting","string",null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER_RESP",f.prototype.msg_type=431,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","writeUInt8",1]),f.prototype.fieldSpec.push(["setting","string",null]),e.exports={161:i,MsgSettingsSave:i,160:s,MsgSettingsWrite:s,175:n,MsgSettingsWriteResp:n,164:a,MsgSettingsReadReq:a,165:l,MsgSettingsReadResp:l,162:c,MsgSettingsReadByIndexReq:c,167:u,MsgSettingsReadByIndexResp:u,166:y,MsgSettingsReadByIndexDone:y,174:h,MsgSettingsRegister:h,431:f,MsgSettingsRegisterResp:f}},function(e,t,r){var p=r(2),o=r(13).Parser,i=function(e){return p.call(this,e),this.messageType="SBPSignal",this.fields=this.parser.parse(e.payload),this};(i.prototype=Object.create(p.prototype)).constructor=i,i.prototype.parser=(new o).endianess("little").uint16("sat").uint8("band").uint8("constellation"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sat","writeUInt16LE",2]),i.prototype.fieldSpec.push(["band","writeUInt8",1]),i.prototype.fieldSpec.push(["constellation","writeUInt8",1]),e.exports={SBPSignal:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec),n=(r(0).GPSTimeDep,r(0).SvId),a=function(e,t){return p.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="CodeBiasesContent",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("code").int16("value"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["code","writeUInt8",1]),a.prototype.fieldSpec.push(["value","writeInt16LE",2]);var l=function(e,t){return p.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="PhaseBiasesContent",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("code").uint8("integer_indicator").uint8("widelane_integer_indicator").uint8("discontinuity_counter").int32("bias"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["code","writeUInt8",1]),l.prototype.fieldSpec.push(["integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["widelane_integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["discontinuity_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["bias","writeInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),c.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),c.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),c.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),u.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),u.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),u.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),u.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="STECSatElement",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).uint8("stec_quality_indicator").array("stec_coeff",{length:4,type:"int16le"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["stec_quality_indicator","writeUInt8",1]),y.prototype.fieldSpec.push(["stec_coeff","array","writeInt16LE",function(){return 2},4]);var h=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrectionNoStd",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),h.prototype.fieldSpec.push(["wet","writeInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrection",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet").uint8("stddev"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),f.prototype.fieldSpec.push(["wet","writeInt8",1]),f.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="STECResidualNoStd",d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),d.prototype.fieldSpec.push(["residual","writeInt16LE",2]);var _=function(e,t){return p.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="STECResidual",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual").uint8("stddev"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),_.prototype.fieldSpec.push(["residual","writeInt16LE",2]),_.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="GridElementNoStd",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="GridElementNoStd",S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["index","writeUInt16LE",2]),S.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),S.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);var g=function(e,t){return p.call(this,e),this.messageType="GridElement",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="GridElement",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["index","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),g.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);var w=function(e,t){return p.call(this,e),this.messageType="GridDefinitionHeader",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="GridDefinitionHeader",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("region_size_inverse").uint16("area_width").uint16("lat_nw_corner_enc").uint16("lon_nw_corner_enc").uint8("num_msgs").uint8("seq_num"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),w.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),w.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),w.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),w.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),w.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",E.prototype.msg_type=1501,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint32("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),E.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),E.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),E.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),E.prototype.fieldSpec.push(["radial","writeInt32LE",4]),E.prototype.fieldSpec.push(["along","writeInt32LE",4]),E.prototype.fieldSpec.push(["cross","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),E.prototype.fieldSpec.push(["c0","writeInt32LE",4]),E.prototype.fieldSpec.push(["c1","writeInt32LE",4]),E.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",m.prototype.msg_type=1500,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),m.prototype.fieldSpec.push(["iod","writeUInt8",1]),m.prototype.fieldSpec.push(["radial","writeInt32LE",4]),m.prototype.fieldSpec.push(["along","writeInt32LE",4]),m.prototype.fieldSpec.push(["cross","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),m.prototype.fieldSpec.push(["c0","writeInt32LE",4]),m.prototype.fieldSpec.push(["c1","writeInt32LE",4]),m.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_SSR_CODE_BIASES",b.prototype.msg_type=1505,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").array("biases",{type:a.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),b.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),b.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),b.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),b.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_SSR_PHASE_BIASES",v.prototype.msg_type=1510,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("dispersive_bias").uint8("mw_consistency").uint16("yaw").int8("yaw_rate").array("biases",{type:l.prototype.parser,readUntil:"eof"}),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),v.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),v.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),v.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),v.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),v.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),v.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),v.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_SSR_STEC_CORRECTION",L.prototype.msg_type=1515,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),L.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD",I.prototype.msg_type=1520,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:S.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),I.prototype.fieldSpec.push(["element",S.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",T.prototype.msg_type=1530,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:g.prototype.parser}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),T.prototype.fieldSpec.push(["element",g.prototype.fieldSpec]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRID_DEFINITION",M.prototype.msg_type=1525,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("header",{type:w.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["header",w.prototype.fieldSpec]),M.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:h,TroposphericDelayCorrection:f,STECResidualNoStd:d,STECResidual:_,GridElementNoStd:S,GridElement:g,GridDefinitionHeader:w,1501:E,MsgSsrOrbitClock:E,1500:m,MsgSsrOrbitClockDepA:m,1505:b,MsgSsrCodeBiases:b,1510:v,MsgSsrPhaseBiases:v,1515:L,MsgSsrStecCorrection:L,1520:I,MsgSsrGriddedCorrectionNoStd:I,1530:T,MsgSsrGriddedCorrection:T,1525:M,MsgSsrGridDefinition:M}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_STARTUP",i.prototype.msg_type=65280,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("cause").uint8("startup_type").uint16("reserved"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["cause","writeUInt8",1]),i.prototype.fieldSpec.push(["startup_type","writeUInt8",1]),i.prototype.fieldSpec.push(["reserved","writeUInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_DGNSS_STATUS",s.prototype.msg_type=65282,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint16("latency").uint8("num_signals").string("source",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["latency","writeUInt16LE",2]),s.prototype.fieldSpec.push(["num_signals","writeUInt8",1]),s.prototype.fieldSpec.push(["source","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_HEARTBEAT",n.prototype.msg_type=65535,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_INS_STATUS",a.prototype.msg_type=65283,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY",l.prototype.msg_type=65284,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["id","writeUInt8",1]),l.prototype.fieldSpec.push(["telemetry","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",c.prototype.msg_type=65285,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["id","writeUInt8",1]),c.prototype.fieldSpec.push(["telemetry_labels","string",null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_INS_UPDATES",u.prototype.msg_type=65286,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),u.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),u.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),u.prototype.fieldSpec.push(["speed","writeUInt8",1]),u.prototype.fieldSpec.push(["nhc","writeUInt8",1]),u.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_TIME_OFFSET",y.prototype.msg_type=65287,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),y.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),y.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,65283:a,MsgInsStatus:a,65284:l,MsgCsacTelemetry:l,65285:c,MsgCsacTelemetryLabels:c,65286:u,MsgInsUpdates:u,65287:y,MsgGnssTimeOffset:y}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),c=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",c.prototype.msg_type=33,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:n.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:i.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),c.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),c.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),c.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),c.prototype.fieldSpec.push(["acceleration","writeInt8",1]),c.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP",u.prototype.msg_type=17,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:l.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),u.prototype.fieldSpec.push(["tot",l.prototype.fieldSpec]),u.prototype.fieldSpec.push(["P","writeUInt32LE",4]),u.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),u.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),u.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),u.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),u.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),u.prototype.fieldSpec.push(["acceleration","writeInt8",1]),u.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE",h.prototype.msg_type=65,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("states",{type:y.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["states","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MeasurementState",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("mesid",{type:i.prototype.parser}).uint8("cn0"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["mesid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_MEASUREMENT_STATE",d.prototype.msg_type=97,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").array("states",{type:f.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["states","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelation",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("I").int16("Q"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["I","writeInt16LE",2]),_.prototype.fieldSpec.push(["Q","writeInt16LE",2]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ",S.prototype.msg_type=45,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);var g=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelationDep",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").int32("I").int32("Q"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["I","writeInt32LE",4]),g.prototype.fieldSpec.push(["Q","writeInt32LE",4]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_B",w.prototype.msg_type=44,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["channel","writeUInt8",1]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_A",E.prototype.msg_type=28,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["channel","writeUInt8",1]),E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var m=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepA",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint8("state").uint8("prn").floatle("cn0"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["state","writeUInt8",1]),m.prototype.fieldSpec.push(["prn","writeUInt8",1]),m.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_A",b.prototype.msg_type=22,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").array("states",{type:m.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["states","array",m.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepB",v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:s.prototype.parser}).floatle("cn0"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["state","writeUInt8",1]),v.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",L.prototype.msg_type=19,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").array("states",{type:v.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",v.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={33:c,MsgTrackingStateDetailedDepA:c,17:u,MsgTrackingStateDetailedDep:u,TrackingChannelState:y,65:h,MsgTrackingState:h,MeasurementState:f,97:d,MsgMeasurementState:d,TrackingChannelCorrelation:_,45:S,MsgTrackingIq:S,TrackingChannelCorrelationDep:g,44:w,MsgTrackingIqDepB:w,28:E,MsgTrackingIqDepA:E,TrackingChannelStateDepA:m,22:b,MsgTrackingStateDepA:b,TrackingChannelStateDepB:v,19:L,MsgTrackingStateDepB:L}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_USER_DATA",i.prototype.msg_type=2048,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("contents",{type:"uint8",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]),e.exports={2048:i,MsgUserData:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_ODOMETRY",i.prototype.msg_type=2307,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").int32("velocity").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["velocity","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_WHEELTICK",s.prototype.msg_type=2308,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags").uint8("source").int32("ticks"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["ticks","writeInt32LE",4]),e.exports={2307:i,MsgOdometry:i,2308:s,MsgWheeltick:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING",i.prototype.msg_type=527,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),i.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_QUAT",s.prototype.msg_type=544,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("tow").int32("w").int32("x").int32("y").int32("z").floatle("w_accuracy").floatle("x_accuracy").floatle("y_accuracy").floatle("z_accuracy").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["w","writeInt32LE",4]),s.prototype.fieldSpec.push(["x","writeInt32LE",4]),s.prototype.fieldSpec.push(["y","writeInt32LE",4]),s.prototype.fieldSpec.push(["z","writeInt32LE",4]),s.prototype.fieldSpec.push(["w_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["x_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["y_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["z_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_EULER",n.prototype.msg_type=545,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").int32("roll").int32("pitch").int32("yaw").floatle("roll_accuracy").floatle("pitch_accuracy").floatle("yaw_accuracy").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["roll","writeInt32LE",4]),n.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),n.prototype.fieldSpec.push(["yaw","writeInt32LE",4]),n.prototype.fieldSpec.push(["roll_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["pitch_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["yaw_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ANGULAR_RATE",a.prototype.msg_type=546,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeInt32LE",4]),a.prototype.fieldSpec.push(["y","writeInt32LE",4]),a.prototype.fieldSpec.push(["z","writeInt32LE",4]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={527:i,MsgBaselineHeading:i,544:s,MsgOrientQuat:s,545:n,MsgOrientEuler:n,546:a,MsgAngularRate:a}}]); \ No newline at end of file +function p(e,t){if(e===t)return 0;for(var r=e.length,p=t.length,o=0,i=Math.min(r,p);o=0;l--)if(c[l]!==u[l])return!1;for(l=c.length-1;l>=0;l--)if(a=c[l],!g(e[a],t[a],r,p))return!1;return!0}(e,t,r,s))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function E(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function m(e,t,r,p){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(p=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),p=(r&&r.name?" ("+r.name+").":".")+(p?" "+p:"."),e&&!o&&_(o,r,"Missing expected exception"+p);var s="string"==typeof p,n=!e&&o&&!r;if((!e&&i.isError(o)&&s&&E(o,r)||n)&&_(o,r,"Got unwanted exception"+p),e&&o&&r&&!E(o,r)||!e&&o)throw o}u.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return f(d(e.actual),128)+" "+e.operator+" "+f(d(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||_;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var p=r.stack,o=h(t),i=p.indexOf("\n"+o);if(i>=0){var s=p.indexOf("\n",i+1);p=p.substring(s+1)}this.stack=p}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,r){e!=t&&_(e,t,r,"==",u.equal)},u.notEqual=function(e,t,r){e==t&&_(e,t,r,"!=",u.notEqual)},u.deepEqual=function(e,t,r){g(e,t,!1)||_(e,t,r,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,r){g(e,t,!0)||_(e,t,r,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,r){g(e,t,!1)&&_(e,t,r,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,r,p){g(t,r,!0)&&_(t,r,p,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,r){e!==t&&_(e,t,r,"===",u.strictEqual)},u.notStrictEqual=function(e,t,r){e===t&&_(e,t,r,"!==",u.notStrictEqual)},u.throws=function(e,t,r){m(!0,e,t,r)},u.doesNotThrow=function(e,t,r){m(!1,e,t,r)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var r in e)s.call(e,r)&&t.push(r);return t}}).call(this,r(5))},function(e,t,r){(function(e,p){var o=/%[sdj%]/g;t.format=function(e){if(!S(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(p[r++]);case"%d":return Number(p[r++]);case"%j":try{return JSON.stringify(p[r++])}catch(e){return"[Circular]"}default:return e}})),a=p[r];r=3&&(p.depth=arguments[2]),arguments.length>=4&&(p.colors=arguments[3]),f(r)?p.showHidden=r:r&&t._extend(p,r),g(p.showHidden)&&(p.showHidden=!1),g(p.depth)&&(p.depth=2),g(p.colors)&&(p.colors=!1),g(p.customInspect)&&(p.customInspect=!0),p.colors&&(p.stylize=a),c(p,e,p.depth)}function a(e,t){var r=n.styles[t];return r?"["+n.colors[r][0]+"m"+e+"["+n.colors[r][1]+"m":e}function l(e,t){return e}function c(e,r,p){if(e.customInspect&&r&&v(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(p,e);return S(o)||(o=c(e,o,p)),o}var i=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(S(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(_(t))return e.stylize(""+t,"number");if(f(t))return e.stylize(""+t,"boolean");if(d(t))return e.stylize("null","null")}(e,r);if(i)return i;var s=Object.keys(r),n=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(r)),b(r)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(r);if(0===s.length){if(v(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(m(r))return e.stylize(Date.prototype.toString.call(r),"date");if(b(r))return u(r)}var l,E="",L=!1,I=["{","}"];(h(r)&&(L=!0,I=["[","]"]),v(r))&&(E=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(E=" "+RegExp.prototype.toString.call(r)),m(r)&&(E=" "+Date.prototype.toUTCString.call(r)),b(r)&&(E=" "+u(r)),0!==s.length||L&&0!=r.length?p<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),l=L?function(e,t,r,p,o){for(var i=[],s=0,n=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(l,E,I)):I[0]+E+I[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,p,o,i){var s,n,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?n=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(n=e.stylize("[Setter]","special")),U(p,o)||(s="["+o+"]"),n||(e.seen.indexOf(a.value)<0?(n=d(r)?c(e,a.value,null):c(e,a.value,r-1)).indexOf("\n")>-1&&(n=i?n.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+n.split("\n").map((function(e){return" "+e})).join("\n")):n=e.stylize("[Circular]","special")),g(s)){if(i&&o.match(/^\d+$/))return n;(s=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+n}function h(e){return Array.isArray(e)}function f(e){return"boolean"==typeof e}function d(e){return null===e}function _(e){return"number"==typeof e}function S(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return E(e)&&"[object RegExp]"===L(e)}function E(e){return"object"==typeof e&&null!==e}function m(e){return E(e)&&"[object Date]"===L(e)}function b(e){return E(e)&&("[object Error]"===L(e)||e instanceof Error)}function v(e){return"function"==typeof e}function L(e){return Object.prototype.toString.call(e)}function I(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(i)&&(i=p.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=p.pid;s[e]=function(){var p=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,p)}}else s[e]=function(){};return s[e]},t.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=f,t.isNull=d,t.isNullOrUndefined=function(e){return null==e},t.isNumber=_,t.isString=S,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=g,t.isRegExp=w,t.isObject=E,t.isDate=m,t.isError=b,t.isFunction=v,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(43);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(){var e=new Date,t=[I(e.getHours()),I(e.getMinutes()),I(e.getSeconds())].join(":");return[e.getDate(),T[e.getMonth()],t].join(" ")}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",M(),t.format.apply(t,arguments))},t.inherits=r(6),t._extend=function(e,t){if(!t||!E(t))return e;for(var r=Object.keys(t),p=r.length;p--;)e[r[p]]=t[r[p]];return e}}).call(this,r(5),r(9))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,r){var p;!function(r){o(Math.pow(36,5)),o(Math.pow(16,7)),o(Math.pow(10,9)),o(Math.pow(2,30)),o(36),o(16),o(10),o(2);function o(e,t){return this instanceof o?(this._low=0,this._high=0,this.remainder=null,void 0===t?s.call(this,e):"string"==typeof e?n.call(this,e,t):void i.call(this,e,t)):new o(e,t)}function i(e,t){return this._low=0|e,this._high=0|t,this}function s(e){return this._low=65535&e,this._high=e>>>16,this}function n(e,t){var r=parseInt(e,t||10);return this._low=65535&r,this._high=r>>>16,this}o.prototype.fromBits=i,o.prototype.fromNumber=s,o.prototype.fromString=n,o.prototype.toNumber=function(){return 65536*this._high+this._low},o.prototype.toString=function(e){return this.toNumber().toString(e||10)},o.prototype.add=function(e){var t=this._low+e._low,r=t>>>16;return r+=this._high+e._high,this._low=65535&t,this._high=65535&r,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,r,p=this._high,o=this._low,i=e._high,s=e._low;return t=(r=o*s)>>>16,t+=p*s,t&=65535,t+=o*i,this._low=65535&r,this._high=65535&t,this},o.prototype.div=function(e){if(0==e._low&&0==e._high)throw Error("division by zero");if(0==e._high&&1==e._low)return this.remainder=new o(0),this;if(e.gt(this))return this.remainder=this.clone(),this._low=0,this._high=0,this;if(this.eq(e))return this.remainder=new o(0),this._low=1,this._high=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._low=0,this._high=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=16?this._high|=1<>>16)&65535,this},o.prototype.equals=o.prototype.eq=function(e){return this._low==e._low&&this._high==e._high},o.prototype.greaterThan=o.prototype.gt=function(e){return this._high>e._high||!(this._highe._low},o.prototype.lessThan=o.prototype.lt=function(e){return this._highe._high)&&this._low16?(this._low=this._high>>e-16,this._high=0):16==e?(this._low=this._high,this._high=0):(this._low=this._low>>e|this._high<<16-e&65535,this._high>>=e),this},o.prototype.shiftLeft=o.prototype.shiftl=function(e,t){return e>16?(this._high=this._low<>16-e,this._low=this._low<>>32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.rotateRight=o.prototype.rotr=function(e){var t=this._high<<16|this._low;return t=t>>>e|t<<32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.clone=function(){return new o(this._low,this._high)},void 0===(p=function(){return o}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p;!function(r){var o={16:s(Math.pow(16,5)),10:s(Math.pow(10,5)),2:s(Math.pow(2,5))},i={16:s(16),10:s(10),2:s(2)};function s(e,t,r,p){return this instanceof s?(this.remainder=null,"string"==typeof e?l.call(this,e,t):void 0===t?a.call(this,e):void n.apply(this,arguments)):new s(e,t,r,p)}function n(e,t,r,p){return void 0===r?(this._a00=65535&e,this._a16=e>>>16,this._a32=65535&t,this._a48=t>>>16,this):(this._a00=0|e,this._a16=0|t,this._a32=0|r,this._a48=0|p,this)}function a(e){return this._a00=65535&e,this._a16=e>>>16,this._a32=0,this._a48=0,this}function l(e,t){t=t||10,this._a00=0,this._a16=0,this._a32=0,this._a48=0;for(var r=o[t]||new s(Math.pow(t,5)),p=0,i=e.length;p=0&&(r.div(t),p[o]=r.remainder.toNumber().toString(e),r.gt(t));o--);return p[o-1]=r.toNumber().toString(e),p.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,r=t>>>16,p=(r+=this._a16+e._a16)>>>16,o=(p+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&r,this._a32=65535&p,this._a48=65535&o,this},s.prototype.subtract=function(e){return this.add(e.clone().negate())},s.prototype.multiply=function(e){var t=this._a00,r=this._a16,p=this._a32,o=this._a48,i=e._a00,s=e._a16,n=e._a32,a=t*i,l=a>>>16,c=(l+=t*s)>>>16;l&=65535,c+=(l+=r*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=r*s)>>>16,c&=65535,u+=(c+=p*i)>>>16,u+=t*e._a48,u&=65535,u+=r*n,u&=65535,u+=p*s,u&=65535,u+=o*i,this._a00=65535&a,this._a16=65535&l,this._a32=65535&c,this._a48=65535&u,this},s.prototype.div=function(e){if(0==e._a16&&0==e._a32&&0==e._a48){if(0==e._a00)throw Error("division by zero");if(1==e._a00)return this.remainder=new s(0),this}if(e.gt(this))return this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0,this;if(this.eq(e))return this.remainder=new s(0),this._a00=1,this._a16=0,this._a32=0,this._a48=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=48?this._a48|=1<=32?this._a32|=1<=16?this._a16|=1<>>16),this._a16=65535&e,e=(65535&~this._a32)+(e>>>16),this._a32=65535&e,this._a48=~this._a48+(e>>>16)&65535,this},s.prototype.equals=s.prototype.eq=function(e){return this._a48==e._a48&&this._a00==e._a00&&this._a32==e._a32&&this._a16==e._a16},s.prototype.greaterThan=s.prototype.gt=function(e){return this._a48>e._a48||!(this._a48e._a32||!(this._a32e._a16||!(this._a16e._a00))},s.prototype.lessThan=s.prototype.lt=function(e){return this._a48e._a48)&&(this._a32e._a32)&&(this._a16e._a16)&&this._a00=48?(this._a00=this._a48>>e-48,this._a16=0,this._a32=0,this._a48=0):e>=32?(e-=32,this._a00=65535&(this._a32>>e|this._a48<<16-e),this._a16=this._a48>>e&65535,this._a32=0,this._a48=0):e>=16?(e-=16,this._a00=65535&(this._a16>>e|this._a32<<16-e),this._a16=65535&(this._a32>>e|this._a48<<16-e),this._a32=this._a48>>e&65535,this._a48=0):(this._a00=65535&(this._a00>>e|this._a16<<16-e),this._a16=65535&(this._a16>>e|this._a32<<16-e),this._a32=65535&(this._a32>>e|this._a48<<16-e),this._a48=this._a48>>e&65535),this},s.prototype.shiftLeft=s.prototype.shiftl=function(e,t){return(e%=64)>=48?(this._a48=this._a00<=32?(e-=32,this._a48=this._a16<>16-e,this._a32=this._a00<=16?(e-=16,this._a48=this._a32<>16-e,this._a32=65535&(this._a16<>16-e),this._a16=this._a00<>16-e,this._a32=65535&(this._a32<>16-e),this._a16=65535&(this._a16<>16-e),this._a00=this._a00<=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r<>>32-e,i=p<>>32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.rotateRight=s.prototype.rotr=function(e){if(0==(e%=64))return this;if(e>=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r>>>e|p<<32-e,i=p>>>e|r<<32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.clone=function(){return new s(this._a00,this._a16,this._a32,this._a48)},void 0===(p=function(){return s}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=(r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT",n.prototype.msg_type=47,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:i.prototype.parser}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),n.prototype.fieldSpec.push(["cp","writeFloatLE",4]),n.prototype.fieldSpec.push(["cf","writeFloatLE",4]),n.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_C",a.prototype.msg_type=31,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),a.prototype.fieldSpec.push(["cp","writeFloatLE",4]),a.prototype.fieldSpec.push(["cf","writeFloatLE",4]),a.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_B",l.prototype.msg_type=20,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["snr","writeFloatLE",4]),l.prototype.fieldSpec.push(["cp","writeFloatLE",4]),l.prototype.fieldSpec.push(["cf","writeFloatLE",4]),l.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_A",c.prototype.msg_type=21,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").uint8("prn"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["snr","writeFloatLE",4]),c.prototype.fieldSpec.push(["cp","writeFloatLE",4]),c.prototype.fieldSpec.push(["cf","writeFloatLE",4]),c.prototype.fieldSpec.push(["prn","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="AcqSvProfile",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:i.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["job_type","writeUInt8",1]),u.prototype.fieldSpec.push(["status","writeUInt8",1]),u.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),u.prototype.fieldSpec.push(["int_time","writeUInt8",1]),u.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),u.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),u.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),u.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf","writeInt32LE",4]),u.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="AcqSvProfileDep",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:s.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["job_type","writeUInt8",1]),y.prototype.fieldSpec.push(["status","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),y.prototype.fieldSpec.push(["int_time","writeUInt8",1]),y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),y.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),y.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),y.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf","writeInt32LE",4]),y.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE",h.prototype.msg_type=46,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:u.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["acq_sv_profile","array",u.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE_DEP",f.prototype.msg_type=30,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:y.prototype.parser,readUntil:"eof"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["acq_sv_profile","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={47:n,MsgAcqResult:n,31:a,MsgAcqResultDepC:a,20:l,MsgAcqResultDepB:l,21:c,MsgAcqResultDepA:c,AcqSvProfile:u,AcqSvProfileDep:y,46:h,MsgAcqSvProfile:h,30:f,MsgAcqSvProfileDep:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",i.prototype.msg_type=179,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",s.prototype.msg_type=180,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("flags").string("version",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt32LE",4]),s.prototype.fieldSpec.push(["version","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_JUMP_TO_APP",n.prototype.msg_type=177,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("jump"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["jump","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_REQ",a.prototype.msg_type=222,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little"),a.prototype.fieldSpec=[];var l=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_RESP",l.prototype.msg_type=221,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").array("dna",{length:8,type:"uint8"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["dna","array","writeUInt8",function(){return 1},8]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",c.prototype.msg_type=176,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").array("handshake",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["handshake","array","writeUInt8",function(){return 1},null]),e.exports={179:i,MsgBootloaderHandshakeReq:i,180:s,MsgBootloaderHandshakeResp:s,177:n,MsgBootloaderJumpToApp:n,222:a,MsgNapDeviceDnaReq:a,221:l,MsgNapDeviceDnaResp:l,176:c,MsgBootloaderHandshakeDepA:c}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_EXT_EVENT",i.prototype.msg_type=257,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags").uint8("pin"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]),i.prototype.fieldSpec.push(["pin","writeUInt8",1]),e.exports={257:i,MsgExtEvent:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_REQ",i.prototype.msg_type=168,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").uint8("chunk_size").string("filename",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),i.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),i.prototype.fieldSpec.push(["chunk_size","writeUInt8",1]),i.prototype.fieldSpec.push(["filename","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_RESP",s.prototype.msg_type=163,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),s.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_REQ",n.prototype.msg_type=169,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("dirname",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),n.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),n.prototype.fieldSpec.push(["dirname","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_RESP",a.prototype.msg_type=170,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),a.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_REMOVE",l.prototype.msg_type=172,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("filename",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["filename","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_REQ",c.prototype.msg_type=173,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("filename",{greedy:!0}).array("data",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),c.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),c.prototype.fieldSpec.push(["filename","string",null]),c.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_RESP",u.prototype.msg_type=171,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sequence"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_REQ",y.prototype.msg_type=4097,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sequence"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_RESP",h.prototype.msg_type=4098,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("window_size").uint32("batch_size").uint32("fileio_version"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),h.prototype.fieldSpec.push(["window_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["batch_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["fileio_version","writeUInt32LE",4]),e.exports={168:i,MsgFileioReadReq:i,163:s,MsgFileioReadResp:s,169:n,MsgFileioReadDirReq:n,170:a,MsgFileioReadDirResp:a,172:l,MsgFileioRemove:l,173:c,MsgFileioWriteReq:c,171:u,MsgFileioWriteResp:u,4097:y,MsgFileioConfigReq:y,4098:h,MsgFileioConfigResp:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_PROGRAM",i.prototype.msg_type=230,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len").array("data",{type:"uint8",length:"addr_len"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["target","writeUInt8",1]),i.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),i.prototype.fieldSpec.push(["addr_len","writeUInt8",1]),i.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},"addr_len"]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_DONE",s.prototype.msg_type=224,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("response"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["response","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_REQ",n.prototype.msg_type=231,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["target","writeUInt8",1]),n.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),n.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_RESP",a.prototype.msg_type=225,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["target","writeUInt8",1]),a.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),a.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_ERASE",l.prototype.msg_type=226,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("target").uint32("sector_num"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["target","writeUInt8",1]),l.prototype.fieldSpec.push(["sector_num","writeUInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_LOCK_SECTOR",c.prototype.msg_type=227,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sector"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_UNLOCK_SECTOR",u.prototype.msg_type=228,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sector"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_REQ",y.prototype.msg_type=232,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_RESP",h.prototype.msg_type=229,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("stm_id",{length:12,type:"uint8"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["stm_id","array","writeUInt8",function(){return 1},12]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_M25_FLASH_WRITE_STATUS",f.prototype.msg_type=243,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("status",{length:1,type:"uint8"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","array","writeUInt8",function(){return 1},1]),e.exports={230:i,MsgFlashProgram:i,224:s,MsgFlashDone:s,231:n,MsgFlashReadReq:n,225:a,MsgFlashReadResp:a,226:l,MsgFlashErase:l,227:c,MsgStmFlashLockSector:c,228:u,MsgStmFlashUnlockSector:u,232:y,MsgStmUniqueIdReq:y,229:h,MsgStmUniqueIdResp:h,243:f,MsgM25FlashWriteStatus:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_IMU_RAW",i.prototype.msg_type=2304,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("acc_x").int16("acc_y").int16("acc_z").int16("gyr_x").int16("gyr_y").int16("gyr_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["acc_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_z","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_z","writeInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_IMU_AUX",s.prototype.msg_type=2305,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("imu_type").int16("temp").uint8("imu_conf"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["imu_type","writeUInt8",1]),s.prototype.fieldSpec.push(["temp","writeInt16LE",2]),s.prototype.fieldSpec.push(["imu_conf","writeUInt8",1]),e.exports={2304:i,MsgImuRaw:i,2305:s,MsgImuAux:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_CPU_STATE",i.prototype.msg_type=32512,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").string("tname",{length:15}).string("cmdline",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["index","writeUInt8",1]),i.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),i.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),i.prototype.fieldSpec.push(["tname","string",15]),i.prototype.fieldSpec.push(["cmdline","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_MEM_STATE",s.prototype.msg_type=32513,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").string("tname",{length:15}).string("cmdline",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["index","writeUInt8",1]),s.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),s.prototype.fieldSpec.push(["pmem","writeUInt8",1]),s.prototype.fieldSpec.push(["tname","string",15]),s.prototype.fieldSpec.push(["cmdline","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SYS_STATE",n.prototype.msg_type=32514,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),n.prototype.fieldSpec.push(["pmem","writeUInt8",1]),n.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),n.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",a.prototype.msg_type=32515,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("socket_count").uint16("socket_types").uint16("socket_states").string("cmdline",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["index","writeUInt8",1]),a.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_count","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),a.prototype.fieldSpec.push(["cmdline","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",l.prototype.msg_type=32516,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("recv_queued").uint16("send_queued").uint16("socket_types").uint16("socket_states").string("address_of_largest",{length:64}).string("cmdline",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["index","writeUInt8",1]),l.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),l.prototype.fieldSpec.push(["recv_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["send_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),l.prototype.fieldSpec.push(["address_of_largest","string",64]),l.prototype.fieldSpec.push(["cmdline","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SOCKET_USAGE",c.prototype.msg_type=32517,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("avg_queue_depth").uint32("max_queue_depth").array("socket_state_counts",{length:16,type:"uint16le"}).array("socket_type_counts",{length:16,type:"uint16le"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["avg_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["max_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["socket_state_counts","array","writeUInt16LE",function(){return 2},16]),c.prototype.fieldSpec.push(["socket_type_counts","array","writeUInt16LE",function(){return 2},16]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_COUNT",u.prototype.msg_type=32518,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("fd_count").string("cmdline",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt8",1]),u.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),u.prototype.fieldSpec.push(["fd_count","writeUInt16LE",2]),u.prototype.fieldSpec.push(["cmdline","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_SUMMARY",y.prototype.msg_type=32519,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sys_fd_count").string("most_opened",{greedy:!0}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sys_fd_count","writeUInt32LE",4]),y.prototype.fieldSpec.push(["most_opened","string",null]),e.exports={32512:i,MsgLinuxCpuState:i,32513:s,MsgLinuxMemState:s,32514:n,MsgLinuxSysState:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LOG",i.prototype.msg_type=1025,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("level").string("text",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["level","writeUInt8",1]),i.prototype.fieldSpec.push(["text","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").string("fwd_payload",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_PRINT_DEP",n.prototype.msg_type=16,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").string("text",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["text","string",null]),e.exports={1025:i,MsgLog:i,1026:s,MsgFwd:s,16:n,MsgPrintDep:n}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_MAG_RAW",i.prototype.msg_type=2306,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("mag_x").int16("mag_y").int16("mag_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["mag_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_z","writeInt16LE",2]),e.exports={2306:i,MsgMagRaw:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME",i.prototype.msg_type=258,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_UTC_TIME",s.prototype.msg_type=259,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["year","writeUInt16LE",2]),s.prototype.fieldSpec.push(["month","writeUInt8",1]),s.prototype.fieldSpec.push(["day","writeUInt8",1]),s.prototype.fieldSpec.push(["hours","writeUInt8",1]),s.prototype.fieldSpec.push(["minutes","writeUInt8",1]),s.prototype.fieldSpec.push(["seconds","writeUInt8",1]),s.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_DOPS",n.prototype.msg_type=520,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF",a.prototype.msg_type=521,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeDoubleLE",8]),a.prototype.fieldSpec.push(["y","writeDoubleLE",8]),a.prototype.fieldSpec.push(["z","writeDoubleLE",8]),a.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),a.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV",l.prototype.msg_type=532,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["x","writeDoubleLE",8]),l.prototype.fieldSpec.push(["y","writeDoubleLE",8]),l.prototype.fieldSpec.push(["z","writeDoubleLE",8]),l.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH",c.prototype.msg_type=522,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),c.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),c.prototype.fieldSpec.push(["height","writeDoubleLE",8]),c.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV",u.prototype.msg_type=529,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),u.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),u.prototype.fieldSpec.push(["height","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF",y.prototype.msg_type=523,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["x","writeInt32LE",4]),y.prototype.fieldSpec.push(["y","writeInt32LE",4]),y.prototype.fieldSpec.push(["z","writeInt32LE",4]),y.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED",h.prototype.msg_type=524,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),h.prototype.fieldSpec.push(["n","writeInt32LE",4]),h.prototype.fieldSpec.push(["e","writeInt32LE",4]),h.prototype.fieldSpec.push(["d","writeInt32LE",4]),h.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF",f.prototype.msg_type=525,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),f.prototype.fieldSpec.push(["x","writeInt32LE",4]),f.prototype.fieldSpec.push(["y","writeInt32LE",4]),f.prototype.fieldSpec.push(["z","writeInt32LE",4]),f.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),f.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV",d.prototype.msg_type=533,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["x","writeInt32LE",4]),d.prototype.fieldSpec.push(["y","writeInt32LE",4]),d.prototype.fieldSpec.push(["z","writeInt32LE",4]),d.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED",_.prototype.msg_type=526,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["n","writeInt32LE",4]),_.prototype.fieldSpec.push(["e","writeInt32LE",4]),_.prototype.fieldSpec.push(["d","writeInt32LE",4]),_.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV",S.prototype.msg_type=530,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),S.prototype.fieldSpec.push(["n","writeInt32LE",4]),S.prototype.fieldSpec.push(["e","writeInt32LE",4]),S.prototype.fieldSpec.push(["d","writeInt32LE",4]),S.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);var g=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_GNSS",g.prototype.msg_type=553,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["x","writeDoubleLE",8]),g.prototype.fieldSpec.push(["y","writeDoubleLE",8]),g.prototype.fieldSpec.push(["z","writeDoubleLE",8]),g.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",w.prototype.msg_type=564,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["x","writeDoubleLE",8]),w.prototype.fieldSpec.push(["y","writeDoubleLE",8]),w.prototype.fieldSpec.push(["z","writeDoubleLE",8]),w.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_GNSS",E.prototype.msg_type=554,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),E.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),E.prototype.fieldSpec.push(["height","writeDoubleLE",8]),E.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),E.prototype.fieldSpec.push(["flags","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV_GNSS",m.prototype.msg_type=561,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),m.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),m.prototype.fieldSpec.push(["height","writeDoubleLE",8]),m.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),m.prototype.fieldSpec.push(["flags","writeUInt8",1]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_GNSS",b.prototype.msg_type=557,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["x","writeInt32LE",4]),b.prototype.fieldSpec.push(["y","writeInt32LE",4]),b.prototype.fieldSpec.push(["z","writeInt32LE",4]),b.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",v.prototype.msg_type=565,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["x","writeInt32LE",4]),v.prototype.fieldSpec.push(["y","writeInt32LE",4]),v.prototype.fieldSpec.push(["z","writeInt32LE",4]),v.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_GNSS",L.prototype.msg_type=558,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["n","writeInt32LE",4]),L.prototype.fieldSpec.push(["e","writeInt32LE",4]),L.prototype.fieldSpec.push(["d","writeInt32LE",4]),L.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV_GNSS",I.prototype.msg_type=562,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["n","writeInt32LE",4]),I.prototype.fieldSpec.push(["e","writeInt32LE",4]),I.prototype.fieldSpec.push(["d","writeInt32LE",4]),I.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_VEL_BODY",T.prototype.msg_type=531,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["x","writeInt32LE",4]),T.prototype.fieldSpec.push(["y","writeInt32LE",4]),T.prototype.fieldSpec.push(["z","writeInt32LE",4]),T.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_AGE_CORRECTIONS",M.prototype.msg_type=528,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["age","writeUInt16LE",2]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME_DEP_A",U.prototype.msg_type=256,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_DOPS_DEP_A",D.prototype.msg_type=518,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_DEP_A",O.prototype.msg_type=512,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["x","writeDoubleLE",8]),O.prototype.fieldSpec.push(["y","writeDoubleLE",8]),O.prototype.fieldSpec.push(["z","writeDoubleLE",8]),O.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),O.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_DEP_A",G.prototype.msg_type=513,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),G.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),G.prototype.fieldSpec.push(["height","writeDoubleLE",8]),G.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),G.prototype.fieldSpec.push(["flags","writeUInt8",1]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",A.prototype.msg_type=514,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["x","writeInt32LE",4]),A.prototype.fieldSpec.push(["y","writeInt32LE",4]),A.prototype.fieldSpec.push(["z","writeInt32LE",4]),A.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),A.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),A.prototype.fieldSpec.push(["flags","writeUInt8",1]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED_DEP_A",R.prototype.msg_type=515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["n","writeInt32LE",4]),R.prototype.fieldSpec.push(["e","writeInt32LE",4]),R.prototype.fieldSpec.push(["d","writeInt32LE",4]),R.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),R.prototype.fieldSpec.push(["flags","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_DEP_A",C.prototype.msg_type=516,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["x","writeInt32LE",4]),C.prototype.fieldSpec.push(["y","writeInt32LE",4]),C.prototype.fieldSpec.push(["z","writeInt32LE",4]),C.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),C.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_DEP_A",P.prototype.msg_type=517,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["n","writeInt32LE",4]),P.prototype.fieldSpec.push(["e","writeInt32LE",4]),P.prototype.fieldSpec.push(["d","writeInt32LE",4]),P.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",N.prototype.msg_type=519,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_PROTECTION_LEVEL",j.prototype.msg_type=534,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),j.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),j.prototype.fieldSpec.push(["height","writeDoubleLE",8]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,259:s,MsgUtcTime:s,520:n,MsgDops:n,521:a,MsgPosEcef:a,532:l,MsgPosEcefCov:l,522:c,MsgPosLlh:c,529:u,MsgPosLlhCov:u,523:y,MsgBaselineEcef:y,524:h,MsgBaselineNed:h,525:f,MsgVelEcef:f,533:d,MsgVelEcefCov:d,526:_,MsgVelNed:_,530:S,MsgVelNedCov:S,553:g,MsgPosEcefGnss:g,564:w,MsgPosEcefCovGnss:w,554:E,MsgPosLlhGnss:E,561:m,MsgPosLlhCovGnss:m,557:b,MsgVelEcefGnss:b,565:v,MsgVelEcefCovGnss:v,558:L,MsgVelNedGnss:L,562:I,MsgVelNedCovGnss:I,531:T,MsgVelBody:T,528:M,MsgAgeCorrections:M,256:U,MsgGpsTimeDepA:U,518:D,MsgDopsDepA:D,512:O,MsgPosEcefDepA:O,513:G,MsgPosLlhDepA:G,514:A,MsgBaselineEcefDepA:A,515:R,MsgBaselineNedDepA:R,516:C,MsgVelEcefDepA:C,517:P,MsgVelNedDepA:P,519:N,MsgBaselineHeadingDepA:N,534:j,MsgProtectionLevel:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_NDB_EVENT",s.prototype.msg_type=1024,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("recv_time").uint8("event").uint8("object_type").uint8("result").uint8("data_source").nest("object_sid",{type:i.prototype.parser}).nest("src_sid",{type:i.prototype.parser}).uint16("original_sender"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["event","writeUInt8",1]),s.prototype.fieldSpec.push(["object_type","writeUInt8",1]),s.prototype.fieldSpec.push(["result","writeUInt8",1]),s.prototype.fieldSpec.push(["data_source","writeUInt8",1]),s.prototype.fieldSpec.push(["object_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["src_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["original_sender","writeUInt16LE",2]),e.exports={1024:s,MsgNdbEvent:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec),c=r(0).GPSTimeDep,u=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(p.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:n.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="Doppler",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("i").uint8("f"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["i","writeInt16LE",2]),y.prototype.fieldSpec.push(["f","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="PackedObsContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),h.prototype.fieldSpec.push(["D",y.prototype.fieldSpec]),h.prototype.fieldSpec.push(["cn0","writeUInt8",1]),h.prototype.fieldSpec.push(["lock","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var f=function(e,t){return p.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="PackedOsrContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}).uint16("iono_std").uint16("tropo_std").uint16("range_std"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["P","writeUInt32LE",4]),f.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["iono_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["tropo_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["range_std","writeUInt16LE",2]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_OBS",d.prototype.msg_type=74,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:h.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),d.prototype.fieldSpec.push(["obs","array",h.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_LLH",_.prototype.msg_type=68,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").doublele("lat").doublele("lon").doublele("height"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),_.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),_.prototype.fieldSpec.push(["height","writeDoubleLE",8]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_ECEF",S.prototype.msg_type=72,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").doublele("x").doublele("y").doublele("z"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["x","writeDoubleLE",8]),S.prototype.fieldSpec.push(["y","writeDoubleLE",8]),S.prototype.fieldSpec.push(["z","writeDoubleLE",8]);var g=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),g.prototype.fieldSpec.push(["ura","writeFloatLE",4]),g.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),g.prototype.fieldSpec.push(["valid","writeUInt8",1]),g.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),w.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),w.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),w.prototype.fieldSpec.push(["valid","writeUInt8",1]),w.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),E.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),E.prototype.fieldSpec.push(["valid","writeUInt8",1]),E.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_E",m.prototype.msg_type=129,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),m.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),m.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["w","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),m.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_F",b.prototype.msg_type=134,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),b.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),b.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),b.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["w","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),b.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS",v.prototype.msg_type=138,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),v.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),v.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["w","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af0","writeFloatLE",4]),v.prototype.fieldSpec.push(["af1","writeFloatLE",4]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt8",1]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_QZSS",L.prototype.msg_type=142,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),L.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),L.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["w","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["af0","writeFloatLE",4]),L.prototype.fieldSpec.push(["af1","writeFloatLE",4]),L.prototype.fieldSpec.push(["af2","writeFloatLE",4]),L.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_BDS",I.prototype.msg_type=137,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd1").floatle("tgd2").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),I.prototype.fieldSpec.push(["tgd2","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),I.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),I.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["w","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",T.prototype.msg_type=149,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),T.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),T.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),T.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["w","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL",M.prototype.msg_type=141,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),M.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),M.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),M.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),M.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["w","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af2","writeFloatLE",4]),M.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),M.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),M.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),M.prototype.fieldSpec.push(["source","writeUInt8",1]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",U.prototype.msg_type=130,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),U.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_A",D.prototype.msg_type=131,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),D.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),D.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),D.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_B",O.prototype.msg_type=132,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),O.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),O.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS",G.prototype.msg_type=140,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"floatle"}).array("acc",{length:3,type:"floatle"}).floatle("a_gf0").floatle("a_gf1"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),G.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),G.prototype.fieldSpec.push(["vel","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["a_gf0","writeFloatLE",4]),G.prototype.fieldSpec.push(["a_gf1","writeFloatLE",4]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_B",A.prototype.msg_type=133,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),A.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),A.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),A.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",R.prototype.msg_type=135,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),R.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),R.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["fcn","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",C.prototype.msg_type=136,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn").uint8("iod"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),C.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),C.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["fcn","writeUInt8",1]),C.prototype.fieldSpec.push(["iod","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO",P.prototype.msg_type=139,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("gamma").floatle("tau").floatle("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"floatle"}).uint8("fcn").uint8("iod"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),P.prototype.fieldSpec.push(["gamma","writeFloatLE",4]),P.prototype.fieldSpec.push(["tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["d_tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),P.prototype.fieldSpec.push(["fcn","writeUInt8",1]),P.prototype.fieldSpec.push(["iod","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_D",N.prototype.msg_type=128,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),N.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),N.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["w","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["valid","writeUInt8",1]),N.prototype.fieldSpec.push(["healthy","writeUInt8",1]),N.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_A",j.prototype.msg_type=26,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),j.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),j.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["w","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["valid","writeUInt8",1]),j.prototype.fieldSpec.push(["healthy","writeUInt8",1]),j.prototype.fieldSpec.push(["prn","writeUInt8",1]);var x=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_B",x.prototype.msg_type=70,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn").uint8("iode"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),x.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),x.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["w","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["valid","writeUInt8",1]),x.prototype.fieldSpec.push(["healthy","writeUInt8",1]),x.prototype.fieldSpec.push(["prn","writeUInt8",1]),x.prototype.fieldSpec.push(["iode","writeUInt8",1]);var F=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_C",F.prototype.msg_type=71,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),F.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),F.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["w","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["valid","writeUInt8",1]),F.prototype.fieldSpec.push(["healthy","writeUInt8",1]),F.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var k=function(e,t){return p.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(p.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:c.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",c.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var B=function(e,t){return p.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(p.prototype)).messageType="CarrierPhaseDepA",B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").int32("i").uint8("f"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["i","writeInt32LE",4]),B.prototype.fieldSpec.push(["f","writeUInt8",1]);var q=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepA",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").uint8("prn"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["P","writeUInt32LE",4]),q.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),q.prototype.fieldSpec.push(["cn0","writeUInt8",1]),q.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),q.prototype.fieldSpec.push(["prn","writeUInt8",1]);var z=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepB",z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["P","writeUInt32LE",4]),z.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),z.prototype.fieldSpec.push(["cn0","writeUInt8",1]),z.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var H=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var V=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_A",V.prototype.msg_type=69,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);var W=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_B",W.prototype.msg_type=67,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Y=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_C",Y.prototype.msg_type=73,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Q=function(e,t){return p.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(p.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).doublele("a0").doublele("a1").doublele("a2").doublele("a3").doublele("b0").doublele("b1").doublele("b2").doublele("b3"),Q.prototype.fieldSpec=[],Q.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),Q.prototype.fieldSpec.push(["a0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a3","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b3","writeDoubleLE",8]);var K=function(e,t){return p.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(p.prototype)).messageType="MSG_SV_CONFIGURATION_GPS_DEP",K.prototype.msg_type=145,K.prototype.constructor=K,K.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);var X=function(e,t){return p.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(p.prototype)).messageType="GnssCapb",X.prototype.constructor=X,X.prototype.parser=(new o).endianess("little").uint64("gps_active").uint64("gps_l2c").uint64("gps_l5").uint32("glo_active").uint32("glo_l2of").uint32("glo_l3").uint64("sbas_active").uint64("sbas_l5").uint64("bds_active").uint64("bds_d2nav").uint64("bds_b2").uint64("bds_b2a").uint32("qzss_active").uint64("gal_active").uint64("gal_e5"),X.prototype.fieldSpec=[],X.prototype.fieldSpec.push(["gps_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l2c","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["glo_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l2of","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l3","writeUInt32LE",4]),X.prototype.fieldSpec.push(["sbas_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["sbas_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_d2nav","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2a","writeUInt64LE",8]),X.prototype.fieldSpec.push(["qzss_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["gal_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gal_e5","writeUInt64LE",8]);var J=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_CAPB",J.prototype.msg_type=150,J.prototype.constructor=J,J.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);var $=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",$.prototype.msg_type=146,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).uint8("prn").uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["prn","writeUInt8",1]),$.prototype.fieldSpec.push(["valid","writeUInt8",1]),$.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var Z=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",Z.prototype.msg_type=147,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),Z.prototype.fieldSpec=[],Z.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["valid","writeUInt8",1]),Z.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var ee=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY",ee.prototype.msg_type=148,ee.prototype.constructor=ee,ee.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["valid","writeUInt8",1]),ee.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var te=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),te.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),te.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),te.prototype.fieldSpec.push(["valid","writeUInt8",1]),te.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var re=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContentDep",re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),re.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),re.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),re.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),re.prototype.fieldSpec.push(["valid","writeUInt8",1]),re.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var pe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS_DEP",pe.prototype.msg_type=112,pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var oe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS",oe.prototype.msg_type=114,oe.prototype.constructor=oe,oe.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),oe.prototype.fieldSpec=[],oe.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),oe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var ie=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO_DEP",ie.prototype.msg_type=113,ie.prototype.constructor=ie,ie.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),ie.prototype.fieldSpec=[],ie.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),ie.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["i","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var se=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO",se.prototype.msg_type=115,se.prototype.constructor=se,se.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),se.prototype.fieldSpec=[],se.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),se.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["i","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),se.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),se.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var ne=function(e,t){return p.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(p.prototype)).messageType="MSG_GLO_BIASES",ne.prototype.msg_type=117,ne.prototype.constructor=ne,ne.prototype.parser=(new o).endianess("little").uint8("mask").int16("l1ca_bias").int16("l1p_bias").int16("l2ca_bias").int16("l2p_bias"),ne.prototype.fieldSpec=[],ne.prototype.fieldSpec.push(["mask","writeUInt8",1]),ne.prototype.fieldSpec.push(["l1ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l1p_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2p_bias","writeInt16LE",2]);var ae=function(e,t){return p.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(p.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);var le=function(e,t){return p.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(p.prototype)).messageType="MSG_SV_AZ_EL",le.prototype.msg_type=151,le.prototype.constructor=le,le.prototype.parser=(new o).endianess("little").array("azel",{type:ae.prototype.parser,readUntil:"eof"}),le.prototype.fieldSpec=[],le.prototype.fieldSpec.push(["azel","array",ae.prototype.fieldSpec,function(){return this.fields.array.length},null]);var ce=function(e,t){return p.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(p.prototype)).messageType="MSG_OSR",ce.prototype.msg_type=1600,ce.prototype.constructor=ce,ce.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:f.prototype.parser,readUntil:"eof"}),ce.prototype.fieldSpec=[],ce.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),ce.prototype.fieldSpec.push(["obs","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={ObservationHeader:u,Doppler:y,PackedObsContent:h,PackedOsrContent:f,74:d,MsgObs:d,68:_,MsgBasePosLlh:_,72:S,MsgBasePosEcef:S,EphemerisCommonContent:g,EphemerisCommonContentDepB:w,EphemerisCommonContentDepA:E,129:m,MsgEphemerisGpsDepE:m,134:b,MsgEphemerisGpsDepF:b,138:v,MsgEphemerisGps:v,142:L,MsgEphemerisQzss:L,137:I,MsgEphemerisBds:I,149:T,MsgEphemerisGalDepA:T,141:M,MsgEphemerisGal:M,130:U,MsgEphemerisSbasDepA:U,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:R,MsgEphemerisGloDepC:R,136:C,MsgEphemerisGloDepD:C,139:P,MsgEphemerisGlo:P,128:N,MsgEphemerisDepD:N,26:j,MsgEphemerisDepA:j,70:x,MsgEphemerisDepB:x,71:F,MsgEphemerisDepC:F,ObservationHeaderDep:k,CarrierPhaseDepA:B,PackedObsContentDepA:q,PackedObsContentDepB:z,PackedObsContentDepC:H,69:V,MsgObsDepA:V,67:W,MsgObsDepB:W,73:Y,MsgObsDepC:Y,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:$,MsgGroupDelayDepA:$,147:Z,MsgGroupDelayDepB:Z,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:re,112:pe,MsgAlmanacGpsDep:pe,114:oe,MsgAlmanacGps:oe,113:ie,MsgAlmanacGloDep:ie,115:se,MsgAlmanacGlo:se,117:ne,MsgGloBiases:ne,SvAzEl:ae,151:le,MsgSvAzEl:le,1600:ce,MsgOsr:ce}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=(r(0).CarrierPhase,n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),l=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];var c=function(e,t){return p.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];var u=function(e,t){return p.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_RESET",u.prototype.msg_type=182,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_CW_RESULTS",h.prototype.msg_type=192,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];var f=function(e,t){return p.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_CW_START",f.prototype.msg_type=193,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];var d=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_RESET_FILTERS",d.prototype.msg_type=34,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint8("filter"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["filter","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];var S=function(e,t){return p.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_THREAD_STATE",S.prototype.msg_type=23,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").string("name",{length:20}).uint16("cpu").uint32("stack_free"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["name","string",20]),S.prototype.fieldSpec.push(["cpu","writeUInt16LE",2]),S.prototype.fieldSpec.push(["stack_free","writeUInt32LE",4]);var g=function(e,t){return p.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="UARTChannel",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").floatle("tx_throughput").floatle("rx_throughput").uint16("crc_error_count").uint16("io_error_count").uint8("tx_buffer_level").uint8("rx_buffer_level"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["rx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["crc_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["io_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tx_buffer_level","writeUInt8",1]),g.prototype.fieldSpec.push(["rx_buffer_level","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="Period",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").int32("avg").int32("pmin").int32("pmax").int32("current"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["avg","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmin","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmax","writeInt32LE",4]),w.prototype.fieldSpec.push(["current","writeInt32LE",4]);var E=function(e,t){return p.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="Latency",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").int32("avg").int32("lmin").int32("lmax").int32("current"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["avg","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmin","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmax","writeInt32LE",4]),E.prototype.fieldSpec.push(["current","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE",m.prototype.msg_type=29,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}).nest("obs_period",{type:w.prototype.parser}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["obs_period",w.prototype.fieldSpec]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE_DEPA",b.prototype.msg_type=24,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_IAR_STATE",v.prototype.msg_type=25,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("num_hyps"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE",L.prototype.msg_type=43,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE_DEP",I.prototype.msg_type=27,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["mask","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_DEVICE_MONITOR",T.prototype.msg_type=181,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),T.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_REQ",M.prototype.msg_type=184,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["command","string",null]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_RESP",U.prototype.msg_type=185,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["code","writeInt32LE",4]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_OUTPUT",D.prototype.msg_type=188,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("sequence").string("line",{greedy:!0}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),D.prototype.fieldSpec.push(["line","string",null]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_REQ",O.prototype.msg_type=186,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little"),O.prototype.fieldSpec=[];var G=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_RESP",G.prototype.msg_type=187,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").array("ipv4_address",{length:4,type:"uint8"}).uint8("ipv4_mask_size").array("ipv6_address",{length:16,type:"uint8"}).uint8("ipv6_mask_size").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}).uint32("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["ipv4_address","array","writeUInt8",function(){return 1},4]),G.prototype.fieldSpec.push(["ipv4_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["ipv6_address","array","writeUInt8",function(){return 1},16]),G.prototype.fieldSpec.push(["ipv6_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["interface_name","string",16]),G.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var A=function(e,t){return p.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="NetworkUsage",A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint64("duration").uint64("total_bytes").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["duration","writeUInt64LE",8]),A.prototype.fieldSpec.push(["total_bytes","writeUInt64LE",8]),A.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["interface_name","string",16]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",R.prototype.msg_type=189,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_CELL_MODEM_STATUS",C.prototype.msg_type=190,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),C.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),C.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN_DEP",P.prototype.msg_type=80,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:a.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),P.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),P.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN",N.prototype.msg_type=81,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:n.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),N.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_FRONT_END_GAIN",j.prototype.msg_type=191,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").array("rf_gain",{length:8,type:"int8"}).array("if_gain",{length:8,type:"int8"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["rf_gain","array","writeInt8",function(){return 1},8]),j.prototype.fieldSpec.push(["if_gain","array","writeInt8",function(){return 1},8]),e.exports={105:l,MsgAlmanac:l,104:c,MsgSetTime:c,182:u,MsgReset:u,178:y,MsgResetDep:y,192:h,MsgCwResults:h,193:f,MsgCwStart:f,34:d,MsgResetFilters:d,35:_,MsgInitBaseDep:_,23:S,MsgThreadState:S,UARTChannel:g,Period:w,Latency:E,29:m,MsgUartState:m,24:b,MsgUartStateDepa:b,25:v,MsgIarState:v,43:L,MsgMaskSatellite:L,27:I,MsgMaskSatelliteDep:I,181:T,MsgDeviceMonitor:T,184:M,MsgCommandReq:M,185:U,MsgCommandResp:U,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:R,MsgNetworkBandwidthUsage:R,190:C,MsgCellModemStatus:C,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_SBAS_RAW",s.prototype.msg_type=30583,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint32("tow").uint8("message_type").array("data",{length:27,type:"uint8"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["message_type","writeUInt8",1]),s.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},27]),e.exports={30583:s,MsgSbasRaw:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE",s.prototype.msg_type=160,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["setting","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE_RESP",n.prototype.msg_type=175,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["status","writeUInt8",1]),n.prototype.fieldSpec.push(["setting","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_REQ",a.prototype.msg_type=164,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["setting","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_RESP",l.prototype.msg_type=165,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["setting","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",c.prototype.msg_type=162,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("index"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["index","writeUInt16LE",2]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",u.prototype.msg_type=167,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("index").string("setting",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt16LE",2]),u.prototype.fieldSpec.push(["setting","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",y.prototype.msg_type=166,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER",h.prototype.msg_type=174,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["setting","string",null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER_RESP",f.prototype.msg_type=431,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","writeUInt8",1]),f.prototype.fieldSpec.push(["setting","string",null]),e.exports={161:i,MsgSettingsSave:i,160:s,MsgSettingsWrite:s,175:n,MsgSettingsWriteResp:n,164:a,MsgSettingsReadReq:a,165:l,MsgSettingsReadResp:l,162:c,MsgSettingsReadByIndexReq:c,167:u,MsgSettingsReadByIndexResp:u,166:y,MsgSettingsReadByIndexDone:y,174:h,MsgSettingsRegister:h,431:f,MsgSettingsRegisterResp:f}},function(e,t,r){var p=r(2),o=r(13).Parser,i=function(e){return p.call(this,e),this.messageType="SBPSignal",this.fields=this.parser.parse(e.payload),this};(i.prototype=Object.create(p.prototype)).constructor=i,i.prototype.parser=(new o).endianess("little").uint16("sat").uint8("band").uint8("constellation"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sat","writeUInt16LE",2]),i.prototype.fieldSpec.push(["band","writeUInt8",1]),i.prototype.fieldSpec.push(["constellation","writeUInt8",1]),e.exports={SBPSignal:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec),n=(r(0).GPSTimeDep,r(0).SvId),a=function(e,t){return p.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="CodeBiasesContent",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("code").int16("value"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["code","writeUInt8",1]),a.prototype.fieldSpec.push(["value","writeInt16LE",2]);var l=function(e,t){return p.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="PhaseBiasesContent",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("code").uint8("integer_indicator").uint8("widelane_integer_indicator").uint8("discontinuity_counter").int32("bias"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["code","writeUInt8",1]),l.prototype.fieldSpec.push(["integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["widelane_integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["discontinuity_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["bias","writeInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),c.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),c.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),c.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),u.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),u.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),u.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),u.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="STECSatElement",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).uint8("stec_quality_indicator").array("stec_coeff",{length:4,type:"int16le"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["stec_quality_indicator","writeUInt8",1]),y.prototype.fieldSpec.push(["stec_coeff","array","writeInt16LE",function(){return 2},4]);var h=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrectionNoStd",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),h.prototype.fieldSpec.push(["wet","writeInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrection",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet").uint8("stddev"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),f.prototype.fieldSpec.push(["wet","writeInt8",1]),f.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="STECResidualNoStd",d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),d.prototype.fieldSpec.push(["residual","writeInt16LE",2]);var _=function(e,t){return p.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="STECResidual",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual").uint8("stddev"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),_.prototype.fieldSpec.push(["residual","writeInt16LE",2]),_.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="GridElementNoStd",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="GridElementNoStd",S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["index","writeUInt16LE",2]),S.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),S.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);var g=function(e,t){return p.call(this,e),this.messageType="GridElement",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="GridElement",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["index","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),g.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);var w=function(e,t){return p.call(this,e),this.messageType="GridDefinitionHeader",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="GridDefinitionHeader",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("region_size_inverse").uint16("area_width").uint16("lat_nw_corner_enc").uint16("lon_nw_corner_enc").uint8("num_msgs").uint8("seq_num"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),w.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),w.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),w.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),w.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),w.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",E.prototype.msg_type=1501,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint32("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),E.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),E.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),E.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),E.prototype.fieldSpec.push(["radial","writeInt32LE",4]),E.prototype.fieldSpec.push(["along","writeInt32LE",4]),E.prototype.fieldSpec.push(["cross","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),E.prototype.fieldSpec.push(["c0","writeInt32LE",4]),E.prototype.fieldSpec.push(["c1","writeInt32LE",4]),E.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",m.prototype.msg_type=1500,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),m.prototype.fieldSpec.push(["iod","writeUInt8",1]),m.prototype.fieldSpec.push(["radial","writeInt32LE",4]),m.prototype.fieldSpec.push(["along","writeInt32LE",4]),m.prototype.fieldSpec.push(["cross","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),m.prototype.fieldSpec.push(["c0","writeInt32LE",4]),m.prototype.fieldSpec.push(["c1","writeInt32LE",4]),m.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_SSR_CODE_BIASES",b.prototype.msg_type=1505,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").array("biases",{type:a.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),b.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),b.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),b.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),b.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_SSR_PHASE_BIASES",v.prototype.msg_type=1510,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("dispersive_bias").uint8("mw_consistency").uint16("yaw").int8("yaw_rate").array("biases",{type:l.prototype.parser,readUntil:"eof"}),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),v.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),v.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),v.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),v.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),v.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),v.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),v.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_SSR_STEC_CORRECTION",L.prototype.msg_type=1515,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),L.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD",I.prototype.msg_type=1520,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:S.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),I.prototype.fieldSpec.push(["element",S.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",T.prototype.msg_type=1530,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:g.prototype.parser}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),T.prototype.fieldSpec.push(["element",g.prototype.fieldSpec]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRID_DEFINITION",M.prototype.msg_type=1525,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("header",{type:w.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["header",w.prototype.fieldSpec]),M.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:h,TroposphericDelayCorrection:f,STECResidualNoStd:d,STECResidual:_,GridElementNoStd:S,GridElement:g,GridDefinitionHeader:w,1501:E,MsgSsrOrbitClock:E,1500:m,MsgSsrOrbitClockDepA:m,1505:b,MsgSsrCodeBiases:b,1510:v,MsgSsrPhaseBiases:v,1515:L,MsgSsrStecCorrection:L,1520:I,MsgSsrGriddedCorrectionNoStd:I,1530:T,MsgSsrGriddedCorrection:T,1525:M,MsgSsrGridDefinition:M}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_STARTUP",i.prototype.msg_type=65280,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("cause").uint8("startup_type").uint16("reserved"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["cause","writeUInt8",1]),i.prototype.fieldSpec.push(["startup_type","writeUInt8",1]),i.prototype.fieldSpec.push(["reserved","writeUInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_DGNSS_STATUS",s.prototype.msg_type=65282,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint16("latency").uint8("num_signals").string("source",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["latency","writeUInt16LE",2]),s.prototype.fieldSpec.push(["num_signals","writeUInt8",1]),s.prototype.fieldSpec.push(["source","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_HEARTBEAT",n.prototype.msg_type=65535,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_INS_STATUS",a.prototype.msg_type=65283,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY",l.prototype.msg_type=65284,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["id","writeUInt8",1]),l.prototype.fieldSpec.push(["telemetry","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",c.prototype.msg_type=65285,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["id","writeUInt8",1]),c.prototype.fieldSpec.push(["telemetry_labels","string",null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_INS_UPDATES",u.prototype.msg_type=65286,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),u.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),u.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),u.prototype.fieldSpec.push(["speed","writeUInt8",1]),u.prototype.fieldSpec.push(["nhc","writeUInt8",1]),u.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_TIME_OFFSET",y.prototype.msg_type=65287,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),y.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),y.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_META",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_META",h.prototype.msg_type=65290,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tom").int32("ns_residual").uint8("flags").array("group_msgs",{type:"uint16",readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),h.prototype.fieldSpec.push(["tom","writeUInt32LE",4]),h.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["group_msgs","array","writeUInt16LE",function(){return 2},null]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,65283:a,MsgInsStatus:a,65284:l,MsgCsacTelemetry:l,65285:c,MsgCsacTelemetryLabels:c,65286:u,MsgInsUpdates:u,65287:y,MsgGnssTimeOffset:y,65290:h,MsgGroupMeta:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),c=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",c.prototype.msg_type=33,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:n.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:i.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),c.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),c.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),c.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),c.prototype.fieldSpec.push(["acceleration","writeInt8",1]),c.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP",u.prototype.msg_type=17,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:l.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),u.prototype.fieldSpec.push(["tot",l.prototype.fieldSpec]),u.prototype.fieldSpec.push(["P","writeUInt32LE",4]),u.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),u.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),u.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),u.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),u.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),u.prototype.fieldSpec.push(["acceleration","writeInt8",1]),u.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE",h.prototype.msg_type=65,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("states",{type:y.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["states","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MeasurementState",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("mesid",{type:i.prototype.parser}).uint8("cn0"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["mesid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_MEASUREMENT_STATE",d.prototype.msg_type=97,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").array("states",{type:f.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["states","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelation",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("I").int16("Q"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["I","writeInt16LE",2]),_.prototype.fieldSpec.push(["Q","writeInt16LE",2]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ",S.prototype.msg_type=45,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);var g=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelationDep",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").int32("I").int32("Q"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["I","writeInt32LE",4]),g.prototype.fieldSpec.push(["Q","writeInt32LE",4]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_B",w.prototype.msg_type=44,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["channel","writeUInt8",1]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_A",E.prototype.msg_type=28,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["channel","writeUInt8",1]),E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var m=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepA",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint8("state").uint8("prn").floatle("cn0"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["state","writeUInt8",1]),m.prototype.fieldSpec.push(["prn","writeUInt8",1]),m.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_A",b.prototype.msg_type=22,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").array("states",{type:m.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["states","array",m.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepB",v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:s.prototype.parser}).floatle("cn0"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["state","writeUInt8",1]),v.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",L.prototype.msg_type=19,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").array("states",{type:v.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",v.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={33:c,MsgTrackingStateDetailedDepA:c,17:u,MsgTrackingStateDetailedDep:u,TrackingChannelState:y,65:h,MsgTrackingState:h,MeasurementState:f,97:d,MsgMeasurementState:d,TrackingChannelCorrelation:_,45:S,MsgTrackingIq:S,TrackingChannelCorrelationDep:g,44:w,MsgTrackingIqDepB:w,28:E,MsgTrackingIqDepA:E,TrackingChannelStateDepA:m,22:b,MsgTrackingStateDepA:b,TrackingChannelStateDepB:v,19:L,MsgTrackingStateDepB:L}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_USER_DATA",i.prototype.msg_type=2048,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("contents",{type:"uint8",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]),e.exports={2048:i,MsgUserData:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_ODOMETRY",i.prototype.msg_type=2307,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").int32("velocity").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["velocity","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_WHEELTICK",s.prototype.msg_type=2308,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags").uint8("source").int32("ticks"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["ticks","writeInt32LE",4]),e.exports={2307:i,MsgOdometry:i,2308:s,MsgWheeltick:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING",i.prototype.msg_type=527,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),i.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_QUAT",s.prototype.msg_type=544,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("tow").int32("w").int32("x").int32("y").int32("z").floatle("w_accuracy").floatle("x_accuracy").floatle("y_accuracy").floatle("z_accuracy").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["w","writeInt32LE",4]),s.prototype.fieldSpec.push(["x","writeInt32LE",4]),s.prototype.fieldSpec.push(["y","writeInt32LE",4]),s.prototype.fieldSpec.push(["z","writeInt32LE",4]),s.prototype.fieldSpec.push(["w_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["x_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["y_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["z_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_EULER",n.prototype.msg_type=545,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").int32("roll").int32("pitch").int32("yaw").floatle("roll_accuracy").floatle("pitch_accuracy").floatle("yaw_accuracy").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["roll","writeInt32LE",4]),n.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),n.prototype.fieldSpec.push(["yaw","writeInt32LE",4]),n.prototype.fieldSpec.push(["roll_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["pitch_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["yaw_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ANGULAR_RATE",a.prototype.msg_type=546,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeInt32LE",4]),a.prototype.fieldSpec.push(["y","writeInt32LE",4]),a.prototype.fieldSpec.push(["z","writeInt32LE",4]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={527:i,MsgBaselineHeading:i,544:s,MsgOrientQuat:s,545:n,MsgOrientEuler:n,546:a,MsgAngularRate:a}}]); \ No newline at end of file diff --git a/javascript/sbp/system.js b/javascript/sbp/system.js index a23d97f967..b81587f1bf 100644 --- a/javascript/sbp/system.js +++ b/javascript/sbp/system.js @@ -305,6 +305,47 @@ MsgGnssTimeOffset.prototype.fieldSpec.push(['milliseconds', 'writeInt32LE', 4]); MsgGnssTimeOffset.prototype.fieldSpec.push(['microseconds', 'writeInt16LE', 2]); MsgGnssTimeOffset.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); +/** + * SBP class for message MSG_GROUP_META (0xFF0A). + * + * This leading message lists the time metadata of the Solution Group. It also + * lists the atomic contents (i.e. types of messages included) of the Solution + * Group. + * + * Fields in the SBP payload (`sbp.payload`): + * @field wn number (unsigned 16-bit int, 2 bytes) GPS Week Number or zero if Reference epoch is not GPS + * @field tom number (unsigned 32-bit int, 4 bytes) Time of Measurement in Milliseconds since reference epoch + * @field ns_residual number (signed 32-bit int, 4 bytes) Nanosecond residual of millisecond-rounded TOM (ranges from -500000 to 500000) + * @field flags number (unsigned 8-bit int, 1 byte) Status flags (reserved) + * @field group_msgs array An inorder list of message types included in the Solution Group + * + * @param sbp An SBP object with a payload to be decoded. + */ +var MsgGroupMeta = function (sbp, fields) { + SBP.call(this, sbp); + this.messageType = "MSG_GROUP_META"; + this.fields = (fields || this.parser.parse(sbp.payload)); + + return this; +}; +MsgGroupMeta.prototype = Object.create(SBP.prototype); +MsgGroupMeta.prototype.messageType = "MSG_GROUP_META"; +MsgGroupMeta.prototype.msg_type = 0xFF0A; +MsgGroupMeta.prototype.constructor = MsgGroupMeta; +MsgGroupMeta.prototype.parser = new Parser() + .endianess('little') + .uint16('wn') + .uint32('tom') + .int32('ns_residual') + .uint8('flags') + .array('group_msgs', { type: 'uint16', readUntil: 'eof' }); +MsgGroupMeta.prototype.fieldSpec = []; +MsgGroupMeta.prototype.fieldSpec.push(['wn', 'writeUInt16LE', 2]); +MsgGroupMeta.prototype.fieldSpec.push(['tom', 'writeUInt32LE', 4]); +MsgGroupMeta.prototype.fieldSpec.push(['ns_residual', 'writeInt32LE', 4]); +MsgGroupMeta.prototype.fieldSpec.push(['flags', 'writeUInt8', 1]); +MsgGroupMeta.prototype.fieldSpec.push(['group_msgs', 'array', 'writeUInt16LE', function () { return 2; }, null]); + module.exports = { 0xFF00: MsgStartup, MsgStartup: MsgStartup, @@ -322,4 +363,6 @@ module.exports = { MsgInsUpdates: MsgInsUpdates, 0xFF07: MsgGnssTimeOffset, MsgGnssTimeOffset: MsgGnssTimeOffset, + 0xFF0A: MsgGroupMeta, + MsgGroupMeta: MsgGroupMeta, } \ No newline at end of file diff --git a/proto/system.proto b/proto/system.proto index 7294e9e932..2415898db5 100644 --- a/proto/system.proto +++ b/proto/system.proto @@ -119,4 +119,17 @@ message MsgGnssTimeOffset { sint32 milliseconds = 2; sint32 microseconds = 3; uint32 flags = 4; +} + +/** Solution Group Metadata + * + * This leading message lists the time metadata of the Solution Group. + * It also lists the atomic contents (i.e. types of messages included) of the Solution Group. + */ +message MsgGroupMeta { + uint32 wn = 1; + uint32 tom = 2; + sint32 ns_residual = 3; + uint32 flags = 4; + repeated uint32 group_msgs = 5; } \ No newline at end of file diff --git a/python/sbp/jit/system.py b/python/sbp/jit/system.py index 8f4c0c5192..ddc5f7bd3b 100644 --- a/python/sbp/jit/system.py +++ b/python/sbp/jit/system.py @@ -353,6 +353,53 @@ def _unpack_members(self, buf, offset, length): return res, off, length +SBP_MSG_GROUP_META = 0xFF0A +class MsgGroupMeta(SBP): + """SBP class for message MSG_GROUP_META (0xFF0A). + + You can have MSG_GROUP_META inherit its fields directly + from an inherited SBP object, or construct it inline using a dict + of its fields. + + + This leading message lists the time metadata of the Solution Group. +It also lists the atomic contents (i.e. types of messages included) of the Solution Group. + + + """ + __slots__ = ['wn', + 'tom', + 'ns_residual', + 'flags', + 'group_msgs', + ] + @classmethod + def parse_members(cls, buf, offset, length): + ret = {} + (__wn, offset, length) = get_u16(buf, offset, length) + ret['wn'] = __wn + (__tom, offset, length) = get_u32(buf, offset, length) + ret['tom'] = __tom + (__ns_residual, offset, length) = get_s32(buf, offset, length) + ret['ns_residual'] = __ns_residual + (__flags, offset, length) = get_u8(buf, offset, length) + ret['flags'] = __flags + (__group_msgs, offset, length) = get_array(get_u16)(buf, offset, length) + ret['group_msgs'] = __group_msgs + return ret, offset, length + + def _unpack_members(self, buf, offset, length): + res, off, length = self.parse_members(buf, offset, length) + if off == offset: + return {}, offset, length + self.wn = res['wn'] + self.tom = res['tom'] + self.ns_residual = res['ns_residual'] + self.flags = res['flags'] + self.group_msgs = res['group_msgs'] + return res, off, length + + msg_classes = { 0xFF00: MsgStartup, @@ -363,4 +410,5 @@ def _unpack_members(self, buf, offset, length): 0xFF05: MsgCsacTelemetryLabels, 0xFF06: MsgInsUpdates, 0xFF07: MsgGnssTimeOffset, + 0xFF0A: MsgGroupMeta, } \ No newline at end of file diff --git a/python/sbp/system.py b/python/sbp/system.py index b75466f5ee..b49d30f080 100644 --- a/python/sbp/system.py +++ b/python/sbp/system.py @@ -847,6 +847,119 @@ def to_json_dict(self): d.update(j) return d +SBP_MSG_GROUP_META = 0xFF0A +class MsgGroupMeta(SBP): + """SBP class for message MSG_GROUP_META (0xFF0A). + + You can have MSG_GROUP_META inherit its fields directly + from an inherited SBP object, or construct it inline using a dict + of its fields. + + + This leading message lists the time metadata of the Solution Group. +It also lists the atomic contents (i.e. types of messages included) of the Solution Group. + + + Parameters + ---------- + sbp : SBP + SBP parent object to inherit from. + wn : int + GPS Week Number or zero if Reference epoch is not GPS + tom : int + Time of Measurement in Milliseconds since reference epoch + ns_residual : int + Nanosecond residual of millisecond-rounded TOM (ranges +from -500000 to 500000) + + flags : int + Status flags (reserved) + group_msgs : array + An inorder list of message types included in the Solution Group + sender : int + Optional sender ID, defaults to SENDER_ID (see sbp/msg.py). + + """ + _parser = construct.Struct( + 'wn' / construct.Int16ul, + 'tom' / construct.Int32ul, + 'ns_residual' / construct.Int32sl, + 'flags' / construct.Int8ul, + construct.GreedyRange('group_msgs' / construct.Int16ul),) + __slots__ = [ + 'wn', + 'tom', + 'ns_residual', + 'flags', + 'group_msgs', + ] + + def __init__(self, sbp=None, **kwargs): + if sbp: + super( MsgGroupMeta, + self).__init__(sbp.msg_type, sbp.sender, sbp.length, + sbp.payload, sbp.crc) + self.from_binary(sbp.payload) + else: + super( MsgGroupMeta, self).__init__() + self.msg_type = SBP_MSG_GROUP_META + self.sender = kwargs.pop('sender', SENDER_ID) + self.wn = kwargs.pop('wn') + self.tom = kwargs.pop('tom') + self.ns_residual = kwargs.pop('ns_residual') + self.flags = kwargs.pop('flags') + self.group_msgs = kwargs.pop('group_msgs') + + def __repr__(self): + return fmt_repr(self) + + @staticmethod + def from_json(s): + """Given a JSON-encoded string s, build a message object. + + """ + d = json.loads(s) + return MsgGroupMeta.from_json_dict(d) + + @staticmethod + def from_json_dict(d): + sbp = SBP.from_json_dict(d) + return MsgGroupMeta(sbp, **d) + + + def from_binary(self, d): + """Given a binary payload d, update the appropriate payload fields of + the message. + + """ + p = MsgGroupMeta._parser.parse(d) + for n in self.__class__.__slots__: + setattr(self, n, getattr(p, n)) + + def to_binary(self): + """Produce a framed/packed SBP message. + + """ + c = containerize(exclude_fields(self)) + self.payload = MsgGroupMeta._parser.build(c) + return self.pack() + + def into_buffer(self, buf, offset): + """Produce a framed/packed SBP message into the provided buffer and offset. + + """ + self.payload = containerize(exclude_fields(self)) + self.parser = MsgGroupMeta._parser + self.stream_payload.reset(buf, offset) + return self.pack_into(buf, offset, self._build_payload) + + def to_json_dict(self): + self.to_binary() + d = super( MsgGroupMeta, self).to_json_dict() + j = walk_json_dict(exclude_fields(self)) + d.update(j) + return d + msg_classes = { 0xFF00: MsgStartup, @@ -857,4 +970,5 @@ def to_json_dict(self): 0xFF05: MsgCsacTelemetryLabels, 0xFF06: MsgInsUpdates, 0xFF07: MsgGnssTimeOffset, + 0xFF0A: MsgGroupMeta, } \ No newline at end of file diff --git a/rust/sbp/src/messages/mod.rs b/rust/sbp/src/messages/mod.rs index 2a9c15fa2f..1412dda733 100644 --- a/rust/sbp/src/messages/mod.rs +++ b/rust/sbp/src/messages/mod.rs @@ -200,6 +200,7 @@ use self::system::MsgCsacTelemetry; use self::system::MsgCsacTelemetryLabels; use self::system::MsgDgnssStatus; use self::system::MsgGnssTimeOffset; +use self::system::MsgGroupMeta; use self::system::MsgHeartbeat; use self::system::MsgInsStatus; use self::system::MsgInsUpdates; @@ -418,6 +419,7 @@ pub enum SBP { MsgCsacTelemetryLabels(MsgCsacTelemetryLabels), MsgInsUpdates(MsgInsUpdates), MsgGnssTimeOffset(MsgGnssTimeOffset), + MsgGroupMeta(MsgGroupMeta), MsgHeartbeat(MsgHeartbeat), Unknown(Unknown), } @@ -1350,6 +1352,11 @@ impl SBP { msg.set_sender_id(sender_id); Ok(SBP::MsgGnssTimeOffset(msg)) } + 65290 => { + let mut msg = MsgGroupMeta::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgGroupMeta(msg)) + } 65535 => { let mut msg = MsgHeartbeat::parse(payload)?; msg.set_sender_id(sender_id); @@ -1554,6 +1561,7 @@ impl SBP { SBP::MsgCsacTelemetryLabels(msg) => msg, SBP::MsgInsUpdates(msg) => msg, SBP::MsgGnssTimeOffset(msg) => msg, + SBP::MsgGroupMeta(msg) => msg, SBP::MsgHeartbeat(msg) => msg, SBP::Unknown(msg) => msg, } diff --git a/rust/sbp/src/messages/system.rs b/rust/sbp/src/messages/system.rs index 3d6ef7afd0..71078198a6 100644 --- a/rust/sbp/src/messages/system.rs +++ b/rust/sbp/src/messages/system.rs @@ -289,6 +289,82 @@ impl crate::serialize::SbpSerialize for MsgGnssTimeOffset { } } +/// Solution Group Metadata +/// +/// This leading message lists the time metadata of the Solution Group. +/// It also lists the atomic contents (i.e. types of messages included) of the Solution Group. +/// +#[cfg_attr(feature = "sbp_serde", derive(Serialize, Deserialize))] +#[derive(Debug, Clone)] +#[allow(non_snake_case)] +pub struct MsgGroupMeta { + pub sender_id: Option, + /// GPS Week Number or zero if Reference epoch is not GPS + pub wn: u16, + /// Time of Measurement in Milliseconds since reference epoch + pub tom: u32, + /// Nanosecond residual of millisecond-rounded TOM (ranges from -500000 to + /// 500000) + pub ns_residual: i32, + /// Status flags (reserved) + pub flags: u8, + /// An inorder list of message types included in the Solution Group + pub group_msgs: Vec, +} + +impl MsgGroupMeta { + #[rustfmt::skip] + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok( MsgGroupMeta{ + sender_id: None, + wn: _buf.read_u16::()?, + tom: _buf.read_u32::()?, + ns_residual: _buf.read_i32::()?, + flags: _buf.read_u8()?, + group_msgs: crate::parser::read_u16_array(_buf)?, + } ) + } +} +impl super::SBPMessage for MsgGroupMeta { + fn get_message_type(&self) -> u16 { + 65290 + } + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } + + fn to_frame(&self) -> std::result::Result, crate::framer::FramerError> { + let trait_object = self as &dyn super::SBPMessage; + crate::framer::to_frame(trait_object) + } +} + +impl crate::serialize::SbpSerialize for MsgGroupMeta { + #[allow(unused_variables)] + fn append_to_sbp_buffer(&self, buf: &mut Vec) { + self.wn.append_to_sbp_buffer(buf); + self.tom.append_to_sbp_buffer(buf); + self.ns_residual.append_to_sbp_buffer(buf); + self.flags.append_to_sbp_buffer(buf); + self.group_msgs.append_to_sbp_buffer(buf); + } + + fn sbp_size(&self) -> usize { + let mut size = 0; + size += self.wn.sbp_size(); + size += self.tom.sbp_size(); + size += self.ns_residual.sbp_size(); + size += self.flags.sbp_size(); + size += self.group_msgs.sbp_size(); + size + } +} + /// System heartbeat message /// /// The heartbeat message is sent periodically to inform the host From 28b9568dd1fac946f6779551624d5fb3f9f68124 Mon Sep 17 00:00:00 2001 From: Guillaume Decerprit Date: Tue, 21 Jul 2020 13:23:56 -0700 Subject: [PATCH 6/9] Merge new javascript parser and generator for u16 arrays from json branch --- generator/sbpg/targets/javascript.py | 7 ++++--- javascript/sbp/parser.js | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/generator/sbpg/targets/javascript.py b/generator/sbpg/targets/javascript.py index a1aa21d748..114077131f 100644 --- a/generator/sbpg/targets/javascript.py +++ b/generator/sbpg/targets/javascript.py @@ -139,15 +139,16 @@ def construct_format(f, type_map=CONSTRUCT_CODE): field_type = "%s.prototype.parser" % f_.type_id else: field_type = "'%s'" % field_type + d = { "'uint16'" : "'uint16le'", "'uint32'" : "'uint32le'", "'uint64'" : "'uint16le'", + "'int16'" : "'int16le'", "'int32'" : "'int32le'", "'int64'" : "'int16le'" } if size is not None: - d = { "'uint16'" : "'uint16le'", "'uint32'" : "'uint32le'", "'uint64'" : "'uint16le'", - "'int16'" : "'int16le'", "'int32'" : "'int32le'", "'int64'" : "'int16le'" } field_type_arr = d.get(field_type, field_type) return "array('%s', { length: %d, type: %s })" % (f.identifier, size.value, field_type_arr) elif f.options.get('size_fn') is not None: return "array('%s', { type: %s, length: '%s' })" % (f_.identifier, field_type, size_fn.value) else: - return "array('%s', { type: %s, readUntil: 'eof' })" % (f_.identifier, field_type) + field_type_arr = d.get(field_type, field_type) + return "array('%s', { type: %s, readUntil: 'eof' })" % (f_.identifier, field_type_arr) else: return "nest('%s', { type: %s.prototype.parser })" % (f.identifier, f.type_id) return formatted diff --git a/javascript/sbp/parser.js b/javascript/sbp/parser.js index 1d8c1ce41c..3bbc35a74d 100644 --- a/javascript/sbp/parser.js +++ b/javascript/sbp/parser.js @@ -16,7 +16,7 @@ var Parser = require('binary-parser').Parser; */ Parser.prototype.uint64 = function uint64 (fieldName, options) { return this.setNextParser('uint64', fieldName, Object.assign({}, options, { - formatter: function (recv_time) { + formatter: function (_recv_time) { var UInt64 = require('cuint').UINT64; var low = buffer.readUInt32LE(offset); offset += 4; From 3ee5dd9dc19f9ed4b9060818d85ed237d17053b9 Mon Sep 17 00:00:00 2001 From: Guillaume Decerprit Date: Tue, 21 Jul 2020 13:24:26 -0700 Subject: [PATCH 7/9] Update javascript bindings to support new u16 array type --- javascript/sbp.bundle.js | 2 +- javascript/sbp/system.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/javascript/sbp.bundle.js b/javascript/sbp.bundle.js index fc3f0d864a..f86b554aa6 100644 --- a/javascript/sbp.bundle.js +++ b/javascript/sbp.bundle.js @@ -12,4 +12,4 @@ var p=r(24),o=r(25),i=r(17);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647 * @author Feross Aboukhadijeh * @license MIT */ -function p(e,t){if(e===t)return 0;for(var r=e.length,p=t.length,o=0,i=Math.min(r,p);o=0;l--)if(c[l]!==u[l])return!1;for(l=c.length-1;l>=0;l--)if(a=c[l],!g(e[a],t[a],r,p))return!1;return!0}(e,t,r,s))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function E(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function m(e,t,r,p){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(p=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),p=(r&&r.name?" ("+r.name+").":".")+(p?" "+p:"."),e&&!o&&_(o,r,"Missing expected exception"+p);var s="string"==typeof p,n=!e&&o&&!r;if((!e&&i.isError(o)&&s&&E(o,r)||n)&&_(o,r,"Got unwanted exception"+p),e&&o&&r&&!E(o,r)||!e&&o)throw o}u.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return f(d(e.actual),128)+" "+e.operator+" "+f(d(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||_;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var p=r.stack,o=h(t),i=p.indexOf("\n"+o);if(i>=0){var s=p.indexOf("\n",i+1);p=p.substring(s+1)}this.stack=p}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,r){e!=t&&_(e,t,r,"==",u.equal)},u.notEqual=function(e,t,r){e==t&&_(e,t,r,"!=",u.notEqual)},u.deepEqual=function(e,t,r){g(e,t,!1)||_(e,t,r,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,r){g(e,t,!0)||_(e,t,r,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,r){g(e,t,!1)&&_(e,t,r,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,r,p){g(t,r,!0)&&_(t,r,p,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,r){e!==t&&_(e,t,r,"===",u.strictEqual)},u.notStrictEqual=function(e,t,r){e===t&&_(e,t,r,"!==",u.notStrictEqual)},u.throws=function(e,t,r){m(!0,e,t,r)},u.doesNotThrow=function(e,t,r){m(!1,e,t,r)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var r in e)s.call(e,r)&&t.push(r);return t}}).call(this,r(5))},function(e,t,r){(function(e,p){var o=/%[sdj%]/g;t.format=function(e){if(!S(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(p[r++]);case"%d":return Number(p[r++]);case"%j":try{return JSON.stringify(p[r++])}catch(e){return"[Circular]"}default:return e}})),a=p[r];r=3&&(p.depth=arguments[2]),arguments.length>=4&&(p.colors=arguments[3]),f(r)?p.showHidden=r:r&&t._extend(p,r),g(p.showHidden)&&(p.showHidden=!1),g(p.depth)&&(p.depth=2),g(p.colors)&&(p.colors=!1),g(p.customInspect)&&(p.customInspect=!0),p.colors&&(p.stylize=a),c(p,e,p.depth)}function a(e,t){var r=n.styles[t];return r?"["+n.colors[r][0]+"m"+e+"["+n.colors[r][1]+"m":e}function l(e,t){return e}function c(e,r,p){if(e.customInspect&&r&&v(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(p,e);return S(o)||(o=c(e,o,p)),o}var i=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(S(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(_(t))return e.stylize(""+t,"number");if(f(t))return e.stylize(""+t,"boolean");if(d(t))return e.stylize("null","null")}(e,r);if(i)return i;var s=Object.keys(r),n=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(r)),b(r)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(r);if(0===s.length){if(v(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(m(r))return e.stylize(Date.prototype.toString.call(r),"date");if(b(r))return u(r)}var l,E="",L=!1,I=["{","}"];(h(r)&&(L=!0,I=["[","]"]),v(r))&&(E=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(E=" "+RegExp.prototype.toString.call(r)),m(r)&&(E=" "+Date.prototype.toUTCString.call(r)),b(r)&&(E=" "+u(r)),0!==s.length||L&&0!=r.length?p<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),l=L?function(e,t,r,p,o){for(var i=[],s=0,n=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(l,E,I)):I[0]+E+I[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,p,o,i){var s,n,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?n=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(n=e.stylize("[Setter]","special")),U(p,o)||(s="["+o+"]"),n||(e.seen.indexOf(a.value)<0?(n=d(r)?c(e,a.value,null):c(e,a.value,r-1)).indexOf("\n")>-1&&(n=i?n.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+n.split("\n").map((function(e){return" "+e})).join("\n")):n=e.stylize("[Circular]","special")),g(s)){if(i&&o.match(/^\d+$/))return n;(s=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+n}function h(e){return Array.isArray(e)}function f(e){return"boolean"==typeof e}function d(e){return null===e}function _(e){return"number"==typeof e}function S(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return E(e)&&"[object RegExp]"===L(e)}function E(e){return"object"==typeof e&&null!==e}function m(e){return E(e)&&"[object Date]"===L(e)}function b(e){return E(e)&&("[object Error]"===L(e)||e instanceof Error)}function v(e){return"function"==typeof e}function L(e){return Object.prototype.toString.call(e)}function I(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(i)&&(i=p.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=p.pid;s[e]=function(){var p=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,p)}}else s[e]=function(){};return s[e]},t.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=f,t.isNull=d,t.isNullOrUndefined=function(e){return null==e},t.isNumber=_,t.isString=S,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=g,t.isRegExp=w,t.isObject=E,t.isDate=m,t.isError=b,t.isFunction=v,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(43);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(){var e=new Date,t=[I(e.getHours()),I(e.getMinutes()),I(e.getSeconds())].join(":");return[e.getDate(),T[e.getMonth()],t].join(" ")}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",M(),t.format.apply(t,arguments))},t.inherits=r(6),t._extend=function(e,t){if(!t||!E(t))return e;for(var r=Object.keys(t),p=r.length;p--;)e[r[p]]=t[r[p]];return e}}).call(this,r(5),r(9))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,r){var p;!function(r){o(Math.pow(36,5)),o(Math.pow(16,7)),o(Math.pow(10,9)),o(Math.pow(2,30)),o(36),o(16),o(10),o(2);function o(e,t){return this instanceof o?(this._low=0,this._high=0,this.remainder=null,void 0===t?s.call(this,e):"string"==typeof e?n.call(this,e,t):void i.call(this,e,t)):new o(e,t)}function i(e,t){return this._low=0|e,this._high=0|t,this}function s(e){return this._low=65535&e,this._high=e>>>16,this}function n(e,t){var r=parseInt(e,t||10);return this._low=65535&r,this._high=r>>>16,this}o.prototype.fromBits=i,o.prototype.fromNumber=s,o.prototype.fromString=n,o.prototype.toNumber=function(){return 65536*this._high+this._low},o.prototype.toString=function(e){return this.toNumber().toString(e||10)},o.prototype.add=function(e){var t=this._low+e._low,r=t>>>16;return r+=this._high+e._high,this._low=65535&t,this._high=65535&r,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,r,p=this._high,o=this._low,i=e._high,s=e._low;return t=(r=o*s)>>>16,t+=p*s,t&=65535,t+=o*i,this._low=65535&r,this._high=65535&t,this},o.prototype.div=function(e){if(0==e._low&&0==e._high)throw Error("division by zero");if(0==e._high&&1==e._low)return this.remainder=new o(0),this;if(e.gt(this))return this.remainder=this.clone(),this._low=0,this._high=0,this;if(this.eq(e))return this.remainder=new o(0),this._low=1,this._high=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._low=0,this._high=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=16?this._high|=1<>>16)&65535,this},o.prototype.equals=o.prototype.eq=function(e){return this._low==e._low&&this._high==e._high},o.prototype.greaterThan=o.prototype.gt=function(e){return this._high>e._high||!(this._highe._low},o.prototype.lessThan=o.prototype.lt=function(e){return this._highe._high)&&this._low16?(this._low=this._high>>e-16,this._high=0):16==e?(this._low=this._high,this._high=0):(this._low=this._low>>e|this._high<<16-e&65535,this._high>>=e),this},o.prototype.shiftLeft=o.prototype.shiftl=function(e,t){return e>16?(this._high=this._low<>16-e,this._low=this._low<>>32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.rotateRight=o.prototype.rotr=function(e){var t=this._high<<16|this._low;return t=t>>>e|t<<32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.clone=function(){return new o(this._low,this._high)},void 0===(p=function(){return o}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p;!function(r){var o={16:s(Math.pow(16,5)),10:s(Math.pow(10,5)),2:s(Math.pow(2,5))},i={16:s(16),10:s(10),2:s(2)};function s(e,t,r,p){return this instanceof s?(this.remainder=null,"string"==typeof e?l.call(this,e,t):void 0===t?a.call(this,e):void n.apply(this,arguments)):new s(e,t,r,p)}function n(e,t,r,p){return void 0===r?(this._a00=65535&e,this._a16=e>>>16,this._a32=65535&t,this._a48=t>>>16,this):(this._a00=0|e,this._a16=0|t,this._a32=0|r,this._a48=0|p,this)}function a(e){return this._a00=65535&e,this._a16=e>>>16,this._a32=0,this._a48=0,this}function l(e,t){t=t||10,this._a00=0,this._a16=0,this._a32=0,this._a48=0;for(var r=o[t]||new s(Math.pow(t,5)),p=0,i=e.length;p=0&&(r.div(t),p[o]=r.remainder.toNumber().toString(e),r.gt(t));o--);return p[o-1]=r.toNumber().toString(e),p.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,r=t>>>16,p=(r+=this._a16+e._a16)>>>16,o=(p+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&r,this._a32=65535&p,this._a48=65535&o,this},s.prototype.subtract=function(e){return this.add(e.clone().negate())},s.prototype.multiply=function(e){var t=this._a00,r=this._a16,p=this._a32,o=this._a48,i=e._a00,s=e._a16,n=e._a32,a=t*i,l=a>>>16,c=(l+=t*s)>>>16;l&=65535,c+=(l+=r*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=r*s)>>>16,c&=65535,u+=(c+=p*i)>>>16,u+=t*e._a48,u&=65535,u+=r*n,u&=65535,u+=p*s,u&=65535,u+=o*i,this._a00=65535&a,this._a16=65535&l,this._a32=65535&c,this._a48=65535&u,this},s.prototype.div=function(e){if(0==e._a16&&0==e._a32&&0==e._a48){if(0==e._a00)throw Error("division by zero");if(1==e._a00)return this.remainder=new s(0),this}if(e.gt(this))return this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0,this;if(this.eq(e))return this.remainder=new s(0),this._a00=1,this._a16=0,this._a32=0,this._a48=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=48?this._a48|=1<=32?this._a32|=1<=16?this._a16|=1<>>16),this._a16=65535&e,e=(65535&~this._a32)+(e>>>16),this._a32=65535&e,this._a48=~this._a48+(e>>>16)&65535,this},s.prototype.equals=s.prototype.eq=function(e){return this._a48==e._a48&&this._a00==e._a00&&this._a32==e._a32&&this._a16==e._a16},s.prototype.greaterThan=s.prototype.gt=function(e){return this._a48>e._a48||!(this._a48e._a32||!(this._a32e._a16||!(this._a16e._a00))},s.prototype.lessThan=s.prototype.lt=function(e){return this._a48e._a48)&&(this._a32e._a32)&&(this._a16e._a16)&&this._a00=48?(this._a00=this._a48>>e-48,this._a16=0,this._a32=0,this._a48=0):e>=32?(e-=32,this._a00=65535&(this._a32>>e|this._a48<<16-e),this._a16=this._a48>>e&65535,this._a32=0,this._a48=0):e>=16?(e-=16,this._a00=65535&(this._a16>>e|this._a32<<16-e),this._a16=65535&(this._a32>>e|this._a48<<16-e),this._a32=this._a48>>e&65535,this._a48=0):(this._a00=65535&(this._a00>>e|this._a16<<16-e),this._a16=65535&(this._a16>>e|this._a32<<16-e),this._a32=65535&(this._a32>>e|this._a48<<16-e),this._a48=this._a48>>e&65535),this},s.prototype.shiftLeft=s.prototype.shiftl=function(e,t){return(e%=64)>=48?(this._a48=this._a00<=32?(e-=32,this._a48=this._a16<>16-e,this._a32=this._a00<=16?(e-=16,this._a48=this._a32<>16-e,this._a32=65535&(this._a16<>16-e),this._a16=this._a00<>16-e,this._a32=65535&(this._a32<>16-e),this._a16=65535&(this._a16<>16-e),this._a00=this._a00<=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r<>>32-e,i=p<>>32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.rotateRight=s.prototype.rotr=function(e){if(0==(e%=64))return this;if(e>=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r>>>e|p<<32-e,i=p>>>e|r<<32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.clone=function(){return new s(this._a00,this._a16,this._a32,this._a48)},void 0===(p=function(){return s}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=(r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT",n.prototype.msg_type=47,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:i.prototype.parser}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),n.prototype.fieldSpec.push(["cp","writeFloatLE",4]),n.prototype.fieldSpec.push(["cf","writeFloatLE",4]),n.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_C",a.prototype.msg_type=31,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),a.prototype.fieldSpec.push(["cp","writeFloatLE",4]),a.prototype.fieldSpec.push(["cf","writeFloatLE",4]),a.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_B",l.prototype.msg_type=20,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["snr","writeFloatLE",4]),l.prototype.fieldSpec.push(["cp","writeFloatLE",4]),l.prototype.fieldSpec.push(["cf","writeFloatLE",4]),l.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_A",c.prototype.msg_type=21,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").uint8("prn"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["snr","writeFloatLE",4]),c.prototype.fieldSpec.push(["cp","writeFloatLE",4]),c.prototype.fieldSpec.push(["cf","writeFloatLE",4]),c.prototype.fieldSpec.push(["prn","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="AcqSvProfile",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:i.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["job_type","writeUInt8",1]),u.prototype.fieldSpec.push(["status","writeUInt8",1]),u.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),u.prototype.fieldSpec.push(["int_time","writeUInt8",1]),u.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),u.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),u.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),u.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf","writeInt32LE",4]),u.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="AcqSvProfileDep",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:s.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["job_type","writeUInt8",1]),y.prototype.fieldSpec.push(["status","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),y.prototype.fieldSpec.push(["int_time","writeUInt8",1]),y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),y.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),y.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),y.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf","writeInt32LE",4]),y.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE",h.prototype.msg_type=46,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:u.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["acq_sv_profile","array",u.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE_DEP",f.prototype.msg_type=30,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:y.prototype.parser,readUntil:"eof"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["acq_sv_profile","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={47:n,MsgAcqResult:n,31:a,MsgAcqResultDepC:a,20:l,MsgAcqResultDepB:l,21:c,MsgAcqResultDepA:c,AcqSvProfile:u,AcqSvProfileDep:y,46:h,MsgAcqSvProfile:h,30:f,MsgAcqSvProfileDep:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",i.prototype.msg_type=179,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",s.prototype.msg_type=180,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("flags").string("version",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt32LE",4]),s.prototype.fieldSpec.push(["version","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_JUMP_TO_APP",n.prototype.msg_type=177,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("jump"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["jump","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_REQ",a.prototype.msg_type=222,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little"),a.prototype.fieldSpec=[];var l=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_RESP",l.prototype.msg_type=221,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").array("dna",{length:8,type:"uint8"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["dna","array","writeUInt8",function(){return 1},8]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",c.prototype.msg_type=176,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").array("handshake",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["handshake","array","writeUInt8",function(){return 1},null]),e.exports={179:i,MsgBootloaderHandshakeReq:i,180:s,MsgBootloaderHandshakeResp:s,177:n,MsgBootloaderJumpToApp:n,222:a,MsgNapDeviceDnaReq:a,221:l,MsgNapDeviceDnaResp:l,176:c,MsgBootloaderHandshakeDepA:c}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_EXT_EVENT",i.prototype.msg_type=257,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags").uint8("pin"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]),i.prototype.fieldSpec.push(["pin","writeUInt8",1]),e.exports={257:i,MsgExtEvent:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_REQ",i.prototype.msg_type=168,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").uint8("chunk_size").string("filename",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),i.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),i.prototype.fieldSpec.push(["chunk_size","writeUInt8",1]),i.prototype.fieldSpec.push(["filename","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_RESP",s.prototype.msg_type=163,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),s.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_REQ",n.prototype.msg_type=169,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("dirname",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),n.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),n.prototype.fieldSpec.push(["dirname","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_RESP",a.prototype.msg_type=170,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),a.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_REMOVE",l.prototype.msg_type=172,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("filename",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["filename","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_REQ",c.prototype.msg_type=173,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("filename",{greedy:!0}).array("data",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),c.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),c.prototype.fieldSpec.push(["filename","string",null]),c.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_RESP",u.prototype.msg_type=171,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sequence"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_REQ",y.prototype.msg_type=4097,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sequence"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_RESP",h.prototype.msg_type=4098,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("window_size").uint32("batch_size").uint32("fileio_version"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),h.prototype.fieldSpec.push(["window_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["batch_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["fileio_version","writeUInt32LE",4]),e.exports={168:i,MsgFileioReadReq:i,163:s,MsgFileioReadResp:s,169:n,MsgFileioReadDirReq:n,170:a,MsgFileioReadDirResp:a,172:l,MsgFileioRemove:l,173:c,MsgFileioWriteReq:c,171:u,MsgFileioWriteResp:u,4097:y,MsgFileioConfigReq:y,4098:h,MsgFileioConfigResp:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_PROGRAM",i.prototype.msg_type=230,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len").array("data",{type:"uint8",length:"addr_len"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["target","writeUInt8",1]),i.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),i.prototype.fieldSpec.push(["addr_len","writeUInt8",1]),i.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},"addr_len"]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_DONE",s.prototype.msg_type=224,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("response"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["response","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_REQ",n.prototype.msg_type=231,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["target","writeUInt8",1]),n.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),n.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_RESP",a.prototype.msg_type=225,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["target","writeUInt8",1]),a.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),a.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_ERASE",l.prototype.msg_type=226,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("target").uint32("sector_num"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["target","writeUInt8",1]),l.prototype.fieldSpec.push(["sector_num","writeUInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_LOCK_SECTOR",c.prototype.msg_type=227,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sector"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_UNLOCK_SECTOR",u.prototype.msg_type=228,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sector"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_REQ",y.prototype.msg_type=232,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_RESP",h.prototype.msg_type=229,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("stm_id",{length:12,type:"uint8"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["stm_id","array","writeUInt8",function(){return 1},12]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_M25_FLASH_WRITE_STATUS",f.prototype.msg_type=243,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("status",{length:1,type:"uint8"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","array","writeUInt8",function(){return 1},1]),e.exports={230:i,MsgFlashProgram:i,224:s,MsgFlashDone:s,231:n,MsgFlashReadReq:n,225:a,MsgFlashReadResp:a,226:l,MsgFlashErase:l,227:c,MsgStmFlashLockSector:c,228:u,MsgStmFlashUnlockSector:u,232:y,MsgStmUniqueIdReq:y,229:h,MsgStmUniqueIdResp:h,243:f,MsgM25FlashWriteStatus:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_IMU_RAW",i.prototype.msg_type=2304,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("acc_x").int16("acc_y").int16("acc_z").int16("gyr_x").int16("gyr_y").int16("gyr_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["acc_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_z","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_z","writeInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_IMU_AUX",s.prototype.msg_type=2305,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("imu_type").int16("temp").uint8("imu_conf"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["imu_type","writeUInt8",1]),s.prototype.fieldSpec.push(["temp","writeInt16LE",2]),s.prototype.fieldSpec.push(["imu_conf","writeUInt8",1]),e.exports={2304:i,MsgImuRaw:i,2305:s,MsgImuAux:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_CPU_STATE",i.prototype.msg_type=32512,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").string("tname",{length:15}).string("cmdline",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["index","writeUInt8",1]),i.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),i.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),i.prototype.fieldSpec.push(["tname","string",15]),i.prototype.fieldSpec.push(["cmdline","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_MEM_STATE",s.prototype.msg_type=32513,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").string("tname",{length:15}).string("cmdline",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["index","writeUInt8",1]),s.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),s.prototype.fieldSpec.push(["pmem","writeUInt8",1]),s.prototype.fieldSpec.push(["tname","string",15]),s.prototype.fieldSpec.push(["cmdline","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SYS_STATE",n.prototype.msg_type=32514,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),n.prototype.fieldSpec.push(["pmem","writeUInt8",1]),n.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),n.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",a.prototype.msg_type=32515,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("socket_count").uint16("socket_types").uint16("socket_states").string("cmdline",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["index","writeUInt8",1]),a.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_count","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),a.prototype.fieldSpec.push(["cmdline","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",l.prototype.msg_type=32516,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("recv_queued").uint16("send_queued").uint16("socket_types").uint16("socket_states").string("address_of_largest",{length:64}).string("cmdline",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["index","writeUInt8",1]),l.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),l.prototype.fieldSpec.push(["recv_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["send_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),l.prototype.fieldSpec.push(["address_of_largest","string",64]),l.prototype.fieldSpec.push(["cmdline","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SOCKET_USAGE",c.prototype.msg_type=32517,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("avg_queue_depth").uint32("max_queue_depth").array("socket_state_counts",{length:16,type:"uint16le"}).array("socket_type_counts",{length:16,type:"uint16le"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["avg_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["max_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["socket_state_counts","array","writeUInt16LE",function(){return 2},16]),c.prototype.fieldSpec.push(["socket_type_counts","array","writeUInt16LE",function(){return 2},16]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_COUNT",u.prototype.msg_type=32518,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("fd_count").string("cmdline",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt8",1]),u.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),u.prototype.fieldSpec.push(["fd_count","writeUInt16LE",2]),u.prototype.fieldSpec.push(["cmdline","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_SUMMARY",y.prototype.msg_type=32519,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sys_fd_count").string("most_opened",{greedy:!0}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sys_fd_count","writeUInt32LE",4]),y.prototype.fieldSpec.push(["most_opened","string",null]),e.exports={32512:i,MsgLinuxCpuState:i,32513:s,MsgLinuxMemState:s,32514:n,MsgLinuxSysState:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LOG",i.prototype.msg_type=1025,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("level").string("text",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["level","writeUInt8",1]),i.prototype.fieldSpec.push(["text","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").string("fwd_payload",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_PRINT_DEP",n.prototype.msg_type=16,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").string("text",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["text","string",null]),e.exports={1025:i,MsgLog:i,1026:s,MsgFwd:s,16:n,MsgPrintDep:n}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_MAG_RAW",i.prototype.msg_type=2306,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("mag_x").int16("mag_y").int16("mag_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["mag_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_z","writeInt16LE",2]),e.exports={2306:i,MsgMagRaw:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME",i.prototype.msg_type=258,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_UTC_TIME",s.prototype.msg_type=259,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["year","writeUInt16LE",2]),s.prototype.fieldSpec.push(["month","writeUInt8",1]),s.prototype.fieldSpec.push(["day","writeUInt8",1]),s.prototype.fieldSpec.push(["hours","writeUInt8",1]),s.prototype.fieldSpec.push(["minutes","writeUInt8",1]),s.prototype.fieldSpec.push(["seconds","writeUInt8",1]),s.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_DOPS",n.prototype.msg_type=520,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF",a.prototype.msg_type=521,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeDoubleLE",8]),a.prototype.fieldSpec.push(["y","writeDoubleLE",8]),a.prototype.fieldSpec.push(["z","writeDoubleLE",8]),a.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),a.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV",l.prototype.msg_type=532,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["x","writeDoubleLE",8]),l.prototype.fieldSpec.push(["y","writeDoubleLE",8]),l.prototype.fieldSpec.push(["z","writeDoubleLE",8]),l.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH",c.prototype.msg_type=522,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),c.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),c.prototype.fieldSpec.push(["height","writeDoubleLE",8]),c.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV",u.prototype.msg_type=529,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),u.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),u.prototype.fieldSpec.push(["height","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF",y.prototype.msg_type=523,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["x","writeInt32LE",4]),y.prototype.fieldSpec.push(["y","writeInt32LE",4]),y.prototype.fieldSpec.push(["z","writeInt32LE",4]),y.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED",h.prototype.msg_type=524,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),h.prototype.fieldSpec.push(["n","writeInt32LE",4]),h.prototype.fieldSpec.push(["e","writeInt32LE",4]),h.prototype.fieldSpec.push(["d","writeInt32LE",4]),h.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF",f.prototype.msg_type=525,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),f.prototype.fieldSpec.push(["x","writeInt32LE",4]),f.prototype.fieldSpec.push(["y","writeInt32LE",4]),f.prototype.fieldSpec.push(["z","writeInt32LE",4]),f.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),f.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV",d.prototype.msg_type=533,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["x","writeInt32LE",4]),d.prototype.fieldSpec.push(["y","writeInt32LE",4]),d.prototype.fieldSpec.push(["z","writeInt32LE",4]),d.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED",_.prototype.msg_type=526,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["n","writeInt32LE",4]),_.prototype.fieldSpec.push(["e","writeInt32LE",4]),_.prototype.fieldSpec.push(["d","writeInt32LE",4]),_.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV",S.prototype.msg_type=530,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),S.prototype.fieldSpec.push(["n","writeInt32LE",4]),S.prototype.fieldSpec.push(["e","writeInt32LE",4]),S.prototype.fieldSpec.push(["d","writeInt32LE",4]),S.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);var g=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_GNSS",g.prototype.msg_type=553,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["x","writeDoubleLE",8]),g.prototype.fieldSpec.push(["y","writeDoubleLE",8]),g.prototype.fieldSpec.push(["z","writeDoubleLE",8]),g.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",w.prototype.msg_type=564,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["x","writeDoubleLE",8]),w.prototype.fieldSpec.push(["y","writeDoubleLE",8]),w.prototype.fieldSpec.push(["z","writeDoubleLE",8]),w.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_GNSS",E.prototype.msg_type=554,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),E.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),E.prototype.fieldSpec.push(["height","writeDoubleLE",8]),E.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),E.prototype.fieldSpec.push(["flags","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV_GNSS",m.prototype.msg_type=561,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),m.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),m.prototype.fieldSpec.push(["height","writeDoubleLE",8]),m.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),m.prototype.fieldSpec.push(["flags","writeUInt8",1]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_GNSS",b.prototype.msg_type=557,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["x","writeInt32LE",4]),b.prototype.fieldSpec.push(["y","writeInt32LE",4]),b.prototype.fieldSpec.push(["z","writeInt32LE",4]),b.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",v.prototype.msg_type=565,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["x","writeInt32LE",4]),v.prototype.fieldSpec.push(["y","writeInt32LE",4]),v.prototype.fieldSpec.push(["z","writeInt32LE",4]),v.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_GNSS",L.prototype.msg_type=558,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["n","writeInt32LE",4]),L.prototype.fieldSpec.push(["e","writeInt32LE",4]),L.prototype.fieldSpec.push(["d","writeInt32LE",4]),L.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV_GNSS",I.prototype.msg_type=562,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["n","writeInt32LE",4]),I.prototype.fieldSpec.push(["e","writeInt32LE",4]),I.prototype.fieldSpec.push(["d","writeInt32LE",4]),I.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_VEL_BODY",T.prototype.msg_type=531,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["x","writeInt32LE",4]),T.prototype.fieldSpec.push(["y","writeInt32LE",4]),T.prototype.fieldSpec.push(["z","writeInt32LE",4]),T.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_AGE_CORRECTIONS",M.prototype.msg_type=528,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["age","writeUInt16LE",2]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME_DEP_A",U.prototype.msg_type=256,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_DOPS_DEP_A",D.prototype.msg_type=518,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_DEP_A",O.prototype.msg_type=512,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["x","writeDoubleLE",8]),O.prototype.fieldSpec.push(["y","writeDoubleLE",8]),O.prototype.fieldSpec.push(["z","writeDoubleLE",8]),O.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),O.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_DEP_A",G.prototype.msg_type=513,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),G.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),G.prototype.fieldSpec.push(["height","writeDoubleLE",8]),G.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),G.prototype.fieldSpec.push(["flags","writeUInt8",1]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",A.prototype.msg_type=514,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["x","writeInt32LE",4]),A.prototype.fieldSpec.push(["y","writeInt32LE",4]),A.prototype.fieldSpec.push(["z","writeInt32LE",4]),A.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),A.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),A.prototype.fieldSpec.push(["flags","writeUInt8",1]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED_DEP_A",R.prototype.msg_type=515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["n","writeInt32LE",4]),R.prototype.fieldSpec.push(["e","writeInt32LE",4]),R.prototype.fieldSpec.push(["d","writeInt32LE",4]),R.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),R.prototype.fieldSpec.push(["flags","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_DEP_A",C.prototype.msg_type=516,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["x","writeInt32LE",4]),C.prototype.fieldSpec.push(["y","writeInt32LE",4]),C.prototype.fieldSpec.push(["z","writeInt32LE",4]),C.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),C.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_DEP_A",P.prototype.msg_type=517,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["n","writeInt32LE",4]),P.prototype.fieldSpec.push(["e","writeInt32LE",4]),P.prototype.fieldSpec.push(["d","writeInt32LE",4]),P.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",N.prototype.msg_type=519,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_PROTECTION_LEVEL",j.prototype.msg_type=534,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),j.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),j.prototype.fieldSpec.push(["height","writeDoubleLE",8]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,259:s,MsgUtcTime:s,520:n,MsgDops:n,521:a,MsgPosEcef:a,532:l,MsgPosEcefCov:l,522:c,MsgPosLlh:c,529:u,MsgPosLlhCov:u,523:y,MsgBaselineEcef:y,524:h,MsgBaselineNed:h,525:f,MsgVelEcef:f,533:d,MsgVelEcefCov:d,526:_,MsgVelNed:_,530:S,MsgVelNedCov:S,553:g,MsgPosEcefGnss:g,564:w,MsgPosEcefCovGnss:w,554:E,MsgPosLlhGnss:E,561:m,MsgPosLlhCovGnss:m,557:b,MsgVelEcefGnss:b,565:v,MsgVelEcefCovGnss:v,558:L,MsgVelNedGnss:L,562:I,MsgVelNedCovGnss:I,531:T,MsgVelBody:T,528:M,MsgAgeCorrections:M,256:U,MsgGpsTimeDepA:U,518:D,MsgDopsDepA:D,512:O,MsgPosEcefDepA:O,513:G,MsgPosLlhDepA:G,514:A,MsgBaselineEcefDepA:A,515:R,MsgBaselineNedDepA:R,516:C,MsgVelEcefDepA:C,517:P,MsgVelNedDepA:P,519:N,MsgBaselineHeadingDepA:N,534:j,MsgProtectionLevel:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_NDB_EVENT",s.prototype.msg_type=1024,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("recv_time").uint8("event").uint8("object_type").uint8("result").uint8("data_source").nest("object_sid",{type:i.prototype.parser}).nest("src_sid",{type:i.prototype.parser}).uint16("original_sender"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["event","writeUInt8",1]),s.prototype.fieldSpec.push(["object_type","writeUInt8",1]),s.prototype.fieldSpec.push(["result","writeUInt8",1]),s.prototype.fieldSpec.push(["data_source","writeUInt8",1]),s.prototype.fieldSpec.push(["object_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["src_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["original_sender","writeUInt16LE",2]),e.exports={1024:s,MsgNdbEvent:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec),c=r(0).GPSTimeDep,u=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(p.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:n.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="Doppler",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("i").uint8("f"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["i","writeInt16LE",2]),y.prototype.fieldSpec.push(["f","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="PackedObsContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),h.prototype.fieldSpec.push(["D",y.prototype.fieldSpec]),h.prototype.fieldSpec.push(["cn0","writeUInt8",1]),h.prototype.fieldSpec.push(["lock","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var f=function(e,t){return p.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="PackedOsrContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}).uint16("iono_std").uint16("tropo_std").uint16("range_std"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["P","writeUInt32LE",4]),f.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["iono_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["tropo_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["range_std","writeUInt16LE",2]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_OBS",d.prototype.msg_type=74,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:h.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),d.prototype.fieldSpec.push(["obs","array",h.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_LLH",_.prototype.msg_type=68,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").doublele("lat").doublele("lon").doublele("height"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),_.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),_.prototype.fieldSpec.push(["height","writeDoubleLE",8]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_ECEF",S.prototype.msg_type=72,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").doublele("x").doublele("y").doublele("z"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["x","writeDoubleLE",8]),S.prototype.fieldSpec.push(["y","writeDoubleLE",8]),S.prototype.fieldSpec.push(["z","writeDoubleLE",8]);var g=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),g.prototype.fieldSpec.push(["ura","writeFloatLE",4]),g.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),g.prototype.fieldSpec.push(["valid","writeUInt8",1]),g.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),w.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),w.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),w.prototype.fieldSpec.push(["valid","writeUInt8",1]),w.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),E.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),E.prototype.fieldSpec.push(["valid","writeUInt8",1]),E.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_E",m.prototype.msg_type=129,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),m.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),m.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["w","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),m.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_F",b.prototype.msg_type=134,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),b.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),b.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),b.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["w","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),b.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS",v.prototype.msg_type=138,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),v.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),v.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["w","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af0","writeFloatLE",4]),v.prototype.fieldSpec.push(["af1","writeFloatLE",4]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt8",1]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_QZSS",L.prototype.msg_type=142,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),L.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),L.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["w","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["af0","writeFloatLE",4]),L.prototype.fieldSpec.push(["af1","writeFloatLE",4]),L.prototype.fieldSpec.push(["af2","writeFloatLE",4]),L.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_BDS",I.prototype.msg_type=137,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd1").floatle("tgd2").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),I.prototype.fieldSpec.push(["tgd2","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),I.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),I.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["w","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",T.prototype.msg_type=149,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),T.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),T.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),T.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["w","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL",M.prototype.msg_type=141,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),M.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),M.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),M.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),M.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["w","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af2","writeFloatLE",4]),M.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),M.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),M.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),M.prototype.fieldSpec.push(["source","writeUInt8",1]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",U.prototype.msg_type=130,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),U.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_A",D.prototype.msg_type=131,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),D.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),D.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),D.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_B",O.prototype.msg_type=132,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),O.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),O.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS",G.prototype.msg_type=140,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"floatle"}).array("acc",{length:3,type:"floatle"}).floatle("a_gf0").floatle("a_gf1"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),G.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),G.prototype.fieldSpec.push(["vel","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["a_gf0","writeFloatLE",4]),G.prototype.fieldSpec.push(["a_gf1","writeFloatLE",4]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_B",A.prototype.msg_type=133,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),A.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),A.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),A.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",R.prototype.msg_type=135,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),R.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),R.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["fcn","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",C.prototype.msg_type=136,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn").uint8("iod"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),C.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),C.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["fcn","writeUInt8",1]),C.prototype.fieldSpec.push(["iod","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO",P.prototype.msg_type=139,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("gamma").floatle("tau").floatle("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"floatle"}).uint8("fcn").uint8("iod"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),P.prototype.fieldSpec.push(["gamma","writeFloatLE",4]),P.prototype.fieldSpec.push(["tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["d_tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),P.prototype.fieldSpec.push(["fcn","writeUInt8",1]),P.prototype.fieldSpec.push(["iod","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_D",N.prototype.msg_type=128,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),N.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),N.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["w","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["valid","writeUInt8",1]),N.prototype.fieldSpec.push(["healthy","writeUInt8",1]),N.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_A",j.prototype.msg_type=26,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),j.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),j.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["w","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["valid","writeUInt8",1]),j.prototype.fieldSpec.push(["healthy","writeUInt8",1]),j.prototype.fieldSpec.push(["prn","writeUInt8",1]);var x=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_B",x.prototype.msg_type=70,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn").uint8("iode"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),x.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),x.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["w","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["valid","writeUInt8",1]),x.prototype.fieldSpec.push(["healthy","writeUInt8",1]),x.prototype.fieldSpec.push(["prn","writeUInt8",1]),x.prototype.fieldSpec.push(["iode","writeUInt8",1]);var F=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_C",F.prototype.msg_type=71,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),F.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),F.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["w","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["valid","writeUInt8",1]),F.prototype.fieldSpec.push(["healthy","writeUInt8",1]),F.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var k=function(e,t){return p.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(p.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:c.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",c.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var B=function(e,t){return p.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(p.prototype)).messageType="CarrierPhaseDepA",B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").int32("i").uint8("f"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["i","writeInt32LE",4]),B.prototype.fieldSpec.push(["f","writeUInt8",1]);var q=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepA",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").uint8("prn"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["P","writeUInt32LE",4]),q.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),q.prototype.fieldSpec.push(["cn0","writeUInt8",1]),q.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),q.prototype.fieldSpec.push(["prn","writeUInt8",1]);var z=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepB",z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["P","writeUInt32LE",4]),z.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),z.prototype.fieldSpec.push(["cn0","writeUInt8",1]),z.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var H=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var V=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_A",V.prototype.msg_type=69,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);var W=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_B",W.prototype.msg_type=67,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Y=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_C",Y.prototype.msg_type=73,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Q=function(e,t){return p.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(p.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).doublele("a0").doublele("a1").doublele("a2").doublele("a3").doublele("b0").doublele("b1").doublele("b2").doublele("b3"),Q.prototype.fieldSpec=[],Q.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),Q.prototype.fieldSpec.push(["a0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a3","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b3","writeDoubleLE",8]);var K=function(e,t){return p.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(p.prototype)).messageType="MSG_SV_CONFIGURATION_GPS_DEP",K.prototype.msg_type=145,K.prototype.constructor=K,K.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);var X=function(e,t){return p.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(p.prototype)).messageType="GnssCapb",X.prototype.constructor=X,X.prototype.parser=(new o).endianess("little").uint64("gps_active").uint64("gps_l2c").uint64("gps_l5").uint32("glo_active").uint32("glo_l2of").uint32("glo_l3").uint64("sbas_active").uint64("sbas_l5").uint64("bds_active").uint64("bds_d2nav").uint64("bds_b2").uint64("bds_b2a").uint32("qzss_active").uint64("gal_active").uint64("gal_e5"),X.prototype.fieldSpec=[],X.prototype.fieldSpec.push(["gps_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l2c","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["glo_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l2of","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l3","writeUInt32LE",4]),X.prototype.fieldSpec.push(["sbas_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["sbas_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_d2nav","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2a","writeUInt64LE",8]),X.prototype.fieldSpec.push(["qzss_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["gal_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gal_e5","writeUInt64LE",8]);var J=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_CAPB",J.prototype.msg_type=150,J.prototype.constructor=J,J.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);var $=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",$.prototype.msg_type=146,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).uint8("prn").uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["prn","writeUInt8",1]),$.prototype.fieldSpec.push(["valid","writeUInt8",1]),$.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var Z=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",Z.prototype.msg_type=147,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),Z.prototype.fieldSpec=[],Z.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["valid","writeUInt8",1]),Z.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var ee=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY",ee.prototype.msg_type=148,ee.prototype.constructor=ee,ee.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["valid","writeUInt8",1]),ee.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var te=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),te.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),te.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),te.prototype.fieldSpec.push(["valid","writeUInt8",1]),te.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var re=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContentDep",re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),re.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),re.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),re.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),re.prototype.fieldSpec.push(["valid","writeUInt8",1]),re.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var pe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS_DEP",pe.prototype.msg_type=112,pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var oe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS",oe.prototype.msg_type=114,oe.prototype.constructor=oe,oe.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),oe.prototype.fieldSpec=[],oe.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),oe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var ie=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO_DEP",ie.prototype.msg_type=113,ie.prototype.constructor=ie,ie.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),ie.prototype.fieldSpec=[],ie.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),ie.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["i","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var se=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO",se.prototype.msg_type=115,se.prototype.constructor=se,se.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),se.prototype.fieldSpec=[],se.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),se.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["i","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),se.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),se.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var ne=function(e,t){return p.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(p.prototype)).messageType="MSG_GLO_BIASES",ne.prototype.msg_type=117,ne.prototype.constructor=ne,ne.prototype.parser=(new o).endianess("little").uint8("mask").int16("l1ca_bias").int16("l1p_bias").int16("l2ca_bias").int16("l2p_bias"),ne.prototype.fieldSpec=[],ne.prototype.fieldSpec.push(["mask","writeUInt8",1]),ne.prototype.fieldSpec.push(["l1ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l1p_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2p_bias","writeInt16LE",2]);var ae=function(e,t){return p.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(p.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);var le=function(e,t){return p.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(p.prototype)).messageType="MSG_SV_AZ_EL",le.prototype.msg_type=151,le.prototype.constructor=le,le.prototype.parser=(new o).endianess("little").array("azel",{type:ae.prototype.parser,readUntil:"eof"}),le.prototype.fieldSpec=[],le.prototype.fieldSpec.push(["azel","array",ae.prototype.fieldSpec,function(){return this.fields.array.length},null]);var ce=function(e,t){return p.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(p.prototype)).messageType="MSG_OSR",ce.prototype.msg_type=1600,ce.prototype.constructor=ce,ce.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:f.prototype.parser,readUntil:"eof"}),ce.prototype.fieldSpec=[],ce.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),ce.prototype.fieldSpec.push(["obs","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={ObservationHeader:u,Doppler:y,PackedObsContent:h,PackedOsrContent:f,74:d,MsgObs:d,68:_,MsgBasePosLlh:_,72:S,MsgBasePosEcef:S,EphemerisCommonContent:g,EphemerisCommonContentDepB:w,EphemerisCommonContentDepA:E,129:m,MsgEphemerisGpsDepE:m,134:b,MsgEphemerisGpsDepF:b,138:v,MsgEphemerisGps:v,142:L,MsgEphemerisQzss:L,137:I,MsgEphemerisBds:I,149:T,MsgEphemerisGalDepA:T,141:M,MsgEphemerisGal:M,130:U,MsgEphemerisSbasDepA:U,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:R,MsgEphemerisGloDepC:R,136:C,MsgEphemerisGloDepD:C,139:P,MsgEphemerisGlo:P,128:N,MsgEphemerisDepD:N,26:j,MsgEphemerisDepA:j,70:x,MsgEphemerisDepB:x,71:F,MsgEphemerisDepC:F,ObservationHeaderDep:k,CarrierPhaseDepA:B,PackedObsContentDepA:q,PackedObsContentDepB:z,PackedObsContentDepC:H,69:V,MsgObsDepA:V,67:W,MsgObsDepB:W,73:Y,MsgObsDepC:Y,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:$,MsgGroupDelayDepA:$,147:Z,MsgGroupDelayDepB:Z,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:re,112:pe,MsgAlmanacGpsDep:pe,114:oe,MsgAlmanacGps:oe,113:ie,MsgAlmanacGloDep:ie,115:se,MsgAlmanacGlo:se,117:ne,MsgGloBiases:ne,SvAzEl:ae,151:le,MsgSvAzEl:le,1600:ce,MsgOsr:ce}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=(r(0).CarrierPhase,n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),l=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];var c=function(e,t){return p.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];var u=function(e,t){return p.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_RESET",u.prototype.msg_type=182,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_CW_RESULTS",h.prototype.msg_type=192,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];var f=function(e,t){return p.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_CW_START",f.prototype.msg_type=193,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];var d=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_RESET_FILTERS",d.prototype.msg_type=34,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint8("filter"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["filter","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];var S=function(e,t){return p.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_THREAD_STATE",S.prototype.msg_type=23,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").string("name",{length:20}).uint16("cpu").uint32("stack_free"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["name","string",20]),S.prototype.fieldSpec.push(["cpu","writeUInt16LE",2]),S.prototype.fieldSpec.push(["stack_free","writeUInt32LE",4]);var g=function(e,t){return p.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="UARTChannel",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").floatle("tx_throughput").floatle("rx_throughput").uint16("crc_error_count").uint16("io_error_count").uint8("tx_buffer_level").uint8("rx_buffer_level"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["rx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["crc_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["io_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tx_buffer_level","writeUInt8",1]),g.prototype.fieldSpec.push(["rx_buffer_level","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="Period",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").int32("avg").int32("pmin").int32("pmax").int32("current"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["avg","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmin","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmax","writeInt32LE",4]),w.prototype.fieldSpec.push(["current","writeInt32LE",4]);var E=function(e,t){return p.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="Latency",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").int32("avg").int32("lmin").int32("lmax").int32("current"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["avg","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmin","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmax","writeInt32LE",4]),E.prototype.fieldSpec.push(["current","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE",m.prototype.msg_type=29,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}).nest("obs_period",{type:w.prototype.parser}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["obs_period",w.prototype.fieldSpec]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE_DEPA",b.prototype.msg_type=24,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_IAR_STATE",v.prototype.msg_type=25,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("num_hyps"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE",L.prototype.msg_type=43,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE_DEP",I.prototype.msg_type=27,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["mask","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_DEVICE_MONITOR",T.prototype.msg_type=181,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),T.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_REQ",M.prototype.msg_type=184,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["command","string",null]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_RESP",U.prototype.msg_type=185,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["code","writeInt32LE",4]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_OUTPUT",D.prototype.msg_type=188,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("sequence").string("line",{greedy:!0}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),D.prototype.fieldSpec.push(["line","string",null]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_REQ",O.prototype.msg_type=186,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little"),O.prototype.fieldSpec=[];var G=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_RESP",G.prototype.msg_type=187,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").array("ipv4_address",{length:4,type:"uint8"}).uint8("ipv4_mask_size").array("ipv6_address",{length:16,type:"uint8"}).uint8("ipv6_mask_size").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}).uint32("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["ipv4_address","array","writeUInt8",function(){return 1},4]),G.prototype.fieldSpec.push(["ipv4_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["ipv6_address","array","writeUInt8",function(){return 1},16]),G.prototype.fieldSpec.push(["ipv6_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["interface_name","string",16]),G.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var A=function(e,t){return p.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="NetworkUsage",A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint64("duration").uint64("total_bytes").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["duration","writeUInt64LE",8]),A.prototype.fieldSpec.push(["total_bytes","writeUInt64LE",8]),A.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["interface_name","string",16]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",R.prototype.msg_type=189,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_CELL_MODEM_STATUS",C.prototype.msg_type=190,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),C.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),C.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN_DEP",P.prototype.msg_type=80,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:a.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),P.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),P.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN",N.prototype.msg_type=81,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:n.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),N.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_FRONT_END_GAIN",j.prototype.msg_type=191,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").array("rf_gain",{length:8,type:"int8"}).array("if_gain",{length:8,type:"int8"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["rf_gain","array","writeInt8",function(){return 1},8]),j.prototype.fieldSpec.push(["if_gain","array","writeInt8",function(){return 1},8]),e.exports={105:l,MsgAlmanac:l,104:c,MsgSetTime:c,182:u,MsgReset:u,178:y,MsgResetDep:y,192:h,MsgCwResults:h,193:f,MsgCwStart:f,34:d,MsgResetFilters:d,35:_,MsgInitBaseDep:_,23:S,MsgThreadState:S,UARTChannel:g,Period:w,Latency:E,29:m,MsgUartState:m,24:b,MsgUartStateDepa:b,25:v,MsgIarState:v,43:L,MsgMaskSatellite:L,27:I,MsgMaskSatelliteDep:I,181:T,MsgDeviceMonitor:T,184:M,MsgCommandReq:M,185:U,MsgCommandResp:U,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:R,MsgNetworkBandwidthUsage:R,190:C,MsgCellModemStatus:C,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_SBAS_RAW",s.prototype.msg_type=30583,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint32("tow").uint8("message_type").array("data",{length:27,type:"uint8"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["message_type","writeUInt8",1]),s.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},27]),e.exports={30583:s,MsgSbasRaw:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE",s.prototype.msg_type=160,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["setting","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE_RESP",n.prototype.msg_type=175,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["status","writeUInt8",1]),n.prototype.fieldSpec.push(["setting","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_REQ",a.prototype.msg_type=164,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["setting","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_RESP",l.prototype.msg_type=165,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["setting","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",c.prototype.msg_type=162,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("index"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["index","writeUInt16LE",2]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",u.prototype.msg_type=167,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("index").string("setting",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt16LE",2]),u.prototype.fieldSpec.push(["setting","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",y.prototype.msg_type=166,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER",h.prototype.msg_type=174,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["setting","string",null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER_RESP",f.prototype.msg_type=431,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","writeUInt8",1]),f.prototype.fieldSpec.push(["setting","string",null]),e.exports={161:i,MsgSettingsSave:i,160:s,MsgSettingsWrite:s,175:n,MsgSettingsWriteResp:n,164:a,MsgSettingsReadReq:a,165:l,MsgSettingsReadResp:l,162:c,MsgSettingsReadByIndexReq:c,167:u,MsgSettingsReadByIndexResp:u,166:y,MsgSettingsReadByIndexDone:y,174:h,MsgSettingsRegister:h,431:f,MsgSettingsRegisterResp:f}},function(e,t,r){var p=r(2),o=r(13).Parser,i=function(e){return p.call(this,e),this.messageType="SBPSignal",this.fields=this.parser.parse(e.payload),this};(i.prototype=Object.create(p.prototype)).constructor=i,i.prototype.parser=(new o).endianess("little").uint16("sat").uint8("band").uint8("constellation"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sat","writeUInt16LE",2]),i.prototype.fieldSpec.push(["band","writeUInt8",1]),i.prototype.fieldSpec.push(["constellation","writeUInt8",1]),e.exports={SBPSignal:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec),n=(r(0).GPSTimeDep,r(0).SvId),a=function(e,t){return p.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="CodeBiasesContent",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("code").int16("value"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["code","writeUInt8",1]),a.prototype.fieldSpec.push(["value","writeInt16LE",2]);var l=function(e,t){return p.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="PhaseBiasesContent",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("code").uint8("integer_indicator").uint8("widelane_integer_indicator").uint8("discontinuity_counter").int32("bias"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["code","writeUInt8",1]),l.prototype.fieldSpec.push(["integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["widelane_integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["discontinuity_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["bias","writeInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),c.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),c.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),c.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),u.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),u.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),u.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),u.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="STECSatElement",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).uint8("stec_quality_indicator").array("stec_coeff",{length:4,type:"int16le"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["stec_quality_indicator","writeUInt8",1]),y.prototype.fieldSpec.push(["stec_coeff","array","writeInt16LE",function(){return 2},4]);var h=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrectionNoStd",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),h.prototype.fieldSpec.push(["wet","writeInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrection",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet").uint8("stddev"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),f.prototype.fieldSpec.push(["wet","writeInt8",1]),f.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="STECResidualNoStd",d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),d.prototype.fieldSpec.push(["residual","writeInt16LE",2]);var _=function(e,t){return p.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="STECResidual",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual").uint8("stddev"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),_.prototype.fieldSpec.push(["residual","writeInt16LE",2]),_.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="GridElementNoStd",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="GridElementNoStd",S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["index","writeUInt16LE",2]),S.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),S.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);var g=function(e,t){return p.call(this,e),this.messageType="GridElement",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="GridElement",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["index","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),g.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);var w=function(e,t){return p.call(this,e),this.messageType="GridDefinitionHeader",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="GridDefinitionHeader",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("region_size_inverse").uint16("area_width").uint16("lat_nw_corner_enc").uint16("lon_nw_corner_enc").uint8("num_msgs").uint8("seq_num"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),w.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),w.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),w.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),w.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),w.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",E.prototype.msg_type=1501,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint32("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),E.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),E.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),E.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),E.prototype.fieldSpec.push(["radial","writeInt32LE",4]),E.prototype.fieldSpec.push(["along","writeInt32LE",4]),E.prototype.fieldSpec.push(["cross","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),E.prototype.fieldSpec.push(["c0","writeInt32LE",4]),E.prototype.fieldSpec.push(["c1","writeInt32LE",4]),E.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",m.prototype.msg_type=1500,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),m.prototype.fieldSpec.push(["iod","writeUInt8",1]),m.prototype.fieldSpec.push(["radial","writeInt32LE",4]),m.prototype.fieldSpec.push(["along","writeInt32LE",4]),m.prototype.fieldSpec.push(["cross","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),m.prototype.fieldSpec.push(["c0","writeInt32LE",4]),m.prototype.fieldSpec.push(["c1","writeInt32LE",4]),m.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_SSR_CODE_BIASES",b.prototype.msg_type=1505,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").array("biases",{type:a.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),b.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),b.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),b.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),b.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_SSR_PHASE_BIASES",v.prototype.msg_type=1510,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("dispersive_bias").uint8("mw_consistency").uint16("yaw").int8("yaw_rate").array("biases",{type:l.prototype.parser,readUntil:"eof"}),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),v.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),v.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),v.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),v.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),v.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),v.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),v.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_SSR_STEC_CORRECTION",L.prototype.msg_type=1515,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),L.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD",I.prototype.msg_type=1520,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:S.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),I.prototype.fieldSpec.push(["element",S.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",T.prototype.msg_type=1530,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:g.prototype.parser}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),T.prototype.fieldSpec.push(["element",g.prototype.fieldSpec]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRID_DEFINITION",M.prototype.msg_type=1525,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("header",{type:w.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["header",w.prototype.fieldSpec]),M.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:h,TroposphericDelayCorrection:f,STECResidualNoStd:d,STECResidual:_,GridElementNoStd:S,GridElement:g,GridDefinitionHeader:w,1501:E,MsgSsrOrbitClock:E,1500:m,MsgSsrOrbitClockDepA:m,1505:b,MsgSsrCodeBiases:b,1510:v,MsgSsrPhaseBiases:v,1515:L,MsgSsrStecCorrection:L,1520:I,MsgSsrGriddedCorrectionNoStd:I,1530:T,MsgSsrGriddedCorrection:T,1525:M,MsgSsrGridDefinition:M}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_STARTUP",i.prototype.msg_type=65280,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("cause").uint8("startup_type").uint16("reserved"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["cause","writeUInt8",1]),i.prototype.fieldSpec.push(["startup_type","writeUInt8",1]),i.prototype.fieldSpec.push(["reserved","writeUInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_DGNSS_STATUS",s.prototype.msg_type=65282,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint16("latency").uint8("num_signals").string("source",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["latency","writeUInt16LE",2]),s.prototype.fieldSpec.push(["num_signals","writeUInt8",1]),s.prototype.fieldSpec.push(["source","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_HEARTBEAT",n.prototype.msg_type=65535,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_INS_STATUS",a.prototype.msg_type=65283,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY",l.prototype.msg_type=65284,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["id","writeUInt8",1]),l.prototype.fieldSpec.push(["telemetry","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",c.prototype.msg_type=65285,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["id","writeUInt8",1]),c.prototype.fieldSpec.push(["telemetry_labels","string",null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_INS_UPDATES",u.prototype.msg_type=65286,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),u.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),u.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),u.prototype.fieldSpec.push(["speed","writeUInt8",1]),u.prototype.fieldSpec.push(["nhc","writeUInt8",1]),u.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_TIME_OFFSET",y.prototype.msg_type=65287,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),y.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),y.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_META",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_META",h.prototype.msg_type=65290,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tom").int32("ns_residual").uint8("flags").array("group_msgs",{type:"uint16",readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),h.prototype.fieldSpec.push(["tom","writeUInt32LE",4]),h.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["group_msgs","array","writeUInt16LE",function(){return 2},null]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,65283:a,MsgInsStatus:a,65284:l,MsgCsacTelemetry:l,65285:c,MsgCsacTelemetryLabels:c,65286:u,MsgInsUpdates:u,65287:y,MsgGnssTimeOffset:y,65290:h,MsgGroupMeta:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),c=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",c.prototype.msg_type=33,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:n.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:i.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),c.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),c.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),c.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),c.prototype.fieldSpec.push(["acceleration","writeInt8",1]),c.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP",u.prototype.msg_type=17,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:l.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),u.prototype.fieldSpec.push(["tot",l.prototype.fieldSpec]),u.prototype.fieldSpec.push(["P","writeUInt32LE",4]),u.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),u.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),u.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),u.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),u.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),u.prototype.fieldSpec.push(["acceleration","writeInt8",1]),u.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE",h.prototype.msg_type=65,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("states",{type:y.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["states","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MeasurementState",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("mesid",{type:i.prototype.parser}).uint8("cn0"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["mesid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_MEASUREMENT_STATE",d.prototype.msg_type=97,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").array("states",{type:f.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["states","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelation",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("I").int16("Q"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["I","writeInt16LE",2]),_.prototype.fieldSpec.push(["Q","writeInt16LE",2]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ",S.prototype.msg_type=45,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);var g=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelationDep",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").int32("I").int32("Q"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["I","writeInt32LE",4]),g.prototype.fieldSpec.push(["Q","writeInt32LE",4]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_B",w.prototype.msg_type=44,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["channel","writeUInt8",1]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_A",E.prototype.msg_type=28,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["channel","writeUInt8",1]),E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var m=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepA",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint8("state").uint8("prn").floatle("cn0"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["state","writeUInt8",1]),m.prototype.fieldSpec.push(["prn","writeUInt8",1]),m.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_A",b.prototype.msg_type=22,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").array("states",{type:m.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["states","array",m.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepB",v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:s.prototype.parser}).floatle("cn0"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["state","writeUInt8",1]),v.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",L.prototype.msg_type=19,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").array("states",{type:v.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",v.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={33:c,MsgTrackingStateDetailedDepA:c,17:u,MsgTrackingStateDetailedDep:u,TrackingChannelState:y,65:h,MsgTrackingState:h,MeasurementState:f,97:d,MsgMeasurementState:d,TrackingChannelCorrelation:_,45:S,MsgTrackingIq:S,TrackingChannelCorrelationDep:g,44:w,MsgTrackingIqDepB:w,28:E,MsgTrackingIqDepA:E,TrackingChannelStateDepA:m,22:b,MsgTrackingStateDepA:b,TrackingChannelStateDepB:v,19:L,MsgTrackingStateDepB:L}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_USER_DATA",i.prototype.msg_type=2048,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("contents",{type:"uint8",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]),e.exports={2048:i,MsgUserData:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_ODOMETRY",i.prototype.msg_type=2307,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").int32("velocity").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["velocity","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_WHEELTICK",s.prototype.msg_type=2308,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags").uint8("source").int32("ticks"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["ticks","writeInt32LE",4]),e.exports={2307:i,MsgOdometry:i,2308:s,MsgWheeltick:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING",i.prototype.msg_type=527,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),i.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_QUAT",s.prototype.msg_type=544,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("tow").int32("w").int32("x").int32("y").int32("z").floatle("w_accuracy").floatle("x_accuracy").floatle("y_accuracy").floatle("z_accuracy").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["w","writeInt32LE",4]),s.prototype.fieldSpec.push(["x","writeInt32LE",4]),s.prototype.fieldSpec.push(["y","writeInt32LE",4]),s.prototype.fieldSpec.push(["z","writeInt32LE",4]),s.prototype.fieldSpec.push(["w_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["x_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["y_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["z_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_EULER",n.prototype.msg_type=545,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").int32("roll").int32("pitch").int32("yaw").floatle("roll_accuracy").floatle("pitch_accuracy").floatle("yaw_accuracy").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["roll","writeInt32LE",4]),n.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),n.prototype.fieldSpec.push(["yaw","writeInt32LE",4]),n.prototype.fieldSpec.push(["roll_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["pitch_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["yaw_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ANGULAR_RATE",a.prototype.msg_type=546,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeInt32LE",4]),a.prototype.fieldSpec.push(["y","writeInt32LE",4]),a.prototype.fieldSpec.push(["z","writeInt32LE",4]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={527:i,MsgBaselineHeading:i,544:s,MsgOrientQuat:s,545:n,MsgOrientEuler:n,546:a,MsgAngularRate:a}}]); \ No newline at end of file +function p(e,t){if(e===t)return 0;for(var r=e.length,p=t.length,o=0,i=Math.min(r,p);o=0;l--)if(c[l]!==u[l])return!1;for(l=c.length-1;l>=0;l--)if(a=c[l],!g(e[a],t[a],r,p))return!1;return!0}(e,t,r,s))}return r?e===t:e==t}function w(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function E(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function m(e,t,r,p){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(p=r,r=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),p=(r&&r.name?" ("+r.name+").":".")+(p?" "+p:"."),e&&!o&&_(o,r,"Missing expected exception"+p);var s="string"==typeof p,n=!e&&o&&!r;if((!e&&i.isError(o)&&s&&E(o,r)||n)&&_(o,r,"Got unwanted exception"+p),e&&o&&r&&!E(o,r)||!e&&o)throw o}u.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return f(d(e.actual),128)+" "+e.operator+" "+f(d(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||_;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var p=r.stack,o=h(t),i=p.indexOf("\n"+o);if(i>=0){var s=p.indexOf("\n",i+1);p=p.substring(s+1)}this.stack=p}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,r){e!=t&&_(e,t,r,"==",u.equal)},u.notEqual=function(e,t,r){e==t&&_(e,t,r,"!=",u.notEqual)},u.deepEqual=function(e,t,r){g(e,t,!1)||_(e,t,r,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,r){g(e,t,!0)||_(e,t,r,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,r){g(e,t,!1)&&_(e,t,r,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,r,p){g(t,r,!0)&&_(t,r,p,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,r){e!==t&&_(e,t,r,"===",u.strictEqual)},u.notStrictEqual=function(e,t,r){e===t&&_(e,t,r,"!==",u.notStrictEqual)},u.throws=function(e,t,r){m(!0,e,t,r)},u.doesNotThrow=function(e,t,r){m(!1,e,t,r)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var r in e)s.call(e,r)&&t.push(r);return t}}).call(this,r(5))},function(e,t,r){(function(e,p){var o=/%[sdj%]/g;t.format=function(e){if(!S(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(p[r++]);case"%d":return Number(p[r++]);case"%j":try{return JSON.stringify(p[r++])}catch(e){return"[Circular]"}default:return e}})),a=p[r];r=3&&(p.depth=arguments[2]),arguments.length>=4&&(p.colors=arguments[3]),f(r)?p.showHidden=r:r&&t._extend(p,r),g(p.showHidden)&&(p.showHidden=!1),g(p.depth)&&(p.depth=2),g(p.colors)&&(p.colors=!1),g(p.customInspect)&&(p.customInspect=!0),p.colors&&(p.stylize=a),c(p,e,p.depth)}function a(e,t){var r=n.styles[t];return r?"["+n.colors[r][0]+"m"+e+"["+n.colors[r][1]+"m":e}function l(e,t){return e}function c(e,r,p){if(e.customInspect&&r&&v(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(p,e);return S(o)||(o=c(e,o,p)),o}var i=function(e,t){if(g(t))return e.stylize("undefined","undefined");if(S(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(_(t))return e.stylize(""+t,"number");if(f(t))return e.stylize(""+t,"boolean");if(d(t))return e.stylize("null","null")}(e,r);if(i)return i;var s=Object.keys(r),n=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(r)),b(r)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(r);if(0===s.length){if(v(r)){var a=r.name?": "+r.name:"";return e.stylize("[Function"+a+"]","special")}if(w(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(m(r))return e.stylize(Date.prototype.toString.call(r),"date");if(b(r))return u(r)}var l,E="",L=!1,I=["{","}"];(h(r)&&(L=!0,I=["[","]"]),v(r))&&(E=" [Function"+(r.name?": "+r.name:"")+"]");return w(r)&&(E=" "+RegExp.prototype.toString.call(r)),m(r)&&(E=" "+Date.prototype.toUTCString.call(r)),b(r)&&(E=" "+u(r)),0!==s.length||L&&0!=r.length?p<0?w(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),l=L?function(e,t,r,p,o){for(var i=[],s=0,n=t.length;s=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(l,E,I)):I[0]+E+I[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function y(e,t,r,p,o,i){var s,n,a;if((a=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?n=a.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):a.set&&(n=e.stylize("[Setter]","special")),U(p,o)||(s="["+o+"]"),n||(e.seen.indexOf(a.value)<0?(n=d(r)?c(e,a.value,null):c(e,a.value,r-1)).indexOf("\n")>-1&&(n=i?n.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+n.split("\n").map((function(e){return" "+e})).join("\n")):n=e.stylize("[Circular]","special")),g(s)){if(i&&o.match(/^\d+$/))return n;(s=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+n}function h(e){return Array.isArray(e)}function f(e){return"boolean"==typeof e}function d(e){return null===e}function _(e){return"number"==typeof e}function S(e){return"string"==typeof e}function g(e){return void 0===e}function w(e){return E(e)&&"[object RegExp]"===L(e)}function E(e){return"object"==typeof e&&null!==e}function m(e){return E(e)&&"[object Date]"===L(e)}function b(e){return E(e)&&("[object Error]"===L(e)||e instanceof Error)}function v(e){return"function"==typeof e}function L(e){return Object.prototype.toString.call(e)}function I(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(g(i)&&(i=p.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=p.pid;s[e]=function(){var p=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,p)}}else s[e]=function(){};return s[e]},t.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=f,t.isNull=d,t.isNullOrUndefined=function(e){return null==e},t.isNumber=_,t.isString=S,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=g,t.isRegExp=w,t.isObject=E,t.isDate=m,t.isError=b,t.isFunction=v,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(43);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(){var e=new Date,t=[I(e.getHours()),I(e.getMinutes()),I(e.getSeconds())].join(":");return[e.getDate(),T[e.getMonth()],t].join(" ")}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",M(),t.format.apply(t,arguments))},t.inherits=r(6),t._extend=function(e,t){if(!t||!E(t))return e;for(var r=Object.keys(t),p=r.length;p--;)e[r[p]]=t[r[p]];return e}}).call(this,r(5),r(9))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t,r){var p;!function(r){o(Math.pow(36,5)),o(Math.pow(16,7)),o(Math.pow(10,9)),o(Math.pow(2,30)),o(36),o(16),o(10),o(2);function o(e,t){return this instanceof o?(this._low=0,this._high=0,this.remainder=null,void 0===t?s.call(this,e):"string"==typeof e?n.call(this,e,t):void i.call(this,e,t)):new o(e,t)}function i(e,t){return this._low=0|e,this._high=0|t,this}function s(e){return this._low=65535&e,this._high=e>>>16,this}function n(e,t){var r=parseInt(e,t||10);return this._low=65535&r,this._high=r>>>16,this}o.prototype.fromBits=i,o.prototype.fromNumber=s,o.prototype.fromString=n,o.prototype.toNumber=function(){return 65536*this._high+this._low},o.prototype.toString=function(e){return this.toNumber().toString(e||10)},o.prototype.add=function(e){var t=this._low+e._low,r=t>>>16;return r+=this._high+e._high,this._low=65535&t,this._high=65535&r,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,r,p=this._high,o=this._low,i=e._high,s=e._low;return t=(r=o*s)>>>16,t+=p*s,t&=65535,t+=o*i,this._low=65535&r,this._high=65535&t,this},o.prototype.div=function(e){if(0==e._low&&0==e._high)throw Error("division by zero");if(0==e._high&&1==e._low)return this.remainder=new o(0),this;if(e.gt(this))return this.remainder=this.clone(),this._low=0,this._high=0,this;if(this.eq(e))return this.remainder=new o(0),this._low=1,this._high=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._low=0,this._high=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=16?this._high|=1<>>16)&65535,this},o.prototype.equals=o.prototype.eq=function(e){return this._low==e._low&&this._high==e._high},o.prototype.greaterThan=o.prototype.gt=function(e){return this._high>e._high||!(this._highe._low},o.prototype.lessThan=o.prototype.lt=function(e){return this._highe._high)&&this._low16?(this._low=this._high>>e-16,this._high=0):16==e?(this._low=this._high,this._high=0):(this._low=this._low>>e|this._high<<16-e&65535,this._high>>=e),this},o.prototype.shiftLeft=o.prototype.shiftl=function(e,t){return e>16?(this._high=this._low<>16-e,this._low=this._low<>>32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.rotateRight=o.prototype.rotr=function(e){var t=this._high<<16|this._low;return t=t>>>e|t<<32-e,this._low=65535&t,this._high=t>>>16,this},o.prototype.clone=function(){return new o(this._low,this._high)},void 0===(p=function(){return o}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p;!function(r){var o={16:s(Math.pow(16,5)),10:s(Math.pow(10,5)),2:s(Math.pow(2,5))},i={16:s(16),10:s(10),2:s(2)};function s(e,t,r,p){return this instanceof s?(this.remainder=null,"string"==typeof e?l.call(this,e,t):void 0===t?a.call(this,e):void n.apply(this,arguments)):new s(e,t,r,p)}function n(e,t,r,p){return void 0===r?(this._a00=65535&e,this._a16=e>>>16,this._a32=65535&t,this._a48=t>>>16,this):(this._a00=0|e,this._a16=0|t,this._a32=0|r,this._a48=0|p,this)}function a(e){return this._a00=65535&e,this._a16=e>>>16,this._a32=0,this._a48=0,this}function l(e,t){t=t||10,this._a00=0,this._a16=0,this._a32=0,this._a48=0;for(var r=o[t]||new s(Math.pow(t,5)),p=0,i=e.length;p=0&&(r.div(t),p[o]=r.remainder.toNumber().toString(e),r.gt(t));o--);return p[o-1]=r.toNumber().toString(e),p.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,r=t>>>16,p=(r+=this._a16+e._a16)>>>16,o=(p+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&r,this._a32=65535&p,this._a48=65535&o,this},s.prototype.subtract=function(e){return this.add(e.clone().negate())},s.prototype.multiply=function(e){var t=this._a00,r=this._a16,p=this._a32,o=this._a48,i=e._a00,s=e._a16,n=e._a32,a=t*i,l=a>>>16,c=(l+=t*s)>>>16;l&=65535,c+=(l+=r*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=r*s)>>>16,c&=65535,u+=(c+=p*i)>>>16,u+=t*e._a48,u&=65535,u+=r*n,u&=65535,u+=p*s,u&=65535,u+=o*i,this._a00=65535&a,this._a16=65535&l,this._a32=65535&c,this._a48=65535&u,this},s.prototype.div=function(e){if(0==e._a16&&0==e._a32&&0==e._a48){if(0==e._a00)throw Error("division by zero");if(1==e._a00)return this.remainder=new s(0),this}if(e.gt(this))return this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0,this;if(this.eq(e))return this.remainder=new s(0),this._a00=1,this._a16=0,this._a32=0,this._a48=0,this;for(var t=e.clone(),r=-1;!this.lt(t);)t.shiftLeft(1,!0),r++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;r>=0;r--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),r>=48?this._a48|=1<=32?this._a32|=1<=16?this._a16|=1<>>16),this._a16=65535&e,e=(65535&~this._a32)+(e>>>16),this._a32=65535&e,this._a48=~this._a48+(e>>>16)&65535,this},s.prototype.equals=s.prototype.eq=function(e){return this._a48==e._a48&&this._a00==e._a00&&this._a32==e._a32&&this._a16==e._a16},s.prototype.greaterThan=s.prototype.gt=function(e){return this._a48>e._a48||!(this._a48e._a32||!(this._a32e._a16||!(this._a16e._a00))},s.prototype.lessThan=s.prototype.lt=function(e){return this._a48e._a48)&&(this._a32e._a32)&&(this._a16e._a16)&&this._a00=48?(this._a00=this._a48>>e-48,this._a16=0,this._a32=0,this._a48=0):e>=32?(e-=32,this._a00=65535&(this._a32>>e|this._a48<<16-e),this._a16=this._a48>>e&65535,this._a32=0,this._a48=0):e>=16?(e-=16,this._a00=65535&(this._a16>>e|this._a32<<16-e),this._a16=65535&(this._a32>>e|this._a48<<16-e),this._a32=this._a48>>e&65535,this._a48=0):(this._a00=65535&(this._a00>>e|this._a16<<16-e),this._a16=65535&(this._a16>>e|this._a32<<16-e),this._a32=65535&(this._a32>>e|this._a48<<16-e),this._a48=this._a48>>e&65535),this},s.prototype.shiftLeft=s.prototype.shiftl=function(e,t){return(e%=64)>=48?(this._a48=this._a00<=32?(e-=32,this._a48=this._a16<>16-e,this._a32=this._a00<=16?(e-=16,this._a48=this._a32<>16-e,this._a32=65535&(this._a16<>16-e),this._a16=this._a00<>16-e,this._a32=65535&(this._a32<>16-e),this._a16=65535&(this._a16<>16-e),this._a00=this._a00<=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r<>>32-e,i=p<>>32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.rotateRight=s.prototype.rotr=function(e){if(0==(e%=64))return this;if(e>=32){var t=this._a00;if(this._a00=this._a32,this._a32=t,t=this._a48,this._a48=this._a16,this._a16=t,32==e)return this;e-=32}var r=this._a48<<16|this._a32,p=this._a16<<16|this._a00,o=r>>>e|p<<32-e,i=p>>>e|r<<32-e;return this._a00=65535&i,this._a16=i>>>16,this._a32=65535&o,this._a48=o>>>16,this},s.prototype.clone=function(){return new s(this._a00,this._a16,this._a32,this._a48)},void 0===(p=function(){return s}.apply(t,[]))||(e.exports=p)}()},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=(r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT",n.prototype.msg_type=47,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:i.prototype.parser}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),n.prototype.fieldSpec.push(["cp","writeFloatLE",4]),n.prototype.fieldSpec.push(["cf","writeFloatLE",4]),n.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_C",a.prototype.msg_type=31,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").floatle("cn0").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["cn0","writeFloatLE",4]),a.prototype.fieldSpec.push(["cp","writeFloatLE",4]),a.prototype.fieldSpec.push(["cf","writeFloatLE",4]),a.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_B",l.prototype.msg_type=20,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").nest("sid",{type:s.prototype.parser}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["snr","writeFloatLE",4]),l.prototype.fieldSpec.push(["cp","writeFloatLE",4]),l.prototype.fieldSpec.push(["cf","writeFloatLE",4]),l.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_RESULT_DEP_A",c.prototype.msg_type=21,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").floatle("snr").floatle("cp").floatle("cf").uint8("prn"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["snr","writeFloatLE",4]),c.prototype.fieldSpec.push(["cp","writeFloatLE",4]),c.prototype.fieldSpec.push(["cf","writeFloatLE",4]),c.prototype.fieldSpec.push(["prn","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="AcqSvProfile",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:i.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["job_type","writeUInt8",1]),u.prototype.fieldSpec.push(["status","writeUInt8",1]),u.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),u.prototype.fieldSpec.push(["int_time","writeUInt8",1]),u.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),u.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),u.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),u.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),u.prototype.fieldSpec.push(["cf","writeInt32LE",4]),u.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="AcqSvProfileDep",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint8("job_type").uint8("status").uint16("cn0").uint8("int_time").nest("sid",{type:s.prototype.parser}).uint16("bin_width").uint32("timestamp").uint32("time_spent").int32("cf_min").int32("cf_max").int32("cf").uint32("cp"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["job_type","writeUInt8",1]),y.prototype.fieldSpec.push(["status","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt16LE",2]),y.prototype.fieldSpec.push(["int_time","writeUInt8",1]),y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["bin_width","writeUInt16LE",2]),y.prototype.fieldSpec.push(["timestamp","writeUInt32LE",4]),y.prototype.fieldSpec.push(["time_spent","writeUInt32LE",4]),y.prototype.fieldSpec.push(["cf_min","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf_max","writeInt32LE",4]),y.prototype.fieldSpec.push(["cf","writeInt32LE",4]),y.prototype.fieldSpec.push(["cp","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE",h.prototype.msg_type=46,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:u.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["acq_sv_profile","array",u.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_ACQ_SV_PROFILE_DEP",f.prototype.msg_type=30,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("acq_sv_profile",{type:y.prototype.parser,readUntil:"eof"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["acq_sv_profile","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={47:n,MsgAcqResult:n,31:a,MsgAcqResultDepC:a,20:l,MsgAcqResultDepB:l,21:c,MsgAcqResultDepA:c,AcqSvProfile:u,AcqSvProfileDep:y,46:h,MsgAcqSvProfile:h,30:f,MsgAcqSvProfileDep:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",i.prototype.msg_type=179,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",s.prototype.msg_type=180,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("flags").string("version",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt32LE",4]),s.prototype.fieldSpec.push(["version","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_JUMP_TO_APP",n.prototype.msg_type=177,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("jump"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["jump","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_REQ",a.prototype.msg_type=222,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little"),a.prototype.fieldSpec=[];var l=function(e,t){return p.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_NAP_DEVICE_DNA_RESP",l.prototype.msg_type=221,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").array("dna",{length:8,type:"uint8"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["dna","array","writeUInt8",function(){return 1},8]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",c.prototype.msg_type=176,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").array("handshake",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["handshake","array","writeUInt8",function(){return 1},null]),e.exports={179:i,MsgBootloaderHandshakeReq:i,180:s,MsgBootloaderHandshakeResp:s,177:n,MsgBootloaderJumpToApp:n,222:a,MsgNapDeviceDnaReq:a,221:l,MsgNapDeviceDnaResp:l,176:c,MsgBootloaderHandshakeDepA:c}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_EXT_EVENT",i.prototype.msg_type=257,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags").uint8("pin"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]),i.prototype.fieldSpec.push(["pin","writeUInt8",1]),e.exports={257:i,MsgExtEvent:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_REQ",i.prototype.msg_type=168,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").uint8("chunk_size").string("filename",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),i.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),i.prototype.fieldSpec.push(["chunk_size","writeUInt8",1]),i.prototype.fieldSpec.push(["filename","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_RESP",s.prototype.msg_type=163,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),s.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_REQ",n.prototype.msg_type=169,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("dirname",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),n.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),n.prototype.fieldSpec.push(["dirname","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_READ_DIR_RESP",a.prototype.msg_type=170,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("sequence").array("contents",{type:"uint8",readUntil:"eof"}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),a.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_REMOVE",l.prototype.msg_type=172,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("filename",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["filename","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_REQ",c.prototype.msg_type=173,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("offset").string("filename",{greedy:!0}).array("data",{type:"uint8",readUntil:"eof"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),c.prototype.fieldSpec.push(["offset","writeUInt32LE",4]),c.prototype.fieldSpec.push(["filename","string",null]),c.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_WRITE_RESP",u.prototype.msg_type=171,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sequence"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_REQ",y.prototype.msg_type=4097,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sequence"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_FILEIO_CONFIG_RESP",h.prototype.msg_type=4098,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("sequence").uint32("window_size").uint32("batch_size").uint32("fileio_version"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),h.prototype.fieldSpec.push(["window_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["batch_size","writeUInt32LE",4]),h.prototype.fieldSpec.push(["fileio_version","writeUInt32LE",4]),e.exports={168:i,MsgFileioReadReq:i,163:s,MsgFileioReadResp:s,169:n,MsgFileioReadDirReq:n,170:a,MsgFileioReadDirResp:a,172:l,MsgFileioRemove:l,173:c,MsgFileioWriteReq:c,171:u,MsgFileioWriteResp:u,4097:y,MsgFileioConfigReq:y,4098:h,MsgFileioConfigResp:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_PROGRAM",i.prototype.msg_type=230,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len").array("data",{type:"uint8",length:"addr_len"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["target","writeUInt8",1]),i.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),i.prototype.fieldSpec.push(["addr_len","writeUInt8",1]),i.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},"addr_len"]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_DONE",s.prototype.msg_type=224,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("response"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["response","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_REQ",n.prototype.msg_type=231,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["target","writeUInt8",1]),n.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),n.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_READ_RESP",a.prototype.msg_type=225,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("target").array("addr_start",{length:3,type:"uint8"}).uint8("addr_len"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["target","writeUInt8",1]),a.prototype.fieldSpec.push(["addr_start","array","writeUInt8",function(){return 1},3]),a.prototype.fieldSpec.push(["addr_len","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_FLASH_ERASE",l.prototype.msg_type=226,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("target").uint32("sector_num"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["target","writeUInt8",1]),l.prototype.fieldSpec.push(["sector_num","writeUInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_LOCK_SECTOR",c.prototype.msg_type=227,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("sector"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_STM_FLASH_UNLOCK_SECTOR",u.prototype.msg_type=228,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("sector"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["sector","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_REQ",y.prototype.msg_type=232,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_STM_UNIQUE_ID_RESP",h.prototype.msg_type=229,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("stm_id",{length:12,type:"uint8"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["stm_id","array","writeUInt8",function(){return 1},12]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_M25_FLASH_WRITE_STATUS",f.prototype.msg_type=243,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").array("status",{length:1,type:"uint8"}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","array","writeUInt8",function(){return 1},1]),e.exports={230:i,MsgFlashProgram:i,224:s,MsgFlashDone:s,231:n,MsgFlashReadReq:n,225:a,MsgFlashReadResp:a,226:l,MsgFlashErase:l,227:c,MsgStmFlashLockSector:c,228:u,MsgStmFlashUnlockSector:u,232:y,MsgStmUniqueIdReq:y,229:h,MsgStmUniqueIdResp:h,243:f,MsgM25FlashWriteStatus:f}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_IMU_RAW",i.prototype.msg_type=2304,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("acc_x").int16("acc_y").int16("acc_z").int16("gyr_x").int16("gyr_y").int16("gyr_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["acc_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["acc_z","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["gyr_z","writeInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_IMU_AUX",s.prototype.msg_type=2305,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("imu_type").int16("temp").uint8("imu_conf"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["imu_type","writeUInt8",1]),s.prototype.fieldSpec.push(["temp","writeInt16LE",2]),s.prototype.fieldSpec.push(["imu_conf","writeUInt8",1]),e.exports={2304:i,MsgImuRaw:i,2305:s,MsgImuAux:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_CPU_STATE",i.prototype.msg_type=32512,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").string("tname",{length:15}).string("cmdline",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["index","writeUInt8",1]),i.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),i.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),i.prototype.fieldSpec.push(["tname","string",15]),i.prototype.fieldSpec.push(["cmdline","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_MEM_STATE",s.prototype.msg_type=32513,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").string("tname",{length:15}).string("cmdline",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["index","writeUInt8",1]),s.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),s.prototype.fieldSpec.push(["pmem","writeUInt8",1]),s.prototype.fieldSpec.push(["tname","string",15]),s.prototype.fieldSpec.push(["cmdline","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SYS_STATE",n.prototype.msg_type=32514,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),n.prototype.fieldSpec.push(["pmem","writeUInt8",1]),n.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),n.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",a.prototype.msg_type=32515,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("socket_count").uint16("socket_types").uint16("socket_states").string("cmdline",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["index","writeUInt8",1]),a.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_count","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),a.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),a.prototype.fieldSpec.push(["cmdline","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",l.prototype.msg_type=32516,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("recv_queued").uint16("send_queued").uint16("socket_types").uint16("socket_states").string("address_of_largest",{length:64}).string("cmdline",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["index","writeUInt8",1]),l.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),l.prototype.fieldSpec.push(["recv_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["send_queued","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_types","writeUInt16LE",2]),l.prototype.fieldSpec.push(["socket_states","writeUInt16LE",2]),l.prototype.fieldSpec.push(["address_of_largest","string",64]),l.prototype.fieldSpec.push(["cmdline","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_SOCKET_USAGE",c.prototype.msg_type=32517,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("avg_queue_depth").uint32("max_queue_depth").array("socket_state_counts",{length:16,type:"uint16le"}).array("socket_type_counts",{length:16,type:"uint16le"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["avg_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["max_queue_depth","writeUInt32LE",4]),c.prototype.fieldSpec.push(["socket_state_counts","array","writeUInt16LE",function(){return 2},16]),c.prototype.fieldSpec.push(["socket_type_counts","array","writeUInt16LE",function(){return 2},16]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_COUNT",u.prototype.msg_type=32518,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint16("fd_count").string("cmdline",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt8",1]),u.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),u.prototype.fieldSpec.push(["fd_count","writeUInt16LE",2]),u.prototype.fieldSpec.push(["cmdline","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_LINUX_PROCESS_FD_SUMMARY",y.prototype.msg_type=32519,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("sys_fd_count").string("most_opened",{greedy:!0}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sys_fd_count","writeUInt32LE",4]),y.prototype.fieldSpec.push(["most_opened","string",null]),e.exports={32512:i,MsgLinuxCpuState:i,32513:s,MsgLinuxMemState:s,32514:n,MsgLinuxSysState:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_LOG",i.prototype.msg_type=1025,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("level").string("text",{greedy:!0}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["level","writeUInt8",1]),i.prototype.fieldSpec.push(["text","string",null]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").string("fwd_payload",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_PRINT_DEP",n.prototype.msg_type=16,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").string("text",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["text","string",null]),e.exports={1025:i,MsgLog:i,1026:s,MsgFwd:s,16:n,MsgPrintDep:n}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_MAG_RAW",i.prototype.msg_type=2306,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint8("tow_f").int16("mag_x").int16("mag_y").int16("mag_z"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["tow_f","writeUInt8",1]),i.prototype.fieldSpec.push(["mag_x","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_y","writeInt16LE",2]),i.prototype.fieldSpec.push(["mag_z","writeInt16LE",2]),e.exports={2306:i,MsgMagRaw:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME",i.prototype.msg_type=258,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_UTC_TIME",s.prototype.msg_type=259,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["year","writeUInt16LE",2]),s.prototype.fieldSpec.push(["month","writeUInt8",1]),s.prototype.fieldSpec.push(["day","writeUInt8",1]),s.prototype.fieldSpec.push(["hours","writeUInt8",1]),s.prototype.fieldSpec.push(["minutes","writeUInt8",1]),s.prototype.fieldSpec.push(["seconds","writeUInt8",1]),s.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_DOPS",n.prototype.msg_type=520,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF",a.prototype.msg_type=521,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeDoubleLE",8]),a.prototype.fieldSpec.push(["y","writeDoubleLE",8]),a.prototype.fieldSpec.push(["z","writeDoubleLE",8]),a.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),a.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV",l.prototype.msg_type=532,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["x","writeDoubleLE",8]),l.prototype.fieldSpec.push(["y","writeDoubleLE",8]),l.prototype.fieldSpec.push(["z","writeDoubleLE",8]),l.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),l.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH",c.prototype.msg_type=522,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),c.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),c.prototype.fieldSpec.push(["height","writeDoubleLE",8]),c.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV",u.prototype.msg_type=529,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),u.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),u.prototype.fieldSpec.push(["height","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF",y.prototype.msg_type=523,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["x","writeInt32LE",4]),y.prototype.fieldSpec.push(["y","writeInt32LE",4]),y.prototype.fieldSpec.push(["z","writeInt32LE",4]),y.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED",h.prototype.msg_type=524,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),h.prototype.fieldSpec.push(["n","writeInt32LE",4]),h.prototype.fieldSpec.push(["e","writeInt32LE",4]),h.prototype.fieldSpec.push(["d","writeInt32LE",4]),h.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),h.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF",f.prototype.msg_type=525,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),f.prototype.fieldSpec.push(["x","writeInt32LE",4]),f.prototype.fieldSpec.push(["y","writeInt32LE",4]),f.prototype.fieldSpec.push(["z","writeInt32LE",4]),f.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),f.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV",d.prototype.msg_type=533,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["x","writeInt32LE",4]),d.prototype.fieldSpec.push(["y","writeInt32LE",4]),d.prototype.fieldSpec.push(["z","writeInt32LE",4]),d.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED",_.prototype.msg_type=526,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["n","writeInt32LE",4]),_.prototype.fieldSpec.push(["e","writeInt32LE",4]),_.prototype.fieldSpec.push(["d","writeInt32LE",4]),_.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV",S.prototype.msg_type=530,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),S.prototype.fieldSpec.push(["n","writeInt32LE",4]),S.prototype.fieldSpec.push(["e","writeInt32LE",4]),S.prototype.fieldSpec.push(["d","writeInt32LE",4]),S.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);var g=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_GNSS",g.prototype.msg_type=553,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["x","writeDoubleLE",8]),g.prototype.fieldSpec.push(["y","writeDoubleLE",8]),g.prototype.fieldSpec.push(["z","writeDoubleLE",8]),g.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",w.prototype.msg_type=564,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["x","writeDoubleLE",8]),w.prototype.fieldSpec.push(["y","writeDoubleLE",8]),w.prototype.fieldSpec.push(["z","writeDoubleLE",8]),w.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),w.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_GNSS",E.prototype.msg_type=554,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),E.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),E.prototype.fieldSpec.push(["height","writeDoubleLE",8]),E.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),E.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),E.prototype.fieldSpec.push(["flags","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_COV_GNSS",m.prototype.msg_type=561,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),m.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),m.prototype.fieldSpec.push(["height","writeDoubleLE",8]),m.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),m.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),m.prototype.fieldSpec.push(["flags","writeUInt8",1]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_GNSS",b.prototype.msg_type=557,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["x","writeInt32LE",4]),b.prototype.fieldSpec.push(["y","writeInt32LE",4]),b.prototype.fieldSpec.push(["z","writeInt32LE",4]),b.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",v.prototype.msg_type=565,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),v.prototype.fieldSpec.push(["x","writeInt32LE",4]),v.prototype.fieldSpec.push(["y","writeInt32LE",4]),v.prototype.fieldSpec.push(["z","writeInt32LE",4]),v.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_GNSS",L.prototype.msg_type=558,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["n","writeInt32LE",4]),L.prototype.fieldSpec.push(["e","writeInt32LE",4]),L.prototype.fieldSpec.push(["d","writeInt32LE",4]),L.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),L.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),L.prototype.fieldSpec.push(["flags","writeUInt8",1]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_COV_GNSS",I.prototype.msg_type=562,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").floatle("cov_n_n").floatle("cov_n_e").floatle("cov_n_d").floatle("cov_e_e").floatle("cov_e_d").floatle("cov_d_d").uint8("n_sats").uint8("flags"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["n","writeInt32LE",4]),I.prototype.fieldSpec.push(["e","writeInt32LE",4]),I.prototype.fieldSpec.push(["d","writeInt32LE",4]),I.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_VEL_BODY",T.prototype.msg_type=531,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").floatle("cov_x_x").floatle("cov_x_y").floatle("cov_x_z").floatle("cov_y_y").floatle("cov_y_z").floatle("cov_z_z").uint8("n_sats").uint8("flags"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["x","writeInt32LE",4]),T.prototype.fieldSpec.push(["y","writeInt32LE",4]),T.prototype.fieldSpec.push(["z","writeInt32LE",4]),T.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_AGE_CORRECTIONS",M.prototype.msg_type=528,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["age","writeUInt16LE",2]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_GPS_TIME_DEP_A",U.prototype.msg_type=256,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_DOPS_DEP_A",D.prototype.msg_type=518,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),D.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_POS_ECEF_DEP_A",O.prototype.msg_type=512,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["x","writeDoubleLE",8]),O.prototype.fieldSpec.push(["y","writeDoubleLE",8]),O.prototype.fieldSpec.push(["z","writeDoubleLE",8]),O.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),O.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_POS_LLH_DEP_A",G.prototype.msg_type=513,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),G.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),G.prototype.fieldSpec.push(["height","writeDoubleLE",8]),G.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),G.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),G.prototype.fieldSpec.push(["flags","writeUInt8",1]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",A.prototype.msg_type=514,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["x","writeInt32LE",4]),A.prototype.fieldSpec.push(["y","writeInt32LE",4]),A.prototype.fieldSpec.push(["z","writeInt32LE",4]),A.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),A.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),A.prototype.fieldSpec.push(["flags","writeUInt8",1]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_NED_DEP_A",R.prototype.msg_type=515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["n","writeInt32LE",4]),R.prototype.fieldSpec.push(["e","writeInt32LE",4]),R.prototype.fieldSpec.push(["d","writeInt32LE",4]),R.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),R.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),R.prototype.fieldSpec.push(["flags","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_VEL_ECEF_DEP_A",C.prototype.msg_type=516,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["x","writeInt32LE",4]),C.prototype.fieldSpec.push(["y","writeInt32LE",4]),C.prototype.fieldSpec.push(["z","writeInt32LE",4]),C.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),C.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_VEL_NED_DEP_A",P.prototype.msg_type=517,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").int32("n").int32("e").int32("d").uint16("h_accuracy").uint16("v_accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["n","writeInt32LE",4]),P.prototype.fieldSpec.push(["e","writeInt32LE",4]),P.prototype.fieldSpec.push(["d","writeInt32LE",4]),P.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",N.prototype.msg_type=519,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_PROTECTION_LEVEL",j.prototype.msg_type=534,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),j.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),j.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),j.prototype.fieldSpec.push(["height","writeDoubleLE",8]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,259:s,MsgUtcTime:s,520:n,MsgDops:n,521:a,MsgPosEcef:a,532:l,MsgPosEcefCov:l,522:c,MsgPosLlh:c,529:u,MsgPosLlhCov:u,523:y,MsgBaselineEcef:y,524:h,MsgBaselineNed:h,525:f,MsgVelEcef:f,533:d,MsgVelEcefCov:d,526:_,MsgVelNed:_,530:S,MsgVelNedCov:S,553:g,MsgPosEcefGnss:g,564:w,MsgPosEcefCovGnss:w,554:E,MsgPosLlhGnss:E,561:m,MsgPosLlhCovGnss:m,557:b,MsgVelEcefGnss:b,565:v,MsgVelEcefCovGnss:v,558:L,MsgVelNedGnss:L,562:I,MsgVelNedCovGnss:I,531:T,MsgVelBody:T,528:M,MsgAgeCorrections:M,256:U,MsgGpsTimeDepA:U,518:D,MsgDopsDepA:D,512:O,MsgPosEcefDepA:O,513:G,MsgPosLlhDepA:G,514:A,MsgBaselineEcefDepA:A,515:R,MsgBaselineNedDepA:R,516:C,MsgVelEcefDepA:C,517:P,MsgVelNedDepA:P,519:N,MsgBaselineHeadingDepA:N,534:j,MsgProtectionLevel:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_NDB_EVENT",s.prototype.msg_type=1024,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("recv_time").uint8("event").uint8("object_type").uint8("result").uint8("data_source").nest("object_sid",{type:i.prototype.parser}).nest("src_sid",{type:i.prototype.parser}).uint16("original_sender"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["event","writeUInt8",1]),s.prototype.fieldSpec.push(["object_type","writeUInt8",1]),s.prototype.fieldSpec.push(["result","writeUInt8",1]),s.prototype.fieldSpec.push(["data_source","writeUInt8",1]),s.prototype.fieldSpec.push(["object_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["src_sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["original_sender","writeUInt16LE",2]),e.exports={1024:s,MsgNdbEvent:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec),c=r(0).GPSTimeDep,u=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(p.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:n.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="Doppler",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("i").uint8("f"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["i","writeInt16LE",2]),y.prototype.fieldSpec.push(["f","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="PackedObsContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),h.prototype.fieldSpec.push(["D",y.prototype.fieldSpec]),h.prototype.fieldSpec.push(["cn0","writeUInt8",1]),h.prototype.fieldSpec.push(["lock","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var f=function(e,t){return p.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="PackedOsrContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:i.prototype.parser}).uint16("iono_std").uint16("tropo_std").uint16("range_std"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["P","writeUInt32LE",4]),f.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["iono_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["tropo_std","writeUInt16LE",2]),f.prototype.fieldSpec.push(["range_std","writeUInt16LE",2]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_OBS",d.prototype.msg_type=74,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:h.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),d.prototype.fieldSpec.push(["obs","array",h.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_LLH",_.prototype.msg_type=68,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").doublele("lat").doublele("lon").doublele("height"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),_.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),_.prototype.fieldSpec.push(["height","writeDoubleLE",8]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_BASE_POS_ECEF",S.prototype.msg_type=72,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").doublele("x").doublele("y").doublele("z"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["x","writeDoubleLE",8]),S.prototype.fieldSpec.push(["y","writeDoubleLE",8]),S.prototype.fieldSpec.push(["z","writeDoubleLE",8]);var g=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),g.prototype.fieldSpec.push(["ura","writeFloatLE",4]),g.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),g.prototype.fieldSpec.push(["valid","writeUInt8",1]),g.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",l.prototype.fieldSpec]),w.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),w.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),w.prototype.fieldSpec.push(["valid","writeUInt8",1]),w.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),E.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),E.prototype.fieldSpec.push(["valid","writeUInt8",1]),E.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_E",m.prototype.msg_type=129,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:c.prototype.parser}).uint8("iode").uint16("iodc"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),m.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),m.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),m.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["w","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),m.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),m.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),m.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS_DEP_F",b.prototype.msg_type=134,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),b.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),b.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),b.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),b.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["w","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),b.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),b.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),b.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GPS",v.prototype.msg_type=138,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),v.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),v.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),v.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),v.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["w","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),v.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af0","writeFloatLE",4]),v.prototype.fieldSpec.push(["af1","writeFloatLE",4]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt8",1]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_QZSS",L.prototype.msg_type=142,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").floatle("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),L.prototype.fieldSpec.push(["tgd","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),L.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),L.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),L.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),L.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["w","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),L.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),L.prototype.fieldSpec.push(["af0","writeFloatLE",4]),L.prototype.fieldSpec.push(["af1","writeFloatLE",4]),L.prototype.fieldSpec.push(["af2","writeFloatLE",4]),L.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_BDS",I.prototype.msg_type=137,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("tgd1").floatle("tgd2").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").floatle("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),I.prototype.fieldSpec.push(["tgd2","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),I.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),I.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),I.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["w","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),I.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",T.prototype.msg_type=149,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),T.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),T.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),T.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),T.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["w","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),T.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GAL",M.prototype.msg_type=141,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("bgd_e1e5a").floatle("bgd_e1e5b").floatle("c_rs").floatle("c_rc").floatle("c_uc").floatle("c_us").floatle("c_ic").floatle("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").floatle("af2").nest("toc",{type:l.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),M.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),M.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),M.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),M.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),M.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["w","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),M.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),M.prototype.fieldSpec.push(["af2","writeFloatLE",4]),M.prototype.fieldSpec.push(["toc",l.prototype.fieldSpec]),M.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),M.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),M.prototype.fieldSpec.push(["source","writeUInt8",1]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",U.prototype.msg_type=130,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),U.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),U.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_A",D.prototype.msg_type=131,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").nest("common",{type:E.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),D.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),D.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),D.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),D.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_B",O.prototype.msg_type=132,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).doublele("a_gf0").doublele("a_gf1"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),O.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),O.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),O.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);var G=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_SBAS",G.prototype.msg_type=140,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"floatle"}).array("acc",{length:3,type:"floatle"}).floatle("a_gf0").floatle("a_gf1"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),G.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),G.prototype.fieldSpec.push(["vel","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),G.prototype.fieldSpec.push(["a_gf0","writeFloatLE",4]),G.prototype.fieldSpec.push(["a_gf1","writeFloatLE",4]);var A=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_B",A.prototype.msg_type=133,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),A.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),A.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),A.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),A.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",R.prototype.msg_type=135,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),R.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),R.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),R.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),R.prototype.fieldSpec.push(["fcn","writeUInt8",1]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",C.prototype.msg_type=136,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").nest("common",{type:w.prototype.parser}).doublele("gamma").doublele("tau").doublele("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"doublele"}).uint8("fcn").uint8("iod"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["common",w.prototype.fieldSpec]),C.prototype.fieldSpec.push(["gamma","writeDoubleLE",8]),C.prototype.fieldSpec.push(["tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["d_tau","writeDoubleLE",8]),C.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),C.prototype.fieldSpec.push(["fcn","writeUInt8",1]),C.prototype.fieldSpec.push(["iod","writeUInt8",1]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_GLO",P.prototype.msg_type=139,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("common",{type:g.prototype.parser}).floatle("gamma").floatle("tau").floatle("d_tau").array("pos",{length:3,type:"doublele"}).array("vel",{length:3,type:"doublele"}).array("acc",{length:3,type:"floatle"}).uint8("fcn").uint8("iod"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),P.prototype.fieldSpec.push(["gamma","writeFloatLE",4]),P.prototype.fieldSpec.push(["tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["d_tau","writeFloatLE",4]),P.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),P.prototype.fieldSpec.push(["acc","array","writeFloatLE",function(){return 4},3]),P.prototype.fieldSpec.push(["fcn","writeUInt8",1]),P.prototype.fieldSpec.push(["iod","writeUInt8",1]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_D",N.prototype.msg_type=128,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),N.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),N.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),N.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["w","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),N.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),N.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),N.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),N.prototype.fieldSpec.push(["valid","writeUInt8",1]),N.prototype.fieldSpec.push(["healthy","writeUInt8",1]),N.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_A",j.prototype.msg_type=26,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),j.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),j.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),j.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["w","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),j.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),j.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),j.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),j.prototype.fieldSpec.push(["valid","writeUInt8",1]),j.prototype.fieldSpec.push(["healthy","writeUInt8",1]),j.prototype.fieldSpec.push(["prn","writeUInt8",1]);var x=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_B",x.prototype.msg_type=70,x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").uint8("prn").uint8("iode"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),x.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),x.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),x.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["w","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),x.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),x.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),x.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),x.prototype.fieldSpec.push(["valid","writeUInt8",1]),x.prototype.fieldSpec.push(["healthy","writeUInt8",1]),x.prototype.fieldSpec.push(["prn","writeUInt8",1]),x.prototype.fieldSpec.push(["iode","writeUInt8",1]);var F=function(e,t){return p.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(p.prototype)).messageType="MSG_EPHEMERIS_DEP_C",F.prototype.msg_type=71,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").doublele("tgd").doublele("c_rs").doublele("c_rc").doublele("c_uc").doublele("c_us").doublele("c_ic").doublele("c_is").doublele("dn").doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("inc_dot").doublele("af0").doublele("af1").doublele("af2").doublele("toe_tow").uint16("toe_wn").doublele("toc_tow").uint16("toc_wn").uint8("valid").uint8("healthy").nest("sid",{type:s.prototype.parser}).uint8("iode").uint16("iodc").uint32("reserved"),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["tgd","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rs","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_rc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_uc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_us","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_ic","writeDoubleLE",8]),F.prototype.fieldSpec.push(["c_is","writeDoubleLE",8]),F.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),F.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["w","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),F.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),F.prototype.fieldSpec.push(["af2","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toe_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["toc_tow","writeDoubleLE",8]),F.prototype.fieldSpec.push(["toc_wn","writeUInt16LE",2]),F.prototype.fieldSpec.push(["valid","writeUInt8",1]),F.prototype.fieldSpec.push(["healthy","writeUInt8",1]),F.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);var k=function(e,t){return p.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(p.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:c.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",c.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);var B=function(e,t){return p.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(p.prototype)).messageType="CarrierPhaseDepA",B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").int32("i").uint8("f"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["i","writeInt32LE",4]),B.prototype.fieldSpec.push(["f","writeUInt8",1]);var q=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepA",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").uint8("prn"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["P","writeUInt32LE",4]),q.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),q.prototype.fieldSpec.push(["cn0","writeUInt8",1]),q.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),q.prototype.fieldSpec.push(["prn","writeUInt8",1]);var z=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepB",z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:B.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["P","writeUInt32LE",4]),z.prototype.fieldSpec.push(["L",B.prototype.fieldSpec]),z.prototype.fieldSpec.push(["cn0","writeUInt8",1]),z.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var H=function(e,t){return p.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(p.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var V=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_A",V.prototype.msg_type=69,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:q.prototype.parser,readUntil:"eof"}),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),V.prototype.fieldSpec.push(["obs","array",q.prototype.fieldSpec,function(){return this.fields.array.length},null]);var W=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_B",W.prototype.msg_type=67,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Y=function(e,t){return p.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(p.prototype)).messageType="MSG_OBS_DEP_C",Y.prototype.msg_type=73,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);var Q=function(e,t){return p.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(p.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).doublele("a0").doublele("a1").doublele("a2").doublele("a3").doublele("b0").doublele("b1").doublele("b2").doublele("b3"),Q.prototype.fieldSpec=[],Q.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),Q.prototype.fieldSpec.push(["a0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["a3","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b0","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b1","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b2","writeDoubleLE",8]),Q.prototype.fieldSpec.push(["b3","writeDoubleLE",8]);var K=function(e,t){return p.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(p.prototype)).messageType="MSG_SV_CONFIGURATION_GPS_DEP",K.prototype.msg_type=145,K.prototype.constructor=K,K.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);var X=function(e,t){return p.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(p.prototype)).messageType="GnssCapb",X.prototype.constructor=X,X.prototype.parser=(new o).endianess("little").uint64("gps_active").uint64("gps_l2c").uint64("gps_l5").uint32("glo_active").uint32("glo_l2of").uint32("glo_l3").uint64("sbas_active").uint64("sbas_l5").uint64("bds_active").uint64("bds_d2nav").uint64("bds_b2").uint64("bds_b2a").uint32("qzss_active").uint64("gal_active").uint64("gal_e5"),X.prototype.fieldSpec=[],X.prototype.fieldSpec.push(["gps_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l2c","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gps_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["glo_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l2of","writeUInt32LE",4]),X.prototype.fieldSpec.push(["glo_l3","writeUInt32LE",4]),X.prototype.fieldSpec.push(["sbas_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["sbas_l5","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_d2nav","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2","writeUInt64LE",8]),X.prototype.fieldSpec.push(["bds_b2a","writeUInt64LE",8]),X.prototype.fieldSpec.push(["qzss_active","writeUInt32LE",4]),X.prototype.fieldSpec.push(["gal_active","writeUInt64LE",8]),X.prototype.fieldSpec.push(["gal_e5","writeUInt64LE",8]);var J=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_CAPB",J.prototype.msg_type=150,J.prototype.constructor=J,J.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:l.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",l.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);var $=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",$.prototype.msg_type=146,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).uint8("prn").uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["prn","writeUInt8",1]),$.prototype.fieldSpec.push(["valid","writeUInt8",1]),$.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),$.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var Z=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",Z.prototype.msg_type=147,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),Z.prototype.fieldSpec=[],Z.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),Z.prototype.fieldSpec.push(["valid","writeUInt8",1]),Z.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),Z.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var ee=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_DELAY",ee.prototype.msg_type=148,ee.prototype.constructor=ee,ee.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",l.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["valid","writeUInt8",1]),ee.prototype.fieldSpec.push(["tgd","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l1ca","writeInt16LE",2]),ee.prototype.fieldSpec.push(["isc_l2c","writeInt16LE",2]);var te=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),te.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),te.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),te.prototype.fieldSpec.push(["valid","writeUInt8",1]),te.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var re=function(e,t){return p.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(p.prototype)).messageType="AlmanacCommonContentDep",re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),re.prototype.fieldSpec.push(["toa",l.prototype.fieldSpec]),re.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),re.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),re.prototype.fieldSpec.push(["valid","writeUInt8",1]),re.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);var pe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS_DEP",pe.prototype.msg_type=112,pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var oe=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GPS",oe.prototype.msg_type=114,oe.prototype.constructor=oe,oe.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),oe.prototype.fieldSpec=[],oe.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),oe.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["w","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),oe.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);var ie=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO_DEP",ie.prototype.msg_type=113,ie.prototype.constructor=ie,ie.prototype.parser=(new o).endianess("little").nest("common",{type:re.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),ie.prototype.fieldSpec=[],ie.prototype.fieldSpec.push(["common",re.prototype.fieldSpec]),ie.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["i","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),ie.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var se=function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC_GLO",se.prototype.msg_type=115,se.prototype.constructor=se,se.prototype.parser=(new o).endianess("little").nest("common",{type:te.prototype.parser}).doublele("lambda_na").doublele("t_lambda_na").doublele("i").doublele("t").doublele("t_dot").doublele("epsilon").doublele("omega"),se.prototype.fieldSpec=[],se.prototype.fieldSpec.push(["common",te.prototype.fieldSpec]),se.prototype.fieldSpec.push(["lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_lambda_na","writeDoubleLE",8]),se.prototype.fieldSpec.push(["i","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t","writeDoubleLE",8]),se.prototype.fieldSpec.push(["t_dot","writeDoubleLE",8]),se.prototype.fieldSpec.push(["epsilon","writeDoubleLE",8]),se.prototype.fieldSpec.push(["omega","writeDoubleLE",8]);var ne=function(e,t){return p.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(p.prototype)).messageType="MSG_GLO_BIASES",ne.prototype.msg_type=117,ne.prototype.constructor=ne,ne.prototype.parser=(new o).endianess("little").uint8("mask").int16("l1ca_bias").int16("l1p_bias").int16("l2ca_bias").int16("l2p_bias"),ne.prototype.fieldSpec=[],ne.prototype.fieldSpec.push(["mask","writeUInt8",1]),ne.prototype.fieldSpec.push(["l1ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l1p_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2ca_bias","writeInt16LE",2]),ne.prototype.fieldSpec.push(["l2p_bias","writeInt16LE",2]);var ae=function(e,t){return p.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(p.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);var le=function(e,t){return p.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(p.prototype)).messageType="MSG_SV_AZ_EL",le.prototype.msg_type=151,le.prototype.constructor=le,le.prototype.parser=(new o).endianess("little").array("azel",{type:ae.prototype.parser,readUntil:"eof"}),le.prototype.fieldSpec=[],le.prototype.fieldSpec.push(["azel","array",ae.prototype.fieldSpec,function(){return this.fields.array.length},null]);var ce=function(e,t){return p.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(p.prototype)).messageType="MSG_OSR",ce.prototype.msg_type=1600,ce.prototype.constructor=ce,ce.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).array("obs",{type:f.prototype.parser,readUntil:"eof"}),ce.prototype.fieldSpec=[],ce.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),ce.prototype.fieldSpec.push(["obs","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={ObservationHeader:u,Doppler:y,PackedObsContent:h,PackedOsrContent:f,74:d,MsgObs:d,68:_,MsgBasePosLlh:_,72:S,MsgBasePosEcef:S,EphemerisCommonContent:g,EphemerisCommonContentDepB:w,EphemerisCommonContentDepA:E,129:m,MsgEphemerisGpsDepE:m,134:b,MsgEphemerisGpsDepF:b,138:v,MsgEphemerisGps:v,142:L,MsgEphemerisQzss:L,137:I,MsgEphemerisBds:I,149:T,MsgEphemerisGalDepA:T,141:M,MsgEphemerisGal:M,130:U,MsgEphemerisSbasDepA:U,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:R,MsgEphemerisGloDepC:R,136:C,MsgEphemerisGloDepD:C,139:P,MsgEphemerisGlo:P,128:N,MsgEphemerisDepD:N,26:j,MsgEphemerisDepA:j,70:x,MsgEphemerisDepB:x,71:F,MsgEphemerisDepC:F,ObservationHeaderDep:k,CarrierPhaseDepA:B,PackedObsContentDepA:q,PackedObsContentDepB:z,PackedObsContentDepC:H,69:V,MsgObsDepA:V,67:W,MsgObsDepB:W,73:Y,MsgObsDepC:Y,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:$,MsgGroupDelayDepA:$,147:Z,MsgGroupDelayDepB:Z,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:re,112:pe,MsgAlmanacGpsDep:pe,114:oe,MsgAlmanacGps:oe,113:ie,MsgAlmanacGloDep:ie,115:se,MsgAlmanacGlo:se,117:ne,MsgGloBiases:ne,SvAzEl:ae,151:le,MsgSvAzEl:le,1600:ce,MsgOsr:ce}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=(r(0).CarrierPhase,n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),l=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(p.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];var c=function(e,t){return p.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];var u=function(e,t){return p.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_RESET",u.prototype.msg_type=182,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_CW_RESULTS",h.prototype.msg_type=192,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];var f=function(e,t){return p.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_CW_START",f.prototype.msg_type=193,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];var d=function(e,t){return p.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_RESET_FILTERS",d.prototype.msg_type=34,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint8("filter"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["filter","writeUInt8",1]);var _=function(e,t){return p.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];var S=function(e,t){return p.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_THREAD_STATE",S.prototype.msg_type=23,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").string("name",{length:20}).uint16("cpu").uint32("stack_free"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["name","string",20]),S.prototype.fieldSpec.push(["cpu","writeUInt16LE",2]),S.prototype.fieldSpec.push(["stack_free","writeUInt32LE",4]);var g=function(e,t){return p.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="UARTChannel",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").floatle("tx_throughput").floatle("rx_throughput").uint16("crc_error_count").uint16("io_error_count").uint8("tx_buffer_level").uint8("rx_buffer_level"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["rx_throughput","writeFloatLE",4]),g.prototype.fieldSpec.push(["crc_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["io_error_count","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tx_buffer_level","writeUInt8",1]),g.prototype.fieldSpec.push(["rx_buffer_level","writeUInt8",1]);var w=function(e,t){return p.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="Period",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").int32("avg").int32("pmin").int32("pmax").int32("current"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["avg","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmin","writeInt32LE",4]),w.prototype.fieldSpec.push(["pmax","writeInt32LE",4]),w.prototype.fieldSpec.push(["current","writeInt32LE",4]);var E=function(e,t){return p.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="Latency",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").int32("avg").int32("lmin").int32("lmax").int32("current"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["avg","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmin","writeInt32LE",4]),E.prototype.fieldSpec.push(["lmax","writeInt32LE",4]),E.prototype.fieldSpec.push(["current","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE",m.prototype.msg_type=29,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}).nest("obs_period",{type:w.prototype.parser}),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),m.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]),m.prototype.fieldSpec.push(["obs_period",w.prototype.fieldSpec]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_UART_STATE_DEPA",b.prototype.msg_type=24,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("uart_a",{type:g.prototype.parser}).nest("uart_b",{type:g.prototype.parser}).nest("uart_ftdi",{type:g.prototype.parser}).nest("latency",{type:E.prototype.parser}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["uart_a",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_b",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["uart_ftdi",g.prototype.fieldSpec]),b.prototype.fieldSpec.push(["latency",E.prototype.fieldSpec]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_IAR_STATE",v.prototype.msg_type=25,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("num_hyps"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE",L.prototype.msg_type=43,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:i.prototype.parser}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["mask","writeUInt8",1]),L.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_MASK_SATELLITE_DEP",I.prototype.msg_type=27,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["mask","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_DEVICE_MONITOR",T.prototype.msg_type=181,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),T.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),T.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_REQ",M.prototype.msg_type=184,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["command","string",null]);var U=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_RESP",U.prototype.msg_type=185,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["code","writeInt32LE",4]);var D=function(e,t){return p.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(p.prototype)).messageType="MSG_COMMAND_OUTPUT",D.prototype.msg_type=188,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").uint32("sequence").string("line",{greedy:!0}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),D.prototype.fieldSpec.push(["line","string",null]);var O=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_REQ",O.prototype.msg_type=186,O.prototype.constructor=O,O.prototype.parser=(new o).endianess("little"),O.prototype.fieldSpec=[];var G=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_STATE_RESP",G.prototype.msg_type=187,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").array("ipv4_address",{length:4,type:"uint8"}).uint8("ipv4_mask_size").array("ipv6_address",{length:16,type:"uint8"}).uint8("ipv6_mask_size").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}).uint32("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["ipv4_address","array","writeUInt8",function(){return 1},4]),G.prototype.fieldSpec.push(["ipv4_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["ipv6_address","array","writeUInt8",function(){return 1},16]),G.prototype.fieldSpec.push(["ipv6_mask_size","writeUInt8",1]),G.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),G.prototype.fieldSpec.push(["interface_name","string",16]),G.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var A=function(e,t){return p.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(p.prototype)).messageType="NetworkUsage",A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint64("duration").uint64("total_bytes").uint32("rx_bytes").uint32("tx_bytes").string("interface_name",{length:16}),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["duration","writeUInt64LE",8]),A.prototype.fieldSpec.push(["total_bytes","writeUInt64LE",8]),A.prototype.fieldSpec.push(["rx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["tx_bytes","writeUInt32LE",4]),A.prototype.fieldSpec.push(["interface_name","string",16]);var R=function(e,t){return p.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(p.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",R.prototype.msg_type=189,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);var C=function(e,t){return p.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(p.prototype)).messageType="MSG_CELL_MODEM_STATUS",C.prototype.msg_type=190,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),C.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),C.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);var P=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN_DEP",P.prototype.msg_type=80,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:a.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),P.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),P.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),P.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var N=function(e,t){return p.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(p.prototype)).messageType="MSG_SPECAN",N.prototype.msg_type=81,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").uint16("channel_tag").nest("t",{type:n.prototype.parser}).floatle("freq_ref").floatle("freq_step").floatle("amplitude_ref").floatle("amplitude_unit").array("amplitude_value",{type:"uint8",readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["channel_tag","writeUInt16LE",2]),N.prototype.fieldSpec.push(["t",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["freq_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["freq_step","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_ref","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_unit","writeFloatLE",4]),N.prototype.fieldSpec.push(["amplitude_value","array","writeUInt8",function(){return 1},null]);var j=function(e,t){return p.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(p.prototype)).messageType="MSG_FRONT_END_GAIN",j.prototype.msg_type=191,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").array("rf_gain",{length:8,type:"int8"}).array("if_gain",{length:8,type:"int8"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["rf_gain","array","writeInt8",function(){return 1},8]),j.prototype.fieldSpec.push(["if_gain","array","writeInt8",function(){return 1},8]),e.exports={105:l,MsgAlmanac:l,104:c,MsgSetTime:c,182:u,MsgReset:u,178:y,MsgResetDep:y,192:h,MsgCwResults:h,193:f,MsgCwStart:f,34:d,MsgResetFilters:d,35:_,MsgInitBaseDep:_,23:S,MsgThreadState:S,UARTChannel:g,Period:w,Latency:E,29:m,MsgUartState:m,24:b,MsgUartStateDepa:b,25:v,MsgIarState:v,43:L,MsgMaskSatellite:L,27:I,MsgMaskSatelliteDep:I,181:T,MsgDeviceMonitor:T,184:M,MsgCommandReq:M,185:U,MsgCommandResp:U,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:R,MsgNetworkBandwidthUsage:R,190:C,MsgCellModemStatus:C,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep,r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(p.prototype)).messageType="MSG_SBAS_RAW",s.prototype.msg_type=30583,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint32("tow").uint8("message_type").array("data",{length:27,type:"uint8"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["message_type","writeUInt8",1]),s.prototype.fieldSpec.push(["data","array","writeUInt8",function(){return 1},27]),e.exports={30583:s,MsgSbasRaw:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];var s=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE",s.prototype.msg_type=160,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["setting","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_WRITE_RESP",n.prototype.msg_type=175,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["status","writeUInt8",1]),n.prototype.fieldSpec.push(["setting","string",null]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_REQ",a.prototype.msg_type=164,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["setting","string",null]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_RESP",l.prototype.msg_type=165,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["setting","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",c.prototype.msg_type=162,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("index"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["index","writeUInt16LE",2]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",u.prototype.msg_type=167,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("index").string("setting",{greedy:!0}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["index","writeUInt16LE",2]),u.prototype.fieldSpec.push(["setting","string",null]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",y.prototype.msg_type=166,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];var h=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER",h.prototype.msg_type=174,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").string("setting",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["setting","string",null]);var f=function(e,t){return p.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MSG_SETTINGS_REGISTER_RESP",f.prototype.msg_type=431,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("status").string("setting",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["status","writeUInt8",1]),f.prototype.fieldSpec.push(["setting","string",null]),e.exports={161:i,MsgSettingsSave:i,160:s,MsgSettingsWrite:s,175:n,MsgSettingsWriteResp:n,164:a,MsgSettingsReadReq:a,165:l,MsgSettingsReadResp:l,162:c,MsgSettingsReadByIndexReq:c,167:u,MsgSettingsReadByIndexResp:u,166:y,MsgSettingsReadByIndexDone:y,174:h,MsgSettingsRegister:h,431:f,MsgSettingsRegisterResp:f}},function(e,t,r){var p=r(2),o=r(13).Parser,i=function(e){return p.call(this,e),this.messageType="SBPSignal",this.fields=this.parser.parse(e.payload),this};(i.prototype=Object.create(p.prototype)).constructor=i,i.prototype.parser=(new o).endianess("little").uint16("sat").uint8("band").uint8("constellation"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sat","writeUInt16LE",2]),i.prototype.fieldSpec.push(["band","writeUInt8",1]),i.prototype.fieldSpec.push(["constellation","writeUInt8",1]),e.exports={SBPSignal:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=(r(0).GnssSignalDep,r(0).GPSTime,r(0).CarrierPhase,r(0).GPSTime,r(0).GPSTimeSec),n=(r(0).GPSTimeDep,r(0).SvId),a=function(e,t){return p.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="CodeBiasesContent",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("code").int16("value"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["code","writeUInt8",1]),a.prototype.fieldSpec.push(["value","writeInt16LE",2]);var l=function(e,t){return p.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="PhaseBiasesContent",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("code").uint8("integer_indicator").uint8("widelane_integer_indicator").uint8("discontinuity_counter").int32("bias"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["code","writeUInt8",1]),l.prototype.fieldSpec.push(["integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["widelane_integer_indicator","writeUInt8",1]),l.prototype.fieldSpec.push(["discontinuity_counter","writeUInt8",1]),l.prototype.fieldSpec.push(["bias","writeInt32LE",4]);var c=function(e,t){return p.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),c.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),c.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),c.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),c.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint16("num_msgs").uint16("seq_num").uint8("update_interval").uint8("iod_atmo").uint8("tropo_quality_indicator"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),u.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),u.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),u.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),u.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="STECSatElement",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).uint8("stec_quality_indicator").array("stec_coeff",{length:4,type:"int16le"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["stec_quality_indicator","writeUInt8",1]),y.prototype.fieldSpec.push(["stec_coeff","array","writeInt16LE",function(){return 2},4]);var h=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrectionNoStd",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),h.prototype.fieldSpec.push(["wet","writeInt8",1]);var f=function(e,t){return p.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="TroposphericDelayCorrection",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").int16("hydro").int8("wet").uint8("stddev"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["hydro","writeInt16LE",2]),f.prototype.fieldSpec.push(["wet","writeInt8",1]),f.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="STECResidualNoStd",d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),d.prototype.fieldSpec.push(["residual","writeInt16LE",2]);var _=function(e,t){return p.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="STECResidual",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").nest("sv_id",{type:n.prototype.parser}).int16("residual").uint8("stddev"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["sv_id",n.prototype.fieldSpec]),_.prototype.fieldSpec.push(["residual","writeInt16LE",2]),_.prototype.fieldSpec.push(["stddev","writeUInt8",1]);var S=function(e,t){return p.call(this,e),this.messageType="GridElementNoStd",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="GridElementNoStd",S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["index","writeUInt16LE",2]),S.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),S.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);var g=function(e,t){return p.call(this,e),this.messageType="GridElement",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="GridElement",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["index","writeUInt16LE",2]),g.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),g.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);var w=function(e,t){return p.call(this,e),this.messageType="GridDefinitionHeader",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="GridDefinitionHeader",w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("region_size_inverse").uint16("area_width").uint16("lat_nw_corner_enc").uint16("lon_nw_corner_enc").uint8("num_msgs").uint8("seq_num"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),w.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),w.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),w.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),w.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),w.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",E.prototype.msg_type=1501,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint32("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),E.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),E.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),E.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),E.prototype.fieldSpec.push(["radial","writeInt32LE",4]),E.prototype.fieldSpec.push(["along","writeInt32LE",4]),E.prototype.fieldSpec.push(["cross","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),E.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),E.prototype.fieldSpec.push(["c0","writeInt32LE",4]),E.prototype.fieldSpec.push(["c1","writeInt32LE",4]),E.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var m=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",m.prototype.msg_type=1500,m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("iod").int32("radial").int32("along").int32("cross").int32("dot_radial").int32("dot_along").int32("dot_cross").int32("c0").int32("c1").int32("c2"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),m.prototype.fieldSpec.push(["iod","writeUInt8",1]),m.prototype.fieldSpec.push(["radial","writeInt32LE",4]),m.prototype.fieldSpec.push(["along","writeInt32LE",4]),m.prototype.fieldSpec.push(["cross","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),m.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),m.prototype.fieldSpec.push(["c0","writeInt32LE",4]),m.prototype.fieldSpec.push(["c1","writeInt32LE",4]),m.prototype.fieldSpec.push(["c2","writeInt32LE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_SSR_CODE_BIASES",b.prototype.msg_type=1505,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").array("biases",{type:a.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),b.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),b.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),b.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),b.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="MSG_SSR_PHASE_BIASES",v.prototype.msg_type=1510,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).nest("sid",{type:i.prototype.parser}).uint8("update_interval").uint8("iod_ssr").uint8("dispersive_bias").uint8("mw_consistency").uint16("yaw").int8("yaw_rate").array("biases",{type:l.prototype.parser,readUntil:"eof"}),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),v.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),v.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),v.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),v.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),v.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),v.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),v.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_SSR_STEC_CORRECTION",L.prototype.msg_type=1515,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),L.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var I=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD",I.prototype.msg_type=1520,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:S.prototype.parser}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),I.prototype.fieldSpec.push(["element",S.prototype.fieldSpec]);var T=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",T.prototype.msg_type=1530,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).nest("element",{type:g.prototype.parser}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),T.prototype.fieldSpec.push(["element",g.prototype.fieldSpec]);var M=function(e,t){return p.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(p.prototype)).messageType="MSG_SSR_GRID_DEFINITION",M.prototype.msg_type=1525,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("header",{type:w.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["header",w.prototype.fieldSpec]),M.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:h,TroposphericDelayCorrection:f,STECResidualNoStd:d,STECResidual:_,GridElementNoStd:S,GridElement:g,GridDefinitionHeader:w,1501:E,MsgSsrOrbitClock:E,1500:m,MsgSsrOrbitClockDepA:m,1505:b,MsgSsrCodeBiases:b,1510:v,MsgSsrPhaseBiases:v,1515:L,MsgSsrStecCorrection:L,1520:I,MsgSsrGriddedCorrectionNoStd:I,1530:T,MsgSsrGriddedCorrection:T,1525:M,MsgSsrGridDefinition:M}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_STARTUP",i.prototype.msg_type=65280,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("cause").uint8("startup_type").uint16("reserved"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["cause","writeUInt8",1]),i.prototype.fieldSpec.push(["startup_type","writeUInt8",1]),i.prototype.fieldSpec.push(["reserved","writeUInt16LE",2]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_DGNSS_STATUS",s.prototype.msg_type=65282,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("flags").uint16("latency").uint8("num_signals").string("source",{greedy:!0}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["latency","writeUInt16LE",2]),s.prototype.fieldSpec.push(["num_signals","writeUInt8",1]),s.prototype.fieldSpec.push(["source","string",null]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_HEARTBEAT",n.prototype.msg_type=65535,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_INS_STATUS",a.prototype.msg_type=65283,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);var l=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY",l.prototype.msg_type=65284,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["id","writeUInt8",1]),l.prototype.fieldSpec.push(["telemetry","string",null]);var c=function(e,t){return p.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(p.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",c.prototype.msg_type=65285,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["id","writeUInt8",1]),c.prototype.fieldSpec.push(["telemetry_labels","string",null]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_INS_UPDATES",u.prototype.msg_type=65286,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),u.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),u.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),u.prototype.fieldSpec.push(["speed","writeUInt8",1]),u.prototype.fieldSpec.push(["nhc","writeUInt8",1]),u.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="MSG_GNSS_TIME_OFFSET",y.prototype.msg_type=65287,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),y.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),y.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_GROUP_META",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_GROUP_META",h.prototype.msg_type=65290,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tom").int32("ns_residual").uint8("flags").array("group_msgs",{type:"uint16le",readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),h.prototype.fieldSpec.push(["tom","writeUInt32LE",4]),h.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["group_msgs","array","writeUInt16LE",function(){return 2},null]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,65283:a,MsgInsStatus:a,65284:l,MsgCsacTelemetry:l,65285:c,MsgCsacTelemetryLabels:c,65286:u,MsgInsUpdates:u,65287:y,MsgGnssTimeOffset:y,65290:h,MsgGroupMeta:h}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,r(0).GnssSignal),s=r(0).GnssSignalDep,n=r(0).GPSTime,a=r(0).CarrierPhase,l=(n=r(0).GPSTime,r(0).GPSTimeSec,r(0).GPSTimeDep),c=(r(0).SvId,function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",c.prototype.msg_type=33,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:n.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:i.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),c.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),c.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),c.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),c.prototype.fieldSpec.push(["acceleration","writeInt8",1]),c.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),c.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var u=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DETAILED_DEP",u.prototype.msg_type=17,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint64("recv_time").nest("tot",{type:l.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:a.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:s.prototype.parser}).int32("doppler").uint16("doppler_std").uint32("uptime").int16("clock_offset").int16("clock_drift").uint16("corr_spacing").int8("acceleration").uint8("sync_flags").uint8("tow_flags").uint8("track_flags").uint8("nav_flags").uint8("pset_flags").uint8("misc_flags"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),u.prototype.fieldSpec.push(["tot",l.prototype.fieldSpec]),u.prototype.fieldSpec.push(["P","writeUInt32LE",4]),u.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["L",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),u.prototype.fieldSpec.push(["doppler","writeInt32LE",4]),u.prototype.fieldSpec.push(["doppler_std","writeUInt16LE",2]),u.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),u.prototype.fieldSpec.push(["clock_offset","writeInt16LE",2]),u.prototype.fieldSpec.push(["clock_drift","writeInt16LE",2]),u.prototype.fieldSpec.push(["corr_spacing","writeUInt16LE",2]),u.prototype.fieldSpec.push(["acceleration","writeInt8",1]),u.prototype.fieldSpec.push(["sync_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["tow_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["track_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["nav_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["pset_flags","writeUInt8",1]),u.prototype.fieldSpec.push(["misc_flags","writeUInt8",1]);var y=function(e,t){return p.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(p.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var h=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE",h.prototype.msg_type=65,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").array("states",{type:y.prototype.parser,readUntil:"eof"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["states","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);var f=function(e,t){return p.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(p.prototype)).messageType="MeasurementState",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("mesid",{type:i.prototype.parser}).uint8("cn0"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["mesid",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]);var d=function(e,t){return p.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(p.prototype)).messageType="MSG_MEASUREMENT_STATE",d.prototype.msg_type=97,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").array("states",{type:f.prototype.parser,readUntil:"eof"}),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["states","array",f.prototype.fieldSpec,function(){return this.fields.array.length},null]);var _=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelation",_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("I").int16("Q"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["I","writeInt16LE",2]),_.prototype.fieldSpec.push(["Q","writeInt16LE",2]);var S=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ",S.prototype.msg_type=45,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);var g=function(e,t){return p.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(p.prototype)).messageType="TrackingChannelCorrelationDep",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").int32("I").int32("Q"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["I","writeInt32LE",4]),g.prototype.fieldSpec.push(["Q","writeInt32LE",4]);var w=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_B",w.prototype.msg_type=44,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:i.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["channel","writeUInt8",1]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var E=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_IQ_DEP_A",E.prototype.msg_type=28,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").uint8("channel").nest("sid",{type:s.prototype.parser}).array("corrs",{length:3,type:g.prototype.parser}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["channel","writeUInt8",1]),E.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);var m=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepA",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").uint8("state").uint8("prn").floatle("cn0"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["state","writeUInt8",1]),m.prototype.fieldSpec.push(["prn","writeUInt8",1]),m.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var b=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_A",b.prototype.msg_type=22,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").array("states",{type:m.prototype.parser,readUntil:"eof"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["states","array",m.prototype.fieldSpec,function(){return this.fields.array.length},null]);var v=function(e,t){return p.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(p.prototype)).messageType="TrackingChannelStateDepB",v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:s.prototype.parser}).floatle("cn0"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["state","writeUInt8",1]),v.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),v.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);var L=function(e,t){return p.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(p.prototype)).messageType="MSG_TRACKING_STATE_DEP_B",L.prototype.msg_type=19,L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").array("states",{type:v.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",v.prototype.fieldSpec,function(){return this.fields.array.length},null]),e.exports={33:c,MsgTrackingStateDetailedDepA:c,17:u,MsgTrackingStateDetailedDep:u,TrackingChannelState:y,65:h,MsgTrackingState:h,MeasurementState:f,97:d,MsgMeasurementState:d,TrackingChannelCorrelation:_,45:S,MsgTrackingIq:S,TrackingChannelCorrelationDep:g,44:w,MsgTrackingIqDepB:w,28:E,MsgTrackingIqDepA:E,TrackingChannelStateDepA:m,22:b,MsgTrackingStateDepA:b,TrackingChannelStateDepB:v,19:L,MsgTrackingStateDepB:L}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_USER_DATA",i.prototype.msg_type=2048,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("contents",{type:"uint8",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["contents","array","writeUInt8",function(){return 1},null]),e.exports={2048:i,MsgUserData:i}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_ODOMETRY",i.prototype.msg_type=2307,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").int32("velocity").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["velocity","writeInt32LE",4]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_WHEELTICK",s.prototype.msg_type=2308,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags").uint8("source").int32("ticks"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["time","writeUInt64LE",8]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]),s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["ticks","writeInt32LE",4]),e.exports={2307:i,MsgOdometry:i,2308:s,MsgWheeltick:s}},function(e,t,r){var p=r(2),o=r(4),i=(r(3),r(1).UINT64,function(e,t){return p.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(p.prototype)).messageType="MSG_BASELINE_HEADING",i.prototype.msg_type=527,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),i.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),i.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);var s=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_QUAT",s.prototype.msg_type=544,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint32("tow").int32("w").int32("x").int32("y").int32("z").floatle("w_accuracy").floatle("x_accuracy").floatle("y_accuracy").floatle("z_accuracy").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["w","writeInt32LE",4]),s.prototype.fieldSpec.push(["x","writeInt32LE",4]),s.prototype.fieldSpec.push(["y","writeInt32LE",4]),s.prototype.fieldSpec.push(["z","writeInt32LE",4]),s.prototype.fieldSpec.push(["w_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["x_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["y_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["z_accuracy","writeFloatLE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);var n=function(e,t){return p.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(p.prototype)).messageType="MSG_ORIENT_EULER",n.prototype.msg_type=545,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").int32("roll").int32("pitch").int32("yaw").floatle("roll_accuracy").floatle("pitch_accuracy").floatle("yaw_accuracy").uint8("flags"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["roll","writeInt32LE",4]),n.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),n.prototype.fieldSpec.push(["yaw","writeInt32LE",4]),n.prototype.fieldSpec.push(["roll_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["pitch_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["yaw_accuracy","writeFloatLE",4]),n.prototype.fieldSpec.push(["flags","writeUInt8",1]);var a=function(e,t){return p.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(p.prototype)).messageType="MSG_ANGULAR_RATE",a.prototype.msg_type=546,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["x","writeInt32LE",4]),a.prototype.fieldSpec.push(["y","writeInt32LE",4]),a.prototype.fieldSpec.push(["z","writeInt32LE",4]),a.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={527:i,MsgBaselineHeading:i,544:s,MsgOrientQuat:s,545:n,MsgOrientEuler:n,546:a,MsgAngularRate:a}}]); \ No newline at end of file diff --git a/javascript/sbp/system.js b/javascript/sbp/system.js index b81587f1bf..b091dbdf45 100644 --- a/javascript/sbp/system.js +++ b/javascript/sbp/system.js @@ -338,7 +338,7 @@ MsgGroupMeta.prototype.parser = new Parser() .uint32('tom') .int32('ns_residual') .uint8('flags') - .array('group_msgs', { type: 'uint16', readUntil: 'eof' }); + .array('group_msgs', { type: 'uint16le', readUntil: 'eof' }); MsgGroupMeta.prototype.fieldSpec = []; MsgGroupMeta.prototype.fieldSpec.push(['wn', 'writeUInt16LE', 2]); MsgGroupMeta.prototype.fieldSpec.push(['tom', 'writeUInt32LE', 4]); From 496cdc5e48a42b7f95587469cc4ab68c7ca4b126 Mon Sep 17 00:00:00 2001 From: Guillaume Decerprit Date: Tue, 21 Jul 2020 13:38:49 -0700 Subject: [PATCH 8/9] Update Doc sbp.pdf --- docs/sbp.pdf | Bin 447647 -> 447647 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 4410b38006378467178f8824ef9cf8f88a6380dc..a41a51d14a4c8f6713f6cf84133355179db754ad 100644 GIT binary patch delta 137 zcmbQgQhNSM>4p}@7N!>F7M2#)Eo{g3DH|CWnHri$X>#fN=BKzMmZU0ZxL5%N4GheU z3?Y)+U+!aj%;aon;b>^)Xy#_->}F{0;$&fIMmW delta 137 zcmbQgQhNSM>4p}@7N!>F7M2#)Eo{g3DH~cCS(uteX>#fN=BKzMmZU0ZxL6q(7#SFt z8yP|*x4+!S_L#}p#mv;n!otka&DhM+)z!(|)z#6-(9+Gt(bCM>#K_FjPQiwdlI{G5 I*d_=80MoN2;Q#;t From 16f8bab0539c3a1b96ad1a622ee5157a6290a536 Mon Sep 17 00:00:00 2001 From: Guillaume Decerprit Date: Tue, 21 Jul 2020 14:21:47 -0700 Subject: [PATCH 9/9] Add Java Bindings for group meta leader msg --- .../com/swiftnav/sbp/system/MsgGroupMeta.java | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 java/src/com/swiftnav/sbp/system/MsgGroupMeta.java diff --git a/java/src/com/swiftnav/sbp/system/MsgGroupMeta.java b/java/src/com/swiftnav/sbp/system/MsgGroupMeta.java new file mode 100644 index 0000000000..fbb00fad2e --- /dev/null +++ b/java/src/com/swiftnav/sbp/system/MsgGroupMeta.java @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2015-2018 Swift Navigation Inc. + * Contact: Swift Navigation + * + * This source is subject to the license found in the file 'LICENSE' which must + * be be distributed together with this source. All other rights reserved. + * + * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, + * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + */ + +package com.swiftnav.sbp.system; + +import java.math.BigInteger; + +import com.swiftnav.sbp.SBPMessage; +import com.swiftnav.sbp.SBPBinaryException; +import com.swiftnav.sbp.SBPStruct; + +import org.json.JSONObject; +import org.json.JSONArray; + + +/** SBP class for message MSG_GROUP_META (0xFF0A). + * + * You can have MSG_GROUP_META inherent its fields directly from + * an inherited SBP object, or construct it inline using a dict of its + * fields. + * + * This leading message lists the time metadata of the Solution Group. + * It also lists the atomic contents (i.e. types of messages included) of the Solution Group. */ + +public class MsgGroupMeta extends SBPMessage { + public static final int TYPE = 0xFF0A; + + + /** GPS Week Number or zero if Reference epoch is not GPS */ + public int wn; + + /** Time of Measurement in Milliseconds since reference epoch */ + public long tom; + + /** Nanosecond residual of millisecond-rounded TOM (ranges +from -500000 to 500000) + */ + public int ns_residual; + + /** Status flags (reserved) */ + public int flags; + + /** An inorder list of message types included in the Solution Group */ + public int[] group_msgs; + + + public MsgGroupMeta (int sender) { super(sender, TYPE); } + public MsgGroupMeta () { super(TYPE); } + public MsgGroupMeta (SBPMessage msg) throws SBPBinaryException { + super(msg); + assert msg.type != TYPE; + } + + @Override + protected void parse(Parser parser) throws SBPBinaryException { + /* Parse fields from binary */ + wn = parser.getU16(); + tom = parser.getU32(); + ns_residual = parser.getS32(); + flags = parser.getU8(); + group_msgs = parser.getArrayofU16(); + } + + @Override + protected void build(Builder builder) { + builder.putU16(wn); + builder.putU32(tom); + builder.putS32(ns_residual); + builder.putU8(flags); + builder.putArrayofU16(group_msgs); + } + + @Override + public JSONObject toJSON() { + JSONObject obj = super.toJSON(); + obj.put("wn", wn); + obj.put("tom", tom); + obj.put("ns_residual", ns_residual); + obj.put("flags", flags); + obj.put("group_msgs", new JSONArray(group_msgs)); + return obj; + } +} \ No newline at end of file