From 6a57014d9bd8adb3994f6079d55634590a5862b4 Mon Sep 17 00:00:00 2001 From: Steven Meyer Date: Mon, 12 Dec 2022 20:35:18 -0800 Subject: [PATCH] add MsgAcknowledge (#1263) --- c/include/libsbp/cpp/message_traits.h | 32 + c/include/libsbp/integrity_macros.h | 164 +++++ c/include/libsbp/legacy/cpp/message_traits.h | 6 + c/include/libsbp/legacy/integrity.h | 18 + c/include/libsbp/sbp_msg_type.h | 1 + c/include/libsbp/v4/integrity.h | 1 + .../libsbp/v4/integrity/MSG_ACKNOWLEDGE.h | 202 ++++++ c/include/libsbp/v4/sbp_msg.h | 9 + c/src/include/libsbp/internal/v4/integrity.h | 20 + c/src/v4/integrity.c | 127 ++++ .../auto_check_sbp_integrity_MsgAcknowledge.c | 184 +++++ c/test/check_main.c | 1 + c/test/check_main_legacy.c | 1 + c/test/check_suites.h | 1 + c/test/check_suites_legacy.h | 1 + ...auto_check_sbp_integrity_MsgAcknowledge.cc | 121 ++++ .../auto_check_sbp_integrity_MsgAcknowledge.c | 228 +++++++ ...auto_check_sbp_integrity_MsgAcknowledge.cc | 125 ++++ docs/sbp.pdf | Bin 581544 -> 583721 bytes haskell/src/SwiftNav/SBP/Integrity.hs | 43 ++ haskell/src/SwiftNav/SBP/Msg.hs | 8 +- .../com/swiftnav/sbp/client/MessageTable.java | 3 + .../sbp/integrity/MsgAcknowledge.java | 101 +++ ...heck_sbp_integrity_MsgAcknowledgeTest.java | 113 ++++ javascript/sbp.bundle.js | 2 +- javascript/sbp/integrity.js | 46 ++ javascript/sbp/navigation.js | 2 +- jsonschema/MsgAcknowledge.json | 34 + jsonschema/MsgPoseRelative.json | 66 ++ proto/integrity.proto | 13 + proto/navigation.proto | 35 + python/sbp/integrity.py | 123 ++++ python/tests/sbp/test_table.py | 2 +- rust/sbp/src/messages/integrity.rs | 634 ++++++++++++++++++ rust/sbp/src/messages/mod.rs | 26 + ...uto_check_sbp_integrity_msg_acknowledge.rs | 260 +++++++ rust/sbp/tests/integration/main.rs | 1 + sbpjson/elm/SbpJson.elm | 131 +++- sbpjson/javascript/SbpJson.js | 54 ++ sbpjson/typescript/SbpJson.ts | 94 ++- .../sbp/integrity/test_MsgAcknowledge.yaml | 27 + spec/yaml/swiftnav/sbp/integrity.yaml | 83 +++ 42 files changed, 3137 insertions(+), 6 deletions(-) create mode 100644 c/include/libsbp/v4/integrity/MSG_ACKNOWLEDGE.h create mode 100644 c/test/auto_check_sbp_integrity_MsgAcknowledge.c create mode 100644 c/test/cpp/auto_check_sbp_integrity_MsgAcknowledge.cc create mode 100644 c/test/legacy/auto_check_sbp_integrity_MsgAcknowledge.c create mode 100644 c/test/legacy/cpp/auto_check_sbp_integrity_MsgAcknowledge.cc create mode 100644 java/src/com/swiftnav/sbp/integrity/MsgAcknowledge.java create mode 100644 java/test/auto_check_sbp_integrity_MsgAcknowledgeTest.java create mode 100644 jsonschema/MsgAcknowledge.json create mode 100644 jsonschema/MsgPoseRelative.json create mode 100644 rust/sbp/tests/integration/auto_check_sbp_integrity_msg_acknowledge.rs create mode 100644 spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml diff --git a/c/include/libsbp/cpp/message_traits.h b/c/include/libsbp/cpp/message_traits.h index 341fb4dddb..b893c71a44 100644 --- a/c/include/libsbp/cpp/message_traits.h +++ b/c/include/libsbp/cpp/message_traits.h @@ -55,6 +55,38 @@ namespace sbp { template struct MessageTraits; +template <> +struct MessageTraits { + static constexpr sbp_msg_type_t id = SbpMsgAcknowledge; + static const sbp_msg_acknowledge_t &get(const sbp_msg_t &msg) { + return msg.acknowledge; + } + static sbp_msg_acknowledge_t &get(sbp_msg_t &msg) { return msg.acknowledge; } + static void to_sbp_msg(const sbp_msg_acknowledge_t &msg, sbp_msg_t *sbp_msg) { + sbp_msg->acknowledge = msg; + } + static sbp_msg_t to_sbp_msg(const sbp_msg_acknowledge_t &msg) { + sbp_msg_t sbp_msg; + sbp_msg.acknowledge = msg; + return sbp_msg; + } + static s8 send(sbp_state_t *state, u16 sender_id, + const sbp_msg_acknowledge_t &msg, sbp_write_fn_t write) { + return sbp_msg_acknowledge_send(state, sender_id, &msg, write); + } + static s8 encode(uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_acknowledge_t &msg) { + return sbp_msg_acknowledge_encode(buf, len, n_written, &msg); + } + static s8 decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, + sbp_msg_acknowledge_t *msg) { + return sbp_msg_acknowledge_decode(buf, len, n_read, msg); + } + static size_t encoded_len(const sbp_msg_acknowledge_t &msg) { + return sbp_msg_acknowledge_encoded_len(&msg); + } +}; + template <> struct MessageTraits { static constexpr sbp_msg_type_t id = SbpMsgAcqResultDepA; diff --git a/c/include/libsbp/integrity_macros.h b/c/include/libsbp/integrity_macros.h index 365f7d1437..ddb334aaac 100644 --- a/c/include/libsbp/integrity_macros.h +++ b/c/include/libsbp/integrity_macros.h @@ -294,4 +294,168 @@ */ #define SBP_MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS_ENCODED_OVERHEAD 17u +#define SBP_MSG_ACKNOWLEDGE 0x0BD2 +#define SBP_ACKNOWLEDGE_RESPONSE_CODE_MASK (0xffu) +#define SBP_ACKNOWLEDGE_RESPONSE_CODE_SHIFT (0u) +#define SBP_ACKNOWLEDGE_RESPONSE_CODE_GET(flags) \ + ((u8)((u8)((flags) >> SBP_ACKNOWLEDGE_RESPONSE_CODE_SHIFT) & \ + SBP_ACKNOWLEDGE_RESPONSE_CODE_MASK)) +#define SBP_ACKNOWLEDGE_RESPONSE_CODE_SET(flags, val) \ + do { \ + (flags) = (u8)((flags & (~(SBP_ACKNOWLEDGE_RESPONSE_CODE_MASK \ + << SBP_ACKNOWLEDGE_RESPONSE_CODE_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_RESPONSE_CODE_MASK)) \ + << (SBP_ACKNOWLEDGE_RESPONSE_CODE_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_RESPONSE_CODE_OK (0) +#define SBP_ACKNOWLEDGE_RESPONSE_CODE_OUT_OF_COVERAGE (1) +#define SBP_ACKNOWLEDGE_RESPONSE_CODE_FORBIDDEN (2) +#define SBP_ACKNOWLEDGE_RESPONSE_CODE_INVALID_REQUEST (3) +#define SBP_ACKNOWLEDGE_RESPONSE_CODE_INVALID_AREA_ID (4) +#define SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_MASK (0x1u) +#define SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_SHIFT (0u) +#define SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_GET(flags) \ + ((u16)((u16)((flags) >> SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_SHIFT) & \ + SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_MASK)) +#define SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_SET(flags, val) \ + do { \ + (flags) = \ + (u16)((flags & (~(SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_MASK \ + << SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_MASK)) \ + << (SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_NOT_REQUESTED (0) +#define SBP_ACKNOWLEDGE_PUBLIC_SIGNING_KEY_REQUESTED (1) +#define SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_MASK (0x1u) +#define SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_SHIFT (1u) +#define SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_GET(flags) \ + ((u16)((u16)((flags) >> SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_SHIFT) & \ + SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_MASK)) +#define SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_SET(flags, val) \ + do { \ + (flags) = \ + (u16)((flags & (~(SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_MASK \ + << SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_MASK)) \ + << (SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_NOT_REQUESTED (0) +#define SBP_ACKNOWLEDGE_LOW_RATE_MESSAGES_REQUESTED (1) +#define SBP_ACKNOWLEDGE_EPHEMERIS_MASK (0x1u) +#define SBP_ACKNOWLEDGE_EPHEMERIS_SHIFT (2u) +#define SBP_ACKNOWLEDGE_EPHEMERIS_GET(flags) \ + ((u16)((u16)((flags) >> SBP_ACKNOWLEDGE_EPHEMERIS_SHIFT) & \ + SBP_ACKNOWLEDGE_EPHEMERIS_MASK)) +#define SBP_ACKNOWLEDGE_EPHEMERIS_SET(flags, val) \ + do { \ + (flags) = (u16)((flags & (~(SBP_ACKNOWLEDGE_EPHEMERIS_MASK \ + << SBP_ACKNOWLEDGE_EPHEMERIS_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_EPHEMERIS_MASK)) \ + << (SBP_ACKNOWLEDGE_EPHEMERIS_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_EPHEMERIS_NOT_REQUESTED (0) +#define SBP_ACKNOWLEDGE_EPHEMERIS_REQUESTED (1) +#define SBP_ACKNOWLEDGE_SATELLITE_CLOCK_MASK (0x1u) +#define SBP_ACKNOWLEDGE_SATELLITE_CLOCK_SHIFT (3u) +#define SBP_ACKNOWLEDGE_SATELLITE_CLOCK_GET(flags) \ + ((u16)((u16)((flags) >> SBP_ACKNOWLEDGE_SATELLITE_CLOCK_SHIFT) & \ + SBP_ACKNOWLEDGE_SATELLITE_CLOCK_MASK)) +#define SBP_ACKNOWLEDGE_SATELLITE_CLOCK_SET(flags, val) \ + do { \ + (flags) = (u16)((flags & (~(SBP_ACKNOWLEDGE_SATELLITE_CLOCK_MASK \ + << SBP_ACKNOWLEDGE_SATELLITE_CLOCK_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_SATELLITE_CLOCK_MASK)) \ + << (SBP_ACKNOWLEDGE_SATELLITE_CLOCK_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_SATELLITE_CLOCK_NOT_REQUESTED (0) +#define SBP_ACKNOWLEDGE_SATELLITE_CLOCK_REQUESTED (1) +#define SBP_ACKNOWLEDGE_SATELLITE_ORBIT_MASK (0x1u) +#define SBP_ACKNOWLEDGE_SATELLITE_ORBIT_SHIFT (4u) +#define SBP_ACKNOWLEDGE_SATELLITE_ORBIT_GET(flags) \ + ((u16)((u16)((flags) >> SBP_ACKNOWLEDGE_SATELLITE_ORBIT_SHIFT) & \ + SBP_ACKNOWLEDGE_SATELLITE_ORBIT_MASK)) +#define SBP_ACKNOWLEDGE_SATELLITE_ORBIT_SET(flags, val) \ + do { \ + (flags) = (u16)((flags & (~(SBP_ACKNOWLEDGE_SATELLITE_ORBIT_MASK \ + << SBP_ACKNOWLEDGE_SATELLITE_ORBIT_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_SATELLITE_ORBIT_MASK)) \ + << (SBP_ACKNOWLEDGE_SATELLITE_ORBIT_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_SATELLITE_ORBIT_NOT_REQUESTED (0) +#define SBP_ACKNOWLEDGE_SATELLITE_ORBIT_REQUESTED (1) +#define SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_MASK (0x1u) +#define SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_SHIFT (5u) +#define SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_GET(flags) \ + ((u16)((u16)((flags) >> SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_SHIFT) & \ + SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_MASK)) +#define SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_SET(flags, val) \ + do { \ + (flags) = \ + (u16)((flags & (~(SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_MASK \ + << SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_MASK)) \ + << (SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_NOT_REQUESTED (0) +#define SBP_ACKNOWLEDGE_SATELLITE_CODE_BIAS_REQUESTED (1) +#define SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_MASK (0x1u) +#define SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_SHIFT (6u) +#define SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_GET(flags) \ + ((u16)((u16)((flags) >> SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_SHIFT) & \ + SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_MASK)) +#define SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_SET(flags, val) \ + do { \ + (flags) = \ + (u16)((flags & (~(SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_MASK \ + << SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_MASK)) \ + << (SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_NOT_REQUESTED (0) +#define SBP_ACKNOWLEDGE_SATELLITE_PHASE_BIAS_REQUESTED (1) +#define SBP_ACKNOWLEDGE_ATMOSPHERICS_MASK (0x1u) +#define SBP_ACKNOWLEDGE_ATMOSPHERICS_SHIFT (7u) +#define SBP_ACKNOWLEDGE_ATMOSPHERICS_GET(flags) \ + ((u16)((u16)((flags) >> SBP_ACKNOWLEDGE_ATMOSPHERICS_SHIFT) & \ + SBP_ACKNOWLEDGE_ATMOSPHERICS_MASK)) +#define SBP_ACKNOWLEDGE_ATMOSPHERICS_SET(flags, val) \ + do { \ + (flags) = (u16)((flags & (~(SBP_ACKNOWLEDGE_ATMOSPHERICS_MASK \ + << SBP_ACKNOWLEDGE_ATMOSPHERICS_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_ATMOSPHERICS_MASK)) \ + << (SBP_ACKNOWLEDGE_ATMOSPHERICS_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_ATMOSPHERICS_NOT_REQUESTED (0) +#define SBP_ACKNOWLEDGE_ATMOSPHERICS_REQUESTED (1) +#define SBP_ACKNOWLEDGE_INTEGRITY_MASK (0x1u) +#define SBP_ACKNOWLEDGE_INTEGRITY_SHIFT (8u) +#define SBP_ACKNOWLEDGE_INTEGRITY_GET(flags) \ + ((u16)((u16)((flags) >> SBP_ACKNOWLEDGE_INTEGRITY_SHIFT) & \ + SBP_ACKNOWLEDGE_INTEGRITY_MASK)) +#define SBP_ACKNOWLEDGE_INTEGRITY_SET(flags, val) \ + do { \ + (flags) = (u16)((flags & (~(SBP_ACKNOWLEDGE_INTEGRITY_MASK \ + << SBP_ACKNOWLEDGE_INTEGRITY_SHIFT))) | \ + (((val) & (SBP_ACKNOWLEDGE_INTEGRITY_MASK)) \ + << (SBP_ACKNOWLEDGE_INTEGRITY_SHIFT))); \ + } while (0) + +#define SBP_ACKNOWLEDGE_INTEGRITY_NOT_REQUESTED (0) +#define SBP_ACKNOWLEDGE_INTEGRITY_REQUESTED (1) +/** + * Encoded length of sbp_msg_acknowledge_t (V4 API) and + * msg_acknowledge_t (legacy API) + */ +#define SBP_MSG_ACKNOWLEDGE_ENCODED_LEN 11u + #endif /* LIBSBP_INTEGRITY_MACROS_H */ diff --git a/c/include/libsbp/legacy/cpp/message_traits.h b/c/include/libsbp/legacy/cpp/message_traits.h index 4ac51679b4..7f40f7f4ef 100644 --- a/c/include/libsbp/legacy/cpp/message_traits.h +++ b/c/include/libsbp/legacy/cpp/message_traits.h @@ -1136,6 +1136,12 @@ struct MessageTraits { }; +template<> +struct MessageTraits { + static constexpr u16 id = 3026; +}; + + template<> struct MessageTraits { static constexpr u16 id = 3073; diff --git a/c/include/libsbp/legacy/integrity.h b/c/include/libsbp/legacy/integrity.h index f105b966e4..a942824c7e 100644 --- a/c/include/libsbp/legacy/integrity.h +++ b/c/include/libsbp/legacy/integrity.h @@ -133,6 +133,24 @@ typedef struct SBP_ATTR_PACKED { sv_id_t faulty_los[0]; /**< List of faulty LOS */ } msg_ssr_flag_iono_grid_point_sat_los_t; +typedef struct SBP_ATTR_PACKED { + u8 request_id; /**< Echo of the request ID field from the + corresponding CRA message, or 255 if + no request ID was provided. */ + u32 area_id; /**< Echo of the Area ID field from the + corresponding CRA message. */ + u8 response_code; /**< Reported status of the request. */ + u16 correction_mask_on_demand; /**< Contains the message group(s) that + will be sent in response from the + corresponding CRA correction mask. An + echo of the correction mask field + from the corresponding CRA message. */ + u16 correction_mask_stream; /**< For future expansion. Always set to + 0. */ + u8 solution_id; /**< The solution ID of the instance + providing the corrections. */ +} msg_acknowledge_t; + /** \} */ SBP_PACK_END diff --git a/c/include/libsbp/sbp_msg_type.h b/c/include/libsbp/sbp_msg_type.h index 4f4174a2d3..71e10c35fd 100644 --- a/c/include/libsbp/sbp_msg_type.h +++ b/c/include/libsbp/sbp_msg_type.h @@ -52,6 +52,7 @@ extern "C" { #define SBP_MSG_ALL 0 typedef enum { + SbpMsgAcknowledge = SBP_MSG_ACKNOWLEDGE, SbpMsgAcqResultDepA = SBP_MSG_ACQ_RESULT_DEP_A, SbpMsgAcqResultDepB = SBP_MSG_ACQ_RESULT_DEP_B, SbpMsgAcqResultDepC = SBP_MSG_ACQ_RESULT_DEP_C, diff --git a/c/include/libsbp/v4/integrity.h b/c/include/libsbp/v4/integrity.h index d83beca69c..feafbc1159 100644 --- a/c/include/libsbp/v4/integrity.h +++ b/c/include/libsbp/v4/integrity.h @@ -18,6 +18,7 @@ #ifndef LIBSBP_V4_INTEGRITY_MESSAGES_H #define LIBSBP_V4_INTEGRITY_MESSAGES_H #include +#include #include #include #include diff --git a/c/include/libsbp/v4/integrity/MSG_ACKNOWLEDGE.h b/c/include/libsbp/v4/integrity/MSG_ACKNOWLEDGE.h new file mode 100644 index 0000000000..180eb3741c --- /dev/null +++ b/c/include/libsbp/v4/integrity/MSG_ACKNOWLEDGE.h @@ -0,0 +1,202 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * 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. + */ + +/***************************************************************************** + * Automatically generated from yaml/swiftnav/sbp/integrity.yaml + * with generate.py. Please do not hand edit! + *****************************************************************************/ + +#ifndef LIBSBP_V4_INTEGRITY_MSG_ACKNOWLEDGE_H +#define LIBSBP_V4_INTEGRITY_MSG_ACKNOWLEDGE_H + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/****************************************************************************** + * + * SBP_MSG_ACKNOWLEDGE + * + *****************************************************************************/ +typedef struct { + /** + * Echo of the request ID field from the corresponding CRA message, or 255 if + * no request ID was provided. + */ + u8 request_id; + + /** + * Echo of the Area ID field from the corresponding CRA message. + */ + u32 area_id; + + /** + * Reported status of the request. + */ + u8 response_code; + + /** + * Contains the message group(s) that will be sent in response from the + * corresponding CRA correction mask. An echo of the correction mask field + * from the corresponding CRA message. + */ + u16 correction_mask_on_demand; + + /** + * For future expansion. Always set to 0. + */ + u16 correction_mask_stream; + + /** + * The solution ID of the instance providing the corrections. + */ + u8 solution_id; +} sbp_msg_acknowledge_t; + +/** + * Get encoded size of an instance of sbp_msg_acknowledge_t + * + * @param msg sbp_msg_acknowledge_t instance + * @return Length of on-wire representation + */ +static inline size_t sbp_msg_acknowledge_encoded_len( + const sbp_msg_acknowledge_t *msg) { + (void)msg; + return SBP_MSG_ACKNOWLEDGE_ENCODED_LEN; +} + +/** + * Encode an instance of sbp_msg_acknowledge_t to wire representation + * + * This function encodes the given instance in to the user provided buffer. The + * buffer provided to this function must be large enough to store the encoded + * message otherwise it will return SBP_ENCODE_ERROR without writing anything to + * the buffer. + * + * Specify the length of the destination buffer in the \p len parameter. If + * non-null the number of bytes written to the buffer will be returned in \p + * n_written. + * + * @param buf Destination buffer + * @param len Length of \p buf + * @param n_written If not null, on success will be set to the number of bytes + * written to \p buf + * @param msg Instance of sbp_msg_acknowledge_t to encode + * @return SBP_OK on success, or other libsbp error code + */ +SBP_EXPORT s8 sbp_msg_acknowledge_encode(uint8_t *buf, uint8_t len, + uint8_t *n_written, + const sbp_msg_acknowledge_t *msg); + +/** + * Decode an instance of sbp_msg_acknowledge_t from wire representation + * + * This function decodes the wire representation of a sbp_msg_acknowledge_t + * message to the given instance. The caller must specify the length of the + * buffer in the \p len parameter. If non-null the number of bytes read from the + * buffer will be returned in \p n_read. + * + * @param buf Wire representation of the sbp_msg_acknowledge_t instance + * @param len Length of \p buf + * @param n_read If not null, on success will be set to the number of bytes read + * from \p buf + * @param msg Destination + * @return SBP_OK on success, or other libsbp error code + */ +SBP_EXPORT s8 sbp_msg_acknowledge_decode(const uint8_t *buf, uint8_t len, + uint8_t *n_read, + sbp_msg_acknowledge_t *msg); +/** + * Send an instance of sbp_msg_acknowledge_t with the given write function + * + * An equivalent of #sbp_message_send which operates specifically on + * sbp_msg_acknowledge_t + * + * The given message will be encoded to wire representation and passed in to the + * given write function callback. The write callback will be called several + * times for each invocation of this function. + * + * @param s SBP state + * @param sender_id SBP sender id + * @param msg Message to send + * @param write Write function + * @return SBP_OK on success, or other libsbp error code + */ +SBP_EXPORT s8 sbp_msg_acknowledge_send(sbp_state_t *s, u16 sender_id, + const sbp_msg_acknowledge_t *msg, + sbp_write_fn_t write); + +/** + * Compare two instances of sbp_msg_acknowledge_t + * + * The two instances will be compared and a value returned consistent with the + * return codes of comparison functions from the C standard library + * + * 0 will be returned if \p a and \p b are considered equal + * A value less than 0 will be returned if \p a is considered to be less than \p + * b A value greater than 0 will be returned if \p b is considered to be greater + * than \p b + * + * @param a sbp_msg_acknowledge_t instance + * @param b sbp_msg_acknowledge_t instance + * @return 0, <0, >0 + */ +SBP_EXPORT int sbp_msg_acknowledge_cmp(const sbp_msg_acknowledge_t *a, + const sbp_msg_acknowledge_t *b); + +#ifdef __cplusplus +} + +static inline bool operator==(const sbp_msg_acknowledge_t &lhs, + const sbp_msg_acknowledge_t &rhs) { + return sbp_msg_acknowledge_cmp(&lhs, &rhs) == 0; +} + +static inline bool operator!=(const sbp_msg_acknowledge_t &lhs, + const sbp_msg_acknowledge_t &rhs) { + return sbp_msg_acknowledge_cmp(&lhs, &rhs) != 0; +} + +static inline bool operator<(const sbp_msg_acknowledge_t &lhs, + const sbp_msg_acknowledge_t &rhs) { + return sbp_msg_acknowledge_cmp(&lhs, &rhs) < 0; +} + +static inline bool operator<=(const sbp_msg_acknowledge_t &lhs, + const sbp_msg_acknowledge_t &rhs) { + return sbp_msg_acknowledge_cmp(&lhs, &rhs) <= 0; +} + +static inline bool operator>(const sbp_msg_acknowledge_t &lhs, + const sbp_msg_acknowledge_t &rhs) { + return sbp_msg_acknowledge_cmp(&lhs, &rhs) > 0; +} + +static inline bool operator>=(const sbp_msg_acknowledge_t &lhs, + const sbp_msg_acknowledge_t &rhs) { + return sbp_msg_acknowledge_cmp(&lhs, &rhs) >= 0; +} + +#endif // ifdef __cplusplus + +#endif /* LIBSBP_V4_INTEGRITY_MSG_ACKNOWLEDGE_H */ diff --git a/c/include/libsbp/v4/sbp_msg.h b/c/include/libsbp/v4/sbp_msg.h index 078c4f9303..27456e42b4 100644 --- a/c/include/libsbp/v4/sbp_msg.h +++ b/c/include/libsbp/v4/sbp_msg.h @@ -58,6 +58,7 @@ extern "C" { * all general purpose functions within this file. */ typedef union { + sbp_msg_acknowledge_t acknowledge; sbp_msg_acq_result_dep_a_t acq_result_dep_a; sbp_msg_acq_result_dep_b_t acq_result_dep_b; sbp_msg_acq_result_dep_c_t acq_result_dep_c; @@ -301,6 +302,8 @@ static inline s8 sbp_message_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, sbp_msg_type_t msg_type, const sbp_msg_t *msg) { switch (msg_type) { + case SbpMsgAcknowledge: + return sbp_msg_acknowledge_encode(buf, len, n_written, &msg->acknowledge); case SbpMsgAcqResultDepA: return sbp_msg_acq_result_dep_a_encode(buf, len, n_written, &msg->acq_result_dep_a); @@ -933,6 +936,8 @@ static inline s8 sbp_message_decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, sbp_msg_type_t msg_type, sbp_msg_t *msg) { switch (msg_type) { + case SbpMsgAcknowledge: + return sbp_msg_acknowledge_decode(buf, len, n_read, &msg->acknowledge); case SbpMsgAcqResultDepA: return sbp_msg_acq_result_dep_a_decode(buf, len, n_read, &msg->acq_result_dep_a); @@ -1549,6 +1554,8 @@ static inline s8 sbp_message_decode(const uint8_t *buf, uint8_t len, static inline size_t sbp_message_encoded_len(sbp_msg_type_t msg_type, const sbp_msg_t *msg) { switch (msg_type) { + case SbpMsgAcknowledge: + return sbp_msg_acknowledge_encoded_len(&msg->acknowledge); case SbpMsgAcqResultDepA: return sbp_msg_acq_result_dep_a_encoded_len(&msg->acq_result_dep_a); case SbpMsgAcqResultDepB: @@ -2063,6 +2070,8 @@ static inline size_t sbp_message_encoded_len(sbp_msg_type_t msg_type, static inline int sbp_message_cmp(sbp_msg_type_t msg_type, const sbp_msg_t *a, const sbp_msg_t *b) { switch (msg_type) { + case SbpMsgAcknowledge: + return sbp_msg_acknowledge_cmp(&a->acknowledge, &b->acknowledge); case SbpMsgAcqResultDepA: return sbp_msg_acq_result_dep_a_cmp(&a->acq_result_dep_a, &b->acq_result_dep_a); diff --git a/c/src/include/libsbp/internal/v4/integrity.h b/c/src/include/libsbp/internal/v4/integrity.h index edfd4d1ddc..cba3c3c485 100644 --- a/c/src/include/libsbp/internal/v4/integrity.h +++ b/c/src/include/libsbp/internal/v4/integrity.h @@ -169,6 +169,26 @@ bool sbp_msg_ssr_flag_iono_grid_point_sat_los_encode_internal( bool sbp_msg_ssr_flag_iono_grid_point_sat_los_decode_internal( sbp_decode_ctx_t *ctx, sbp_msg_ssr_flag_iono_grid_point_sat_los_t *msg); +/** + * Internal function to encode an SBP type to a buffer + * + * @param ctx Encode context + * @param msg SBP type instance + * @return true on success, false otherwise + */ +bool sbp_msg_acknowledge_encode_internal(sbp_encode_ctx_t *ctx, + const sbp_msg_acknowledge_t *msg); + +/** + * Internal function to decode an SBP type from a buffer + * + * @param ctx Decode context + * @param msg SBP type instance + * @return true on success, false otherwise + */ +bool sbp_msg_acknowledge_decode_internal(sbp_decode_ctx_t *ctx, + sbp_msg_acknowledge_t *msg); + #ifdef __cplusplus } #endif diff --git a/c/src/v4/integrity.c b/c/src/v4/integrity.c index 94029d5cab..41a45a5149 100644 --- a/c/src/v4/integrity.c +++ b/c/src/v4/integrity.c @@ -956,3 +956,130 @@ int sbp_msg_ssr_flag_iono_grid_point_sat_los_cmp( } return ret; } + +bool sbp_msg_acknowledge_encode_internal(sbp_encode_ctx_t *ctx, + const sbp_msg_acknowledge_t *msg) { + if (!sbp_u8_encode(ctx, &msg->request_id)) { + return false; + } + if (!sbp_u32_encode(ctx, &msg->area_id)) { + return false; + } + if (!sbp_u8_encode(ctx, &msg->response_code)) { + return false; + } + if (!sbp_u16_encode(ctx, &msg->correction_mask_on_demand)) { + return false; + } + if (!sbp_u16_encode(ctx, &msg->correction_mask_stream)) { + return false; + } + if (!sbp_u8_encode(ctx, &msg->solution_id)) { + return false; + } + return true; +} + +s8 sbp_msg_acknowledge_encode(uint8_t *buf, uint8_t len, uint8_t *n_written, + const sbp_msg_acknowledge_t *msg) { + sbp_encode_ctx_t ctx; + ctx.buf = buf; + ctx.buf_len = len; + ctx.offset = 0; + if (!sbp_msg_acknowledge_encode_internal(&ctx, msg)) { + return SBP_ENCODE_ERROR; + } + if (n_written != NULL) { + *n_written = (uint8_t)ctx.offset; + } + return SBP_OK; +} + +bool sbp_msg_acknowledge_decode_internal(sbp_decode_ctx_t *ctx, + sbp_msg_acknowledge_t *msg) { + if (!sbp_u8_decode(ctx, &msg->request_id)) { + return false; + } + if (!sbp_u32_decode(ctx, &msg->area_id)) { + return false; + } + if (!sbp_u8_decode(ctx, &msg->response_code)) { + return false; + } + if (!sbp_u16_decode(ctx, &msg->correction_mask_on_demand)) { + return false; + } + if (!sbp_u16_decode(ctx, &msg->correction_mask_stream)) { + return false; + } + if (!sbp_u8_decode(ctx, &msg->solution_id)) { + return false; + } + return true; +} + +s8 sbp_msg_acknowledge_decode(const uint8_t *buf, uint8_t len, uint8_t *n_read, + sbp_msg_acknowledge_t *msg) { + sbp_decode_ctx_t ctx; + ctx.buf = buf; + ctx.buf_len = len; + ctx.offset = 0; + if (!sbp_msg_acknowledge_decode_internal(&ctx, msg)) { + return SBP_DECODE_ERROR; + } + if (n_read != NULL) { + *n_read = (uint8_t)ctx.offset; + } + return SBP_OK; +} + +s8 sbp_msg_acknowledge_send(sbp_state_t *s, u16 sender_id, + const sbp_msg_acknowledge_t *msg, + sbp_write_fn_t write) { + uint8_t payload[SBP_MAX_PAYLOAD_LEN]; + uint8_t payload_len; + s8 ret = + sbp_msg_acknowledge_encode(payload, sizeof(payload), &payload_len, msg); + if (ret != SBP_OK) { + return ret; + } + return sbp_payload_send(s, SBP_MSG_ACKNOWLEDGE, sender_id, payload_len, + payload, write); +} + +int sbp_msg_acknowledge_cmp(const sbp_msg_acknowledge_t *a, + const sbp_msg_acknowledge_t *b) { + int ret = 0; + + ret = sbp_u8_cmp(&a->request_id, &b->request_id); + if (ret != 0) { + return ret; + } + + ret = sbp_u32_cmp(&a->area_id, &b->area_id); + if (ret != 0) { + return ret; + } + + ret = sbp_u8_cmp(&a->response_code, &b->response_code); + if (ret != 0) { + return ret; + } + + ret = + sbp_u16_cmp(&a->correction_mask_on_demand, &b->correction_mask_on_demand); + if (ret != 0) { + return ret; + } + + ret = sbp_u16_cmp(&a->correction_mask_stream, &b->correction_mask_stream); + if (ret != 0) { + return ret; + } + + ret = sbp_u8_cmp(&a->solution_id, &b->solution_id); + if (ret != 0) { + return ret; + } + return ret; +} diff --git a/c/test/auto_check_sbp_integrity_MsgAcknowledge.c b/c/test/auto_check_sbp_integrity_MsgAcknowledge.c new file mode 100644 index 0000000000..3137f458e8 --- /dev/null +++ b/c/test/auto_check_sbp_integrity_MsgAcknowledge.c @@ -0,0 +1,184 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * 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. + */ + +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml by +// generate.py. Do not modify by hand! + +#include +#include +#include +#include // for debugging +#include // for malloc + +static struct { + u32 n_callbacks_logged; + u16 sender_id; + sbp_msg_type_t msg_type; + sbp_msg_t msg; + void *context; +} last_msg; + +static u32 dummy_wr = 0; +static u32 dummy_rd = 0; +static u8 dummy_buff[1024]; +static void *last_io_context; + +static void *DUMMY_MEMORY_FOR_CALLBACKS = (void *)0xdeadbeef; +static void *DUMMY_MEMORY_FOR_IO = (void *)0xdead0000; + +static void dummy_reset() { + dummy_rd = dummy_wr = 0; + memset(dummy_buff, 0, sizeof(dummy_buff)); +} + +static s32 dummy_write(u8 *buff, u32 n, void *context) { + last_io_context = context; + u32 real_n = n; //(dummy_n > n) ? n : dummy_n; + memcpy(dummy_buff + dummy_wr, buff, real_n); + dummy_wr += real_n; + return (s32)real_n; +} + +static s32 dummy_read(u8 *buff, u32 n, void *context) { + last_io_context = context; + u32 real_n = n; //(dummy_n > n) ? n : dummy_n; + memcpy(buff, dummy_buff + dummy_rd, real_n); + dummy_rd += real_n; + return (s32)real_n; +} + +static void logging_reset() { memset(&last_msg, 0, sizeof(last_msg)); } + +static void msg_callback(u16 sender_id, sbp_msg_type_t msg_type, + const sbp_msg_t *msg, void *context) { + last_msg.n_callbacks_logged++; + last_msg.sender_id = sender_id; + last_msg.msg_type = msg_type; + last_msg.msg = *msg; + last_msg.context = context; +} + +START_TEST(test_auto_check_sbp_integrity_MsgAcknowledge) { + static sbp_msg_callbacks_node_t n; + + // State of the SBP message parser. + // Must be statically allocated. + sbp_state_t sbp_state; + + // + // Run tests: + // + // 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_callback_register(&sbp_state, 0xBD2, &msg_callback, + &DUMMY_MEMORY_FOR_CALLBACKS, &n); + + u8 encoded_frame[] = { + 85, 210, 11, 42, 0, 11, 30, 64, 226, 1, 0, 0, 1, 0, 1, 0, 2, 86, 178, + }; + + dummy_reset(); + + sbp_msg_t test_msg; + memset(&test_msg, 0, sizeof(test_msg)); + + test_msg.acknowledge.area_id = 123456; + + test_msg.acknowledge.correction_mask_on_demand = 1; + + test_msg.acknowledge.correction_mask_stream = 1; + + test_msg.acknowledge.request_id = 30; + + test_msg.acknowledge.response_code = 0; + + test_msg.acknowledge.solution_id = 2; + + sbp_message_send(&sbp_state, SbpMsgAcknowledge, 42, &test_msg, + &dummy_write); + + ck_assert_msg(dummy_wr == sizeof(encoded_frame), + "not enough data was written to dummy_buff (expected: %zu, " + "actual: %zu)", + sizeof(encoded_frame), dummy_wr); + ck_assert_msg(memcmp(dummy_buff, encoded_frame, sizeof(encoded_frame)) == 0, + "frame was not encoded properly"); + + while (dummy_rd < dummy_wr) { + ck_assert_msg(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + ck_assert_msg(last_msg.n_callbacks_logged == 1, + "msg_callback: one callback should have been logged"); + ck_assert_msg(last_msg.sender_id == 42, + "msg_callback: sender_id decoded incorrectly"); + + ck_assert_msg( + sbp_message_cmp(SbpMsgAcknowledge, &last_msg.msg, &test_msg) == 0, + "Sent and received messages did not compare equal"); + + ck_assert_msg(last_msg.msg.acknowledge.area_id == 123456, + "incorrect value for last_msg.msg.acknowledge.area_id, " + "expected 123456, is %d", + last_msg.msg.acknowledge.area_id); + + ck_assert_msg( + last_msg.msg.acknowledge.correction_mask_on_demand == 1, + "incorrect value for " + "last_msg.msg.acknowledge.correction_mask_on_demand, expected 1, is %d", + last_msg.msg.acknowledge.correction_mask_on_demand); + + ck_assert_msg( + last_msg.msg.acknowledge.correction_mask_stream == 1, + "incorrect value for last_msg.msg.acknowledge.correction_mask_stream, " + "expected 1, is %d", + last_msg.msg.acknowledge.correction_mask_stream); + + ck_assert_msg(last_msg.msg.acknowledge.request_id == 30, + "incorrect value for last_msg.msg.acknowledge.request_id, " + "expected 30, is %d", + last_msg.msg.acknowledge.request_id); + + ck_assert_msg(last_msg.msg.acknowledge.response_code == 0, + "incorrect value for last_msg.msg.acknowledge.response_code, " + "expected 0, is %d", + last_msg.msg.acknowledge.response_code); + + ck_assert_msg(last_msg.msg.acknowledge.solution_id == 2, + "incorrect value for last_msg.msg.acknowledge.solution_id, " + "expected 2, is %d", + last_msg.msg.acknowledge.solution_id); + } +} +END_TEST + +Suite *auto_check_sbp_integrity_MsgAcknowledge_suite(void) { + Suite *s = suite_create( + "SBP generated test suite: auto_check_sbp_integrity_MsgAcknowledge"); + TCase *tc_acq = + tcase_create("Automated_Suite_auto_check_sbp_integrity_MsgAcknowledge"); + tcase_add_test(tc_acq, test_auto_check_sbp_integrity_MsgAcknowledge); + suite_add_tcase(s, tc_acq); + return s; +} \ No newline at end of file diff --git a/c/test/check_main.c b/c/test/check_main.c index 2cd6b2110d..153eb34dbb 100644 --- a/c/test/check_main.c +++ b/c/test/check_main.c @@ -34,6 +34,7 @@ int main(void) { srunner_add_suite(sr, auto_check_sbp_file_io_MsgFileioWriteResp_suite()); srunner_add_suite(sr, auto_check_sbp_imu_MsgImuAux_suite()); srunner_add_suite(sr, auto_check_sbp_imu_MsgImuRaw_suite()); + srunner_add_suite(sr, auto_check_sbp_integrity_MsgAcknowledge_suite()); srunner_add_suite(sr, auto_check_sbp_integrity_MsgSsrFlagHighLevel_suite()); srunner_add_suite( sr, auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos_suite()); diff --git a/c/test/check_main_legacy.c b/c/test/check_main_legacy.c index 34a36f4fb1..709dfe3c7f 100644 --- a/c/test/check_main_legacy.c +++ b/c/test/check_main_legacy.c @@ -38,6 +38,7 @@ int main(void) { legacy_auto_check_sbp_file_io_MsgFileioWriteResp_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_imu_MsgImuAux_suite()); srunner_add_suite(sr, legacy_auto_check_sbp_imu_MsgImuRaw_suite()); + srunner_add_suite(sr, legacy_auto_check_sbp_integrity_MsgAcknowledge_suite()); srunner_add_suite( sr, legacy_auto_check_sbp_integrity_MsgSsrFlagHighLevel_suite()); srunner_add_suite( diff --git a/c/test/check_suites.h b/c/test/check_suites.h index 0cc0e45d46..9d00315d00 100644 --- a/c/test/check_suites.h +++ b/c/test/check_suites.h @@ -26,6 +26,7 @@ Suite* auto_check_sbp_ext_events_MsgExtEvent_suite(void); Suite* auto_check_sbp_file_io_MsgFileioWriteResp_suite(void); Suite* auto_check_sbp_imu_MsgImuAux_suite(void); Suite* auto_check_sbp_imu_MsgImuRaw_suite(void); +Suite* auto_check_sbp_integrity_MsgAcknowledge_suite(void); Suite* auto_check_sbp_integrity_MsgSsrFlagHighLevel_suite(void); Suite* auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos_suite(void); Suite* auto_check_sbp_integrity_MsgSsrFlagIonoGridPoints_suite(void); diff --git a/c/test/check_suites_legacy.h b/c/test/check_suites_legacy.h index f421223a57..a918791e16 100644 --- a/c/test/check_suites_legacy.h +++ b/c/test/check_suites_legacy.h @@ -26,6 +26,7 @@ Suite* legacy_auto_check_sbp_ext_events_MsgExtEvent_suite(void); Suite* legacy_auto_check_sbp_file_io_MsgFileioWriteResp_suite(void); Suite* legacy_auto_check_sbp_imu_MsgImuAux_suite(void); Suite* legacy_auto_check_sbp_imu_MsgImuRaw_suite(void); +Suite* legacy_auto_check_sbp_integrity_MsgAcknowledge_suite(void); Suite* legacy_auto_check_sbp_integrity_MsgSsrFlagHighLevel_suite(void); Suite* legacy_auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos_suite( void); diff --git a/c/test/cpp/auto_check_sbp_integrity_MsgAcknowledge.cc b/c/test/cpp/auto_check_sbp_integrity_MsgAcknowledge.cc new file mode 100644 index 0000000000..3274f588e8 --- /dev/null +++ b/c/test/cpp/auto_check_sbp_integrity_MsgAcknowledge.cc @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * 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. + */ + +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml by +// generate.py. Do not modify by hand! + +#include +#include +#include +#include +#include +class Test_auto_check_sbp_integrity_MsgAcknowledge0 + : public ::testing::Test, + public sbp::State, + public sbp::IReader, + public sbp::IWriter, + sbp::MessageHandler { + public: + Test_auto_check_sbp_integrity_MsgAcknowledge0() + : ::testing::Test(), + sbp::State(), + sbp::IReader(), + sbp::IWriter(), + sbp::MessageHandler(this), + last_msg_(), + last_msg_len_(), + last_sender_id_(), + n_callbacks_logged_(), + dummy_wr_(), + dummy_rd_(), + dummy_buff_() { + set_reader(this); + set_writer(this); + } + + s32 read(uint8_t *buf, const uint32_t n) override { + uint32_t real_n = n; + memcpy(buf, dummy_buff_ + dummy_rd_, real_n); + dummy_rd_ += real_n; + return (s32)real_n; + } + + s32 write(const uint8_t *buf, uint32_t n) override { + uint32_t real_n = n; + memcpy(dummy_buff_ + dummy_wr_, buf, real_n); + dummy_wr_ += real_n; + return (s32)real_n; + } + + protected: + void handle_sbp_msg(uint16_t sender_id, + const sbp_msg_acknowledge_t &msg) override { + last_msg_ = msg; + last_sender_id_ = sender_id; + n_callbacks_logged_++; + } + + sbp_msg_acknowledge_t last_msg_; + uint8_t last_msg_len_; + uint16_t last_sender_id_; + size_t n_callbacks_logged_; + uint32_t dummy_wr_; + uint32_t dummy_rd_; + uint8_t dummy_buff_[1024]; +}; + +TEST_F(Test_auto_check_sbp_integrity_MsgAcknowledge0, Test) { + uint8_t encoded_frame[] = { + 85, 210, 11, 42, 0, 11, 30, 64, 226, 1, 0, 0, 1, 0, 1, 0, 2, 86, 178, + }; + + sbp_msg_acknowledge_t test_msg{}; + test_msg.area_id = 123456; + test_msg.correction_mask_on_demand = 1; + test_msg.correction_mask_stream = 1; + test_msg.request_id = 30; + test_msg.response_code = 0; + test_msg.solution_id = 2; + + EXPECT_EQ(send_message(42, test_msg), SBP_OK); + + EXPECT_EQ(dummy_wr_, sizeof(encoded_frame)); + EXPECT_EQ(memcmp(dummy_buff_, encoded_frame, sizeof(encoded_frame)), 0); + + while (dummy_rd_ < dummy_wr_) { + process(); + } + + EXPECT_EQ(n_callbacks_logged_, 1); + EXPECT_EQ(last_sender_id_, 42); + EXPECT_EQ(last_msg_, test_msg); + EXPECT_EQ(last_msg_.area_id, 123456) + << "incorrect value for last_msg_.area_id, expected 123456, is " + << last_msg_.area_id; + EXPECT_EQ(last_msg_.correction_mask_on_demand, 1) + << "incorrect value for last_msg_.correction_mask_on_demand, expected 1, " + "is " + << last_msg_.correction_mask_on_demand; + EXPECT_EQ(last_msg_.correction_mask_stream, 1) + << "incorrect value for last_msg_.correction_mask_stream, expected 1, is " + << last_msg_.correction_mask_stream; + EXPECT_EQ(last_msg_.request_id, 30) + << "incorrect value for last_msg_.request_id, expected 30, is " + << last_msg_.request_id; + EXPECT_EQ(last_msg_.response_code, 0) + << "incorrect value for last_msg_.response_code, expected 0, is " + << last_msg_.response_code; + EXPECT_EQ(last_msg_.solution_id, 2) + << "incorrect value for last_msg_.solution_id, expected 2, is " + << last_msg_.solution_id; +} diff --git a/c/test/legacy/auto_check_sbp_integrity_MsgAcknowledge.c b/c/test/legacy/auto_check_sbp_integrity_MsgAcknowledge.c new file mode 100644 index 0000000000..1cd1dcddce --- /dev/null +++ b/c/test/legacy/auto_check_sbp_integrity_MsgAcknowledge.c @@ -0,0 +1,228 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * 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. + */ + +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml by +// generate.py. Do not modify by hand! + +#include +#include +#include +#include // for debugging +#include // for malloc + +static struct { + u32 n_callbacks_logged; + u16 sender_id; + u8 len; + u8 msg[SBP_MAX_PAYLOAD_LEN]; + void *context; +} last_msg; + +static struct { + u32 n_callbacks_logged; + u16 sender_id; + u16 msg_type; + u8 msg_len; + u8 msg[SBP_MAX_PAYLOAD_LEN]; + u16 frame_len; + u8 frame[SBP_MAX_FRAME_LEN]; + void *context; +} last_frame; + +static u32 dummy_wr = 0; +static u32 dummy_rd = 0; +static u8 dummy_buff[1024]; +static void *last_io_context; + +static int DUMMY_MEMORY_FOR_CALLBACKS = 0xdeadbeef; +static int DUMMY_MEMORY_FOR_IO = 0xdead0000; + +static void dummy_reset() { + dummy_rd = dummy_wr = 0; + memset(dummy_buff, 0, sizeof(dummy_buff)); +} + +static s32 dummy_write(u8 *buff, u32 n, void *context) { + last_io_context = context; + u32 real_n = n; //(dummy_n > n) ? n : dummy_n; + memcpy(dummy_buff + dummy_wr, buff, real_n); + dummy_wr += real_n; + return real_n; +} + +static s32 dummy_read(u8 *buff, u32 n, void *context) { + last_io_context = context; + u32 real_n = n; //(dummy_n > n) ? n : dummy_n; + memcpy(buff, dummy_buff + dummy_rd, real_n); + dummy_rd += real_n; + return real_n; +} + +static void logging_reset() { + memset(&last_msg, 0, sizeof(last_msg)); + memset(&last_frame, 0, sizeof(last_frame)); +} + +static void msg_callback(u16 sender_id, u8 len, u8 msg[], void *context) { + last_msg.n_callbacks_logged++; + last_msg.sender_id = sender_id; + last_msg.len = len; + last_msg.context = context; + memcpy(last_msg.msg, msg, len); +} + +static void frame_callback(u16 sender_id, u16 msg_type, u8 msg_len, u8 msg[], + u16 frame_len, u8 frame[], void *context) { + last_frame.n_callbacks_logged++; + last_frame.sender_id = sender_id; + last_frame.msg_type = msg_type; + last_frame.msg_len = msg_len; + memcpy(last_frame.msg, msg, msg_len); + last_frame.frame_len = frame_len; + memcpy(last_frame.frame, frame, frame_len); + last_frame.context = context; +} + +START_TEST(test_legacy_auto_check_sbp_integrity_MsgAcknowledge) { + static sbp_msg_callbacks_node_t n; + static sbp_msg_callbacks_node_t n2; + + // State of the SBP message parser. + // Must be statically allocated. + sbp_state_t sbp_state; + + // + // Run tests: + // + // 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_payload_callback_register(&sbp_state, 0xBD2, &msg_callback, + &DUMMY_MEMORY_FOR_CALLBACKS, &n); + sbp_frame_callback_register(&sbp_state, 0xBD2, &frame_callback, + &DUMMY_MEMORY_FOR_CALLBACKS, &n2); + + u8 encoded_frame[] = { + 85, 210, 11, 42, 0, 11, 30, 64, 226, 1, 0, 0, 1, 0, 1, 0, 2, 86, 178, + }; + + dummy_reset(); + + u8 test_msg_storage[SBP_MAX_PAYLOAD_LEN]; + memset(test_msg_storage, 0, sizeof(test_msg_storage)); + u8 test_msg_len = 0; + msg_acknowledge_t *test_msg = (msg_acknowledge_t *)test_msg_storage; + test_msg_len = sizeof(*test_msg); + test_msg->area_id = 123456; + test_msg->correction_mask_on_demand = 1; + test_msg->correction_mask_stream = 1; + test_msg->request_id = 30; + test_msg->response_code = 0; + test_msg->solution_id = 2; + sbp_payload_send(&sbp_state, 0xBD2, 42, test_msg_len, test_msg_storage, + &dummy_write); + + ck_assert_msg( + test_msg_len == sizeof(encoded_frame) - 8, + "Test message has not been generated correctly, or the encoded frame " + "from the spec is badly defined. Check your test spec"); + + ck_assert_msg(dummy_wr == sizeof(encoded_frame), + "not enough data was written to dummy_buff"); + ck_assert_msg(memcmp(dummy_buff, encoded_frame, sizeof(encoded_frame)) == 0, + "frame was not encoded properly"); + + while (dummy_rd < dummy_wr) { + ck_assert_msg(sbp_process(&sbp_state, &dummy_read) >= SBP_OK, + "sbp_process threw an error!"); + } + + ck_assert_msg(last_msg.n_callbacks_logged == 1, + "msg_callback: one callback should have been logged"); + ck_assert_msg(last_msg.sender_id == 42, + "msg_callback: sender_id decoded incorrectly"); + ck_assert_msg(last_msg.len == sizeof(encoded_frame) - 8, + "msg_callback: len decoded incorrectly"); + ck_assert_msg( + memcmp(last_msg.msg, encoded_frame + 6, sizeof(encoded_frame) - 8) == 0, + "msg_callback: test data decoded incorrectly"); + ck_assert_msg(last_msg.context == &DUMMY_MEMORY_FOR_CALLBACKS, + "frame_callback: context pointer incorrectly passed"); + + ck_assert_msg(last_frame.n_callbacks_logged == 1, + "frame_callback: one callback should have been logged"); + ck_assert_msg(last_frame.sender_id == 42, + "frame_callback: sender_id decoded incorrectly"); + ck_assert_msg(last_frame.msg_type == 0xBD2, + "frame_callback: msg_type decoded incorrectly"); + ck_assert_msg(last_frame.msg_len == sizeof(encoded_frame) - 8, + "frame_callback: msg_len decoded incorrectly"); + ck_assert_msg(memcmp(last_frame.msg, encoded_frame + 6, + sizeof(encoded_frame) - 8) == 0, + "frame_callback: test data decoded incorrectly"); + ck_assert_msg(last_frame.frame_len == sizeof(encoded_frame), + "frame_callback: frame_len decoded incorrectly"); + ck_assert_msg( + memcmp(last_frame.frame, encoded_frame, sizeof(encoded_frame)) == 0, + "frame_callback: frame decoded incorrectly"); + ck_assert_msg(last_frame.context == &DUMMY_MEMORY_FOR_CALLBACKS, + "frame_callback: context pointer incorrectly passed"); + + // Cast to expected message type - the +6 byte offset is where the payload + // starts + msg_acknowledge_t *check_msg = (msg_acknowledge_t *)((void *)last_msg.msg); + // Run tests against fields + ck_assert_msg(check_msg != 0, "stub to prevent warnings if msg isn't used"); + ck_assert_msg(check_msg->area_id == 123456, + "incorrect value for area_id, expected 123456, is %d", + check_msg->area_id); + ck_assert_msg( + check_msg->correction_mask_on_demand == 1, + "incorrect value for correction_mask_on_demand, expected 1, is %d", + check_msg->correction_mask_on_demand); + ck_assert_msg( + check_msg->correction_mask_stream == 1, + "incorrect value for correction_mask_stream, expected 1, is %d", + check_msg->correction_mask_stream); + ck_assert_msg(check_msg->request_id == 30, + "incorrect value for request_id, expected 30, is %d", + check_msg->request_id); + ck_assert_msg(check_msg->response_code == 0, + "incorrect value for response_code, expected 0, is %d", + check_msg->response_code); + ck_assert_msg(check_msg->solution_id == 2, + "incorrect value for solution_id, expected 2, is %d", + check_msg->solution_id); + } +} +END_TEST + +Suite *legacy_auto_check_sbp_integrity_MsgAcknowledge_suite(void) { + Suite *s = suite_create( + "SBP generated test suite: " + "legacy_auto_check_sbp_integrity_MsgAcknowledge"); + TCase *tc_acq = tcase_create( + "Automated_Suite_legacy_auto_check_sbp_integrity_MsgAcknowledge"); + tcase_add_test(tc_acq, test_legacy_auto_check_sbp_integrity_MsgAcknowledge); + suite_add_tcase(s, tc_acq); + return s; +} \ No newline at end of file diff --git a/c/test/legacy/cpp/auto_check_sbp_integrity_MsgAcknowledge.cc b/c/test/legacy/cpp/auto_check_sbp_integrity_MsgAcknowledge.cc new file mode 100644 index 0000000000..9b847f07fb --- /dev/null +++ b/c/test/legacy/cpp/auto_check_sbp_integrity_MsgAcknowledge.cc @@ -0,0 +1,125 @@ +/* + * Copyright (C) 2015-2021 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * 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. + */ + +// This file was auto-generated from +// spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml by +// generate.py. Do not modify by hand! + +#include +#include +#include +#include +class Test_legacy_auto_check_sbp_integrity_MsgAcknowledge0 + : public ::testing::Test, + public sbp::State, + public sbp::IReader, + public sbp::IWriter, + sbp::PayloadHandler { + public: + Test_legacy_auto_check_sbp_integrity_MsgAcknowledge0() + : ::testing::Test(), + sbp::State(), + sbp::IReader(), + sbp::IWriter(), + sbp::PayloadHandler(this), + last_msg_storage_(), + last_msg_(reinterpret_cast(last_msg_storage_)), + last_msg_len_(), + last_sender_id_(), + n_callbacks_logged_(), + dummy_wr_(), + dummy_rd_(), + dummy_buff_() { + set_reader(this); + set_writer(this); + } + + s32 read(uint8_t *buf, const uint32_t n) override { + uint32_t real_n = n; + memcpy(buf, dummy_buff_ + dummy_rd_, real_n); + dummy_rd_ += real_n; + return (s32)real_n; + } + + s32 write(const uint8_t *buf, uint32_t n) override { + uint32_t real_n = n; + memcpy(dummy_buff_ + dummy_wr_, buf, real_n); + dummy_wr_ += real_n; + return (s32)real_n; + } + + protected: + void handle_sbp_msg(uint16_t sender_id, uint8_t message_length, + const msg_acknowledge_t &msg) override { + memcpy(last_msg_storage_, &msg, message_length); + last_msg_len_ = message_length; + last_sender_id_ = sender_id; + n_callbacks_logged_++; + } + + uint8_t last_msg_storage_[SBP_MAX_PAYLOAD_LEN]; + msg_acknowledge_t *last_msg_; + uint8_t last_msg_len_; + uint16_t last_sender_id_; + size_t n_callbacks_logged_; + uint32_t dummy_wr_; + uint32_t dummy_rd_; + uint8_t dummy_buff_[1024]; +}; + +TEST_F(Test_legacy_auto_check_sbp_integrity_MsgAcknowledge0, Test) { + uint8_t encoded_frame[] = { + 85, 210, 11, 42, 0, 11, 30, 64, 226, 1, 0, 0, 1, 0, 1, 0, 2, 86, 178, + }; + + uint8_t test_msg_storage[SBP_MAX_PAYLOAD_LEN]{}; + uint8_t test_msg_len = 0; + msg_acknowledge_t *test_msg = (msg_acknowledge_t *)test_msg_storage; + test_msg_len = (uint8_t)sizeof(*test_msg); + test_msg->area_id = 123456; + test_msg->correction_mask_on_demand = 1; + test_msg->correction_mask_stream = 1; + test_msg->request_id = 30; + test_msg->response_code = 0; + test_msg->solution_id = 2; + + EXPECT_EQ(send_message(0xBD2, 42, test_msg_len, test_msg_storage), SBP_OK); + + EXPECT_EQ(dummy_wr_, sizeof(encoded_frame)); + EXPECT_EQ(memcmp(dummy_buff_, encoded_frame, sizeof(encoded_frame)), 0); + + while (dummy_rd_ < dummy_wr_) { + process(); + } + + EXPECT_EQ(n_callbacks_logged_, 1); + EXPECT_EQ(last_sender_id_, 42); + EXPECT_EQ(last_msg_len_, test_msg_len); + EXPECT_EQ(last_msg_->area_id, 123456) + << "incorrect value for area_id, expected 123456, is " + << last_msg_->area_id; + EXPECT_EQ(last_msg_->correction_mask_on_demand, 1) + << "incorrect value for correction_mask_on_demand, expected 1, is " + << last_msg_->correction_mask_on_demand; + EXPECT_EQ(last_msg_->correction_mask_stream, 1) + << "incorrect value for correction_mask_stream, expected 1, is " + << last_msg_->correction_mask_stream; + EXPECT_EQ(last_msg_->request_id, 30) + << "incorrect value for request_id, expected 30, is " + << last_msg_->request_id; + EXPECT_EQ(last_msg_->response_code, 0) + << "incorrect value for response_code, expected 0, is " + << last_msg_->response_code; + EXPECT_EQ(last_msg_->solution_id, 2) + << "incorrect value for solution_id, expected 2, is " + << last_msg_->solution_id; +} diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 0469ffa1865540f9661059fa3748960a454628ac..02e6780d04cedbaa05e030ad9b2ab89b2bfda006 100644 GIT binary patch delta 351602 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
  • Mvu!ng%elQI8RVZ;Xggk-%G9jqn=3Uyvin{ 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ʏi`%w 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

    G5N-!PfT48=wnt8W`;J^9~)g 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�x4#l7C9w^ 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 delta 349925 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%0DHRZG!KC1Dh9t!D! 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 diff --git a/haskell/src/SwiftNav/SBP/Integrity.hs b/haskell/src/SwiftNav/SBP/Integrity.hs index d65308ec04..cb3302569f 100644 --- a/haskell/src/SwiftNav/SBP/Integrity.hs +++ b/haskell/src/SwiftNav/SBP/Integrity.hs @@ -338,3 +338,46 @@ instance Binary MsgSsrFlagIonoGridPointSatLos where $(makeSBP 'msgSsrFlagIonoGridPointSatLos ''MsgSsrFlagIonoGridPointSatLos) $(makeJSON "_msgSsrFlagIonoGridPointSatLos_" ''MsgSsrFlagIonoGridPointSatLos) $(makeLenses ''MsgSsrFlagIonoGridPointSatLos) + +msgAcknowledge :: Word16 +msgAcknowledge = 0x0BD2 + +data MsgAcknowledge = MsgAcknowledge + { _msgAcknowledge_request_id :: !Word8 + -- ^ Echo of the request ID field from the corresponding CRA message, or 255 + -- if no request ID was provided. + , _msgAcknowledge_area_id :: !Word32 + -- ^ Echo of the Area ID field from the corresponding CRA message. + , _msgAcknowledge_response_code :: !Word8 + -- ^ Reported status of the request. + , _msgAcknowledge_correction_mask_on_demand :: !Word16 + -- ^ Contains the message group(s) that will be sent in response from the + -- corresponding CRA correction mask. An echo of the correction mask field + -- from the corresponding CRA message. + , _msgAcknowledge_correction_mask_stream :: !Word16 + -- ^ For future expansion. Always set to 0. + , _msgAcknowledge_solution_id :: !Word8 + -- ^ The solution ID of the instance providing the corrections. + } deriving ( Show, Read, Eq ) + +instance Binary MsgAcknowledge where + get = do + _msgAcknowledge_request_id <- getWord8 + _msgAcknowledge_area_id <- getWord32le + _msgAcknowledge_response_code <- getWord8 + _msgAcknowledge_correction_mask_on_demand <- getWord16le + _msgAcknowledge_correction_mask_stream <- getWord16le + _msgAcknowledge_solution_id <- getWord8 + pure MsgAcknowledge {..} + + put MsgAcknowledge {..} = do + putWord8 _msgAcknowledge_request_id + putWord32le _msgAcknowledge_area_id + putWord8 _msgAcknowledge_response_code + putWord16le _msgAcknowledge_correction_mask_on_demand + putWord16le _msgAcknowledge_correction_mask_stream + putWord8 _msgAcknowledge_solution_id + +$(makeSBP 'msgAcknowledge ''MsgAcknowledge) +$(makeJSON "_msgAcknowledge_" ''MsgAcknowledge) +$(makeLenses ''MsgAcknowledge) diff --git a/haskell/src/SwiftNav/SBP/Msg.hs b/haskell/src/SwiftNav/SBP/Msg.hs index 60670b549e..bb854b04d1 100644 --- a/haskell/src/SwiftNav/SBP/Msg.hs +++ b/haskell/src/SwiftNav/SBP/Msg.hs @@ -57,7 +57,8 @@ import SwiftNav.SBP.Types -- Includes SBPMsgUnknown for valid SBP messages with undefined message -- types and SBPMsgBadCRC for SBP messages with invalid CRC checksums. data SBPMsg = - SBPMsgAcqResult MsgAcqResult Msg + SBPMsgAcknowledge MsgAcknowledge Msg + | SBPMsgAcqResult MsgAcqResult Msg | SBPMsgAcqResultDepA MsgAcqResultDepA Msg | SBPMsgAcqResultDepB MsgAcqResultDepB Msg | SBPMsgAcqResultDepC MsgAcqResultDepC Msg @@ -293,6 +294,7 @@ instance Binary SBPMsg where decoder <$> get where decoder m@Msg {..} | checkCrc m /= _msgSBPCrc = SBPMsgBadCrc m + | _msgSBPType == msgAcknowledge = SBPMsgAcknowledge (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgAcqResult = SBPMsgAcqResult (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgAcqResultDepA = SBPMsgAcqResultDepA (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgAcqResultDepB = SBPMsgAcqResultDepB (decode (fromStrict (unBytes _msgSBPPayload))) m @@ -521,6 +523,7 @@ instance Binary SBPMsg where put sm = do putWord8 msgSBPPreamble encoder sm where + encoder (SBPMsgAcknowledge _ m) = put m encoder (SBPMsgAcqResult _ m) = put m encoder (SBPMsgAcqResultDepA _ m) = put m encoder (SBPMsgAcqResultDepB _ m) = put m @@ -753,6 +756,7 @@ instance FromJSON SBPMsg where payload <- o .: "payload" decoder msgType payload where decoder msgType payload + | msgType == msgAcknowledge = SBPMsgAcknowledge <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgAcqResult = SBPMsgAcqResult <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgAcqResultDepA = SBPMsgAcqResultDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgAcqResultDepB = SBPMsgAcqResultDepB <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj @@ -986,6 +990,7 @@ instance FromJSON SBPMsg where pure $ review _Object $ a' <> b' instance ToJSON SBPMsg where + toJSON (SBPMsgAcknowledge n m) = toJSON n <<>> toJSON m toJSON (SBPMsgAcqResult n m) = toJSON n <<>> toJSON m toJSON (SBPMsgAcqResultDepA n m) = toJSON n <<>> toJSON m toJSON (SBPMsgAcqResultDepB n m) = toJSON n <<>> toJSON m @@ -1213,6 +1218,7 @@ instance ToJSON SBPMsg where toJSON (SBPMsgUnknown m) = toJSON m instance HasMsg SBPMsg where + msg f (SBPMsgAcknowledge n m) = SBPMsgAcknowledge n <$> f m msg f (SBPMsgAcqResult n m) = SBPMsgAcqResult n <$> f m msg f (SBPMsgAcqResultDepA n m) = SBPMsgAcqResultDepA n <$> f m msg f (SBPMsgAcqResultDepB n m) = SBPMsgAcqResultDepB n <$> f m diff --git a/java/src/com/swiftnav/sbp/client/MessageTable.java b/java/src/com/swiftnav/sbp/client/MessageTable.java index c9eac0eea8..72311f7b63 100644 --- a/java/src/com/swiftnav/sbp/client/MessageTable.java +++ b/java/src/com/swiftnav/sbp/client/MessageTable.java @@ -47,6 +47,7 @@ import com.swiftnav.sbp.flash.MsgStmUniqueIdResp; import com.swiftnav.sbp.imu.MsgImuAux; import com.swiftnav.sbp.imu.MsgImuRaw; +import com.swiftnav.sbp.integrity.MsgAcknowledge; import com.swiftnav.sbp.integrity.MsgSsrFlagHighLevel; import com.swiftnav.sbp.integrity.MsgSsrFlagIonoGridPointSatLos; import com.swiftnav.sbp.integrity.MsgSsrFlagIonoGridPoints; @@ -320,6 +321,8 @@ static SBPMessage dispatch(SBPMessage msg) throws SBPBinaryException { return new MsgSsrFlagIonoTileSatLos(msg); case MsgSsrFlagIonoGridPointSatLos.TYPE: return new MsgSsrFlagIonoGridPointSatLos(msg); + case MsgAcknowledge.TYPE: + return new MsgAcknowledge(msg); case MsgLinuxCpuStateDepA.TYPE: return new MsgLinuxCpuStateDepA(msg); case MsgLinuxMemStateDepA.TYPE: diff --git a/java/src/com/swiftnav/sbp/integrity/MsgAcknowledge.java b/java/src/com/swiftnav/sbp/integrity/MsgAcknowledge.java new file mode 100644 index 0000000000..e9ddeb1327 --- /dev/null +++ b/java/src/com/swiftnav/sbp/integrity/MsgAcknowledge.java @@ -0,0 +1,101 @@ +/* Copyright (C) 2015-2022 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * 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.integrity; + +// This file was auto-generated from yaml/swiftnav/sbp/integrity.yaml by generate.py. +// Do not modify by hand! + + +import com.swiftnav.sbp.SBPBinaryException; +import com.swiftnav.sbp.SBPMessage; +import com.swiftnav.sbp.gnss.*; +import org.json.JSONObject; + +public class MsgAcknowledge extends SBPMessage { + public static final int TYPE = 0x0BD2; + + /** + * Echo of the request ID field from the corresponding CRA message, or 255 if no request ID was + * provided. + */ + public int request_id; + + /** Echo of the Area ID field from the corresponding CRA message. */ + public long area_id; + + /** Reported status of the request. */ + public int response_code; + + /** + * Contains the message group(s) that will be sent in response from the corresponding CRA + * correction mask. An echo of the correction mask field from the corresponding CRA message. + */ + public int correction_mask_on_demand; + + /** For future expansion. Always set to 0. */ + public int correction_mask_stream; + + /** The solution ID of the instance providing the corrections. */ + public int solution_id; + + public MsgAcknowledge(int sender) { + super(sender, TYPE); + } + + public MsgAcknowledge() { + super(TYPE); + } + + public MsgAcknowledge(SBPMessage msg) throws SBPBinaryException { + super(msg); + if (msg.type != TYPE) + throw new SBPBinaryException( + "Type mismatch for MsgAcknowledge, expected 3026, actual " + msg.type); + } + + @Override + protected void parse(Parser parser) throws SBPBinaryException { + /* Parse fields from binary */ + request_id = parser.getU8(); + area_id = parser.getU32(); + response_code = parser.getU8(); + correction_mask_on_demand = parser.getU16(); + correction_mask_stream = parser.getU16(); + solution_id = parser.getU8(); + } + + @Override + protected void build(Builder builder) { + builder.putU8(request_id); + builder.putU32(area_id); + builder.putU8(response_code); + builder.putU16(correction_mask_on_demand); + builder.putU16(correction_mask_stream); + builder.putU8(solution_id); + } + + @Override + public JSONObject toJSON() { + JSONObject obj = super.toJSON(); + obj.put("request_id", request_id); + obj.put("area_id", area_id); + obj.put("response_code", response_code); + obj.put("correction_mask_on_demand", correction_mask_on_demand); + obj.put("correction_mask_stream", correction_mask_stream); + obj.put("solution_id", solution_id); + return obj; + } + + @Override + public String getFriendlyName() { + return "ACKNOWLEDGE"; + } +} diff --git a/java/test/auto_check_sbp_integrity_MsgAcknowledgeTest.java b/java/test/auto_check_sbp_integrity_MsgAcknowledgeTest.java new file mode 100644 index 0000000000..dfd71d86d3 --- /dev/null +++ b/java/test/auto_check_sbp_integrity_MsgAcknowledgeTest.java @@ -0,0 +1,113 @@ +/* Copyright (C) 2015-2022 Swift Navigation Inc. + * Contact: https://support.swiftnav.com + * + * 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.test; + +// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml +// by generate.py. Do not modify by hand! + + +import com.swiftnav.sbp.SBPMessage; +import com.swiftnav.sbp.integrity.MsgAcknowledge; +import java.math.BigInteger; +import org.json.JSONObject; +import org.junit.Test; + +public class auto_check_sbp_integrity_MsgAcknowledgeTest { + + public static boolean debug = false; + private static final double DELTA = 1e-15; + + @Test + public void test1() throws Throwable { + if (debug) System.out.format("%n%s%n", "auto_check_sbp_integrity_MsgAcknowledgeTest.test1"); + byte[] payload = + new byte[] { + (byte) 30, + (byte) 64, + (byte) 226, + (byte) 1, + (byte) 0, + (byte) 0, + (byte) 1, + (byte) 0, + (byte) 1, + (byte) 0, + (byte) 2, + }; + SBPMessage sbp = new SBPMessage(0x2A, 0xBD2, payload); + MsgAcknowledge msg = new MsgAcknowledge(sbp); + JSONObject json = msg.toJSON(); + Number value; + Number expected; + value = msg.area_id; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.area_id + "' != '" + 123456 + "'", + value.equals(BigInteger.valueOf(123456L))); + } else { + value = value.longValue(); + expected = 123456L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.correction_mask_on_demand; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.correction_mask_on_demand + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.correction_mask_stream; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.correction_mask_stream + "' != '" + 1 + "'", + value.equals(BigInteger.valueOf(1L))); + } else { + value = value.longValue(); + expected = 1L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.request_id; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.request_id + "' != '" + 30 + "'", + value.equals(BigInteger.valueOf(30L))); + } else { + value = value.longValue(); + expected = 30L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.response_code; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.response_code + "' != '" + 0 + "'", + value.equals(BigInteger.valueOf(0L))); + } else { + value = value.longValue(); + expected = 0L; + org.junit.Assert.assertEquals(value, expected); + } + value = msg.solution_id; + if (value instanceof BigInteger) { + org.junit.Assert.assertTrue( + "'" + msg.solution_id + "' != '" + 2 + "'", + value.equals(BigInteger.valueOf(2L))); + } else { + value = value.longValue(); + expected = 2L; + org.junit.Assert.assertEquals(value, expected); + } + + org.junit.Assert.assertNotEquals("", msg.getFriendlyName()); + } +} diff --git a/javascript/sbp.bundle.js b/javascript/sbp.bundle.js index 9195a17623..553c50d98a 100644 --- a/javascript/sbp.bundle.js +++ b/javascript/sbp.bundle.js @@ -12,4 +12,4 @@ var r=p(25),o=p(26),i=p(16);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647 * @author Feross Aboukhadijeh * @license MIT */ -function r(e,t){if(e===t)return 0;for(var p=e.length,r=t.length,o=0,i=Math.min(p,r);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],p,r))return!1;return!0}(e,t,p,s))}return p?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,p,r){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof p&&(r=p,p=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(p&&p.name?" ("+p.name+").":".")+(r?" "+r:"."),e&&!o&&_(o,p,"Missing expected exception"+r);var s="string"==typeof r,n=!e&&o&&!p;if((!e&&i.isError(o)&&s&&E(o,p)||n)&&_(o,p,"Got unwanted exception"+r),e&&o&&p&&!E(o,p)||!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 p=new Error;if(p.stack){var r=p.stack,o=h(t),i=r.indexOf("\n"+o);if(i>=0){var s=r.indexOf("\n",i+1);r=r.substring(s+1)}this.stack=r}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,p){e!=t&&_(e,t,p,"==",u.equal)},u.notEqual=function(e,t,p){e==t&&_(e,t,p,"!=",u.notEqual)},u.deepEqual=function(e,t,p){g(e,t,!1)||_(e,t,p,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,p){g(e,t,!0)||_(e,t,p,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,p){g(e,t,!1)&&_(e,t,p,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,p,r){g(t,p,!0)&&_(t,p,r,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,p){e!==t&&_(e,t,p,"===",u.strictEqual)},u.notStrictEqual=function(e,t,p){e===t&&_(e,t,p,"!==",u.notStrictEqual)},u.throws=function(e,t,p){m(!0,e,t,p)},u.doesNotThrow=function(e,t,p){m(!1,e,t,p)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var p in e)s.call(e,p)&&t.push(p);return t}}).call(this,p(5))},function(e,t,p){var r;!function(p){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 p=parseInt(e,t||10);return this._low=65535&p,this._high=p>>>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,p=t>>>16;return p+=this._high+e._high,this._low=65535&t,this._high=65535&p,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,p,r=this._high,o=this._low,i=e._high,s=e._low;return t=(p=o*s)>>>16,t+=r*s,t&=65535,t+=o*i,this._low=65535&p,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(),p=-1;!this.lt(t);)t.shiftLeft(1,!0),p++;for(this.remainder=this.clone(),this._low=0,this._high=0;p>=0;p--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),p>=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===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,p){var r;!function(p){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,p,r){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,p,r)}function n(e,t,p,r){return void 0===p?(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|p,this._a48=0|r,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 p=o[t]||new s(Math.pow(t,5)),r=0,i=e.length;r=0&&(p.div(t),r[o]=p.remainder.toNumber().toString(e),p.gt(t));o--);return r[o-1]=p.toNumber().toString(e),r.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,p=t>>>16,r=(p+=this._a16+e._a16)>>>16,o=(r+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&p,this._a32=65535&r,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,p=this._a16,r=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+=p*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=p*s)>>>16,c&=65535,u+=(c+=r*i)>>>16,u+=t*e._a48,u&=65535,u+=p*n,u&=65535,u+=r*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(),p=-1;!this.lt(t);)t.shiftLeft(1,!0),p++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;p>=0;p--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),p>=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 p=this._a48<<16|this._a32,r=this._a16<<16|this._a00,o=p<>>32-e,i=r<>>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 p=this._a48<<16|this._a32,r=this._a16<<16|this._a00,o=p>>>e|r<<32-e,i=r>>>e|p<<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===(r=function(){return s}.apply(t,[]))||(e.exports=r)}()},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=p(0).GnssSignalDep,n=(p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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=[];let s=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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=[];let l=function(e,t){return r.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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"]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal,p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec),s=p(0).SvId,n=function(e,t){return r.call(this,e),this.messageType="IntegritySSRHeader",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="IntegritySSRHeader",n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").uint8("chain_id"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),n.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),n.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),n.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),n.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),n.prototype.fieldSpec.push(["chain_id","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_HIGH_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_HIGH_LEVEL",a.prototype.msg_type=3001,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).nest("corr_time",{type:i.prototype.parser}).uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").uint8("chain_id").uint8("use_gps_sat").uint8("use_gal_sat").uint8("use_bds_sat").array("reserved",{length:6,type:"uint8"}).uint8("use_tropo_grid_points").uint8("use_iono_grid_points").uint8("use_iono_tile_sat_los").uint8("use_iono_grid_point_sat_los"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),a.prototype.fieldSpec.push(["corr_time",i.prototype.fieldSpec]),a.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),a.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),a.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),a.prototype.fieldSpec.push(["chain_id","writeUInt8",1]),a.prototype.fieldSpec.push(["use_gps_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["use_gal_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["use_bds_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},6]),a.prototype.fieldSpec.push(["use_tropo_grid_points","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_grid_points","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_tile_sat_los","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_grid_point_sat_los","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_SATELLITES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_SATELLITES",l.prototype.msg_type=3005,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("ssr_sol_id").uint8("chain_id").uint8("const_id").uint8("n_faulty_sats").array("faulty_sats",{type:"uint8",length:"n_faulty_sats"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),l.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),l.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),l.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),l.prototype.fieldSpec.push(["chain_id","writeUInt8",1]),l.prototype.fieldSpec.push(["const_id","writeUInt8",1]),l.prototype.fieldSpec.push(["n_faulty_sats","writeUInt8",1]),l.prototype.fieldSpec.push(["faulty_sats","array","writeUInt8",function(){return 1},"n_faulty_sats"]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_TROPO_GRID_POINTS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_TROPO_GRID_POINTS",c.prototype.msg_type=3011,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_points").array("faulty_points",{type:"uint16le",length:"n_faulty_points"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["n_faulty_points","writeUInt8",1]),c.prototype.fieldSpec.push(["faulty_points","array","writeUInt16LE",function(){return 2},"n_faulty_points"]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_GRID_POINTS",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_GRID_POINTS",u.prototype.msg_type=3015,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_points").array("faulty_points",{type:"uint16le",length:"n_faulty_points"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_faulty_points","writeUInt8",1]),u.prototype.fieldSpec.push(["faulty_points","array","writeUInt16LE",function(){return 2},"n_faulty_points"]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_TILE_SAT_LOS",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_TILE_SAT_LOS",y.prototype.msg_type=3021,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_los").array("faulty_los",{type:s.prototype.parser,length:"n_faulty_los"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["n_faulty_los","writeUInt8",1]),y.prototype.fieldSpec.push(["faulty_los","array",s.prototype.fieldSpec,function(){return this.fields.array.length},"n_faulty_los"]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS",h.prototype.msg_type=3025,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint16("grid_point_id").uint8("n_faulty_los").array("faulty_los",{type:s.prototype.parser,length:"n_faulty_los"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),h.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),h.prototype.fieldSpec.push(["n_faulty_los","writeUInt8",1]),h.prototype.fieldSpec.push(["faulty_los","array",s.prototype.fieldSpec,function(){return this.fields.array.length},"n_faulty_los"]),e.exports={IntegritySSRHeader:n,3001:a,MsgSsrFlagHighLevel:a,3005:l,MsgSsrFlagSatellites:l,3011:c,MsgSsrFlagTropoGridPoints:c,3015:u,MsgSsrFlagIonoGridPoints:u,3021:y,MsgSsrFlagIonoTileSatLos:y,3025:h,MsgSsrFlagIonoGridPointSatLos:h}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_CPU_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_CPU_STATE_DEP_A",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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_MEM_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_MEM_STATE_DEP_A",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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SYS_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SYS_STATE_DEP_A",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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_CPU_STATE",h.prototype.msg_type=32520,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").uint32("time").uint8("flags").string("tname",{length:15}).string("cmdline",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["index","writeUInt8",1]),h.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),h.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),h.prototype.fieldSpec.push(["time","writeUInt32LE",4]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["tname","string",15]),h.prototype.fieldSpec.push(["cmdline","string",null]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_MEM_STATE",f.prototype.msg_type=32521,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").uint32("time").uint8("flags").string("tname",{length:15}).string("cmdline",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["index","writeUInt8",1]),f.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),f.prototype.fieldSpec.push(["pmem","writeUInt8",1]),f.prototype.fieldSpec.push(["time","writeUInt32LE",4]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["tname","string",15]),f.prototype.fieldSpec.push(["cmdline","string",null]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SYS_STATE",d.prototype.msg_type=32522,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count").uint32("time").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),d.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),d.prototype.fieldSpec.push(["pmem","writeUInt8",1]),d.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),d.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),d.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]),d.prototype.fieldSpec.push(["time","writeUInt32LE",4]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={32512:i,MsgLinuxCpuStateDepA:i,32513:s,MsgLinuxMemStateDepA:s,32514:n,MsgLinuxSysStateDepA:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y,32520:h,MsgLinuxCpuState:h,32521:f,MsgLinuxMemState:f,32522:d,MsgLinuxSysState:d}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").array("fwd_payload",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME_GNSS",s.prototype.msg_type=260,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_UTC_TIME",n.prototype.msg_type=259,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt8",1]),n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["year","writeUInt16LE",2]),n.prototype.fieldSpec.push(["month","writeUInt8",1]),n.prototype.fieldSpec.push(["day","writeUInt8",1]),n.prototype.fieldSpec.push(["hours","writeUInt8",1]),n.prototype.fieldSpec.push(["minutes","writeUInt8",1]),n.prototype.fieldSpec.push(["seconds","writeUInt8",1]),n.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_UTC_TIME_GNSS",a.prototype.msg_type=261,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]),a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["year","writeUInt16LE",2]),a.prototype.fieldSpec.push(["month","writeUInt8",1]),a.prototype.fieldSpec.push(["day","writeUInt8",1]),a.prototype.fieldSpec.push(["hours","writeUInt8",1]),a.prototype.fieldSpec.push(["minutes","writeUInt8",1]),a.prototype.fieldSpec.push(["seconds","writeUInt8",1]),a.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_DOPS",l.prototype.msg_type=520,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF",c.prototype.msg_type=521,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["x","writeDoubleLE",8]),c.prototype.fieldSpec.push(["y","writeDoubleLE",8]),c.prototype.fieldSpec.push(["z","writeDoubleLE",8]),c.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_COV",u.prototype.msg_type=532,u.prototype.constructor=u,u.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"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["x","writeDoubleLE",8]),u.prototype.fieldSpec.push(["y","writeDoubleLE",8]),u.prototype.fieldSpec.push(["z","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH",y.prototype.msg_type=522,y.prototype.constructor=y,y.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"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),y.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),y.prototype.fieldSpec.push(["height","writeDoubleLE",8]),y.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV",h.prototype.msg_type=529,h.prototype.constructor=h,h.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"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),h.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),h.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),h.prototype.fieldSpec.push(["height","writeDoubleLE",8]),h.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]);let f=function(e,t){return r.call(this,e),this.messageType="EstimatedHorizontalErrorEllipse",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="EstimatedHorizontalErrorEllipse",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").floatle("semi_major").floatle("semi_minor").floatle("orientation"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["semi_major","writeFloatLE",4]),f.prototype.fieldSpec.push(["semi_minor","writeFloatLE",4]),f.prototype.fieldSpec.push(["orientation","writeFloatLE",4]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_ACC",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_ACC",d.prototype.msg_type=536,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").doublele("orthometric_height").floatle("h_accuracy").floatle("v_accuracy").floatle("ct_accuracy").floatle("at_accuracy").nest("h_ellipse",{type:f.prototype.parser}).uint8("confidence_and_geoid").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),d.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),d.prototype.fieldSpec.push(["height","writeDoubleLE",8]),d.prototype.fieldSpec.push(["orthometric_height","writeDoubleLE",8]),d.prototype.fieldSpec.push(["h_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["v_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["ct_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["at_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["h_ellipse",f.prototype.fieldSpec]),d.prototype.fieldSpec.push(["confidence_and_geoid","writeUInt8",1]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_ECEF",_.prototype.msg_type=523,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["x","writeInt32LE",4]),_.prototype.fieldSpec.push(["y","writeInt32LE",4]),_.prototype.fieldSpec.push(["z","writeInt32LE",4]),_.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_NED",S.prototype.msg_type=524,S.prototype.constructor=S,S.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"),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(["h_accuracy","writeUInt16LE",2]),S.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF",g.prototype.msg_type=525,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["x","writeInt32LE",4]),g.prototype.fieldSpec.push(["y","writeInt32LE",4]),g.prototype.fieldSpec.push(["z","writeInt32LE",4]),g.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_COV",w.prototype.msg_type=533,w.prototype.constructor=w,w.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"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["x","writeInt32LE",4]),w.prototype.fieldSpec.push(["y","writeInt32LE",4]),w.prototype.fieldSpec.push(["z","writeInt32LE",4]),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]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED",E.prototype.msg_type=526,E.prototype.constructor=E,E.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"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["n","writeInt32LE",4]),E.prototype.fieldSpec.push(["e","writeInt32LE",4]),E.prototype.fieldSpec.push(["d","writeInt32LE",4]),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]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_COV",m.prototype.msg_type=530,m.prototype.constructor=m,m.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"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["n","writeInt32LE",4]),m.prototype.fieldSpec.push(["e","writeInt32LE",4]),m.prototype.fieldSpec.push(["d","writeInt32LE",4]),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]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_GNSS",b.prototype.msg_type=553,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["x","writeDoubleLE",8]),b.prototype.fieldSpec.push(["y","writeDoubleLE",8]),b.prototype.fieldSpec.push(["z","writeDoubleLE",8]),b.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",I.prototype.msg_type=564,I.prototype.constructor=I,I.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"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["x","writeDoubleLE",8]),I.prototype.fieldSpec.push(["y","writeDoubleLE",8]),I.prototype.fieldSpec.push(["z","writeDoubleLE",8]),I.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_GNSS",L.prototype.msg_type=554,L.prototype.constructor=L,L.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"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),L.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),L.prototype.fieldSpec.push(["height","writeDoubleLE",8]),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]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV_GNSS",T.prototype.msg_type=561,T.prototype.constructor=T,T.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"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),T.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),T.prototype.fieldSpec.push(["height","writeDoubleLE",8]),T.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_GNSS",v.prototype.msg_type=557,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").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(["accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",U.prototype.msg_type=565,U.prototype.constructor=U,U.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"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["x","writeInt32LE",4]),U.prototype.fieldSpec.push(["y","writeInt32LE",4]),U.prototype.fieldSpec.push(["z","writeInt32LE",4]),U.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_GNSS",M.prototype.msg_type=558,M.prototype.constructor=M,M.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"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["n","writeInt32LE",4]),M.prototype.fieldSpec.push(["e","writeInt32LE",4]),M.prototype.fieldSpec.push(["d","writeInt32LE",4]),M.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),M.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),M.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),M.prototype.fieldSpec.push(["flags","writeUInt8",1]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_COV_GNSS",D.prototype.msg_type=562,D.prototype.constructor=D,D.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"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["n","writeInt32LE",4]),D.prototype.fieldSpec.push(["e","writeInt32LE",4]),D.prototype.fieldSpec.push(["d","writeInt32LE",4]),D.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),D.prototype.fieldSpec.push(["flags","writeUInt8",1]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_VEL_BODY",O.prototype.msg_type=531,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["x","writeInt32LE",4]),O.prototype.fieldSpec.push(["y","writeInt32LE",4]),O.prototype.fieldSpec.push(["z","writeInt32LE",4]),O.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_COG",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_VEL_COG",G.prototype.msg_type=540,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").uint32("cog").uint32("sog").int32("v_up").uint32("cog_accuracy").uint32("sog_accuracy").uint32("v_up_accuracy").uint16("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["cog","writeUInt32LE",4]),G.prototype.fieldSpec.push(["sog","writeUInt32LE",4]),G.prototype.fieldSpec.push(["v_up","writeInt32LE",4]),G.prototype.fieldSpec.push(["cog_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["sog_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["v_up_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["flags","writeUInt16LE",2]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="MSG_AGE_CORRECTIONS",A.prototype.msg_type=528,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["age","writeUInt16LE",2]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME_DEP_A",C.prototype.msg_type=256,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_DOPS_DEP_A",R.prototype.msg_type=518,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_DEP_A",P.prototype.msg_type=512,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["x","writeDoubleLE",8]),P.prototype.fieldSpec.push(["y","writeDoubleLE",8]),P.prototype.fieldSpec.push(["z","writeDoubleLE",8]),P.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_DEP_A",N.prototype.msg_type=513,N.prototype.constructor=N,N.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"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),N.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),N.prototype.fieldSpec.push(["height","writeDoubleLE",8]),N.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),N.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",j.prototype.msg_type=514,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["x","writeInt32LE",4]),j.prototype.fieldSpec.push(["y","writeInt32LE",4]),j.prototype.fieldSpec.push(["z","writeInt32LE",4]),j.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),j.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_NED_DEP_A",x.prototype.msg_type=515,x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),x.prototype.fieldSpec.push(["n","writeInt32LE",4]),x.prototype.fieldSpec.push(["e","writeInt32LE",4]),x.prototype.fieldSpec.push(["d","writeInt32LE",4]),x.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),x.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),x.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),x.prototype.fieldSpec.push(["flags","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",F.prototype.msg_type=516,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]);let k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",k.prototype.msg_type=517,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["n","writeInt32LE",4]),k.prototype.fieldSpec.push(["e","writeInt32LE",4]),k.prototype.fieldSpec.push(["d","writeInt32LE",4]),k.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",B.prototype.msg_type=519,B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),B.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),B.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),B.prototype.fieldSpec.push(["flags","writeUInt8",1]);let q=function(e,t){return r.call(this,e),this.messageType="MSG_PROTECTION_LEVEL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="MSG_PROTECTION_LEVEL_DEP_A",q.prototype.msg_type=534,q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),q.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),q.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),q.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),q.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),q.prototype.fieldSpec.push(["height","writeDoubleLE",8]),q.prototype.fieldSpec.push(["flags","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="MSG_PROTECTION_LEVEL",z.prototype.msg_type=535,z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("tow").int16("wn").uint16("hpl").uint16("vpl").uint16("atpl").uint16("ctpl").uint16("hvpl").uint16("vvpl").uint16("hopl").uint16("popl").uint16("ropl").doublele("lat").doublele("lon").doublele("height").int32("v_x").int32("v_y").int32("v_z").int32("roll").int32("pitch").int32("heading").uint32("flags"),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),z.prototype.fieldSpec.push(["wn","writeInt16LE",2]),z.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["atpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["ctpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["hvpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["vvpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["hopl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["popl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["ropl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),z.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),z.prototype.fieldSpec.push(["height","writeDoubleLE",8]),z.prototype.fieldSpec.push(["v_x","writeInt32LE",4]),z.prototype.fieldSpec.push(["v_y","writeInt32LE",4]),z.prototype.fieldSpec.push(["v_z","writeInt32LE",4]),z.prototype.fieldSpec.push(["roll","writeInt32LE",4]),z.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),z.prototype.fieldSpec.push(["heading","writeInt32LE",4]),z.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let H=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_LEAP_SECOND",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="MSG_UTC_LEAP_SECOND",H.prototype.msg_type=570,H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").int16("reserved_0").int16("reserved_1").int8("reserved_2").int8("count_before").uint16("reserved_3").uint16("reserved_4").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["reserved_0","writeInt16LE",2]),H.prototype.fieldSpec.push(["reserved_1","writeInt16LE",2]),H.prototype.fieldSpec.push(["reserved_2","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["reserved_3","writeUInt16LE",2]),H.prototype.fieldSpec.push(["reserved_4","writeUInt16LE",2]),H.prototype.fieldSpec.push(["ref_wn","writeUInt16LE",2]),H.prototype.fieldSpec.push(["ref_dn","writeUInt8",1]),H.prototype.fieldSpec.push(["count_after","writeInt8",1]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_REFERENCE_FRAME_PARAM",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.prototype)).messageType="MSG_REFERENCE_FRAME_PARAM",V.prototype.msg_type=580,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").uint8("ssr_iod").string("sn",{length:32}).string("tn",{length:32}).uint8("sin").uint16("utn").uint16("re_t0").int32("delta_X0").int32("delta_Y0").int32("delta_Z0").int32("theta_01").int32("theta_02").int32("theta_03").int32("scale").int32("dot_delta_X0").int32("dot_delta_Y0").int32("dot_delta_Z0").int32("dot_theta_01").int32("dot_theta_02").int32("dot_theta_03").int16("dot_scale"),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),V.prototype.fieldSpec.push(["sn","string",32]),V.prototype.fieldSpec.push(["tn","string",32]),V.prototype.fieldSpec.push(["sin","writeUInt8",1]),V.prototype.fieldSpec.push(["utn","writeUInt16LE",2]),V.prototype.fieldSpec.push(["re_t0","writeUInt16LE",2]),V.prototype.fieldSpec.push(["delta_X0","writeInt32LE",4]),V.prototype.fieldSpec.push(["delta_Y0","writeInt32LE",4]),V.prototype.fieldSpec.push(["delta_Z0","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_01","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_02","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_03","writeInt32LE",4]),V.prototype.fieldSpec.push(["scale","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_X0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_Y0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_Z0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_01","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_02","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_03","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_scale","writeInt16LE",2]);let Y=function(e,t){return r.call(this,e),this.messageType="MSG_POSE_RELATIVE",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(r.prototype)).messageType="MSG_POSE_RELATIVE",Y.prototype.msg_type=581,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").uint32("tow").uint8("sensor_id").uint32("timestamp_1").uint32("timestamp_2").array("trans",{length:3,type:"int32le"}).int32("w").int32("x").int32("y").int32("z").floatle("cov_r_x_x").floatle("cov_r_x_y").floatle("cov_r_x_z").floatle("cov_r_y_y").floatle("cov_r_y_z").floatle("cov_r_z_z").floatle("cov_c_x_x").floatle("cov_c_x_y").floatle("cov_c_x_z").floatle("cov_c_y_y").floatle("cov_c_y_z").floatle("cov_c_z_z").uint8("flags"),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["sensor_id","writeUInt8",1]),Y.prototype.fieldSpec.push(["timestamp_1","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["timestamp_2","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["trans","array","writeInt32LE",function(){return 4},3]),Y.prototype.fieldSpec.push(["w","writeInt32LE",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(["cov_r_x_x","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_x_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_x_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_y_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_y_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_z_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_x","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_y_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_y_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_z_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,260:s,MsgGpsTimeGnss:s,259:n,MsgUtcTime:n,261:a,MsgUtcTimeGnss:a,520:l,MsgDops:l,521:c,MsgPosEcef:c,532:u,MsgPosEcefCov:u,522:y,MsgPosLlh:y,529:h,MsgPosLlhCov:h,EstimatedHorizontalErrorEllipse:f,536:d,MsgPosLlhAcc:d,523:_,MsgBaselineEcef:_,524:S,MsgBaselineNed:S,525:g,MsgVelEcef:g,533:w,MsgVelEcefCov:w,526:E,MsgVelNed:E,530:m,MsgVelNedCov:m,553:b,MsgPosEcefGnss:b,564:I,MsgPosEcefCovGnss:I,554:L,MsgPosLlhGnss:L,561:T,MsgPosLlhCovGnss:T,557:v,MsgVelEcefGnss:v,565:U,MsgVelEcefCovGnss:U,558:M,MsgVelNedGnss:M,562:D,MsgVelNedCovGnss:D,531:O,MsgVelBody:O,540:G,MsgVelCog:G,528:A,MsgAgeCorrections:A,256:C,MsgGpsTimeDepA:C,518:R,MsgDopsDepA:R,512:P,MsgPosEcefDepA:P,513:N,MsgPosLlhDepA:N,514:j,MsgBaselineEcefDepA:j,515:x,MsgBaselineNedDepA:x,516:F,MsgVelEcefDepA:F,517:k,MsgVelNedDepA:k,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V,581:Y,MsgPoseRelative:Y}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase),s=p(0).GnssSignal,n=p(0).GnssSignalDep,a=p(0).GPSTime,l=p(0).GPSTimeDep,c=p(0).GPSTimeSec,u=(p(0).SvId,function(e,t){return r.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(r.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:a.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="PackedObsContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:s.prototype.parser}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",i.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",s.prototype.fieldSpec]);let f=function(e,t){return r.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="PackedOsrContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:s.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",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",s.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]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.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]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.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]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.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]);let g=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",c.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]);let w=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.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"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",c.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]);let E=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:n.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",l.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]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.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:l.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",l.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.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:c.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",c.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GPS",I.prototype.msg_type=138,I.prototype.constructor=I,I.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:c.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd","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","writeFloatLE",4]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.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:c.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",c.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_BDS",T.prototype.msg_type=137,T.prototype.constructor=T,T.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:c.prototype.parser}).uint8("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),T.prototype.fieldSpec.push(["tgd2","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","writeFloatLE",4]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt8",1]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",v.prototype.msg_type=149,v.prototype.constructor=v,v.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:c.prototype.parser}).uint16("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),v.prototype.fieldSpec.push(["bgd_e1e5b","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","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL",U.prototype.msg_type=141,U.prototype.constructor=U,U.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:c.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),U.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),U.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),U.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),U.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),U.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),U.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),U.prototype.fieldSpec.push(["w","writeDoubleLE",8]),U.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),U.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af2","writeFloatLE",4]),U.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),U.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),U.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),U.prototype.fieldSpec.push(["source","writeUInt8",1]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",M.prototype.msg_type=130,M.prototype.constructor=M,M.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"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),M.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.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]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.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]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.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]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.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]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",C.prototype.msg_type=135,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"),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]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",R.prototype.msg_type=136,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").uint8("iod"),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]),R.prototype.fieldSpec.push(["iod","writeUInt8",1]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.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]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.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:n.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",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.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]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.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]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.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:n.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",n.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let k=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.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]);let q=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.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]);let z=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.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:n.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",n.prototype.fieldSpec]);let H=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.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]);let Y=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_B",Y.prototype.msg_type=67,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);let W=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_C",W.prototype.msg_type=73,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);let Q=function(e,t){return r.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(r.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:c.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",c.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]);let K=function(e,t){return r.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(r.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:c.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);let X=function(e,t){return r.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(r.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]);let J=function(e,t){return r.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(r.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:c.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);let Z=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",Z.prototype.msg_type=146,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).uint8("prn").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(["prn","writeUInt8",1]),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]);let $=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",$.prototype.msg_type=147,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).nest("sid",{type:n.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),$.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]);let ee=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(r.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:c.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",s.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]);let te=function(e,t){return r.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(r.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",c.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]);let pe=function(e,t){return r.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(r.prototype)).messageType="AlmanacCommonContentDep",pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("sid",{type:n.prototype.parser}).nest("toa",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["toa",c.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),pe.prototype.fieldSpec.push(["valid","writeUInt8",1]),pe.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let re=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GPS_DEP",re.prototype.msg_type=112,re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("common",{type:pe.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["common",pe.prototype.fieldSpec]),re.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),re.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),re.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),re.prototype.fieldSpec.push(["w","writeDoubleLE",8]),re.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),re.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);let oe=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(r.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]);let ie=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(r.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:pe.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",pe.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]);let se=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(r.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]);let ne=function(e,t){return r.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(r.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]);let ae=function(e,t){return r.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(r.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);let le=function(e,t){return r.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(r.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]);let ce=function(e,t){return r.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(r.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:I,MsgEphemerisGps:I,142:L,MsgEphemerisQzss:L,137:T,MsgEphemerisBds:T,149:v,MsgEphemerisGalDepA:v,141:U,MsgEphemerisGal:U,130:M,MsgEphemerisSbasDepA:M,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:C,MsgEphemerisGloDepC:C,136:R,MsgEphemerisGloDepD:R,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:Y,MsgObsDepB:Y,73:W,MsgObsDepC:W,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:Z,MsgGroupDelayDepA:Z,147:$,MsgGroupDelayDepB:$,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:pe,112:re,MsgAlmanacGpsDep:re,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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=p(0).GnssSignalDep,n=p(0).GPSTime,a=p(0).GPSTimeDep,l=(p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];let c=function(e,t){return r.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];let u=function(e,t){return r.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_CW_RESULTS",h.prototype.msg_type=192,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];let f=function(e,t){return r.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_CW_START",f.prototype.msg_type=193,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];let d=function(e,t){return r.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.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]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];let S=function(e,t){return r.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.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]);let g=function(e,t){return r.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.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]);let w=function(e,t){return r.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.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]);let E=function(e,t){return r.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.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]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.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]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.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]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_IAR_STATE",I.prototype.msg_type=25,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("num_hyps"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.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]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE_DEP",T.prototype.msg_type=27,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["mask","writeUInt8",1]),T.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_DEVICE_MONITOR",v.prototype.msg_type=181,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),v.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_REQ",U.prototype.msg_type=184,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["command","string",null]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_RESP",M.prototype.msg_type=185,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["code","writeInt32LE",4]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.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]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.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=[];let G=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.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]);let A=function(e,t){return r.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.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]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",C.prototype.msg_type=189,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_CELL_MODEM_STATUS",R.prototype.msg_type=190,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),R.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),R.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.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]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.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]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.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:I,MsgIarState:I,43:L,MsgMaskSatellite:L,27:T,MsgMaskSatelliteDep:T,181:v,MsgDeviceMonitor:v,184:U,MsgCommandReq:U,185:M,MsgCommandResp:M,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:C,MsgNetworkBandwidthUsage:C,190:R,MsgCellModemStatus:R,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];let s=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal,p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_SIGNATURE_DEP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_SIGNATURE_DEP",i.prototype.msg_type=3073,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("signature",{length:64,type:"uint8"}).array("fingerprint",{length:20,type:"uint8"}).array("signed_messages",{type:"uint32le",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),i.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),i.prototype.fieldSpec.push(["signed_messages","array","writeUInt32LE",function(){return 4},null]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_CERTIFICATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_CERTIFICATE",s.prototype.msg_type=3074,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("n_msg").array("fingerprint",{length:20,type:"uint8"}).array("certificate_bytes",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["n_msg","writeUInt8",1]),s.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),s.prototype.fieldSpec.push(["certificate_bytes","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_SIGNATURE",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_SIGNATURE",n.prototype.msg_type=3075,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("stream_counter").uint8("on_demand_counter").array("signature",{length:64,type:"uint8"}).array("fingerprint",{length:20,type:"uint8"}).array("signed_messages",{type:"uint32le",readUntil:"eof"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["stream_counter","writeUInt8",1]),n.prototype.fieldSpec.push(["on_demand_counter","writeUInt8",1]),n.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),n.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),n.prototype.fieldSpec.push(["signed_messages","array","writeUInt32LE",function(){return 4},null]),e.exports={3073:i,MsgEd25519SignatureDep:i,3074:s,MsgEd25519Certificate:s,3075:n,MsgEd25519Signature:n}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="SolutionInputType",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="SolutionInputType",i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("sensor_type").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sensor_type","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_SOLN_META_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_SOLN_META_DEP_A",s.prototype.msg_type=65295,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint16("pdop").uint16("hdop").uint16("vdop").uint8("n_sats").uint16("age_corrections").uint8("alignment_status").uint32("last_used_gnss_pos_tow").uint32("last_used_gnss_vel_tow").array("sol_in",{type:i.prototype.parser,readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),s.prototype.fieldSpec.push(["age_corrections","writeUInt16LE",2]),s.prototype.fieldSpec.push(["alignment_status","writeUInt8",1]),s.prototype.fieldSpec.push(["last_used_gnss_pos_tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["last_used_gnss_vel_tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["sol_in","array",i.prototype.fieldSpec,function(){return this.fields.array.length},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_SOLN_META",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_SOLN_META",n.prototype.msg_type=65294,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").uint16("pdop").uint16("hdop").uint16("vdop").uint16("age_corrections").uint32("age_gnss").array("sol_in",{type:i.prototype.parser,readUntil:"eof"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["age_corrections","writeUInt16LE",2]),n.prototype.fieldSpec.push(["age_gnss","writeUInt32LE",4]),n.prototype.fieldSpec.push(["sol_in","array",i.prototype.fieldSpec,function(){return this.fields.array.length},null]);let a=function(e,t){return r.call(this,e),this.messageType="GNSSInputType",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="GNSSInputType",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="IMUInputType",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="IMUInputType",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["flags","writeUInt8",1]);let c=function(e,t){return r.call(this,e),this.messageType="OdoInputType",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="OdoInputType",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={SolutionInputType:i,65295:s,MsgSolnMetaDepA:s,65294:n,MsgSolnMeta:n,GNSSInputType:a,IMUInputType:l,OdoInputType:c}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec),n=p(0).SvId,a=function(e,t){return r.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").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(["tile_set_id","writeUInt16LE",2]),c.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),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]);let u=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").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(["tile_set_id","writeUInt16LE",2]),u.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),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]);let y=function(e,t){return r.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.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]);let d=function(e,t){return r.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.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]);let _=function(e,t){return r.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.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]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",S.prototype.msg_type=1501,S.prototype.constructor=S,S.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"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),S.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),S.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),S.prototype.fieldSpec.push(["radial","writeInt32LE",4]),S.prototype.fieldSpec.push(["along","writeInt32LE",4]),S.prototype.fieldSpec.push(["cross","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),S.prototype.fieldSpec.push(["c0","writeInt32LE",4]),S.prototype.fieldSpec.push(["c1","writeInt32LE",4]),S.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_BIASES",g.prototype.msg_type=1505,g.prototype.constructor=g,g.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"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),g.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),g.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_SSR_PHASE_BIASES",w.prototype.msg_type=1510,w.prototype.constructor=w,w.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"}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),w.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),w.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),w.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),w.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),w.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),w.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP",E.prototype.msg_type=1531,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let m=function(e,t){return r.call(this,e),this.messageType="BoundsHeader",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="BoundsHeader",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("sol_id"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),m.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["sol_id","writeUInt8",1]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION",b.prototype.msg_type=1533,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod_atmo").uint16("tile_set_id").uint16("tile_id").uint8("n_sats").array("stec_sat_list",{type:y.prototype.parser,length:"n_sats"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),b.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),b.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),b.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",I.prototype.msg_type=1532,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),I.prototype.fieldSpec.push(["index","writeUInt16LE",2]),I.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),I.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let L=function(e,t){return r.call(this,e),this.messageType="STECSatElementIntegrity",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="STECSatElementIntegrity",L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("stec_residual",{type:_.prototype.parser}).uint8("stec_bound_mu").uint8("stec_bound_sig").uint8("stec_bound_mu_dot").uint8("stec_bound_sig_dot"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["stec_residual",_.prototype.fieldSpec]),L.prototype.fieldSpec.push(["stec_bound_mu","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_sig","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_mu_dot","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_sig_dot","writeUInt8",1]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",T.prototype.msg_type=1534,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod_atmo").uint16("tile_set_id").uint16("tile_id").uint8("tropo_qi").uint16("grid_point_id").nest("tropo_delay_correction",{type:f.prototype.parser}).uint8("tropo_v_hydro_bound_mu").uint8("tropo_v_hydro_bound_sig").uint8("tropo_v_wet_bound_mu").uint8("tropo_v_wet_bound_sig").uint8("n_sats").array("stec_sat_list",{type:L.prototype.parser,length:"n_sats"}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),T.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),T.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tropo_qi","writeUInt8",1]),T.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),T.prototype.fieldSpec.push(["tropo_v_hydro_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_hydro_bound_sig","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_wet_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_wet_bound_sig","writeUInt8",1]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["stec_sat_list","array",L.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION_DEP",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",v.prototype.msg_type=1526,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),v.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),v.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),v.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),v.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),v.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),v.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),v.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),v.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",U.prototype.msg_type=1527,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),U.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),U.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),U.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),U.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),U.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),U.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),U.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),U.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),U.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let M=function(e,t){return r.call(this,e),this.messageType="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("sat_info").uint16("svn").array("pco",{length:3,type:"int16le"}).array("pcv",{length:21,type:"int8"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);let x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").uint8("sat_id").uint8("orb_radial_bound_mu").uint8("orb_along_bound_mu").uint8("orb_cross_bound_mu").uint8("orb_radial_bound_sig").uint8("orb_along_bound_sig").uint8("orb_cross_bound_sig").uint8("clock_bound_mu").uint8("clock_bound_sig"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",F.prototype.msg_type=1502,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint8("n_sats").array("orbit_clock_bounds",{type:x.prototype.parser,length:"n_sats"}),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),F.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),F.prototype.fieldSpec.push(["const_id","writeUInt8",1]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let k=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint8("sat_id").uint8("signal_id").uint8("code_bias_bound_mu").uint8("code_bias_bound_sig").uint8("phase_bias_bound_mu").uint8("phase_bias_bound_sig"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),k.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),k.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),k.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint8("n_sats_signals").array("satellites_signals",{type:k.prototype.parser,length:"n_sats_signals"}),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),B.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),B.prototype.fieldSpec.push(["const_id","writeUInt8",1]),B.prototype.fieldSpec.push(["n_sats_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",k.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);let q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint8("orb_radial_bound_mu_dot").uint8("orb_along_bound_mu_dot").uint8("orb_cross_bound_mu_dot").uint8("orb_radial_bound_sig_dot").uint8("orb_along_bound_sig_dot").uint8("orb_cross_bound_sig_dot").uint8("clock_bound_mu_dot").uint8("clock_bound_sig_dot"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint64("sat_bitmask").nest("orbit_clock_bounds_degradation",{type:q.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),z.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),z.prototype.fieldSpec.push(["const_id","writeUInt8",1]),z.prototype.fieldSpec.push(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.prototype.fieldSpec]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:h,TroposphericDelayCorrection:f,STECResidualNoStd:d,STECResidual:_,1501:S,MsgSsrOrbitClock:S,1505:g,MsgSsrCodeBiases:g,1510:w,MsgSsrPhaseBiases:w,1531:E,MsgSsrStecCorrectionDep:E,BoundsHeader:m,1533:b,MsgSsrStecCorrection:b,1532:I,MsgSsrGriddedCorrection:I,STECSatElementIntegrity:L,1534:T,MsgSsrGriddedCorrectionBounds:T,1526:v,MsgSsrTileDefinitionDep:v,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:F,MsgSsrOrbitClockBounds:F,CodePhaseBiasesSatSig:k,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="SubSystemReport",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="SubSystemReport",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint16("component").uint8("generic").uint8("specific"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["component","writeUInt16LE",2]),a.prototype.fieldSpec.push(["generic","writeUInt8",1]),a.prototype.fieldSpec.push(["specific","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_STATUS_REPORT",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_STATUS_REPORT",l.prototype.msg_type=65534,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint16("reporting_system").uint16("sbp_version").uint32("sequence").uint32("uptime").array("status",{type:a.prototype.parser,readUntil:"eof"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["reporting_system","writeUInt16LE",2]),l.prototype.fieldSpec.push(["sbp_version","writeUInt16LE",2]),l.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),l.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),l.prototype.fieldSpec.push(["status","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);let c=function(e,t){return r.call(this,e),this.messageType="StatusJournalItem",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="StatusJournalItem",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("uptime").nest("report",{type:a.prototype.parser}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["report",a.prototype.fieldSpec]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_STATUS_JOURNAL",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_STATUS_JOURNAL",u.prototype.msg_type=65533,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("reporting_system").uint16("sbp_version").uint32("total_status_reports").uint8("sequence_descriptor").array("journal",{type:c.prototype.parser,readUntil:"eof"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["reporting_system","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sbp_version","writeUInt16LE",2]),u.prototype.fieldSpec.push(["total_status_reports","writeUInt32LE",4]),u.prototype.fieldSpec.push(["sequence_descriptor","writeUInt8",1]),u.prototype.fieldSpec.push(["journal","array",c.prototype.fieldSpec,function(){return this.fields.array.length},null]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_INS_STATUS",y.prototype.msg_type=65283,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_CSAC_TELEMETRY",h.prototype.msg_type=65284,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["id","writeUInt8",1]),h.prototype.fieldSpec.push(["telemetry","string",null]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",f.prototype.msg_type=65285,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["id","writeUInt8",1]),f.prototype.fieldSpec.push(["telemetry_labels","string",null]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_INS_UPDATES",d.prototype.msg_type=65286,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),d.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),d.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),d.prototype.fieldSpec.push(["speed","writeUInt8",1]),d.prototype.fieldSpec.push(["nhc","writeUInt8",1]),d.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_GNSS_TIME_OFFSET",_.prototype.msg_type=65287,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),_.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),_.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_PPS_TIME",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_PPS_TIME",S.prototype.msg_type=65288,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["time","writeUInt64LE",8]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_SENSOR_AID_EVENT",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_SENSOR_AID_EVENT",g.prototype.msg_type=65289,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("time").uint8("sensor_type").uint16("sensor_id").uint8("sensor_state").uint8("n_available_meas").uint8("n_attempted_meas").uint8("n_accepted_meas").uint32("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["time","writeUInt32LE",4]),g.prototype.fieldSpec.push(["sensor_type","writeUInt8",1]),g.prototype.fieldSpec.push(["sensor_id","writeUInt16LE",2]),g.prototype.fieldSpec.push(["sensor_state","writeUInt8",1]),g.prototype.fieldSpec.push(["n_available_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["n_attempted_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["n_accepted_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_META",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_META",w.prototype.msg_type=65290,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("group_id").uint8("flags").uint8("n_group_msgs").array("group_msgs",{type:"uint16le",length:"n_group_msgs"}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["group_id","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]),w.prototype.fieldSpec.push(["n_group_msgs","writeUInt8",1]),w.prototype.fieldSpec.push(["group_msgs","array","writeUInt16LE",function(){return 2},"n_group_msgs"]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,SubSystemReport:a,65534:l,MsgStatusReport:l,StatusJournalItem:c,65533:u,MsgStatusJournal:u,65283:y,MsgInsStatus:y,65284:h,MsgCsacTelemetry:h,65285:f,MsgCsacTelemetryLabels:f,65286:d,MsgInsUpdates:d,65287:_,MsgGnssTimeOffset:_,65288:S,MsgPpsTime:S,65289:g,MsgSensorAidEvent:g,65290:w,MsgGroupMeta:w}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase),s=p(0).GnssSignal,n=p(0).GnssSignalDep,a=p(0).GPSTime,l=p(0).GPSTimeDep,c=(p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(r.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:a.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:i.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"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",s.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.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",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",n.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]);let y=function(e,t){return r.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MeasurementState",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("mesid",{type:s.prototype.parser}).uint8("cn0"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["mesid",s.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.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]);let _=function(e,t){return r.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.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]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.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:s.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);let g=function(e,t){return r.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.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]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.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:s.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",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.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:n.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",n.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);let m=function(e,t){return r.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.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]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.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]);let I=function(e,t){return r.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="TrackingChannelStateDepB",I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:n.prototype.parser}).floatle("cn0"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["state","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),I.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.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:I.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",I.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:I,19:L,MsgTrackingStateDepB:L}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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}}]); \ No newline at end of file +function r(e,t){if(e===t)return 0;for(var p=e.length,r=t.length,o=0,i=Math.min(p,r);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],p,r))return!1;return!0}(e,t,p,s))}return p?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,p,r){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof p&&(r=p,p=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(p&&p.name?" ("+p.name+").":".")+(r?" "+r:"."),e&&!o&&_(o,p,"Missing expected exception"+r);var s="string"==typeof r,n=!e&&o&&!p;if((!e&&i.isError(o)&&s&&E(o,p)||n)&&_(o,p,"Got unwanted exception"+r),e&&o&&p&&!E(o,p)||!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 p=new Error;if(p.stack){var r=p.stack,o=h(t),i=r.indexOf("\n"+o);if(i>=0){var s=r.indexOf("\n",i+1);r=r.substring(s+1)}this.stack=r}}},i.inherits(u.AssertionError,Error),u.fail=_,u.ok=S,u.equal=function(e,t,p){e!=t&&_(e,t,p,"==",u.equal)},u.notEqual=function(e,t,p){e==t&&_(e,t,p,"!=",u.notEqual)},u.deepEqual=function(e,t,p){g(e,t,!1)||_(e,t,p,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,p){g(e,t,!0)||_(e,t,p,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,p){g(e,t,!1)&&_(e,t,p,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,p,r){g(t,p,!0)&&_(t,p,r,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,p){e!==t&&_(e,t,p,"===",u.strictEqual)},u.notStrictEqual=function(e,t,p){e===t&&_(e,t,p,"!==",u.notStrictEqual)},u.throws=function(e,t,p){m(!0,e,t,p)},u.doesNotThrow=function(e,t,p){m(!1,e,t,p)},u.ifError=function(e){if(e)throw e};var b=Object.keys||function(e){var t=[];for(var p in e)s.call(e,p)&&t.push(p);return t}}).call(this,p(5))},function(e,t,p){var r;!function(p){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 p=parseInt(e,t||10);return this._low=65535&p,this._high=p>>>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,p=t>>>16;return p+=this._high+e._high,this._low=65535&t,this._high=65535&p,this},o.prototype.subtract=function(e){return this.add(e.clone().negate())},o.prototype.multiply=function(e){var t,p,r=this._high,o=this._low,i=e._high,s=e._low;return t=(p=o*s)>>>16,t+=r*s,t&=65535,t+=o*i,this._low=65535&p,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(),p=-1;!this.lt(t);)t.shiftLeft(1,!0),p++;for(this.remainder=this.clone(),this._low=0,this._high=0;p>=0;p--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),p>=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===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,p){var r;!function(p){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,p,r){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,p,r)}function n(e,t,p,r){return void 0===p?(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|p,this._a48=0|r,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 p=o[t]||new s(Math.pow(t,5)),r=0,i=e.length;r=0&&(p.div(t),r[o]=p.remainder.toNumber().toString(e),p.gt(t));o--);return r[o-1]=p.toNumber().toString(e),r.join("")},s.prototype.add=function(e){var t=this._a00+e._a00,p=t>>>16,r=(p+=this._a16+e._a16)>>>16,o=(r+=this._a32+e._a32)>>>16;return o+=this._a48+e._a48,this._a00=65535&t,this._a16=65535&p,this._a32=65535&r,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,p=this._a16,r=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+=p*i)>>>16;var u=(c+=t*n)>>>16;return c&=65535,u+=(c+=p*s)>>>16,c&=65535,u+=(c+=r*i)>>>16,u+=t*e._a48,u&=65535,u+=p*n,u&=65535,u+=r*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(),p=-1;!this.lt(t);)t.shiftLeft(1,!0),p++;for(this.remainder=this.clone(),this._a00=0,this._a16=0,this._a32=0,this._a48=0;p>=0;p--)t.shiftRight(1),this.remainder.lt(t)||(this.remainder.subtract(t),p>=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 p=this._a48<<16|this._a32,r=this._a16<<16|this._a00,o=p<>>32-e,i=r<>>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 p=this._a48<<16|this._a32,r=this._a16<<16|this._a00,o=p>>>e|r<<32-e,i=r>>>e|p<<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===(r=function(){return s}.apply(t,[]))||(e.exports=r)}()},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=p(0).GnssSignalDep,n=(p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT",this.fields=t||this.parser.parse(e.payload),this});(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_RESULT_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="AcqSvProfile",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="AcqSvProfileDep",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_ACQ_SV_PROFILE_DEP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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=[];let s=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_JUMP_TO_APP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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=[];let l=function(e,t){return r.call(this,e),this.messageType="MSG_NAP_DEVICE_DNA_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_BOOTLOADER_HANDSHAKE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_EXT_EVENT",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_REQ",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_READ_DIR_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_REMOVE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_WRITE_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_CONFIG_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_FILEIO_CONFIG_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_PROGRAM",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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"]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_DONE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_FLASH_ERASE",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_STM_FLASH_LOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_STM_FLASH_UNLOCK_SECTOR",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_REQ",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_STM_UNIQUE_ID_RESP",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_M25_FLASH_WRITE_STATUS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_IMU_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_IMU_AUX",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal,p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec),s=p(0).SvId,n=function(e,t){return r.call(this,e),this.messageType="IntegritySSRHeader",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="IntegritySSRHeader",n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").uint8("chain_id"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),n.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),n.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),n.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),n.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),n.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),n.prototype.fieldSpec.push(["chain_id","writeUInt8",1]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_HIGH_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_HIGH_LEVEL",a.prototype.msg_type=3001,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).nest("corr_time",{type:i.prototype.parser}).uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").uint8("chain_id").uint8("use_gps_sat").uint8("use_gal_sat").uint8("use_bds_sat").array("reserved",{length:6,type:"uint8"}).uint8("use_tropo_grid_points").uint8("use_iono_grid_points").uint8("use_iono_tile_sat_los").uint8("use_iono_grid_point_sat_los"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),a.prototype.fieldSpec.push(["corr_time",i.prototype.fieldSpec]),a.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),a.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),a.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),a.prototype.fieldSpec.push(["chain_id","writeUInt8",1]),a.prototype.fieldSpec.push(["use_gps_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["use_gal_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["use_bds_sat","writeUInt8",1]),a.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},6]),a.prototype.fieldSpec.push(["use_tropo_grid_points","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_grid_points","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_tile_sat_los","writeUInt8",1]),a.prototype.fieldSpec.push(["use_iono_grid_point_sat_los","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_SATELLITES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_SATELLITES",l.prototype.msg_type=3005,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").nest("obs_time",{type:i.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("ssr_sol_id").uint8("chain_id").uint8("const_id").uint8("n_faulty_sats").array("faulty_sats",{type:"uint8",length:"n_faulty_sats"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["obs_time",i.prototype.fieldSpec]),l.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),l.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),l.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),l.prototype.fieldSpec.push(["chain_id","writeUInt8",1]),l.prototype.fieldSpec.push(["const_id","writeUInt8",1]),l.prototype.fieldSpec.push(["n_faulty_sats","writeUInt8",1]),l.prototype.fieldSpec.push(["faulty_sats","array","writeUInt8",function(){return 1},"n_faulty_sats"]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_TROPO_GRID_POINTS",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_TROPO_GRID_POINTS",c.prototype.msg_type=3011,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_points").array("faulty_points",{type:"uint16le",length:"n_faulty_points"}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),c.prototype.fieldSpec.push(["n_faulty_points","writeUInt8",1]),c.prototype.fieldSpec.push(["faulty_points","array","writeUInt16LE",function(){return 2},"n_faulty_points"]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_GRID_POINTS",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_GRID_POINTS",u.prototype.msg_type=3015,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_points").array("faulty_points",{type:"uint16le",length:"n_faulty_points"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_faulty_points","writeUInt8",1]),u.prototype.fieldSpec.push(["faulty_points","array","writeUInt16LE",function(){return 2},"n_faulty_points"]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_TILE_SAT_LOS",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_TILE_SAT_LOS",y.prototype.msg_type=3021,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint8("n_faulty_los").array("faulty_los",{type:s.prototype.parser,length:"n_faulty_los"}),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),y.prototype.fieldSpec.push(["n_faulty_los","writeUInt8",1]),y.prototype.fieldSpec.push(["faulty_los","array",s.prototype.fieldSpec,function(){return this.fields.array.length},"n_faulty_los"]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS",h.prototype.msg_type=3025,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").nest("header",{type:n.prototype.parser}).uint16("grid_point_id").uint8("n_faulty_los").array("faulty_los",{type:s.prototype.parser,length:"n_faulty_los"}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["header",n.prototype.fieldSpec]),h.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),h.prototype.fieldSpec.push(["n_faulty_los","writeUInt8",1]),h.prototype.fieldSpec.push(["faulty_los","array",s.prototype.fieldSpec,function(){return this.fields.array.length},"n_faulty_los"]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_ACKNOWLEDGE",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_ACKNOWLEDGE",f.prototype.msg_type=3026,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("request_id").uint32("area_id").uint8("response_code").uint16("correction_mask_on_demand").uint16("correction_mask_stream").uint8("solution_id"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["request_id","writeUInt8",1]),f.prototype.fieldSpec.push(["area_id","writeUInt32LE",4]),f.prototype.fieldSpec.push(["response_code","writeUInt8",1]),f.prototype.fieldSpec.push(["correction_mask_on_demand","writeUInt16LE",2]),f.prototype.fieldSpec.push(["correction_mask_stream","writeUInt16LE",2]),f.prototype.fieldSpec.push(["solution_id","writeUInt8",1]),e.exports={IntegritySSRHeader:n,3001:a,MsgSsrFlagHighLevel:a,3005:l,MsgSsrFlagSatellites:l,3011:c,MsgSsrFlagTropoGridPoints:c,3015:u,MsgSsrFlagIonoGridPoints:u,3021:y,MsgSsrFlagIonoTileSatLos:y,3025:h,MsgSsrFlagIonoGridPointSatLos:h,3026:f,MsgAcknowledge:f}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_CPU_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_CPU_STATE_DEP_A",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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_MEM_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_MEM_STATE_DEP_A",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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SYS_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SYS_STATE_DEP_A",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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_COUNTS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_SOCKET_QUEUES",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SOCKET_USAGE",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_COUNT",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_PROCESS_FD_SUMMARY",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_CPU_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_CPU_STATE",h.prototype.msg_type=32520,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pcpu").uint32("time").uint8("flags").string("tname",{length:15}).string("cmdline",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["index","writeUInt8",1]),h.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),h.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),h.prototype.fieldSpec.push(["time","writeUInt32LE",4]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]),h.prototype.fieldSpec.push(["tname","string",15]),h.prototype.fieldSpec.push(["cmdline","string",null]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_MEM_STATE",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_MEM_STATE",f.prototype.msg_type=32521,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("index").uint16("pid").uint8("pmem").uint32("time").uint8("flags").string("tname",{length:15}).string("cmdline",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["index","writeUInt8",1]),f.prototype.fieldSpec.push(["pid","writeUInt16LE",2]),f.prototype.fieldSpec.push(["pmem","writeUInt8",1]),f.prototype.fieldSpec.push(["time","writeUInt32LE",4]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["tname","string",15]),f.prototype.fieldSpec.push(["cmdline","string",null]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_LINUX_SYS_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_LINUX_SYS_STATE",d.prototype.msg_type=32522,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint16("mem_total").uint8("pcpu").uint8("pmem").uint16("procs_starting").uint16("procs_stopping").uint16("pid_count").uint32("time").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["mem_total","writeUInt16LE",2]),d.prototype.fieldSpec.push(["pcpu","writeUInt8",1]),d.prototype.fieldSpec.push(["pmem","writeUInt8",1]),d.prototype.fieldSpec.push(["procs_starting","writeUInt16LE",2]),d.prototype.fieldSpec.push(["procs_stopping","writeUInt16LE",2]),d.prototype.fieldSpec.push(["pid_count","writeUInt16LE",2]),d.prototype.fieldSpec.push(["time","writeUInt32LE",4]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={32512:i,MsgLinuxCpuStateDepA:i,32513:s,MsgLinuxMemStateDepA:s,32514:n,MsgLinuxSysStateDepA:n,32515:a,MsgLinuxProcessSocketCounts:a,32516:l,MsgLinuxProcessSocketQueues:l,32517:c,MsgLinuxSocketUsage:c,32518:u,MsgLinuxProcessFdCount:u,32519:y,MsgLinuxProcessFdSummary:y,32520:h,MsgLinuxCpuState:h,32521:f,MsgLinuxMemState:f,32522:d,MsgLinuxSysState:d}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_LOG",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_FWD",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_FWD",s.prototype.msg_type=1026,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("source").uint8("protocol").array("fwd_payload",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["source","writeUInt8",1]),s.prototype.fieldSpec.push(["protocol","writeUInt8",1]),s.prototype.fieldSpec.push(["fwd_payload","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_PRINT_DEP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_MAG_RAW",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME_GNSS",s.prototype.msg_type=260,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),s.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),s.prototype.fieldSpec.push(["flags","writeUInt8",1]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_TIME",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_UTC_TIME",n.prototype.msg_type=259,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["flags","writeUInt8",1]),n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["year","writeUInt16LE",2]),n.prototype.fieldSpec.push(["month","writeUInt8",1]),n.prototype.fieldSpec.push(["day","writeUInt8",1]),n.prototype.fieldSpec.push(["hours","writeUInt8",1]),n.prototype.fieldSpec.push(["minutes","writeUInt8",1]),n.prototype.fieldSpec.push(["seconds","writeUInt8",1]),n.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_TIME_GNSS",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="MSG_UTC_TIME_GNSS",a.prototype.msg_type=261,a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags").uint32("tow").uint16("year").uint8("month").uint8("day").uint8("hours").uint8("minutes").uint8("seconds").uint32("ns"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]),a.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),a.prototype.fieldSpec.push(["year","writeUInt16LE",2]),a.prototype.fieldSpec.push(["month","writeUInt8",1]),a.prototype.fieldSpec.push(["day","writeUInt8",1]),a.prototype.fieldSpec.push(["hours","writeUInt8",1]),a.prototype.fieldSpec.push(["minutes","writeUInt8",1]),a.prototype.fieldSpec.push(["seconds","writeUInt8",1]),a.prototype.fieldSpec.push(["ns","writeUInt32LE",4]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_DOPS",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_DOPS",l.prototype.msg_type=520,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),l.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),l.prototype.fieldSpec.push(["flags","writeUInt8",1]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF",c.prototype.msg_type=521,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),c.prototype.fieldSpec.push(["x","writeDoubleLE",8]),c.prototype.fieldSpec.push(["y","writeDoubleLE",8]),c.prototype.fieldSpec.push(["z","writeDoubleLE",8]),c.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),c.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),c.prototype.fieldSpec.push(["flags","writeUInt8",1]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_COV",u.prototype.msg_type=532,u.prototype.constructor=u,u.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"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),u.prototype.fieldSpec.push(["x","writeDoubleLE",8]),u.prototype.fieldSpec.push(["y","writeDoubleLE",8]),u.prototype.fieldSpec.push(["z","writeDoubleLE",8]),u.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),u.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),u.prototype.fieldSpec.push(["flags","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH",y.prototype.msg_type=522,y.prototype.constructor=y,y.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"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),y.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),y.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),y.prototype.fieldSpec.push(["height","writeDoubleLE",8]),y.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),y.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),y.prototype.fieldSpec.push(["flags","writeUInt8",1]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV",h.prototype.msg_type=529,h.prototype.constructor=h,h.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"),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),h.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),h.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),h.prototype.fieldSpec.push(["height","writeDoubleLE",8]),h.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),h.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),h.prototype.fieldSpec.push(["flags","writeUInt8",1]);let f=function(e,t){return r.call(this,e),this.messageType="EstimatedHorizontalErrorEllipse",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="EstimatedHorizontalErrorEllipse",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").floatle("semi_major").floatle("semi_minor").floatle("orientation"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["semi_major","writeFloatLE",4]),f.prototype.fieldSpec.push(["semi_minor","writeFloatLE",4]),f.prototype.fieldSpec.push(["orientation","writeFloatLE",4]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_ACC",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_ACC",d.prototype.msg_type=536,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").doublele("lat").doublele("lon").doublele("height").doublele("orthometric_height").floatle("h_accuracy").floatle("v_accuracy").floatle("ct_accuracy").floatle("at_accuracy").nest("h_ellipse",{type:f.prototype.parser}).uint8("confidence_and_geoid").uint8("n_sats").uint8("flags"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),d.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),d.prototype.fieldSpec.push(["height","writeDoubleLE",8]),d.prototype.fieldSpec.push(["orthometric_height","writeDoubleLE",8]),d.prototype.fieldSpec.push(["h_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["v_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["ct_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["at_accuracy","writeFloatLE",4]),d.prototype.fieldSpec.push(["h_ellipse",f.prototype.fieldSpec]),d.prototype.fieldSpec.push(["confidence_and_geoid","writeUInt8",1]),d.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),d.prototype.fieldSpec.push(["flags","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_ECEF",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_ECEF",_.prototype.msg_type=523,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),_.prototype.fieldSpec.push(["x","writeInt32LE",4]),_.prototype.fieldSpec.push(["y","writeInt32LE",4]),_.prototype.fieldSpec.push(["z","writeInt32LE",4]),_.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),_.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_NED",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_NED",S.prototype.msg_type=524,S.prototype.constructor=S,S.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"),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(["h_accuracy","writeUInt16LE",2]),S.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),S.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF",g.prototype.msg_type=525,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),g.prototype.fieldSpec.push(["x","writeInt32LE",4]),g.prototype.fieldSpec.push(["y","writeInt32LE",4]),g.prototype.fieldSpec.push(["z","writeInt32LE",4]),g.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),g.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt8",1]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_COV",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_COV",w.prototype.msg_type=533,w.prototype.constructor=w,w.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"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),w.prototype.fieldSpec.push(["x","writeInt32LE",4]),w.prototype.fieldSpec.push(["y","writeInt32LE",4]),w.prototype.fieldSpec.push(["z","writeInt32LE",4]),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]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED",E.prototype.msg_type=526,E.prototype.constructor=E,E.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"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),E.prototype.fieldSpec.push(["n","writeInt32LE",4]),E.prototype.fieldSpec.push(["e","writeInt32LE",4]),E.prototype.fieldSpec.push(["d","writeInt32LE",4]),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]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_COV",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_COV",m.prototype.msg_type=530,m.prototype.constructor=m,m.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"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),m.prototype.fieldSpec.push(["n","writeInt32LE",4]),m.prototype.fieldSpec.push(["e","writeInt32LE",4]),m.prototype.fieldSpec.push(["d","writeInt32LE",4]),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]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_GNSS",b.prototype.msg_type=553,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),b.prototype.fieldSpec.push(["x","writeDoubleLE",8]),b.prototype.fieldSpec.push(["y","writeDoubleLE",8]),b.prototype.fieldSpec.push(["z","writeDoubleLE",8]),b.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["flags","writeUInt8",1]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_COV_GNSS",I.prototype.msg_type=564,I.prototype.constructor=I,I.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"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),I.prototype.fieldSpec.push(["x","writeDoubleLE",8]),I.prototype.fieldSpec.push(["y","writeDoubleLE",8]),I.prototype.fieldSpec.push(["z","writeDoubleLE",8]),I.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),I.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),I.prototype.fieldSpec.push(["flags","writeUInt8",1]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_GNSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_GNSS",L.prototype.msg_type=554,L.prototype.constructor=L,L.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"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),L.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),L.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),L.prototype.fieldSpec.push(["height","writeDoubleLE",8]),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]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_COV_GNSS",T.prototype.msg_type=561,T.prototype.constructor=T,T.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"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),T.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),T.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),T.prototype.fieldSpec.push(["height","writeDoubleLE",8]),T.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["flags","writeUInt8",1]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_GNSS",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_GNSS",v.prototype.msg_type=557,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").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(["accuracy","writeUInt16LE",2]),v.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),v.prototype.fieldSpec.push(["flags","writeUInt8",1]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_COV_GNSS",U.prototype.msg_type=565,U.prototype.constructor=U,U.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"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),U.prototype.fieldSpec.push(["x","writeInt32LE",4]),U.prototype.fieldSpec.push(["y","writeInt32LE",4]),U.prototype.fieldSpec.push(["z","writeInt32LE",4]),U.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),U.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),U.prototype.fieldSpec.push(["flags","writeUInt8",1]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_GNSS",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_GNSS",M.prototype.msg_type=558,M.prototype.constructor=M,M.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"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),M.prototype.fieldSpec.push(["n","writeInt32LE",4]),M.prototype.fieldSpec.push(["e","writeInt32LE",4]),M.prototype.fieldSpec.push(["d","writeInt32LE",4]),M.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),M.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),M.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),M.prototype.fieldSpec.push(["flags","writeUInt8",1]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_COV_GNSS",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_COV_GNSS",D.prototype.msg_type=562,D.prototype.constructor=D,D.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"),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),D.prototype.fieldSpec.push(["n","writeInt32LE",4]),D.prototype.fieldSpec.push(["e","writeInt32LE",4]),D.prototype.fieldSpec.push(["d","writeInt32LE",4]),D.prototype.fieldSpec.push(["cov_n_n","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_n_e","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_n_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_e_e","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_e_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["cov_d_d","writeFloatLE",4]),D.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),D.prototype.fieldSpec.push(["flags","writeUInt8",1]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_BODY",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_VEL_BODY",O.prototype.msg_type=531,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),O.prototype.fieldSpec.push(["x","writeInt32LE",4]),O.prototype.fieldSpec.push(["y","writeInt32LE",4]),O.prototype.fieldSpec.push(["z","writeInt32LE",4]),O.prototype.fieldSpec.push(["cov_x_x","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_x_y","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_x_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_y_y","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_y_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["cov_z_z","writeFloatLE",4]),O.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),O.prototype.fieldSpec.push(["flags","writeUInt8",1]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_COG",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="MSG_VEL_COG",G.prototype.msg_type=540,G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").uint32("tow").uint32("cog").uint32("sog").int32("v_up").uint32("cog_accuracy").uint32("sog_accuracy").uint32("v_up_accuracy").uint16("flags"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),G.prototype.fieldSpec.push(["cog","writeUInt32LE",4]),G.prototype.fieldSpec.push(["sog","writeUInt32LE",4]),G.prototype.fieldSpec.push(["v_up","writeInt32LE",4]),G.prototype.fieldSpec.push(["cog_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["sog_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["v_up_accuracy","writeUInt32LE",4]),G.prototype.fieldSpec.push(["flags","writeUInt16LE",2]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_AGE_CORRECTIONS",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="MSG_AGE_CORRECTIONS",A.prototype.msg_type=528,A.prototype.constructor=A,A.prototype.parser=(new o).endianess("little").uint32("tow").uint16("age"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),A.prototype.fieldSpec.push(["age","writeUInt16LE",2]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_GPS_TIME_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_GPS_TIME_DEP_A",C.prototype.msg_type=256,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").uint16("wn").uint32("tow").int32("ns_residual").uint8("flags"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["wn","writeUInt16LE",2]),C.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),C.prototype.fieldSpec.push(["ns_residual","writeInt32LE",4]),C.prototype.fieldSpec.push(["flags","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_DOPS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_DOPS_DEP_A",R.prototype.msg_type=518,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").uint32("tow").uint16("gdop").uint16("pdop").uint16("tdop").uint16("hdop").uint16("vdop"),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),R.prototype.fieldSpec.push(["gdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["tdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),R.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_POS_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_POS_ECEF_DEP_A",P.prototype.msg_type=512,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").uint32("tow").doublele("x").doublele("y").doublele("z").uint16("accuracy").uint8("n_sats").uint8("flags"),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),P.prototype.fieldSpec.push(["x","writeDoubleLE",8]),P.prototype.fieldSpec.push(["y","writeDoubleLE",8]),P.prototype.fieldSpec.push(["z","writeDoubleLE",8]),P.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),P.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),P.prototype.fieldSpec.push(["flags","writeUInt8",1]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_POS_LLH_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_POS_LLH_DEP_A",N.prototype.msg_type=513,N.prototype.constructor=N,N.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"),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),N.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),N.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),N.prototype.fieldSpec.push(["height","writeDoubleLE",8]),N.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),N.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),N.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),N.prototype.fieldSpec.push(["flags","writeUInt8",1]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_ECEF_DEP_A",j.prototype.msg_type=514,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").uint32("tow").int32("x").int32("y").int32("z").uint16("accuracy").uint8("n_sats").uint8("flags"),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),j.prototype.fieldSpec.push(["x","writeInt32LE",4]),j.prototype.fieldSpec.push(["y","writeInt32LE",4]),j.prototype.fieldSpec.push(["z","writeInt32LE",4]),j.prototype.fieldSpec.push(["accuracy","writeUInt16LE",2]),j.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),j.prototype.fieldSpec.push(["flags","writeUInt8",1]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_NED_DEP_A",x.prototype.msg_type=515,x.prototype.constructor=x,x.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"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),x.prototype.fieldSpec.push(["n","writeInt32LE",4]),x.prototype.fieldSpec.push(["e","writeInt32LE",4]),x.prototype.fieldSpec.push(["d","writeInt32LE",4]),x.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),x.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),x.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),x.prototype.fieldSpec.push(["flags","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_ECEF_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_VEL_ECEF_DEP_A",F.prototype.msg_type=516,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]);let k=function(e,t){return r.call(this,e),this.messageType="MSG_VEL_NED_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="MSG_VEL_NED_DEP_A",k.prototype.msg_type=517,k.prototype.constructor=k,k.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"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),k.prototype.fieldSpec.push(["n","writeInt32LE",4]),k.prototype.fieldSpec.push(["e","writeInt32LE",4]),k.prototype.fieldSpec.push(["d","writeInt32LE",4]),k.prototype.fieldSpec.push(["h_accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["v_accuracy","writeUInt16LE",2]),k.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),k.prototype.fieldSpec.push(["flags","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_HEADING_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="MSG_BASELINE_HEADING_DEP_A",B.prototype.msg_type=519,B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").uint32("tow").uint32("heading").uint8("n_sats").uint8("flags"),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),B.prototype.fieldSpec.push(["heading","writeUInt32LE",4]),B.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),B.prototype.fieldSpec.push(["flags","writeUInt8",1]);let q=function(e,t){return r.call(this,e),this.messageType="MSG_PROTECTION_LEVEL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="MSG_PROTECTION_LEVEL_DEP_A",q.prototype.msg_type=534,q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint32("tow").uint16("vpl").uint16("hpl").doublele("lat").doublele("lon").doublele("height").uint8("flags"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),q.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),q.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),q.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),q.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),q.prototype.fieldSpec.push(["height","writeDoubleLE",8]),q.prototype.fieldSpec.push(["flags","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="MSG_PROTECTION_LEVEL",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="MSG_PROTECTION_LEVEL",z.prototype.msg_type=535,z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").uint32("tow").int16("wn").uint16("hpl").uint16("vpl").uint16("atpl").uint16("ctpl").uint16("hvpl").uint16("vvpl").uint16("hopl").uint16("popl").uint16("ropl").doublele("lat").doublele("lon").doublele("height").int32("v_x").int32("v_y").int32("v_z").int32("roll").int32("pitch").int32("heading").uint32("flags"),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),z.prototype.fieldSpec.push(["wn","writeInt16LE",2]),z.prototype.fieldSpec.push(["hpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["vpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["atpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["ctpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["hvpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["vvpl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["hopl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["popl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["ropl","writeUInt16LE",2]),z.prototype.fieldSpec.push(["lat","writeDoubleLE",8]),z.prototype.fieldSpec.push(["lon","writeDoubleLE",8]),z.prototype.fieldSpec.push(["height","writeDoubleLE",8]),z.prototype.fieldSpec.push(["v_x","writeInt32LE",4]),z.prototype.fieldSpec.push(["v_y","writeInt32LE",4]),z.prototype.fieldSpec.push(["v_z","writeInt32LE",4]),z.prototype.fieldSpec.push(["roll","writeInt32LE",4]),z.prototype.fieldSpec.push(["pitch","writeInt32LE",4]),z.prototype.fieldSpec.push(["heading","writeInt32LE",4]),z.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let H=function(e,t){return r.call(this,e),this.messageType="MSG_UTC_LEAP_SECOND",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="MSG_UTC_LEAP_SECOND",H.prototype.msg_type=570,H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").int16("reserved_0").int16("reserved_1").int8("reserved_2").int8("count_before").uint16("reserved_3").uint16("reserved_4").uint16("ref_wn").uint8("ref_dn").int8("count_after"),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["reserved_0","writeInt16LE",2]),H.prototype.fieldSpec.push(["reserved_1","writeInt16LE",2]),H.prototype.fieldSpec.push(["reserved_2","writeInt8",1]),H.prototype.fieldSpec.push(["count_before","writeInt8",1]),H.prototype.fieldSpec.push(["reserved_3","writeUInt16LE",2]),H.prototype.fieldSpec.push(["reserved_4","writeUInt16LE",2]),H.prototype.fieldSpec.push(["ref_wn","writeUInt16LE",2]),H.prototype.fieldSpec.push(["ref_dn","writeUInt8",1]),H.prototype.fieldSpec.push(["count_after","writeInt8",1]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_REFERENCE_FRAME_PARAM",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.prototype)).messageType="MSG_REFERENCE_FRAME_PARAM",V.prototype.msg_type=580,V.prototype.constructor=V,V.prototype.parser=(new o).endianess("little").uint8("ssr_iod").string("sn",{length:32}).string("tn",{length:32}).uint8("sin").uint16("utn").uint16("re_t0").int32("delta_X0").int32("delta_Y0").int32("delta_Z0").int32("theta_01").int32("theta_02").int32("theta_03").int32("scale").int32("dot_delta_X0").int32("dot_delta_Y0").int32("dot_delta_Z0").int32("dot_theta_01").int32("dot_theta_02").int32("dot_theta_03").int16("dot_scale"),V.prototype.fieldSpec=[],V.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),V.prototype.fieldSpec.push(["sn","string",32]),V.prototype.fieldSpec.push(["tn","string",32]),V.prototype.fieldSpec.push(["sin","writeUInt8",1]),V.prototype.fieldSpec.push(["utn","writeUInt16LE",2]),V.prototype.fieldSpec.push(["re_t0","writeUInt16LE",2]),V.prototype.fieldSpec.push(["delta_X0","writeInt32LE",4]),V.prototype.fieldSpec.push(["delta_Y0","writeInt32LE",4]),V.prototype.fieldSpec.push(["delta_Z0","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_01","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_02","writeInt32LE",4]),V.prototype.fieldSpec.push(["theta_03","writeInt32LE",4]),V.prototype.fieldSpec.push(["scale","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_X0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_Y0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_delta_Z0","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_01","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_02","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_theta_03","writeInt32LE",4]),V.prototype.fieldSpec.push(["dot_scale","writeInt16LE",2]);let Y=function(e,t){return r.call(this,e),this.messageType="MSG_POSE_RELATIVE",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(r.prototype)).messageType="MSG_POSE_RELATIVE",Y.prototype.msg_type=581,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").uint32("tow").uint8("sensor_id").uint32("timestamp_1").uint32("timestamp_2").array("trans",{length:3,type:"int32le"}).int32("w").int32("x").int32("y").int32("z").floatle("cov_r_x_x").floatle("cov_r_x_y").floatle("cov_r_x_z").floatle("cov_r_y_y").floatle("cov_r_y_z").floatle("cov_r_z_z").floatle("cov_c_x_x").floatle("cov_c_x_y").floatle("cov_c_x_z").floatle("cov_c_y_y").floatle("cov_c_y_z").floatle("cov_c_z_z").uint8("flags"),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["sensor_id","writeUInt8",1]),Y.prototype.fieldSpec.push(["timestamp_1","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["timestamp_2","writeUInt32LE",4]),Y.prototype.fieldSpec.push(["trans","array","writeInt32LE",function(){return 4},3]),Y.prototype.fieldSpec.push(["w","writeInt32LE",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(["cov_r_x_x","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_x_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_x_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_y_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_y_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_r_z_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_x","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_x_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_y_y","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_y_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["cov_c_z_z","writeFloatLE",4]),Y.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={258:i,MsgGpsTime:i,260:s,MsgGpsTimeGnss:s,259:n,MsgUtcTime:n,261:a,MsgUtcTimeGnss:a,520:l,MsgDops:l,521:c,MsgPosEcef:c,532:u,MsgPosEcefCov:u,522:y,MsgPosLlh:y,529:h,MsgPosLlhCov:h,EstimatedHorizontalErrorEllipse:f,536:d,MsgPosLlhAcc:d,523:_,MsgBaselineEcef:_,524:S,MsgBaselineNed:S,525:g,MsgVelEcef:g,533:w,MsgVelEcefCov:w,526:E,MsgVelNed:E,530:m,MsgVelNedCov:m,553:b,MsgPosEcefGnss:b,564:I,MsgPosEcefCovGnss:I,554:L,MsgPosLlhGnss:L,561:T,MsgPosLlhCovGnss:T,557:v,MsgVelEcefGnss:v,565:U,MsgVelEcefCovGnss:U,558:M,MsgVelNedGnss:M,562:D,MsgVelNedCovGnss:D,531:O,MsgVelBody:O,540:G,MsgVelCog:G,528:A,MsgAgeCorrections:A,256:C,MsgGpsTimeDepA:C,518:R,MsgDopsDepA:R,512:P,MsgPosEcefDepA:P,513:N,MsgPosLlhDepA:N,514:j,MsgBaselineEcefDepA:j,515:x,MsgBaselineNedDepA:x,516:F,MsgVelEcefDepA:F,517:k,MsgVelNedDepA:k,519:B,MsgBaselineHeadingDepA:B,534:q,MsgProtectionLevelDepA:q,535:z,MsgProtectionLevel:z,570:H,MsgUtcLeapSecond:H,580:V,MsgReferenceFrameParam:V,581:Y,MsgPoseRelative:Y}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_NDB_EVENT",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase),s=p(0).GnssSignal,n=p(0).GnssSignalDep,a=p(0).GPSTime,l=p(0).GPSTimeDep,c=p(0).GPSTimeSec,u=(p(0).SvId,function(e,t){return r.call(this,e),this.messageType="ObservationHeader",this.fields=t||this.parser.parse(e.payload),this});(u.prototype=Object.create(r.prototype)).messageType="ObservationHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").nest("t",{type:a.prototype.parser}).uint8("n_obs"),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["t",a.prototype.fieldSpec]),u.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);let y=function(e,t){return r.call(this,e),this.messageType="Doppler",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="PackedObsContent",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="PackedObsContent",h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).nest("D",{type:y.prototype.parser}).uint8("cn0").uint8("lock").uint8("flags").nest("sid",{type:s.prototype.parser}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["P","writeUInt32LE",4]),h.prototype.fieldSpec.push(["L",i.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",s.prototype.fieldSpec]);let f=function(e,t){return r.call(this,e),this.messageType="PackedOsrContent",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="PackedOsrContent",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).uint8("lock").uint8("flags").nest("sid",{type:s.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",i.prototype.fieldSpec]),f.prototype.fieldSpec.push(["lock","writeUInt8",1]),f.prototype.fieldSpec.push(["flags","writeUInt8",1]),f.prototype.fieldSpec.push(["sid",s.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]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_OBS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.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]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_BASE_POS_LLH",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.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]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_BASE_POS_ECEF",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.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]);let g=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContent",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContent",g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toe",{type:c.prototype.parser}).floatle("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),g.prototype.fieldSpec.push(["toe",c.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]);let w=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContentDepB",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContentDepB",w.prototype.constructor=w,w.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"),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["toe",c.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]);let E=function(e,t){return r.call(this,e),this.messageType="EphemerisCommonContentDepA",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="EphemerisCommonContentDepA",E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("sid",{type:n.prototype.parser}).nest("toe",{type:l.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),E.prototype.fieldSpec.push(["toe",l.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]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_E",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.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:l.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",l.prototype.fieldSpec]),m.prototype.fieldSpec.push(["iode","writeUInt8",1]),m.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS_DEP_F",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.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:c.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",c.prototype.fieldSpec]),b.prototype.fieldSpec.push(["iode","writeUInt8",1]),b.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GPS",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GPS",I.prototype.msg_type=138,I.prototype.constructor=I,I.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:c.prototype.parser}).uint8("iode").uint16("iodc"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),I.prototype.fieldSpec.push(["tgd","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","writeFloatLE",4]),I.prototype.fieldSpec.push(["af1","writeFloatLE",4]),I.prototype.fieldSpec.push(["af2","writeFloatLE",4]),I.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),I.prototype.fieldSpec.push(["iode","writeUInt8",1]),I.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_QZSS",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.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:c.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",c.prototype.fieldSpec]),L.prototype.fieldSpec.push(["iode","writeUInt8",1]),L.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_BDS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_BDS",T.prototype.msg_type=137,T.prototype.constructor=T,T.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:c.prototype.parser}).uint8("iode").uint16("iodc"),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),T.prototype.fieldSpec.push(["tgd1","writeFloatLE",4]),T.prototype.fieldSpec.push(["tgd2","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","writeFloatLE",4]),T.prototype.fieldSpec.push(["af2","writeFloatLE",4]),T.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),T.prototype.fieldSpec.push(["iode","writeUInt8",1]),T.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL_DEP_A",v.prototype.msg_type=149,v.prototype.constructor=v,v.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:c.prototype.parser}).uint16("iode").uint16("iodc"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),v.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),v.prototype.fieldSpec.push(["bgd_e1e5b","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","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),v.prototype.fieldSpec.push(["af2","writeFloatLE",4]),v.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),v.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),v.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GAL",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GAL",U.prototype.msg_type=141,U.prototype.constructor=U,U.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:c.prototype.parser}).uint16("iode").uint16("iodc").uint8("source"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["common",g.prototype.fieldSpec]),U.prototype.fieldSpec.push(["bgd_e1e5a","writeFloatLE",4]),U.prototype.fieldSpec.push(["bgd_e1e5b","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_rs","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_rc","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_uc","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_us","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_ic","writeFloatLE",4]),U.prototype.fieldSpec.push(["c_is","writeFloatLE",4]),U.prototype.fieldSpec.push(["dn","writeDoubleLE",8]),U.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),U.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),U.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),U.prototype.fieldSpec.push(["w","writeDoubleLE",8]),U.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),U.prototype.fieldSpec.push(["inc_dot","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af1","writeDoubleLE",8]),U.prototype.fieldSpec.push(["af2","writeFloatLE",4]),U.prototype.fieldSpec.push(["toc",c.prototype.fieldSpec]),U.prototype.fieldSpec.push(["iode","writeUInt16LE",2]),U.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),U.prototype.fieldSpec.push(["source","writeUInt8",1]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_SBAS_DEP_A",M.prototype.msg_type=130,M.prototype.constructor=M,M.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"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["common",E.prototype.fieldSpec]),M.prototype.fieldSpec.push(["pos","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["vel","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["acc","array","writeDoubleLE",function(){return 8},3]),M.prototype.fieldSpec.push(["a_gf0","writeDoubleLE",8]),M.prototype.fieldSpec.push(["a_gf1","writeDoubleLE",8]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.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]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.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]);let G=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_SBAS",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.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]);let A=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.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]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_C",C.prototype.msg_type=135,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"),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]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_EPHEMERIS_GLO_DEP_D",R.prototype.msg_type=136,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").uint8("iod"),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]),R.prototype.fieldSpec.push(["iod","writeUInt8",1]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_GLO",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.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]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_D",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.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:n.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",n.prototype.fieldSpec]),N.prototype.fieldSpec.push(["iode","writeUInt8",1]),N.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),N.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.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]);let x=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.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]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_EPHEMERIS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.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:n.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",n.prototype.fieldSpec]),F.prototype.fieldSpec.push(["iode","writeUInt8",1]),F.prototype.fieldSpec.push(["iodc","writeUInt16LE",2]),F.prototype.fieldSpec.push(["reserved","writeUInt32LE",4]);let k=function(e,t){return r.call(this,e),this.messageType="ObservationHeaderDep",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="ObservationHeaderDep",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").nest("t",{type:l.prototype.parser}).uint8("n_obs"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["t",l.prototype.fieldSpec]),k.prototype.fieldSpec.push(["n_obs","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="CarrierPhaseDepA",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.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]);let q=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepA",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.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]);let z=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepB",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.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:n.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",n.prototype.fieldSpec]);let H=function(e,t){return r.call(this,e),this.messageType="PackedObsContentDepC",this.fields=t||this.parser.parse(e.payload),this};(H.prototype=Object.create(r.prototype)).messageType="PackedObsContentDepC",H.prototype.constructor=H,H.prototype.parser=(new o).endianess("little").uint32("P").nest("L",{type:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.prototype.parser}),H.prototype.fieldSpec=[],H.prototype.fieldSpec.push(["P","writeUInt32LE",4]),H.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),H.prototype.fieldSpec.push(["cn0","writeUInt8",1]),H.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),H.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]);let V=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(V.prototype=Object.create(r.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]);let Y=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(Y.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_B",Y.prototype.msg_type=67,Y.prototype.constructor=Y,Y.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:z.prototype.parser,readUntil:"eof"}),Y.prototype.fieldSpec=[],Y.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),Y.prototype.fieldSpec.push(["obs","array",z.prototype.fieldSpec,function(){return this.fields.array.length},null]);let W=function(e,t){return r.call(this,e),this.messageType="MSG_OBS_DEP_C",this.fields=t||this.parser.parse(e.payload),this};(W.prototype=Object.create(r.prototype)).messageType="MSG_OBS_DEP_C",W.prototype.msg_type=73,W.prototype.constructor=W,W.prototype.parser=(new o).endianess("little").nest("header",{type:k.prototype.parser}).array("obs",{type:H.prototype.parser,readUntil:"eof"}),W.prototype.fieldSpec=[],W.prototype.fieldSpec.push(["header",k.prototype.fieldSpec]),W.prototype.fieldSpec.push(["obs","array",H.prototype.fieldSpec,function(){return this.fields.array.length},null]);let Q=function(e,t){return r.call(this,e),this.messageType="MSG_IONO",this.fields=t||this.parser.parse(e.payload),this};(Q.prototype=Object.create(r.prototype)).messageType="MSG_IONO",Q.prototype.msg_type=144,Q.prototype.constructor=Q,Q.prototype.parser=(new o).endianess("little").nest("t_nmct",{type:c.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",c.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]);let K=function(e,t){return r.call(this,e),this.messageType="MSG_SV_CONFIGURATION_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(K.prototype=Object.create(r.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:c.prototype.parser}).uint32("l2c_mask"),K.prototype.fieldSpec=[],K.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),K.prototype.fieldSpec.push(["l2c_mask","writeUInt32LE",4]);let X=function(e,t){return r.call(this,e),this.messageType="GnssCapb",this.fields=t||this.parser.parse(e.payload),this};(X.prototype=Object.create(r.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]);let J=function(e,t){return r.call(this,e),this.messageType="MSG_GNSS_CAPB",this.fields=t||this.parser.parse(e.payload),this};(J.prototype=Object.create(r.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:c.prototype.parser}).nest("gc",{type:X.prototype.parser}),J.prototype.fieldSpec=[],J.prototype.fieldSpec.push(["t_nmct",c.prototype.fieldSpec]),J.prototype.fieldSpec.push(["gc",X.prototype.fieldSpec]);let Z=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(Z.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY_DEP_A",Z.prototype.msg_type=146,Z.prototype.constructor=Z,Z.prototype.parser=(new o).endianess("little").nest("t_op",{type:l.prototype.parser}).uint8("prn").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(["prn","writeUInt8",1]),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]);let $=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY_DEP_B",this.fields=t||this.parser.parse(e.payload),this};($.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_DELAY_DEP_B",$.prototype.msg_type=147,$.prototype.constructor=$,$.prototype.parser=(new o).endianess("little").nest("t_op",{type:c.prototype.parser}).nest("sid",{type:n.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),$.prototype.fieldSpec=[],$.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),$.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),$.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]);let ee=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_DELAY",this.fields=t||this.parser.parse(e.payload),this};(ee.prototype=Object.create(r.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:c.prototype.parser}).nest("sid",{type:s.prototype.parser}).uint8("valid").int16("tgd").int16("isc_l1ca").int16("isc_l2c"),ee.prototype.fieldSpec=[],ee.prototype.fieldSpec.push(["t_op",c.prototype.fieldSpec]),ee.prototype.fieldSpec.push(["sid",s.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]);let te=function(e,t){return r.call(this,e),this.messageType="AlmanacCommonContent",this.fields=t||this.parser.parse(e.payload),this};(te.prototype=Object.create(r.prototype)).messageType="AlmanacCommonContent",te.prototype.constructor=te,te.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).nest("toa",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),te.prototype.fieldSpec=[],te.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),te.prototype.fieldSpec.push(["toa",c.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]);let pe=function(e,t){return r.call(this,e),this.messageType="AlmanacCommonContentDep",this.fields=t||this.parser.parse(e.payload),this};(pe.prototype=Object.create(r.prototype)).messageType="AlmanacCommonContentDep",pe.prototype.constructor=pe,pe.prototype.parser=(new o).endianess("little").nest("sid",{type:n.prototype.parser}).nest("toa",{type:c.prototype.parser}).doublele("ura").uint32("fit_interval").uint8("valid").uint8("health_bits"),pe.prototype.fieldSpec=[],pe.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["toa",c.prototype.fieldSpec]),pe.prototype.fieldSpec.push(["ura","writeDoubleLE",8]),pe.prototype.fieldSpec.push(["fit_interval","writeUInt32LE",4]),pe.prototype.fieldSpec.push(["valid","writeUInt8",1]),pe.prototype.fieldSpec.push(["health_bits","writeUInt8",1]);let re=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GPS_DEP",this.fields=t||this.parser.parse(e.payload),this};(re.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC_GPS_DEP",re.prototype.msg_type=112,re.prototype.constructor=re,re.prototype.parser=(new o).endianess("little").nest("common",{type:pe.prototype.parser}).doublele("m0").doublele("ecc").doublele("sqrta").doublele("omega0").doublele("omegadot").doublele("w").doublele("inc").doublele("af0").doublele("af1"),re.prototype.fieldSpec=[],re.prototype.fieldSpec.push(["common",pe.prototype.fieldSpec]),re.prototype.fieldSpec.push(["m0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["ecc","writeDoubleLE",8]),re.prototype.fieldSpec.push(["sqrta","writeDoubleLE",8]),re.prototype.fieldSpec.push(["omega0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["omegadot","writeDoubleLE",8]),re.prototype.fieldSpec.push(["w","writeDoubleLE",8]),re.prototype.fieldSpec.push(["inc","writeDoubleLE",8]),re.prototype.fieldSpec.push(["af0","writeDoubleLE",8]),re.prototype.fieldSpec.push(["af1","writeDoubleLE",8]);let oe=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GPS",this.fields=t||this.parser.parse(e.payload),this};(oe.prototype=Object.create(r.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]);let ie=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GLO_DEP",this.fields=t||this.parser.parse(e.payload),this};(ie.prototype=Object.create(r.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:pe.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",pe.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]);let se=function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC_GLO",this.fields=t||this.parser.parse(e.payload),this};(se.prototype=Object.create(r.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]);let ne=function(e,t){return r.call(this,e),this.messageType="MSG_GLO_BIASES",this.fields=t||this.parser.parse(e.payload),this};(ne.prototype=Object.create(r.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]);let ae=function(e,t){return r.call(this,e),this.messageType="SvAzEl",this.fields=t||this.parser.parse(e.payload),this};(ae.prototype=Object.create(r.prototype)).messageType="SvAzEl",ae.prototype.constructor=ae,ae.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).uint8("az").int8("el"),ae.prototype.fieldSpec=[],ae.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),ae.prototype.fieldSpec.push(["az","writeUInt8",1]),ae.prototype.fieldSpec.push(["el","writeInt8",1]);let le=function(e,t){return r.call(this,e),this.messageType="MSG_SV_AZ_EL",this.fields=t||this.parser.parse(e.payload),this};(le.prototype=Object.create(r.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]);let ce=function(e,t){return r.call(this,e),this.messageType="MSG_OSR",this.fields=t||this.parser.parse(e.payload),this};(ce.prototype=Object.create(r.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:I,MsgEphemerisGps:I,142:L,MsgEphemerisQzss:L,137:T,MsgEphemerisBds:T,149:v,MsgEphemerisGalDepA:v,141:U,MsgEphemerisGal:U,130:M,MsgEphemerisSbasDepA:M,131:D,MsgEphemerisGloDepA:D,132:O,MsgEphemerisSbasDepB:O,140:G,MsgEphemerisSbas:G,133:A,MsgEphemerisGloDepB:A,135:C,MsgEphemerisGloDepC:C,136:R,MsgEphemerisGloDepD:R,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:Y,MsgObsDepB:Y,73:W,MsgObsDepC:W,144:Q,MsgIono:Q,145:K,MsgSvConfigurationGpsDep:K,GnssCapb:X,150:J,MsgGnssCapb:J,146:Z,MsgGroupDelayDepA:Z,147:$,MsgGroupDelayDepB:$,148:ee,MsgGroupDelay:ee,AlmanacCommonContent:te,AlmanacCommonContentDep:pe,112:re,MsgAlmanacGpsDep:re,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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_BASELINE_HEADING",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_ORIENT_QUAT",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_ORIENT_EULER",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_ANGULAR_RATE",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=p(0).GnssSignalDep,n=p(0).GPSTime,a=p(0).GPSTimeDep,l=(p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ALMANAC",this.fields=t||this.parser.parse(e.payload),this});(l.prototype=Object.create(r.prototype)).messageType="MSG_ALMANAC",l.prototype.msg_type=105,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little"),l.prototype.fieldSpec=[];let c=function(e,t){return r.call(this,e),this.messageType="MSG_SET_TIME",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="MSG_SET_TIME",c.prototype.msg_type=104,c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little"),c.prototype.fieldSpec=[];let u=function(e,t){return r.call(this,e),this.messageType="MSG_RESET",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_RESET_DEP",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_RESET_DEP",y.prototype.msg_type=178,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little"),y.prototype.fieldSpec=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_CW_RESULTS",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_CW_RESULTS",h.prototype.msg_type=192,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little"),h.prototype.fieldSpec=[];let f=function(e,t){return r.call(this,e),this.messageType="MSG_CW_START",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_CW_START",f.prototype.msg_type=193,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little"),f.prototype.fieldSpec=[];let d=function(e,t){return r.call(this,e),this.messageType="MSG_RESET_FILTERS",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.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]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_INIT_BASE_DEP",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_INIT_BASE_DEP",_.prototype.msg_type=35,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little"),_.prototype.fieldSpec=[];let S=function(e,t){return r.call(this,e),this.messageType="MSG_THREAD_STATE",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.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]);let g=function(e,t){return r.call(this,e),this.messageType="UARTChannel",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.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]);let w=function(e,t){return r.call(this,e),this.messageType="Period",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.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]);let E=function(e,t){return r.call(this,e),this.messageType="Latency",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.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]);let m=function(e,t){return r.call(this,e),this.messageType="MSG_UART_STATE",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.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]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_UART_STATE_DEPA",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.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]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_IAR_STATE",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_IAR_STATE",I.prototype.msg_type=25,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint32("num_hyps"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["num_hyps","writeUInt32LE",4]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.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]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_MASK_SATELLITE_DEP",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_MASK_SATELLITE_DEP",T.prototype.msg_type=27,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").uint8("mask").nest("sid",{type:s.prototype.parser}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["mask","writeUInt8",1]),T.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_DEVICE_MONITOR",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_DEVICE_MONITOR",v.prototype.msg_type=181,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").int16("dev_vin").int16("cpu_vint").int16("cpu_vaux").int16("cpu_temperature").int16("fe_temperature"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["dev_vin","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_vint","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_vaux","writeInt16LE",2]),v.prototype.fieldSpec.push(["cpu_temperature","writeInt16LE",2]),v.prototype.fieldSpec.push(["fe_temperature","writeInt16LE",2]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_REQ",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_REQ",U.prototype.msg_type=184,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint32("sequence").string("command",{greedy:!0}),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),U.prototype.fieldSpec.push(["command","string",null]);let M=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_RESP",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="MSG_COMMAND_RESP",M.prototype.msg_type=185,M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").uint32("sequence").int32("code"),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),M.prototype.fieldSpec.push(["code","writeInt32LE",4]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_COMMAND_OUTPUT",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.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]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_STATE_REQ",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.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=[];let G=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_STATE_RESP",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.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]);let A=function(e,t){return r.call(this,e),this.messageType="NetworkUsage",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.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]);let C=function(e,t){return r.call(this,e),this.messageType="MSG_NETWORK_BANDWIDTH_USAGE",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="MSG_NETWORK_BANDWIDTH_USAGE",C.prototype.msg_type=189,C.prototype.constructor=C,C.prototype.parser=(new o).endianess("little").array("interfaces",{type:A.prototype.parser,readUntil:"eof"}),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["interfaces","array",A.prototype.fieldSpec,function(){return this.fields.array.length},null]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_CELL_MODEM_STATUS",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_CELL_MODEM_STATUS",R.prototype.msg_type=190,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").int8("signal_strength").floatle("signal_error_rate").array("reserved",{type:"uint8",readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["signal_strength","writeInt8",1]),R.prototype.fieldSpec.push(["signal_error_rate","writeFloatLE",4]),R.prototype.fieldSpec.push(["reserved","array","writeUInt8",function(){return 1},null]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_SPECAN_DEP",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.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]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_SPECAN",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.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]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_FRONT_END_GAIN",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.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:I,MsgIarState:I,43:L,MsgMaskSatellite:L,27:T,MsgMaskSatelliteDep:T,181:v,MsgDeviceMonitor:v,184:U,MsgCommandReq:U,185:M,MsgCommandResp:M,188:D,MsgCommandOutput:D,186:O,MsgNetworkStateReq:O,187:G,MsgNetworkStateResp:G,NetworkUsage:A,189:C,MsgNetworkBandwidthUsage:C,190:R,MsgCellModemStatus:R,80:P,MsgSpecanDep:P,81:N,MsgSpecan:N,191:j,MsgFrontEndGain:j}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_SBAS_RAW",this.fields=t||this.parser.parse(e.payload),this});(s.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_SAVE",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_SETTINGS_SAVE",i.prototype.msg_type=161,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little"),i.prototype.fieldSpec=[];let s=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_WRITE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_WRITE_RESP",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_REQ",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_RESP",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_REQ",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_RESP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_READ_BY_INDEX_DONE",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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=[];let h=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_REGISTER",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_SETTINGS_REGISTER_RESP",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal,p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_SIGNATURE_DEP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_SIGNATURE_DEP",i.prototype.msg_type=3073,i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").array("signature",{length:64,type:"uint8"}).array("fingerprint",{length:20,type:"uint8"}).array("signed_messages",{type:"uint32le",readUntil:"eof"}),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),i.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),i.prototype.fieldSpec.push(["signed_messages","array","writeUInt32LE",function(){return 4},null]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_CERTIFICATE",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_CERTIFICATE",s.prototype.msg_type=3074,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint8("n_msg").array("fingerprint",{length:20,type:"uint8"}).array("certificate_bytes",{type:"uint8",readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["n_msg","writeUInt8",1]),s.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),s.prototype.fieldSpec.push(["certificate_bytes","array","writeUInt8",function(){return 1},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_ED25519_SIGNATURE",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_ED25519_SIGNATURE",n.prototype.msg_type=3075,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint8("stream_counter").uint8("on_demand_counter").array("signature",{length:64,type:"uint8"}).array("fingerprint",{length:20,type:"uint8"}).array("signed_messages",{type:"uint32le",readUntil:"eof"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["stream_counter","writeUInt8",1]),n.prototype.fieldSpec.push(["on_demand_counter","writeUInt8",1]),n.prototype.fieldSpec.push(["signature","array","writeUInt8",function(){return 1},64]),n.prototype.fieldSpec.push(["fingerprint","array","writeUInt8",function(){return 1},20]),n.prototype.fieldSpec.push(["signed_messages","array","writeUInt32LE",function(){return 4},null]),e.exports={3073:i,MsgEd25519SignatureDep:i,3074:s,MsgEd25519Certificate:s,3075:n,MsgEd25519Signature:n}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="SolutionInputType",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.prototype)).messageType="SolutionInputType",i.prototype.constructor=i,i.prototype.parser=(new o).endianess("little").uint8("sensor_type").uint8("flags"),i.prototype.fieldSpec=[],i.prototype.fieldSpec.push(["sensor_type","writeUInt8",1]),i.prototype.fieldSpec.push(["flags","writeUInt8",1]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_SOLN_META_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.prototype)).messageType="MSG_SOLN_META_DEP_A",s.prototype.msg_type=65295,s.prototype.constructor=s,s.prototype.parser=(new o).endianess("little").uint16("pdop").uint16("hdop").uint16("vdop").uint8("n_sats").uint16("age_corrections").uint8("alignment_status").uint32("last_used_gnss_pos_tow").uint32("last_used_gnss_vel_tow").array("sol_in",{type:i.prototype.parser,readUntil:"eof"}),s.prototype.fieldSpec=[],s.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),s.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),s.prototype.fieldSpec.push(["age_corrections","writeUInt16LE",2]),s.prototype.fieldSpec.push(["alignment_status","writeUInt8",1]),s.prototype.fieldSpec.push(["last_used_gnss_pos_tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["last_used_gnss_vel_tow","writeUInt32LE",4]),s.prototype.fieldSpec.push(["sol_in","array",i.prototype.fieldSpec,function(){return this.fields.array.length},null]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_SOLN_META",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.prototype)).messageType="MSG_SOLN_META",n.prototype.msg_type=65294,n.prototype.constructor=n,n.prototype.parser=(new o).endianess("little").uint32("tow").uint16("pdop").uint16("hdop").uint16("vdop").uint16("age_corrections").uint32("age_gnss").array("sol_in",{type:i.prototype.parser,readUntil:"eof"}),n.prototype.fieldSpec=[],n.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),n.prototype.fieldSpec.push(["pdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["hdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["vdop","writeUInt16LE",2]),n.prototype.fieldSpec.push(["age_corrections","writeUInt16LE",2]),n.prototype.fieldSpec.push(["age_gnss","writeUInt32LE",4]),n.prototype.fieldSpec.push(["sol_in","array",i.prototype.fieldSpec,function(){return this.fields.array.length},null]);let a=function(e,t){return r.call(this,e),this.messageType="GNSSInputType",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="GNSSInputType",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint8("flags"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["flags","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="IMUInputType",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="IMUInputType",l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint8("flags"),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["flags","writeUInt8",1]);let c=function(e,t){return r.call(this,e),this.messageType="OdoInputType",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="OdoInputType",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint8("flags"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["flags","writeUInt8",1]),e.exports={SolutionInputType:i,65295:s,MsgSolnMetaDepA:s,65294:n,MsgSolnMeta:n,GNSSInputType:a,IMUInputType:l,OdoInputType:c}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase,p(0).GnssSignal),s=(p(0).GnssSignalDep,p(0).GPSTime,p(0).GPSTimeDep,p(0).GPSTimeSec),n=p(0).SvId,a=function(e,t){return r.call(this,e),this.messageType="CodeBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.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]);let l=function(e,t){return r.call(this,e),this.messageType="PhaseBiasesContent",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.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]);let c=function(e,t){return r.call(this,e),this.messageType="STECHeader",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="STECHeader",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").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(["tile_set_id","writeUInt16LE",2]),c.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),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]);let u=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeader",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeader",u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").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(["tile_set_id","writeUInt16LE",2]),u.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),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]);let y=function(e,t){return r.call(this,e),this.messageType="STECSatElement",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.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]);let h=function(e,t){return r.call(this,e),this.messageType="TroposphericDelayCorrectionNoStd",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="TroposphericDelayCorrection",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.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]);let d=function(e,t){return r.call(this,e),this.messageType="STECResidualNoStd",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.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]);let _=function(e,t){return r.call(this,e),this.messageType="STECResidual",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.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]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK",S.prototype.msg_type=1501,S.prototype.constructor=S,S.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"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),S.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),S.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),S.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),S.prototype.fieldSpec.push(["iod","writeUInt32LE",4]),S.prototype.fieldSpec.push(["radial","writeInt32LE",4]),S.prototype.fieldSpec.push(["along","writeInt32LE",4]),S.prototype.fieldSpec.push(["cross","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),S.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),S.prototype.fieldSpec.push(["c0","writeInt32LE",4]),S.prototype.fieldSpec.push(["c1","writeInt32LE",4]),S.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_CODE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_BIASES",g.prototype.msg_type=1505,g.prototype.constructor=g,g.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"}),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),g.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),g.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),g.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),g.prototype.fieldSpec.push(["biases","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_PHASE_BIASES",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_SSR_PHASE_BIASES",w.prototype.msg_type=1510,w.prototype.constructor=w,w.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"}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),w.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),w.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),w.prototype.fieldSpec.push(["dispersive_bias","writeUInt8",1]),w.prototype.fieldSpec.push(["mw_consistency","writeUInt8",1]),w.prototype.fieldSpec.push(["yaw","writeUInt16LE",2]),w.prototype.fieldSpec.push(["yaw_rate","writeInt8",1]),w.prototype.fieldSpec.push(["biases","array",l.prototype.fieldSpec,function(){return this.fields.array.length},null]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP",E.prototype.msg_type=1531,E.prototype.constructor=E,E.prototype.parser=(new o).endianess("little").nest("header",{type:c.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),E.prototype.fieldSpec=[],E.prototype.fieldSpec.push(["header",c.prototype.fieldSpec]),E.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let m=function(e,t){return r.call(this,e),this.messageType="BoundsHeader",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.prototype)).messageType="BoundsHeader",m.prototype.constructor=m,m.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("sol_id"),m.prototype.fieldSpec=[],m.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),m.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),m.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),m.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),m.prototype.fieldSpec.push(["sol_id","writeUInt8",1]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION",b.prototype.msg_type=1533,b.prototype.constructor=b,b.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod_atmo").uint16("tile_set_id").uint16("tile_id").uint8("n_sats").array("stec_sat_list",{type:y.prototype.parser,length:"n_sats"}),b.prototype.fieldSpec=[],b.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),b.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),b.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),b.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),b.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),b.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let I=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION",I.prototype.msg_type=1532,I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").nest("header",{type:u.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["header",u.prototype.fieldSpec]),I.prototype.fieldSpec.push(["index","writeUInt16LE",2]),I.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),I.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let L=function(e,t){return r.call(this,e),this.messageType="STECSatElementIntegrity",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.prototype)).messageType="STECSatElementIntegrity",L.prototype.constructor=L,L.prototype.parser=(new o).endianess("little").nest("stec_residual",{type:_.prototype.parser}).uint8("stec_bound_mu").uint8("stec_bound_sig").uint8("stec_bound_mu_dot").uint8("stec_bound_sig_dot"),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["stec_residual",_.prototype.fieldSpec]),L.prototype.fieldSpec.push(["stec_bound_mu","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_sig","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_mu_dot","writeUInt8",1]),L.prototype.fieldSpec.push(["stec_bound_sig_dot","writeUInt8",1]);let T=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(T.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_BOUNDS",T.prototype.msg_type=1534,T.prototype.constructor=T,T.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod_atmo").uint16("tile_set_id").uint16("tile_id").uint8("tropo_qi").uint16("grid_point_id").nest("tropo_delay_correction",{type:f.prototype.parser}).uint8("tropo_v_hydro_bound_mu").uint8("tropo_v_hydro_bound_sig").uint8("tropo_v_wet_bound_mu").uint8("tropo_v_wet_bound_sig").uint8("n_sats").array("stec_sat_list",{type:L.prototype.parser,length:"n_sats"}),T.prototype.fieldSpec=[],T.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),T.prototype.fieldSpec.push(["ssr_iod_atmo","writeUInt8",1]),T.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tropo_qi","writeUInt8",1]),T.prototype.fieldSpec.push(["grid_point_id","writeUInt16LE",2]),T.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),T.prototype.fieldSpec.push(["tropo_v_hydro_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_hydro_bound_sig","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_wet_bound_mu","writeUInt8",1]),T.prototype.fieldSpec.push(["tropo_v_wet_bound_sig","writeUInt8",1]),T.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),T.prototype.fieldSpec.push(["stec_sat_list","array",L.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let v=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION_DEP",this.fields=t||this.parser.parse(e.payload),this};(v.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION_DEP",v.prototype.msg_type=1526,v.prototype.constructor=v,v.prototype.parser=(new o).endianess("little").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),v.prototype.fieldSpec=[],v.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),v.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),v.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),v.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),v.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),v.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),v.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),v.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),v.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let U=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_TILE_DEFINITION",this.fields=t||this.parser.parse(e.payload),this};(U.prototype=Object.create(r.prototype)).messageType="MSG_SSR_TILE_DEFINITION",U.prototype.msg_type=1527,U.prototype.constructor=U,U.prototype.parser=(new o).endianess("little").uint8("ssr_sol_id").uint16("tile_set_id").uint16("tile_id").int16("corner_nw_lat").int16("corner_nw_lon").uint16("spacing_lat").uint16("spacing_lon").uint16("rows").uint16("cols").uint64("bitmask"),U.prototype.fieldSpec=[],U.prototype.fieldSpec.push(["ssr_sol_id","writeUInt8",1]),U.prototype.fieldSpec.push(["tile_set_id","writeUInt16LE",2]),U.prototype.fieldSpec.push(["tile_id","writeUInt16LE",2]),U.prototype.fieldSpec.push(["corner_nw_lat","writeInt16LE",2]),U.prototype.fieldSpec.push(["corner_nw_lon","writeInt16LE",2]),U.prototype.fieldSpec.push(["spacing_lat","writeUInt16LE",2]),U.prototype.fieldSpec.push(["spacing_lon","writeUInt16LE",2]),U.prototype.fieldSpec.push(["rows","writeUInt16LE",2]),U.prototype.fieldSpec.push(["cols","writeUInt16LE",2]),U.prototype.fieldSpec.push(["bitmask","writeUInt64LE",8]);let M=function(e,t){return r.call(this,e),this.messageType="SatelliteAPC",this.fields=t||this.parser.parse(e.payload),this};(M.prototype=Object.create(r.prototype)).messageType="SatelliteAPC",M.prototype.constructor=M,M.prototype.parser=(new o).endianess("little").nest("sid",{type:i.prototype.parser}).uint8("sat_info").uint16("svn").array("pco",{length:3,type:"int16le"}).array("pcv",{length:21,type:"int8"}),M.prototype.fieldSpec=[],M.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),M.prototype.fieldSpec.push(["sat_info","writeUInt8",1]),M.prototype.fieldSpec.push(["svn","writeUInt16LE",2]),M.prototype.fieldSpec.push(["pco","array","writeInt16LE",function(){return 2},3]),M.prototype.fieldSpec.push(["pcv","array","writeInt8",function(){return 1},21]);let D=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_SATELLITE_APC",this.fields=t||this.parser.parse(e.payload),this};(D.prototype=Object.create(r.prototype)).messageType="MSG_SSR_SATELLITE_APC",D.prototype.msg_type=1540,D.prototype.constructor=D,D.prototype.parser=(new o).endianess("little").array("apc",{type:M.prototype.parser,readUntil:"eof"}),D.prototype.fieldSpec=[],D.prototype.fieldSpec.push(["apc","array",M.prototype.fieldSpec,function(){return this.fields.array.length},null]);let O=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(O.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_DEP_A",O.prototype.msg_type=1500,O.prototype.constructor=O,O.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"),O.prototype.fieldSpec=[],O.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),O.prototype.fieldSpec.push(["sid",i.prototype.fieldSpec]),O.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),O.prototype.fieldSpec.push(["iod_ssr","writeUInt8",1]),O.prototype.fieldSpec.push(["iod","writeUInt8",1]),O.prototype.fieldSpec.push(["radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["along","writeInt32LE",4]),O.prototype.fieldSpec.push(["cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_radial","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_along","writeInt32LE",4]),O.prototype.fieldSpec.push(["dot_cross","writeInt32LE",4]),O.prototype.fieldSpec.push(["c0","writeInt32LE",4]),O.prototype.fieldSpec.push(["c1","writeInt32LE",4]),O.prototype.fieldSpec.push(["c2","writeInt32LE",4]);let G=function(e,t){return r.call(this,e),this.messageType="STECHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(G.prototype=Object.create(r.prototype)).messageType="STECHeaderDepA",G.prototype.constructor=G,G.prototype.parser=(new o).endianess("little").nest("time",{type:s.prototype.parser}).uint8("num_msgs").uint8("seq_num").uint8("update_interval").uint8("iod_atmo"),G.prototype.fieldSpec=[],G.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),G.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),G.prototype.fieldSpec.push(["seq_num","writeUInt8",1]),G.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),G.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]);let A=function(e,t){return r.call(this,e),this.messageType="GriddedCorrectionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(A.prototype=Object.create(r.prototype)).messageType="GriddedCorrectionHeaderDepA",A.prototype.constructor=A,A.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"),A.prototype.fieldSpec=[],A.prototype.fieldSpec.push(["time",s.prototype.fieldSpec]),A.prototype.fieldSpec.push(["num_msgs","writeUInt16LE",2]),A.prototype.fieldSpec.push(["seq_num","writeUInt16LE",2]),A.prototype.fieldSpec.push(["update_interval","writeUInt8",1]),A.prototype.fieldSpec.push(["iod_atmo","writeUInt8",1]),A.prototype.fieldSpec.push(["tropo_quality_indicator","writeUInt8",1]);let C=function(e,t){return r.call(this,e),this.messageType="GridDefinitionHeaderDepA",this.fields=t||this.parser.parse(e.payload),this};(C.prototype=Object.create(r.prototype)).messageType="GridDefinitionHeaderDepA",C.prototype.constructor=C,C.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"),C.prototype.fieldSpec=[],C.prototype.fieldSpec.push(["region_size_inverse","writeUInt8",1]),C.prototype.fieldSpec.push(["area_width","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lat_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["lon_nw_corner_enc","writeUInt16LE",2]),C.prototype.fieldSpec.push(["num_msgs","writeUInt8",1]),C.prototype.fieldSpec.push(["seq_num","writeUInt8",1]);let R=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_STEC_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(R.prototype=Object.create(r.prototype)).messageType="MSG_SSR_STEC_CORRECTION_DEP_A",R.prototype.msg_type=1515,R.prototype.constructor=R,R.prototype.parser=(new o).endianess("little").nest("header",{type:G.prototype.parser}).array("stec_sat_list",{type:y.prototype.parser,readUntil:"eof"}),R.prototype.fieldSpec=[],R.prototype.fieldSpec.push(["header",G.prototype.fieldSpec]),R.prototype.fieldSpec.push(["stec_sat_list","array",y.prototype.fieldSpec,function(){return this.fields.array.length},null]);let P=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(P.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_NO_STD_DEP_A",P.prototype.msg_type=1520,P.prototype.constructor=P,P.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:h.prototype.parser}).array("stec_residuals",{type:d.prototype.parser,readUntil:"eof"}),P.prototype.fieldSpec=[],P.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),P.prototype.fieldSpec.push(["index","writeUInt16LE",2]),P.prototype.fieldSpec.push(["tropo_delay_correction",h.prototype.fieldSpec]),P.prototype.fieldSpec.push(["stec_residuals","array",d.prototype.fieldSpec,function(){return this.fields.array.length},null]);let N=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(N.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRIDDED_CORRECTION_DEP_A",N.prototype.msg_type=1530,N.prototype.constructor=N,N.prototype.parser=(new o).endianess("little").nest("header",{type:A.prototype.parser}).uint16("index").nest("tropo_delay_correction",{type:f.prototype.parser}).array("stec_residuals",{type:_.prototype.parser,readUntil:"eof"}),N.prototype.fieldSpec=[],N.prototype.fieldSpec.push(["header",A.prototype.fieldSpec]),N.prototype.fieldSpec.push(["index","writeUInt16LE",2]),N.prototype.fieldSpec.push(["tropo_delay_correction",f.prototype.fieldSpec]),N.prototype.fieldSpec.push(["stec_residuals","array",_.prototype.fieldSpec,function(){return this.fields.array.length},null]);let j=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_GRID_DEFINITION_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(j.prototype=Object.create(r.prototype)).messageType="MSG_SSR_GRID_DEFINITION_DEP_A",j.prototype.msg_type=1525,j.prototype.constructor=j,j.prototype.parser=(new o).endianess("little").nest("header",{type:C.prototype.parser}).array("rle_list",{type:"uint8",readUntil:"eof"}),j.prototype.fieldSpec=[],j.prototype.fieldSpec.push(["header",C.prototype.fieldSpec]),j.prototype.fieldSpec.push(["rle_list","array","writeUInt8",function(){return 1},null]);let x=function(e,t){return r.call(this,e),this.messageType="OrbitClockBound",this.fields=t||this.parser.parse(e.payload),this};(x.prototype=Object.create(r.prototype)).messageType="OrbitClockBound",x.prototype.constructor=x,x.prototype.parser=(new o).endianess("little").uint8("sat_id").uint8("orb_radial_bound_mu").uint8("orb_along_bound_mu").uint8("orb_cross_bound_mu").uint8("orb_radial_bound_sig").uint8("orb_along_bound_sig").uint8("orb_cross_bound_sig").uint8("clock_bound_mu").uint8("clock_bound_sig"),x.prototype.fieldSpec=[],x.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_radial_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_along_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["orb_cross_bound_sig","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_mu","writeUInt8",1]),x.prototype.fieldSpec.push(["clock_bound_sig","writeUInt8",1]);let F=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(F.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS",F.prototype.msg_type=1502,F.prototype.constructor=F,F.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint8("n_sats").array("orbit_clock_bounds",{type:x.prototype.parser,length:"n_sats"}),F.prototype.fieldSpec=[],F.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),F.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),F.prototype.fieldSpec.push(["const_id","writeUInt8",1]),F.prototype.fieldSpec.push(["n_sats","writeUInt8",1]),F.prototype.fieldSpec.push(["orbit_clock_bounds","array",x.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats"]);let k=function(e,t){return r.call(this,e),this.messageType="CodePhaseBiasesSatSig",this.fields=t||this.parser.parse(e.payload),this};(k.prototype=Object.create(r.prototype)).messageType="CodePhaseBiasesSatSig",k.prototype.constructor=k,k.prototype.parser=(new o).endianess("little").uint8("sat_id").uint8("signal_id").uint8("code_bias_bound_mu").uint8("code_bias_bound_sig").uint8("phase_bias_bound_mu").uint8("phase_bias_bound_sig"),k.prototype.fieldSpec=[],k.prototype.fieldSpec.push(["sat_id","writeUInt8",1]),k.prototype.fieldSpec.push(["signal_id","writeUInt8",1]),k.prototype.fieldSpec.push(["code_bias_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["code_bias_bound_sig","writeUInt8",1]),k.prototype.fieldSpec.push(["phase_bias_bound_mu","writeUInt8",1]),k.prototype.fieldSpec.push(["phase_bias_bound_sig","writeUInt8",1]);let B=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",this.fields=t||this.parser.parse(e.payload),this};(B.prototype=Object.create(r.prototype)).messageType="MSG_SSR_CODE_PHASE_BIASES_BOUNDS",B.prototype.msg_type=1516,B.prototype.constructor=B,B.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint8("n_sats_signals").array("satellites_signals",{type:k.prototype.parser,length:"n_sats_signals"}),B.prototype.fieldSpec=[],B.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),B.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),B.prototype.fieldSpec.push(["const_id","writeUInt8",1]),B.prototype.fieldSpec.push(["n_sats_signals","writeUInt8",1]),B.prototype.fieldSpec.push(["satellites_signals","array",k.prototype.fieldSpec,function(){return this.fields.array.length},"n_sats_signals"]);let q=function(e,t){return r.call(this,e),this.messageType="OrbitClockBoundDegradation",this.fields=t||this.parser.parse(e.payload),this};(q.prototype=Object.create(r.prototype)).messageType="OrbitClockBoundDegradation",q.prototype.constructor=q,q.prototype.parser=(new o).endianess("little").uint8("orb_radial_bound_mu_dot").uint8("orb_along_bound_mu_dot").uint8("orb_cross_bound_mu_dot").uint8("orb_radial_bound_sig_dot").uint8("orb_along_bound_sig_dot").uint8("orb_cross_bound_sig_dot").uint8("clock_bound_mu_dot").uint8("clock_bound_sig_dot"),q.prototype.fieldSpec=[],q.prototype.fieldSpec.push(["orb_radial_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_radial_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_along_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["orb_cross_bound_sig_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_mu_dot","writeUInt8",1]),q.prototype.fieldSpec.push(["clock_bound_sig_dot","writeUInt8",1]);let z=function(e,t){return r.call(this,e),this.messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",this.fields=t||this.parser.parse(e.payload),this};(z.prototype=Object.create(r.prototype)).messageType="MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION",z.prototype.msg_type=1503,z.prototype.constructor=z,z.prototype.parser=(new o).endianess("little").nest("header",{type:m.prototype.parser}).uint8("ssr_iod").uint8("const_id").uint64("sat_bitmask").nest("orbit_clock_bounds_degradation",{type:q.prototype.parser}),z.prototype.fieldSpec=[],z.prototype.fieldSpec.push(["header",m.prototype.fieldSpec]),z.prototype.fieldSpec.push(["ssr_iod","writeUInt8",1]),z.prototype.fieldSpec.push(["const_id","writeUInt8",1]),z.prototype.fieldSpec.push(["sat_bitmask","writeUInt64LE",8]),z.prototype.fieldSpec.push(["orbit_clock_bounds_degradation",q.prototype.fieldSpec]),e.exports={CodeBiasesContent:a,PhaseBiasesContent:l,STECHeader:c,GriddedCorrectionHeader:u,STECSatElement:y,TroposphericDelayCorrectionNoStd:h,TroposphericDelayCorrection:f,STECResidualNoStd:d,STECResidual:_,1501:S,MsgSsrOrbitClock:S,1505:g,MsgSsrCodeBiases:g,1510:w,MsgSsrPhaseBiases:w,1531:E,MsgSsrStecCorrectionDep:E,BoundsHeader:m,1533:b,MsgSsrStecCorrection:b,1532:I,MsgSsrGriddedCorrection:I,STECSatElementIntegrity:L,1534:T,MsgSsrGriddedCorrectionBounds:T,1526:v,MsgSsrTileDefinitionDep:v,1527:U,MsgSsrTileDefinition:U,SatelliteAPC:M,1540:D,MsgSsrSatelliteApc:D,1500:O,MsgSsrOrbitClockDepA:O,STECHeaderDepA:G,GriddedCorrectionHeaderDepA:A,GridDefinitionHeaderDepA:C,1515:R,MsgSsrStecCorrectionDepA:R,1520:P,MsgSsrGriddedCorrectionNoStdDepA:P,1530:N,MsgSsrGriddedCorrectionDepA:N,1525:j,MsgSsrGridDefinitionDepA:j,OrbitClockBound:x,1502:F,MsgSsrOrbitClockBounds:F,CodePhaseBiasesSatSig:k,1516:B,MsgSsrCodePhaseBiasesBounds:B,OrbitClockBoundDegradation:q,1503:z,MsgSsrOrbitClockBoundsDegradation:z}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_STARTUP",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_DGNSS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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]);let n=function(e,t){return r.call(this,e),this.messageType="MSG_HEARTBEAT",this.fields=t||this.parser.parse(e.payload),this};(n.prototype=Object.create(r.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]);let a=function(e,t){return r.call(this,e),this.messageType="SubSystemReport",this.fields=t||this.parser.parse(e.payload),this};(a.prototype=Object.create(r.prototype)).messageType="SubSystemReport",a.prototype.constructor=a,a.prototype.parser=(new o).endianess("little").uint16("component").uint8("generic").uint8("specific"),a.prototype.fieldSpec=[],a.prototype.fieldSpec.push(["component","writeUInt16LE",2]),a.prototype.fieldSpec.push(["generic","writeUInt8",1]),a.prototype.fieldSpec.push(["specific","writeUInt8",1]);let l=function(e,t){return r.call(this,e),this.messageType="MSG_STATUS_REPORT",this.fields=t||this.parser.parse(e.payload),this};(l.prototype=Object.create(r.prototype)).messageType="MSG_STATUS_REPORT",l.prototype.msg_type=65534,l.prototype.constructor=l,l.prototype.parser=(new o).endianess("little").uint16("reporting_system").uint16("sbp_version").uint32("sequence").uint32("uptime").array("status",{type:a.prototype.parser,readUntil:"eof"}),l.prototype.fieldSpec=[],l.prototype.fieldSpec.push(["reporting_system","writeUInt16LE",2]),l.prototype.fieldSpec.push(["sbp_version","writeUInt16LE",2]),l.prototype.fieldSpec.push(["sequence","writeUInt32LE",4]),l.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),l.prototype.fieldSpec.push(["status","array",a.prototype.fieldSpec,function(){return this.fields.array.length},null]);let c=function(e,t){return r.call(this,e),this.messageType="StatusJournalItem",this.fields=t||this.parser.parse(e.payload),this};(c.prototype=Object.create(r.prototype)).messageType="StatusJournalItem",c.prototype.constructor=c,c.prototype.parser=(new o).endianess("little").uint32("uptime").nest("report",{type:a.prototype.parser}),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["uptime","writeUInt32LE",4]),c.prototype.fieldSpec.push(["report",a.prototype.fieldSpec]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_STATUS_JOURNAL",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.prototype)).messageType="MSG_STATUS_JOURNAL",u.prototype.msg_type=65533,u.prototype.constructor=u,u.prototype.parser=(new o).endianess("little").uint16("reporting_system").uint16("sbp_version").uint32("total_status_reports").uint8("sequence_descriptor").array("journal",{type:c.prototype.parser,readUntil:"eof"}),u.prototype.fieldSpec=[],u.prototype.fieldSpec.push(["reporting_system","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sbp_version","writeUInt16LE",2]),u.prototype.fieldSpec.push(["total_status_reports","writeUInt32LE",4]),u.prototype.fieldSpec.push(["sequence_descriptor","writeUInt8",1]),u.prototype.fieldSpec.push(["journal","array",c.prototype.fieldSpec,function(){return this.fields.array.length},null]);let y=function(e,t){return r.call(this,e),this.messageType="MSG_INS_STATUS",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="MSG_INS_STATUS",y.prototype.msg_type=65283,y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").uint32("flags"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_CSAC_TELEMETRY",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.prototype)).messageType="MSG_CSAC_TELEMETRY",h.prototype.msg_type=65284,h.prototype.constructor=h,h.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry",{greedy:!0}),h.prototype.fieldSpec=[],h.prototype.fieldSpec.push(["id","writeUInt8",1]),h.prototype.fieldSpec.push(["telemetry","string",null]);let f=function(e,t){return r.call(this,e),this.messageType="MSG_CSAC_TELEMETRY_LABELS",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MSG_CSAC_TELEMETRY_LABELS",f.prototype.msg_type=65285,f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").uint8("id").string("telemetry_labels",{greedy:!0}),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["id","writeUInt8",1]),f.prototype.fieldSpec.push(["telemetry_labels","string",null]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_INS_UPDATES",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.prototype)).messageType="MSG_INS_UPDATES",d.prototype.msg_type=65286,d.prototype.constructor=d,d.prototype.parser=(new o).endianess("little").uint32("tow").uint8("gnsspos").uint8("gnssvel").uint8("wheelticks").uint8("speed").uint8("nhc").uint8("zerovel"),d.prototype.fieldSpec=[],d.prototype.fieldSpec.push(["tow","writeUInt32LE",4]),d.prototype.fieldSpec.push(["gnsspos","writeUInt8",1]),d.prototype.fieldSpec.push(["gnssvel","writeUInt8",1]),d.prototype.fieldSpec.push(["wheelticks","writeUInt8",1]),d.prototype.fieldSpec.push(["speed","writeUInt8",1]),d.prototype.fieldSpec.push(["nhc","writeUInt8",1]),d.prototype.fieldSpec.push(["zerovel","writeUInt8",1]);let _=function(e,t){return r.call(this,e),this.messageType="MSG_GNSS_TIME_OFFSET",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.prototype)).messageType="MSG_GNSS_TIME_OFFSET",_.prototype.msg_type=65287,_.prototype.constructor=_,_.prototype.parser=(new o).endianess("little").int16("weeks").int32("milliseconds").int16("microseconds").uint8("flags"),_.prototype.fieldSpec=[],_.prototype.fieldSpec.push(["weeks","writeInt16LE",2]),_.prototype.fieldSpec.push(["milliseconds","writeInt32LE",4]),_.prototype.fieldSpec.push(["microseconds","writeInt16LE",2]),_.prototype.fieldSpec.push(["flags","writeUInt8",1]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_PPS_TIME",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.prototype)).messageType="MSG_PPS_TIME",S.prototype.msg_type=65288,S.prototype.constructor=S,S.prototype.parser=(new o).endianess("little").uint64("time").uint8("flags"),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["time","writeUInt64LE",8]),S.prototype.fieldSpec.push(["flags","writeUInt8",1]);let g=function(e,t){return r.call(this,e),this.messageType="MSG_SENSOR_AID_EVENT",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.prototype)).messageType="MSG_SENSOR_AID_EVENT",g.prototype.msg_type=65289,g.prototype.constructor=g,g.prototype.parser=(new o).endianess("little").uint32("time").uint8("sensor_type").uint16("sensor_id").uint8("sensor_state").uint8("n_available_meas").uint8("n_attempted_meas").uint8("n_accepted_meas").uint32("flags"),g.prototype.fieldSpec=[],g.prototype.fieldSpec.push(["time","writeUInt32LE",4]),g.prototype.fieldSpec.push(["sensor_type","writeUInt8",1]),g.prototype.fieldSpec.push(["sensor_id","writeUInt16LE",2]),g.prototype.fieldSpec.push(["sensor_state","writeUInt8",1]),g.prototype.fieldSpec.push(["n_available_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["n_attempted_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["n_accepted_meas","writeUInt8",1]),g.prototype.fieldSpec.push(["flags","writeUInt32LE",4]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_GROUP_META",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.prototype)).messageType="MSG_GROUP_META",w.prototype.msg_type=65290,w.prototype.constructor=w,w.prototype.parser=(new o).endianess("little").uint8("group_id").uint8("flags").uint8("n_group_msgs").array("group_msgs",{type:"uint16le",length:"n_group_msgs"}),w.prototype.fieldSpec=[],w.prototype.fieldSpec.push(["group_id","writeUInt8",1]),w.prototype.fieldSpec.push(["flags","writeUInt8",1]),w.prototype.fieldSpec.push(["n_group_msgs","writeUInt8",1]),w.prototype.fieldSpec.push(["group_msgs","array","writeUInt16LE",function(){return 2},"n_group_msgs"]),e.exports={65280:i,MsgStartup:i,65282:s,MsgDgnssStatus:s,65535:n,MsgHeartbeat:n,SubSystemReport:a,65534:l,MsgStatusReport:l,StatusJournalItem:c,65533:u,MsgStatusJournal:u,65283:y,MsgInsStatus:y,65284:h,MsgCsacTelemetry:h,65285:f,MsgCsacTelemetryLabels:f,65286:d,MsgInsUpdates:d,65287:_,MsgGnssTimeOffset:_,65288:S,MsgPpsTime:S,65289:g,MsgSensorAidEvent:g,65290:w,MsgGroupMeta:w}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,p(0).CarrierPhase),s=p(0).GnssSignal,n=p(0).GnssSignalDep,a=p(0).GPSTime,l=p(0).GPSTimeDep,c=(p(0).GPSTimeSec,p(0).SvId,function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP_A",this.fields=t||this.parser.parse(e.payload),this});(c.prototype=Object.create(r.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:a.prototype.parser}).uint32("P").uint16("P_std").nest("L",{type:i.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"),c.prototype.fieldSpec=[],c.prototype.fieldSpec.push(["recv_time","writeUInt64LE",8]),c.prototype.fieldSpec.push(["tot",a.prototype.fieldSpec]),c.prototype.fieldSpec.push(["P","writeUInt32LE",4]),c.prototype.fieldSpec.push(["P_std","writeUInt16LE",2]),c.prototype.fieldSpec.push(["L",i.prototype.fieldSpec]),c.prototype.fieldSpec.push(["cn0","writeUInt8",1]),c.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),c.prototype.fieldSpec.push(["sid",s.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]);let u=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DETAILED_DEP",this.fields=t||this.parser.parse(e.payload),this};(u.prototype=Object.create(r.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:i.prototype.parser}).uint8("cn0").uint16("lock").nest("sid",{type:n.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",i.prototype.fieldSpec]),u.prototype.fieldSpec.push(["cn0","writeUInt8",1]),u.prototype.fieldSpec.push(["lock","writeUInt16LE",2]),u.prototype.fieldSpec.push(["sid",n.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]);let y=function(e,t){return r.call(this,e),this.messageType="TrackingChannelState",this.fields=t||this.parser.parse(e.payload),this};(y.prototype=Object.create(r.prototype)).messageType="TrackingChannelState",y.prototype.constructor=y,y.prototype.parser=(new o).endianess("little").nest("sid",{type:s.prototype.parser}).uint8("fcn").uint8("cn0"),y.prototype.fieldSpec=[],y.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),y.prototype.fieldSpec.push(["fcn","writeUInt8",1]),y.prototype.fieldSpec.push(["cn0","writeUInt8",1]);let h=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE",this.fields=t||this.parser.parse(e.payload),this};(h.prototype=Object.create(r.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]);let f=function(e,t){return r.call(this,e),this.messageType="MeasurementState",this.fields=t||this.parser.parse(e.payload),this};(f.prototype=Object.create(r.prototype)).messageType="MeasurementState",f.prototype.constructor=f,f.prototype.parser=(new o).endianess("little").nest("mesid",{type:s.prototype.parser}).uint8("cn0"),f.prototype.fieldSpec=[],f.prototype.fieldSpec.push(["mesid",s.prototype.fieldSpec]),f.prototype.fieldSpec.push(["cn0","writeUInt8",1]);let d=function(e,t){return r.call(this,e),this.messageType="MSG_MEASUREMENT_STATE",this.fields=t||this.parser.parse(e.payload),this};(d.prototype=Object.create(r.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]);let _=function(e,t){return r.call(this,e),this.messageType="TrackingChannelCorrelation",this.fields=t||this.parser.parse(e.payload),this};(_.prototype=Object.create(r.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]);let S=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ",this.fields=t||this.parser.parse(e.payload),this};(S.prototype=Object.create(r.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:s.prototype.parser}).array("corrs",{length:3,type:_.prototype.parser}),S.prototype.fieldSpec=[],S.prototype.fieldSpec.push(["channel","writeUInt8",1]),S.prototype.fieldSpec.push(["sid",s.prototype.fieldSpec]),S.prototype.fieldSpec.push(["corrs","array",_.prototype.fieldSpec,function(){return this.fields.array.length},3]);let g=function(e,t){return r.call(this,e),this.messageType="TrackingChannelCorrelationDep",this.fields=t||this.parser.parse(e.payload),this};(g.prototype=Object.create(r.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]);let w=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(w.prototype=Object.create(r.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:s.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",s.prototype.fieldSpec]),w.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);let E=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_IQ_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(E.prototype=Object.create(r.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:n.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",n.prototype.fieldSpec]),E.prototype.fieldSpec.push(["corrs","array",g.prototype.fieldSpec,function(){return this.fields.array.length},3]);let m=function(e,t){return r.call(this,e),this.messageType="TrackingChannelStateDepA",this.fields=t||this.parser.parse(e.payload),this};(m.prototype=Object.create(r.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]);let b=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_A",this.fields=t||this.parser.parse(e.payload),this};(b.prototype=Object.create(r.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]);let I=function(e,t){return r.call(this,e),this.messageType="TrackingChannelStateDepB",this.fields=t||this.parser.parse(e.payload),this};(I.prototype=Object.create(r.prototype)).messageType="TrackingChannelStateDepB",I.prototype.constructor=I,I.prototype.parser=(new o).endianess("little").uint8("state").nest("sid",{type:n.prototype.parser}).floatle("cn0"),I.prototype.fieldSpec=[],I.prototype.fieldSpec.push(["state","writeUInt8",1]),I.prototype.fieldSpec.push(["sid",n.prototype.fieldSpec]),I.prototype.fieldSpec.push(["cn0","writeFloatLE",4]);let L=function(e,t){return r.call(this,e),this.messageType="MSG_TRACKING_STATE_DEP_B",this.fields=t||this.parser.parse(e.payload),this};(L.prototype=Object.create(r.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:I.prototype.parser,readUntil:"eof"}),L.prototype.fieldSpec=[],L.prototype.fieldSpec.push(["states","array",I.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:I,19:L,MsgTrackingStateDepB:L}},function(e,t,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_USER_DATA",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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,p){let r=p(2),o=p(4),i=(p(3),p(1).UINT64,function(e,t){return r.call(this,e),this.messageType="MSG_ODOMETRY",this.fields=t||this.parser.parse(e.payload),this});(i.prototype=Object.create(r.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]);let s=function(e,t){return r.call(this,e),this.messageType="MSG_WHEELTICK",this.fields=t||this.parser.parse(e.payload),this};(s.prototype=Object.create(r.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}}]); \ No newline at end of file diff --git a/javascript/sbp/integrity.js b/javascript/sbp/integrity.js index 3a4bc0aaca..d3f8aa36e6 100644 --- a/javascript/sbp/integrity.js +++ b/javascript/sbp/integrity.js @@ -330,6 +330,50 @@ MsgSsrFlagIonoGridPointSatLos.prototype.fieldSpec.push(['grid_point_id', 'writeU MsgSsrFlagIonoGridPointSatLos.prototype.fieldSpec.push(['n_faulty_los', 'writeUInt8', 1]); MsgSsrFlagIonoGridPointSatLos.prototype.fieldSpec.push(['faulty_los', 'array', SvId.prototype.fieldSpec, function () { return this.fields.array.length; }, 'n_faulty_los']); +/** + * SBP class for message MSG_ACKNOWLEDGE (0x0BD2). + * + + * Fields in the SBP payload (`sbp.payload`): + * @field request_id number (unsigned 8-bit int, 1 byte) Echo of the request ID field from the corresponding CRA message, or 255 if no + * request ID was provided. + * @field area_id number (unsigned 32-bit int, 4 bytes) Echo of the Area ID field from the corresponding CRA message. + * @field response_code number (unsigned 8-bit int, 1 byte) Reported status of the request. + * @field correction_mask_on_demand number (unsigned 16-bit int, 2 bytes) Contains the message group(s) that will be sent in response from the + * corresponding CRA correction mask. An echo of the correction mask field from the + * corresponding CRA message. + * @field correction_mask_stream number (unsigned 16-bit int, 2 bytes) For future expansion. Always set to 0. + * @field solution_id number (unsigned 8-bit int, 1 byte) The solution ID of the instance providing the corrections. + * + * @param sbp An SBP object with a payload to be decoded. + */ +let MsgAcknowledge = function (sbp, fields) { + SBP.call(this, sbp); + this.messageType = "MSG_ACKNOWLEDGE"; + this.fields = (fields || this.parser.parse(sbp.payload)); + + return this; +}; +MsgAcknowledge.prototype = Object.create(SBP.prototype); +MsgAcknowledge.prototype.messageType = "MSG_ACKNOWLEDGE"; +MsgAcknowledge.prototype.msg_type = 0x0BD2; +MsgAcknowledge.prototype.constructor = MsgAcknowledge; +MsgAcknowledge.prototype.parser = new Parser() + .endianess('little') + .uint8('request_id') + .uint32('area_id') + .uint8('response_code') + .uint16('correction_mask_on_demand') + .uint16('correction_mask_stream') + .uint8('solution_id'); +MsgAcknowledge.prototype.fieldSpec = []; +MsgAcknowledge.prototype.fieldSpec.push(['request_id', 'writeUInt8', 1]); +MsgAcknowledge.prototype.fieldSpec.push(['area_id', 'writeUInt32LE', 4]); +MsgAcknowledge.prototype.fieldSpec.push(['response_code', 'writeUInt8', 1]); +MsgAcknowledge.prototype.fieldSpec.push(['correction_mask_on_demand', 'writeUInt16LE', 2]); +MsgAcknowledge.prototype.fieldSpec.push(['correction_mask_stream', 'writeUInt16LE', 2]); +MsgAcknowledge.prototype.fieldSpec.push(['solution_id', 'writeUInt8', 1]); + module.exports = { IntegritySSRHeader: IntegritySSRHeader, 0x0BB9: MsgSsrFlagHighLevel, @@ -344,4 +388,6 @@ module.exports = { MsgSsrFlagIonoTileSatLos: MsgSsrFlagIonoTileSatLos, 0x0BD1: MsgSsrFlagIonoGridPointSatLos, MsgSsrFlagIonoGridPointSatLos: MsgSsrFlagIonoGridPointSatLos, + 0x0BD2: MsgAcknowledge, + MsgAcknowledge: MsgAcknowledge, } \ No newline at end of file diff --git a/javascript/sbp/navigation.js b/javascript/sbp/navigation.js index 6834f8ee1b..e133b16d1f 100644 --- a/javascript/sbp/navigation.js +++ b/javascript/sbp/navigation.js @@ -2274,7 +2274,7 @@ MsgReferenceFrameParam.prototype.fieldSpec.push(['dot_scale', 'writeInt16LE', 2] * This solution message reports the relative pose of a sensor between two time * instances. The relative pose comprises of a rotation and a translation which * relates the sensor (e.g. camera) frame at a given time (first keyframe) to the - * sensor frame at another time (second key frame). The relative translations is a + * sensor frame at another time (second keyframe). The relative translations is a * 3x1 vector described in the first keyframe. Relative rotation is described by a * quaternion from second keyframe to the first keyframe. * diff --git a/jsonschema/MsgAcknowledge.json b/jsonschema/MsgAcknowledge.json new file mode 100644 index 0000000000..ab89a53801 --- /dev/null +++ b/jsonschema/MsgAcknowledge.json @@ -0,0 +1,34 @@ +{ + "copyright": [ + "Copyright (C) 2019-2021 Swift Navigation Inc.", + "Contact: https://support.swiftnav.com", + "", + "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." + ], + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "#MsgAcknowledge", + "title":"MsgAcknowledge", + "description":"", + "type": "object", + "properties": { + "request_id": {"type": "integer"}, + "area_id": {"type": "integer"}, + "response_code": {"type": "integer"}, + "correction_mask_on_demand": {"type": "integer"}, + "correction_mask_stream": {"type": "integer"}, + "solution_id": {"type": "integer"} + }, + "required": [ + "request_id", + "area_id", + "response_code", + "correction_mask_on_demand", + "correction_mask_stream", + "solution_id" + ] +} \ No newline at end of file diff --git a/jsonschema/MsgPoseRelative.json b/jsonschema/MsgPoseRelative.json new file mode 100644 index 0000000000..fdd18f97f8 --- /dev/null +++ b/jsonschema/MsgPoseRelative.json @@ -0,0 +1,66 @@ +{ + "copyright": [ + "Copyright (C) 2019-2021 Swift Navigation Inc.", + "Contact: https://support.swiftnav.com", + "", + "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." + ], + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "#MsgPoseRelative", + "title":"MsgPoseRelative", + "description":"This solution message reports the relative pose of a sensor between two time instances. The relative pose comprises of a rotation and a translation which relates the sensor (e.g. camera) frame at a given time (first keyframe) to the sensor frame at another time (second keyframe). The relative translations is a 3x1 vector described in the first keyframe. Relative rotation is described by a quaternion from second keyframe to the first keyframe.\n", + "type": "object", + "properties": { + "tow": {"type": "integer"}, + "sensor_id": {"type": "integer"}, + "timestamp_1": {"type": "integer"}, + "timestamp_2": {"type": "integer"}, + "trans": {"type": "array", "items": {"type": "integer"}}, + "w": {"type": "integer"}, + "x": {"type": "integer"}, + "y": {"type": "integer"}, + "z": {"type": "integer"}, + "cov_r_x_x": {"type": "number"}, + "cov_r_x_y": {"type": "number"}, + "cov_r_x_z": {"type": "number"}, + "cov_r_y_y": {"type": "number"}, + "cov_r_y_z": {"type": "number"}, + "cov_r_z_z": {"type": "number"}, + "cov_c_x_x": {"type": "number"}, + "cov_c_x_y": {"type": "number"}, + "cov_c_x_z": {"type": "number"}, + "cov_c_y_y": {"type": "number"}, + "cov_c_y_z": {"type": "number"}, + "cov_c_z_z": {"type": "number"}, + "flags": {"type": "integer"} + }, + "required": [ + "tow", + "sensor_id", + "timestamp_1", + "timestamp_2", + "trans", + "w", + "x", + "y", + "z", + "cov_r_x_x", + "cov_r_x_y", + "cov_r_x_z", + "cov_r_y_y", + "cov_r_y_z", + "cov_r_z_z", + "cov_c_x_x", + "cov_c_x_y", + "cov_c_x_z", + "cov_c_y_y", + "cov_c_y_z", + "cov_c_z_z", + "flags" + ] +} \ No newline at end of file diff --git a/proto/integrity.proto b/proto/integrity.proto index 3aa64efd1c..abe2eaeba7 100644 --- a/proto/integrity.proto +++ b/proto/integrity.proto @@ -133,4 +133,17 @@ message MsgSsrFlagIonoGridPointSatLos { uint32 grid_point_id = 2; uint32 n_faulty_los = 3; repeated SvId faulty_los = 4; +} + +/** Acknowledgement message in response to a request for corrections + * +None + */ +message MsgAcknowledge { + uint32 request_id = 1; + uint32 area_id = 2; + uint32 response_code = 3; + uint32 correction_mask_on_demand = 4; + uint32 correction_mask_stream = 5; + uint32 solution_id = 6; } \ No newline at end of file diff --git a/proto/navigation.proto b/proto/navigation.proto index e2faac46ba..2355c1a71a 100644 --- a/proto/navigation.proto +++ b/proto/navigation.proto @@ -687,4 +687,39 @@ message MsgReferenceFrameParam { sint32 dot_theta_02 = 18; sint32 dot_theta_03 = 19; sint32 dot_scale = 20; +} + +/** Relative Pose + * + * This solution message reports the relative pose of a sensor between two + * time instances. The relative pose comprises of a rotation and a translation + * which relates the sensor (e.g. camera) frame at a given time (first + * keyframe) to the sensor frame at another time (second keyframe). The + * relative translations is a 3x1 vector described in the first keyframe. + * Relative rotation is described by a quaternion from second keyframe to the + * first keyframe. + */ +message MsgPoseRelative { + uint32 tow = 1; + uint32 sensor_id = 2; + uint32 timestamp_1 = 3; + uint32 timestamp_2 = 4; + repeated sint32 trans = 5; + sint32 w = 6; + sint32 x = 7; + sint32 y = 8; + sint32 z = 9; + float cov_r_x_x = 10; + float cov_r_x_y = 11; + float cov_r_x_z = 12; + float cov_r_y_y = 13; + float cov_r_y_z = 14; + float cov_r_z_z = 15; + float cov_c_x_x = 16; + float cov_c_x_y = 17; + float cov_c_x_z = 18; + float cov_c_y_y = 19; + float cov_c_y_z = 20; + float cov_c_z_z = 21; + uint32 flags = 22; } \ No newline at end of file diff --git a/python/sbp/integrity.py b/python/sbp/integrity.py index 855a0e6775..636d0d6886 100644 --- a/python/sbp/integrity.py +++ b/python/sbp/integrity.py @@ -820,6 +820,128 @@ def to_json_dict(self): d.update(j) return d +SBP_MSG_ACKNOWLEDGE = 0x0BD2 +class MsgAcknowledge(SBP): + """SBP class for message MSG_ACKNOWLEDGE (0x0BD2). + + You can have MSG_ACKNOWLEDGE inherit its fields directly + from an inherited SBP object, or construct it inline using a dict + of its fields. + + + + Parameters + ---------- + sbp : SBP + SBP parent object to inherit from. + request_id : int + Echo of the request ID field from the corresponding CRA message, or 255 if + no request ID was provided. + area_id : int + Echo of the Area ID field from the corresponding CRA message. + response_code : int + Reported status of the request. + correction_mask_on_demand : int + Contains the message group(s) that will be sent in response from the + corresponding CRA correction mask. An echo of the correction mask field + from the corresponding CRA message. + correction_mask_stream : int + For future expansion. Always set to 0. + solution_id : int + The solution ID of the instance providing the corrections. + sender : int + Optional sender ID, defaults to SENDER_ID (see sbp/msg.py). + + """ + _parser = construct.Struct( + 'request_id' / construct.Int8ul, + 'area_id' / construct.Int32ul, + 'response_code' / construct.Int8ul, + 'correction_mask_on_demand' / construct.Int16ul, + 'correction_mask_stream' / construct.Int16ul, + 'solution_id' / construct.Int8ul,) + __slots__ = [ + 'request_id', + 'area_id', + 'response_code', + 'correction_mask_on_demand', + 'correction_mask_stream', + 'solution_id', + ] + + def __init__(self, sbp=None, **kwargs): + if sbp: + super( MsgAcknowledge, + self).__init__(sbp.msg_type, sbp.sender, sbp.length, + sbp.payload, sbp.crc) + self.from_binary(sbp.payload) + else: + super( MsgAcknowledge, self).__init__() + self.msg_type = SBP_MSG_ACKNOWLEDGE + self.sender = kwargs.pop('sender', SENDER_ID) + self.request_id = kwargs.pop('request_id') + self.area_id = kwargs.pop('area_id') + self.response_code = kwargs.pop('response_code') + self.correction_mask_on_demand = kwargs.pop('correction_mask_on_demand') + self.correction_mask_stream = kwargs.pop('correction_mask_stream') + self.solution_id = kwargs.pop('solution_id') + + 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 MsgAcknowledge.from_json_dict(d) + + @staticmethod + def from_json_dict(d): + sbp = SBP.from_json_dict(d) + return MsgAcknowledge(sbp, **d) + + + def from_binary(self, d): + """Given a binary payload d, update the appropriate payload fields of + the message. + + """ + p = MsgAcknowledge._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 = MsgAcknowledge._parser.build(c) + return self.pack() + + def friendly_name(self): + """Produces friendly human-readable name for this message + + """ + return "ACKNOWLEDGE" + + 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 = MsgAcknowledge._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( MsgAcknowledge, self).to_json_dict() + j = walk_json_dict(exclude_fields(self)) + d.update(j) + return d + msg_classes = { 0x0BB9: MsgSsrFlagHighLevel, @@ -828,4 +950,5 @@ def to_json_dict(self): 0x0BC7: MsgSsrFlagIonoGridPoints, 0x0BCD: MsgSsrFlagIonoTileSatLos, 0x0BD1: MsgSsrFlagIonoGridPointSatLos, + 0x0BD2: MsgAcknowledge, } \ No newline at end of file diff --git a/python/tests/sbp/test_table.py b/python/tests/sbp/test_table.py index 52402a3e3b..8ee38d6b9b 100644 --- a/python/tests/sbp/test_table.py +++ b/python/tests/sbp/test_table.py @@ -42,7 +42,7 @@ def test_table_count(): Test number of available messages to deserialize. """ - number_of_messages = 223 + number_of_messages = 224 assert len(_SBP_TABLE) == number_of_messages def test_table_unqiue_count(): diff --git a/rust/sbp/src/messages/integrity.rs b/rust/sbp/src/messages/integrity.rs index b1b4ccd6d2..c538ec9b22 100644 --- a/rust/sbp/src/messages/integrity.rs +++ b/rust/sbp/src/messages/integrity.rs @@ -14,6 +14,7 @@ //****************************************************************************/ //! Integrity flag messages pub use integrity_ssr_header::IntegritySSRHeader; +pub use msg_acknowledge::MsgAcknowledge; pub use msg_ssr_flag_high_level::MsgSsrFlagHighLevel; pub use msg_ssr_flag_iono_grid_point_sat_los::MsgSsrFlagIonoGridPointSatLos; pub use msg_ssr_flag_iono_grid_points::MsgSsrFlagIonoGridPoints; @@ -95,6 +96,639 @@ pub mod integrity_ssr_header { } } +pub mod msg_acknowledge { + #![allow(unused_imports)] + + use super::*; + use crate::messages::gnss::*; + use crate::messages::lib::*; + /// Acknowledgement message in response to a request for corrections + #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Debug, PartialEq, Clone)] + pub struct MsgAcknowledge { + /// The message sender_id + #[cfg_attr(feature = "serde", serde(skip_serializing, alias = "sender"))] + pub sender_id: Option, + /// Echo of the request ID field from the corresponding CRA message, or 255 + /// if no request ID was provided. + #[cfg_attr(feature = "serde", serde(rename = "request_id"))] + pub request_id: u8, + /// Echo of the Area ID field from the corresponding CRA message. + #[cfg_attr(feature = "serde", serde(rename = "area_id"))] + pub area_id: u32, + /// Reported status of the request. + #[cfg_attr(feature = "serde", serde(rename = "response_code"))] + pub response_code: u8, + /// Contains the message group(s) that will be sent in response from the + /// corresponding CRA correction mask. An echo of the correction mask field + /// from the corresponding CRA message. + #[cfg_attr(feature = "serde", serde(rename = "correction_mask_on_demand"))] + pub correction_mask_on_demand: u16, + /// For future expansion. Always set to 0. + #[cfg_attr(feature = "serde", serde(rename = "correction_mask_stream"))] + pub correction_mask_stream: u16, + /// The solution ID of the instance providing the corrections. + #[cfg_attr(feature = "serde", serde(rename = "solution_id"))] + pub solution_id: u8, + } + + impl MsgAcknowledge { + /// Gets the [ResponseCode][self::ResponseCode] stored in the `response_code` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `ResponseCode` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `ResponseCode` were added. + pub fn response_code(&self) -> Result { + get_bit_range!(self.response_code, u8, u8, 7, 0).try_into() + } + + /// Set the bitrange corresponding to the [ResponseCode][ResponseCode] of the `response_code` bitfield. + pub fn set_response_code(&mut self, response_code: ResponseCode) { + set_bit_range!(&mut self.response_code, response_code, u8, u8, 7, 0); + } + + /// Gets the [PublicSigningKey][self::PublicSigningKey] stored in the `correction_mask_on_demand` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `PublicSigningKey` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `PublicSigningKey` were added. + pub fn public_signing_key(&self) -> Result { + get_bit_range!(self.correction_mask_on_demand, u16, u8, 0, 0).try_into() + } + + /// Set the bitrange corresponding to the [PublicSigningKey][PublicSigningKey] of the `correction_mask_on_demand` bitfield. + pub fn set_public_signing_key(&mut self, public_signing_key: PublicSigningKey) { + set_bit_range!( + &mut self.correction_mask_on_demand, + public_signing_key, + u16, + u8, + 0, + 0 + ); + } + + /// Gets the [LowRateMessages][self::LowRateMessages] stored in the `correction_mask_on_demand` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `LowRateMessages` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `LowRateMessages` were added. + pub fn low_rate_messages(&self) -> Result { + get_bit_range!(self.correction_mask_on_demand, u16, u8, 1, 1).try_into() + } + + /// Set the bitrange corresponding to the [LowRateMessages][LowRateMessages] of the `correction_mask_on_demand` bitfield. + pub fn set_low_rate_messages(&mut self, low_rate_messages: LowRateMessages) { + set_bit_range!( + &mut self.correction_mask_on_demand, + low_rate_messages, + u16, + u8, + 1, + 1 + ); + } + + /// Gets the [Ephemeris][self::Ephemeris] stored in the `correction_mask_on_demand` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `Ephemeris` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `Ephemeris` were added. + pub fn ephemeris(&self) -> Result { + get_bit_range!(self.correction_mask_on_demand, u16, u8, 2, 2).try_into() + } + + /// Set the bitrange corresponding to the [Ephemeris][Ephemeris] of the `correction_mask_on_demand` bitfield. + pub fn set_ephemeris(&mut self, ephemeris: Ephemeris) { + set_bit_range!( + &mut self.correction_mask_on_demand, + ephemeris, + u16, + u8, + 2, + 2 + ); + } + + /// Gets the [SatelliteClock][self::SatelliteClock] stored in the `correction_mask_on_demand` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `SatelliteClock` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `SatelliteClock` were added. + pub fn satellite_clock(&self) -> Result { + get_bit_range!(self.correction_mask_on_demand, u16, u8, 3, 3).try_into() + } + + /// Set the bitrange corresponding to the [SatelliteClock][SatelliteClock] of the `correction_mask_on_demand` bitfield. + pub fn set_satellite_clock(&mut self, satellite_clock: SatelliteClock) { + set_bit_range!( + &mut self.correction_mask_on_demand, + satellite_clock, + u16, + u8, + 3, + 3 + ); + } + + /// Gets the [SatelliteOrbit][self::SatelliteOrbit] stored in the `correction_mask_on_demand` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `SatelliteOrbit` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `SatelliteOrbit` were added. + pub fn satellite_orbit(&self) -> Result { + get_bit_range!(self.correction_mask_on_demand, u16, u8, 4, 4).try_into() + } + + /// Set the bitrange corresponding to the [SatelliteOrbit][SatelliteOrbit] of the `correction_mask_on_demand` bitfield. + pub fn set_satellite_orbit(&mut self, satellite_orbit: SatelliteOrbit) { + set_bit_range!( + &mut self.correction_mask_on_demand, + satellite_orbit, + u16, + u8, + 4, + 4 + ); + } + + /// Gets the [SatelliteCodeBias][self::SatelliteCodeBias] stored in the `correction_mask_on_demand` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `SatelliteCodeBias` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `SatelliteCodeBias` were added. + pub fn satellite_code_bias(&self) -> Result { + get_bit_range!(self.correction_mask_on_demand, u16, u8, 5, 5).try_into() + } + + /// Set the bitrange corresponding to the [SatelliteCodeBias][SatelliteCodeBias] of the `correction_mask_on_demand` bitfield. + pub fn set_satellite_code_bias(&mut self, satellite_code_bias: SatelliteCodeBias) { + set_bit_range!( + &mut self.correction_mask_on_demand, + satellite_code_bias, + u16, + u8, + 5, + 5 + ); + } + + /// Gets the [SatellitePhaseBias][self::SatellitePhaseBias] stored in the `correction_mask_on_demand` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `SatellitePhaseBias` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `SatellitePhaseBias` were added. + pub fn satellite_phase_bias(&self) -> Result { + get_bit_range!(self.correction_mask_on_demand, u16, u8, 6, 6).try_into() + } + + /// Set the bitrange corresponding to the [SatellitePhaseBias][SatellitePhaseBias] of the `correction_mask_on_demand` bitfield. + pub fn set_satellite_phase_bias(&mut self, satellite_phase_bias: SatellitePhaseBias) { + set_bit_range!( + &mut self.correction_mask_on_demand, + satellite_phase_bias, + u16, + u8, + 6, + 6 + ); + } + + /// Gets the [Atmospherics][self::Atmospherics] stored in the `correction_mask_on_demand` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `Atmospherics` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `Atmospherics` were added. + pub fn atmospherics(&self) -> Result { + get_bit_range!(self.correction_mask_on_demand, u16, u8, 7, 7).try_into() + } + + /// Set the bitrange corresponding to the [Atmospherics][Atmospherics] of the `correction_mask_on_demand` bitfield. + pub fn set_atmospherics(&mut self, atmospherics: Atmospherics) { + set_bit_range!( + &mut self.correction_mask_on_demand, + atmospherics, + u16, + u8, + 7, + 7 + ); + } + + /// Gets the [Integrity][self::Integrity] stored in the `correction_mask_on_demand` bitfield. + /// + /// Returns `Ok` if the bitrange contains a known `Integrity` variant. + /// Otherwise the value of the bitrange is returned as an `Err(u8)`. This may be because of a malformed message, + /// or because new variants of `Integrity` were added. + pub fn integrity(&self) -> Result { + get_bit_range!(self.correction_mask_on_demand, u16, u8, 8, 8).try_into() + } + + /// Set the bitrange corresponding to the [Integrity][Integrity] of the `correction_mask_on_demand` bitfield. + pub fn set_integrity(&mut self, integrity: Integrity) { + set_bit_range!( + &mut self.correction_mask_on_demand, + integrity, + u16, + u8, + 8, + 8 + ); + } + } + + impl ConcreteMessage for MsgAcknowledge { + const MESSAGE_TYPE: u16 = 3026; + const MESSAGE_NAME: &'static str = "MSG_ACKNOWLEDGE"; + } + + impl SbpMessage for MsgAcknowledge { + fn message_name(&self) -> &'static str { + ::MESSAGE_NAME + } + fn message_type(&self) -> u16 { + ::MESSAGE_TYPE + } + fn sender_id(&self) -> Option { + self.sender_id + } + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } + fn encoded_len(&self) -> usize { + WireFormat::len(self) + crate::HEADER_LEN + crate::CRC_LEN + } + } + + impl FriendlyName for MsgAcknowledge { + fn friendly_name() -> &'static str { + "ACKNOWLEDGE" + } + } + + impl TryFrom for MsgAcknowledge { + type Error = TryFromSbpError; + fn try_from(msg: Sbp) -> Result { + match msg { + Sbp::MsgAcknowledge(m) => Ok(m), + _ => Err(TryFromSbpError(msg)), + } + } + } + + impl WireFormat for MsgAcknowledge { + const MIN_LEN: usize = ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN + + ::MIN_LEN; + fn len(&self) -> usize { + WireFormat::len(&self.request_id) + + WireFormat::len(&self.area_id) + + WireFormat::len(&self.response_code) + + WireFormat::len(&self.correction_mask_on_demand) + + WireFormat::len(&self.correction_mask_stream) + + WireFormat::len(&self.solution_id) + } + fn write(&self, buf: &mut B) { + WireFormat::write(&self.request_id, buf); + WireFormat::write(&self.area_id, buf); + WireFormat::write(&self.response_code, buf); + WireFormat::write(&self.correction_mask_on_demand, buf); + WireFormat::write(&self.correction_mask_stream, buf); + WireFormat::write(&self.solution_id, buf); + } + fn parse_unchecked(buf: &mut B) -> Self { + MsgAcknowledge { + sender_id: None, + request_id: WireFormat::parse_unchecked(buf), + area_id: WireFormat::parse_unchecked(buf), + response_code: WireFormat::parse_unchecked(buf), + correction_mask_on_demand: WireFormat::parse_unchecked(buf), + correction_mask_stream: WireFormat::parse_unchecked(buf), + solution_id: WireFormat::parse_unchecked(buf), + } + } + } + + /// Response code + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum ResponseCode { + /// Ok + Ok = 0, + + /// Out of coverage + OutOfCoverage = 1, + + /// Forbidden + Forbidden = 2, + + /// Invalid request + InvalidRequest = 3, + + /// Invalid area id + InvalidAreaId = 4, + } + + impl std::fmt::Display for ResponseCode { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + ResponseCode::Ok => f.write_str("Ok"), + ResponseCode::OutOfCoverage => f.write_str("Out of coverage"), + ResponseCode::Forbidden => f.write_str("Forbidden"), + ResponseCode::InvalidRequest => f.write_str("Invalid request"), + ResponseCode::InvalidAreaId => f.write_str("Invalid area id"), + } + } + } + + impl TryFrom for ResponseCode { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(ResponseCode::Ok), + 1 => Ok(ResponseCode::OutOfCoverage), + 2 => Ok(ResponseCode::Forbidden), + 3 => Ok(ResponseCode::InvalidRequest), + 4 => Ok(ResponseCode::InvalidAreaId), + i => Err(i), + } + } + } + + /// Public Signing Key + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum PublicSigningKey { + /// Not requested + NotRequested = 0, + + /// Requested + Requested = 1, + } + + impl std::fmt::Display for PublicSigningKey { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + PublicSigningKey::NotRequested => f.write_str("Not requested"), + PublicSigningKey::Requested => f.write_str("Requested"), + } + } + } + + impl TryFrom for PublicSigningKey { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(PublicSigningKey::NotRequested), + 1 => Ok(PublicSigningKey::Requested), + i => Err(i), + } + } + } + + /// Low rate messages + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum LowRateMessages { + /// Not requested + NotRequested = 0, + + /// Requested + Requested = 1, + } + + impl std::fmt::Display for LowRateMessages { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + LowRateMessages::NotRequested => f.write_str("Not requested"), + LowRateMessages::Requested => f.write_str("Requested"), + } + } + } + + impl TryFrom for LowRateMessages { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(LowRateMessages::NotRequested), + 1 => Ok(LowRateMessages::Requested), + i => Err(i), + } + } + } + + /// Ephemeris + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum Ephemeris { + /// Not requested + NotRequested = 0, + + /// Requested + Requested = 1, + } + + impl std::fmt::Display for Ephemeris { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Ephemeris::NotRequested => f.write_str("Not requested"), + Ephemeris::Requested => f.write_str("Requested"), + } + } + } + + impl TryFrom for Ephemeris { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(Ephemeris::NotRequested), + 1 => Ok(Ephemeris::Requested), + i => Err(i), + } + } + } + + /// Satellite clock + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum SatelliteClock { + /// Not requested + NotRequested = 0, + + /// Requested + Requested = 1, + } + + impl std::fmt::Display for SatelliteClock { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + SatelliteClock::NotRequested => f.write_str("Not requested"), + SatelliteClock::Requested => f.write_str("Requested"), + } + } + } + + impl TryFrom for SatelliteClock { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(SatelliteClock::NotRequested), + 1 => Ok(SatelliteClock::Requested), + i => Err(i), + } + } + } + + /// Satellite orbit + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum SatelliteOrbit { + /// Not requested + NotRequested = 0, + + /// Requested + Requested = 1, + } + + impl std::fmt::Display for SatelliteOrbit { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + SatelliteOrbit::NotRequested => f.write_str("Not requested"), + SatelliteOrbit::Requested => f.write_str("Requested"), + } + } + } + + impl TryFrom for SatelliteOrbit { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(SatelliteOrbit::NotRequested), + 1 => Ok(SatelliteOrbit::Requested), + i => Err(i), + } + } + } + + /// Satellite code bias + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum SatelliteCodeBias { + /// Not requested + NotRequested = 0, + + /// Requested + Requested = 1, + } + + impl std::fmt::Display for SatelliteCodeBias { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + SatelliteCodeBias::NotRequested => f.write_str("Not requested"), + SatelliteCodeBias::Requested => f.write_str("Requested"), + } + } + } + + impl TryFrom for SatelliteCodeBias { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(SatelliteCodeBias::NotRequested), + 1 => Ok(SatelliteCodeBias::Requested), + i => Err(i), + } + } + } + + /// Satellite phase bias + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum SatellitePhaseBias { + /// Not requested + NotRequested = 0, + + /// Requested + Requested = 1, + } + + impl std::fmt::Display for SatellitePhaseBias { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + SatellitePhaseBias::NotRequested => f.write_str("Not requested"), + SatellitePhaseBias::Requested => f.write_str("Requested"), + } + } + } + + impl TryFrom for SatellitePhaseBias { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(SatellitePhaseBias::NotRequested), + 1 => Ok(SatellitePhaseBias::Requested), + i => Err(i), + } + } + } + + /// Atmospherics + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum Atmospherics { + /// Not requested + NotRequested = 0, + + /// Requested + Requested = 1, + } + + impl std::fmt::Display for Atmospherics { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Atmospherics::NotRequested => f.write_str("Not requested"), + Atmospherics::Requested => f.write_str("Requested"), + } + } + } + + impl TryFrom for Atmospherics { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(Atmospherics::NotRequested), + 1 => Ok(Atmospherics::Requested), + i => Err(i), + } + } + } + + /// Integrity + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + pub enum Integrity { + /// Not requested + NotRequested = 0, + + /// Requested + Requested = 1, + } + + impl std::fmt::Display for Integrity { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Integrity::NotRequested => f.write_str("Not requested"), + Integrity::Requested => f.write_str("Requested"), + } + } + } + + impl TryFrom for Integrity { + type Error = u8; + fn try_from(i: u8) -> Result { + match i { + 0 => Ok(Integrity::NotRequested), + 1 => Ok(Integrity::Requested), + i => Err(i), + } + } + } +} + pub mod msg_ssr_flag_high_level { #![allow(unused_imports)] diff --git a/rust/sbp/src/messages/mod.rs b/rust/sbp/src/messages/mod.rs index 2c92434ee9..93aff64e53 100644 --- a/rust/sbp/src/messages/mod.rs +++ b/rust/sbp/src/messages/mod.rs @@ -68,6 +68,7 @@ use self::flash::msg_stm_unique_id_req::MsgStmUniqueIdReq; use self::flash::msg_stm_unique_id_resp::MsgStmUniqueIdResp; use self::imu::msg_imu_aux::MsgImuAux; use self::imu::msg_imu_raw::MsgImuRaw; +use self::integrity::msg_acknowledge::MsgAcknowledge; use self::integrity::msg_ssr_flag_high_level::MsgSsrFlagHighLevel; use self::integrity::msg_ssr_flag_iono_grid_point_sat_los::MsgSsrFlagIonoGridPointSatLos; use self::integrity::msg_ssr_flag_iono_grid_points::MsgSsrFlagIonoGridPoints; @@ -742,6 +743,8 @@ pub enum Sbp { MsgSsrFlagIonoTileSatLos(MsgSsrFlagIonoTileSatLos), /// List of all the grid points to satellite which are faulty MsgSsrFlagIonoGridPointSatLos(MsgSsrFlagIonoGridPointSatLos), + /// Acknowledgement message in response to a request for corrections + MsgAcknowledge(MsgAcknowledge), /// Deprecated MsgEd25519SignatureDep(MsgEd25519SignatureDep), /// ED25519 certificate, split over multiple messages @@ -1420,6 +1423,9 @@ impl<'de> serde::Deserialize<'de> for Sbp { serde_json::from_value::(value) .map(Sbp::MsgSsrFlagIonoGridPointSatLos) } + Some(MsgAcknowledge::MESSAGE_TYPE) => { + serde_json::from_value::(value).map(Sbp::MsgAcknowledge) + } Some(MsgEd25519SignatureDep::MESSAGE_TYPE) => { serde_json::from_value::(value) .map(Sbp::MsgEd25519SignatureDep) @@ -2514,6 +2520,11 @@ impl Sbp { msg.set_sender_id(sender_id); Ok(Sbp::MsgSsrFlagIonoGridPointSatLos(msg)) } + MsgAcknowledge::MESSAGE_TYPE => { + let mut msg = MsgAcknowledge::parse(&mut payload)?; + msg.set_sender_id(sender_id); + Ok(Sbp::MsgAcknowledge(msg)) + } MsgEd25519SignatureDep::MESSAGE_TYPE => { let mut msg = MsgEd25519SignatureDep::parse(&mut payload)?; msg.set_sender_id(sender_id); @@ -2877,6 +2888,7 @@ impl SbpMessage for Sbp { Sbp::MsgSsrFlagIonoGridPoints(msg) => msg.message_name(), Sbp::MsgSsrFlagIonoTileSatLos(msg) => msg.message_name(), Sbp::MsgSsrFlagIonoGridPointSatLos(msg) => msg.message_name(), + Sbp::MsgAcknowledge(msg) => msg.message_name(), Sbp::MsgEd25519SignatureDep(msg) => msg.message_name(), Sbp::MsgEd25519Certificate(msg) => msg.message_name(), Sbp::MsgEd25519Signature(msg) => msg.message_name(), @@ -3106,6 +3118,7 @@ impl SbpMessage for Sbp { Sbp::MsgSsrFlagIonoGridPoints(msg) => msg.message_type(), Sbp::MsgSsrFlagIonoTileSatLos(msg) => msg.message_type(), Sbp::MsgSsrFlagIonoGridPointSatLos(msg) => msg.message_type(), + Sbp::MsgAcknowledge(msg) => msg.message_type(), Sbp::MsgEd25519SignatureDep(msg) => msg.message_type(), Sbp::MsgEd25519Certificate(msg) => msg.message_type(), Sbp::MsgEd25519Signature(msg) => msg.message_type(), @@ -3335,6 +3348,7 @@ impl SbpMessage for Sbp { Sbp::MsgSsrFlagIonoGridPoints(msg) => msg.sender_id(), Sbp::MsgSsrFlagIonoTileSatLos(msg) => msg.sender_id(), Sbp::MsgSsrFlagIonoGridPointSatLos(msg) => msg.sender_id(), + Sbp::MsgAcknowledge(msg) => msg.sender_id(), Sbp::MsgEd25519SignatureDep(msg) => msg.sender_id(), Sbp::MsgEd25519Certificate(msg) => msg.sender_id(), Sbp::MsgEd25519Signature(msg) => msg.sender_id(), @@ -3564,6 +3578,7 @@ impl SbpMessage for Sbp { Sbp::MsgSsrFlagIonoGridPoints(msg) => msg.set_sender_id(new_id), Sbp::MsgSsrFlagIonoTileSatLos(msg) => msg.set_sender_id(new_id), Sbp::MsgSsrFlagIonoGridPointSatLos(msg) => msg.set_sender_id(new_id), + Sbp::MsgAcknowledge(msg) => msg.set_sender_id(new_id), Sbp::MsgEd25519SignatureDep(msg) => msg.set_sender_id(new_id), Sbp::MsgEd25519Certificate(msg) => msg.set_sender_id(new_id), Sbp::MsgEd25519Signature(msg) => msg.set_sender_id(new_id), @@ -3793,6 +3808,7 @@ impl SbpMessage for Sbp { Sbp::MsgSsrFlagIonoGridPoints(msg) => msg.encoded_len(), Sbp::MsgSsrFlagIonoTileSatLos(msg) => msg.encoded_len(), Sbp::MsgSsrFlagIonoGridPointSatLos(msg) => msg.encoded_len(), + Sbp::MsgAcknowledge(msg) => msg.encoded_len(), Sbp::MsgEd25519SignatureDep(msg) => msg.encoded_len(), Sbp::MsgEd25519Certificate(msg) => msg.encoded_len(), Sbp::MsgEd25519Signature(msg) => msg.encoded_len(), @@ -4025,6 +4041,7 @@ impl SbpMessage for Sbp { Sbp::MsgSsrFlagIonoGridPoints(msg) => msg.gps_time(), Sbp::MsgSsrFlagIonoTileSatLos(msg) => msg.gps_time(), Sbp::MsgSsrFlagIonoGridPointSatLos(msg) => msg.gps_time(), + Sbp::MsgAcknowledge(msg) => msg.gps_time(), Sbp::MsgEd25519SignatureDep(msg) => msg.gps_time(), Sbp::MsgEd25519Certificate(msg) => msg.gps_time(), Sbp::MsgEd25519Signature(msg) => msg.gps_time(), @@ -4254,6 +4271,7 @@ impl SbpMessage for Sbp { Sbp::MsgSsrFlagIonoGridPoints(msg) => msg.friendly_name(), Sbp::MsgSsrFlagIonoTileSatLos(msg) => msg.friendly_name(), Sbp::MsgSsrFlagIonoGridPointSatLos(msg) => msg.friendly_name(), + Sbp::MsgAcknowledge(msg) => msg.friendly_name(), Sbp::MsgEd25519SignatureDep(msg) => msg.friendly_name(), Sbp::MsgEd25519Certificate(msg) => msg.friendly_name(), Sbp::MsgEd25519Signature(msg) => msg.friendly_name(), @@ -4491,6 +4509,7 @@ impl WireFormat for Sbp { Sbp::MsgSsrFlagIonoGridPoints(msg) => WireFormat::write(msg, buf), Sbp::MsgSsrFlagIonoTileSatLos(msg) => WireFormat::write(msg, buf), Sbp::MsgSsrFlagIonoGridPointSatLos(msg) => WireFormat::write(msg, buf), + Sbp::MsgAcknowledge(msg) => WireFormat::write(msg, buf), Sbp::MsgEd25519SignatureDep(msg) => WireFormat::write(msg, buf), Sbp::MsgEd25519Certificate(msg) => WireFormat::write(msg, buf), Sbp::MsgEd25519Signature(msg) => WireFormat::write(msg, buf), @@ -4720,6 +4739,7 @@ impl WireFormat for Sbp { Sbp::MsgSsrFlagIonoGridPoints(msg) => WireFormat::len(msg), Sbp::MsgSsrFlagIonoTileSatLos(msg) => WireFormat::len(msg), Sbp::MsgSsrFlagIonoGridPointSatLos(msg) => WireFormat::len(msg), + Sbp::MsgAcknowledge(msg) => WireFormat::len(msg), Sbp::MsgEd25519SignatureDep(msg) => WireFormat::len(msg), Sbp::MsgEd25519Certificate(msg) => WireFormat::len(msg), Sbp::MsgEd25519Signature(msg) => WireFormat::len(msg), @@ -5903,6 +5923,12 @@ impl From for Sbp { } } +impl From for Sbp { + fn from(msg: MsgAcknowledge) -> Self { + Sbp::MsgAcknowledge(msg) + } +} + impl From for Sbp { fn from(msg: MsgEd25519SignatureDep) -> Self { Sbp::MsgEd25519SignatureDep(msg) diff --git a/rust/sbp/tests/integration/auto_check_sbp_integrity_msg_acknowledge.rs b/rust/sbp/tests/integration/auto_check_sbp_integrity_msg_acknowledge.rs new file mode 100644 index 0000000000..9b3b77edb8 --- /dev/null +++ b/rust/sbp/tests/integration/auto_check_sbp_integrity_msg_acknowledge.rs @@ -0,0 +1,260 @@ +// +// Copyright (C) 2019-2021 Swift Navigation Inc. +// Contact: https://support.swiftnav.com +// +// 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. + +// This file was auto-generated from spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml by generate.py. Do not modify by hand! + +use crate::*; + +/// Tests [`sbp::iter_messages`], from payload into SBP messages +/// +/// Asserts: +/// - SBP fields equates to that of the field +/// - Payload is identical +#[test] +fn test_auto_check_sbp_integrity_msg_acknowledge() { + { + let mut payload = Cursor::new(vec![ + 85, 210, 11, 42, 0, 11, 30, 64, 226, 1, 0, 0, 1, 0, 1, 0, 2, 86, 178, + ]); + + // Test the round trip payload parsing + let sbp_msg = { + let mut msgs = iter_messages(&mut payload); + msgs.next() + .expect("no message found") + .expect("failed to parse message") + }; + match &sbp_msg { + sbp::messages::Sbp::MsgAcknowledge(msg) => { + assert_eq!( + msg.message_type(), + 0xBD2, + "Incorrect message type, expected 0xBD2, is {}", + msg.message_type() + ); + let sender_id = msg.sender_id().unwrap(); + assert_eq!( + sender_id, 0x2A, + "incorrect sender id, expected 0x2A, is {}", + sender_id + ); + assert_eq!( + msg.area_id, 123456, + "incorrect value for area_id, expected 123456, is {}", + msg.area_id + ); + assert_eq!( + msg.correction_mask_on_demand, 1, + "incorrect value for correction_mask_on_demand, expected 1, is {}", + msg.correction_mask_on_demand + ); + assert_eq!( + msg.correction_mask_stream, 1, + "incorrect value for correction_mask_stream, expected 1, is {}", + msg.correction_mask_stream + ); + assert_eq!( + msg.request_id, 30, + "incorrect value for request_id, expected 30, is {}", + msg.request_id + ); + assert_eq!( + msg.response_code, 0, + "incorrect value for response_code, expected 0, is {}", + msg.response_code + ); + assert_eq!( + msg.solution_id, 2, + "incorrect value for solution_id, expected 2, is {}", + msg.solution_id + ); + } + _ => panic!("Invalid message type! Expected a MsgAcknowledge"), + }; + let frame = sbp::to_vec(&sbp_msg).unwrap(); + assert_eq!(frame, payload.into_inner()); + } +} + +/// Tests [`sbp::json::iter_messages`] for JSON payload -> SBP message +/// and [`sbp::json::iter_messages_from_fields`] for JSON fields -> SBP message. +/// +/// Asserts: +/// - SBP message constructed via payload is identical to from fields +/// - SBP fields equates to that of the field +/// - Payload is identical +#[test] +#[cfg(feature = "json")] +fn test_json2sbp_auto_check_sbp_integrity_msg_acknowledge() { + { + let json_input = r#"{"preamble": 85, "msg_type": 3026, "sender": 42, "length": 11, "payload": "HkDiAQAAAQABAAI=", "crc": 45654, "request_id": 30, "area_id": 123456, "response_code": 0, "correction_mask_on_demand": 1, "correction_mask_stream": 1, "solution_id": 2}"#.as_bytes(); + + let sbp_msg = { + // JSON to SBP message from payload + let mut iter = json2sbp_iter_msg(json_input); + let from_payload = iter + .next() + .expect("no message found") + .expect("failed to parse message"); + + // JSON to SBP message from fields + let mut iter = iter_messages_from_fields(json_input); + let from_fields = iter + .next() + .expect("no message found") + .expect("failed to parse message"); + + assert_eq!(from_fields, from_payload); + from_fields + }; + match &sbp_msg { + sbp::messages::Sbp::MsgAcknowledge(msg) => { + assert_eq!( + msg.message_type(), + 0xBD2, + "Incorrect message type, expected 0xBD2, is {}", + msg.message_type() + ); + let sender_id = msg.sender_id().unwrap(); + assert_eq!( + sender_id, 0x2A, + "incorrect sender id, expected 0x2A, is {}", + sender_id + ); + assert_eq!( + msg.area_id, 123456, + "incorrect value for area_id, expected 123456, is {}", + msg.area_id + ); + assert_eq!( + msg.correction_mask_on_demand, 1, + "incorrect value for correction_mask_on_demand, expected 1, is {}", + msg.correction_mask_on_demand + ); + assert_eq!( + msg.correction_mask_stream, 1, + "incorrect value for correction_mask_stream, expected 1, is {}", + msg.correction_mask_stream + ); + assert_eq!( + msg.request_id, 30, + "incorrect value for request_id, expected 30, is {}", + msg.request_id + ); + assert_eq!( + msg.response_code, 0, + "incorrect value for response_code, expected 0, is {}", + msg.response_code + ); + assert_eq!( + msg.solution_id, 2, + "incorrect value for solution_id, expected 2, is {}", + msg.solution_id + ); + } + _ => panic!("Invalid message type! Expected a MsgAcknowledge"), + }; + } +} + +/// Tests [`sbp::json::JsonEncoder`] for roundtrip SBP message -> JSON +/// +/// Assumes: +/// - [`self::test_auto_check_sbp_integrity_msg_acknowledge`] passes +/// +/// Asserts: +/// - SBP fields equates to that of the field +/// - Payload is identical +#[test] +#[cfg(feature = "json")] +fn test_sbp2json_auto_check_sbp_integrity_msg_acknowledge() { + { + let mut payload = Cursor::new(vec![ + 85, 210, 11, 42, 0, 11, 30, 64, 226, 1, 0, 0, 1, 0, 1, 0, 2, 86, 178, + ]); + + // Construct sbp message + let sbp_msg = { + let mut msgs = iter_messages(&mut payload); + msgs.next() + .expect("no message found") + .expect("failed to parse message") + }; + + let mut json_buffer = vec![]; + // Populate json buffer, CompactFormatter + sbp::json::JsonEncoder::new(&mut json_buffer, sbp::json::CompactFormatter {}) + .send(&sbp_msg) + .unwrap(); + + // Reconstruct Sbp message from json fields, roundtrip + let sbp_msg = sbp::messages::Sbp::MsgAcknowledge( + serde_json::from_str( + std::str::from_utf8(json_buffer.as_slice()) + .unwrap() + .to_string() + .as_str(), + ) + .unwrap(), + ); + match &sbp_msg { + sbp::messages::Sbp::MsgAcknowledge(msg) => { + assert_eq!( + msg.message_type(), + 0xBD2, + "Incorrect message type, expected 0xBD2, is {}", + msg.message_type() + ); + let sender_id = msg.sender_id().unwrap(); + assert_eq!( + sender_id, 0x2A, + "incorrect sender id, expected 0x2A, is {}", + sender_id + ); + assert_eq!( + msg.area_id, 123456, + "incorrect value for area_id, expected 123456, is {}", + msg.area_id + ); + assert_eq!( + msg.correction_mask_on_demand, 1, + "incorrect value for correction_mask_on_demand, expected 1, is {}", + msg.correction_mask_on_demand + ); + assert_eq!( + msg.correction_mask_stream, 1, + "incorrect value for correction_mask_stream, expected 1, is {}", + msg.correction_mask_stream + ); + assert_eq!( + msg.request_id, 30, + "incorrect value for request_id, expected 30, is {}", + msg.request_id + ); + assert_eq!( + msg.response_code, 0, + "incorrect value for response_code, expected 0, is {}", + msg.response_code + ); + assert_eq!( + msg.solution_id, 2, + "incorrect value for solution_id, expected 2, is {}", + msg.solution_id + ); + } + _ => panic!("Invalid message type! Expected a MsgAcknowledge"), + }; + + // Check payload is still identical + let frame = sbp::to_vec(&sbp_msg).unwrap(); + assert_eq!(frame, payload.into_inner()); + } +} diff --git a/rust/sbp/tests/integration/main.rs b/rust/sbp/tests/integration/main.rs index 22cdb1e432..a54ca232a4 100644 --- a/rust/sbp/tests/integration/main.rs +++ b/rust/sbp/tests/integration/main.rs @@ -20,6 +20,7 @@ mod auto_check_sbp_ext_events_msg_ext_event; mod auto_check_sbp_file_io_msg_fileio_write_resp; mod auto_check_sbp_imu_msg_imu_aux; mod auto_check_sbp_imu_msg_imu_raw; +mod auto_check_sbp_integrity_msg_acknowledge; mod auto_check_sbp_integrity_msg_ssr_flag_high_level; mod auto_check_sbp_integrity_msg_ssr_flag_iono_grid_point_sat_los; mod auto_check_sbp_integrity_msg_ssr_flag_iono_grid_points; diff --git a/sbpjson/elm/SbpJson.elm b/sbpjson/elm/SbpJson.elm index 2ad26b1a2b..95acd23363 100644 --- a/sbpjson/elm/SbpJson.elm +++ b/sbpjson/elm/SbpJson.elm @@ -5,7 +5,7 @@ -- add these imports -- -- import Json.Decode exposing (decodeString)`); --- import SbpJson exposing (acqSvProfile, almanacCommonContent, boundsHeader, carrierPhase, codeBiasesContent, codePhaseBiasesSatSig, doppler, ephemerisCommonContent, estimatedHorizontalErrorEllipse, gnssInputType, gnssCapb, gnssSignal, gpsTime, gpsTimeSEC, gridElement, gridElementNoStd, griddedCorrectionHeader, imuInputType, integritySSRHeader, latency, measurementState, msgAcqResult, msgAcqSvProfile, msgAgeCorrections, msgAlmanac, msgAlmanacGPS, msgAlmanacGlo, msgAngularRate, msgBasePosECEF, msgBasePosLLH, msgBaselineECEF, msgBaselineHeading, msgBaselineNED, msgBootloaderHandshakeReq, msgBootloaderHandshakeResp, msgBootloaderJumpToApp, msgCellModemStatus, msgCommandOutput, msgCommandReq, msgCommandResp, msgCsacTelemetry, msgCsacTelemetryLabels, msgCwResults, msgCwStart, msgDeviceMonitor, msgDgnssStatus, msgDops, msgEd25519Certificate, msgEd25519Signature, msgEphemerisBds, msgEphemerisGPS, msgEphemerisGal, msgEphemerisGlo, msgEphemerisQzss, msgEphemerisSbas, msgEXTEvent, msgFileioConfigReq, msgFileioConfigResp, msgFileioReadDirReq, msgFileioReadDirResp, msgFileioReadReq, msgFileioReadResp, msgFileioRemove, msgFileioWriteReq, msgFileioWriteResp, msgFlashDone, msgFlashErase, msgFlashProgram, msgFlashReadReq, msgFlashReadResp, msgFrontEndGain, msgFwd, msgGPSTime, msgGPSTimeGnss, msgGloBiases, msgGnssCapb, msgGnssTimeOffset, msgGroupDelay, msgGroupMeta, msgHeartbeat, msgIarState, msgImuAux, msgImuRaw, msgInsStatus, msgInsUpdates, msgIono, msgLinuxCPUState, msgLinuxMemState, msgLinuxProcessFdCount, msgLinuxProcessFdSummary, msgLinuxProcessSocketCounts, msgLinuxProcessSocketQueues, msgLinuxSocketUsage, msgLinuxSysState, msgLog, msgM25FlashWriteStatus, msgMagRaw, msgMaskSatellite, msgMeasurementState, msgNapDeviceDnaReq, msgNapDeviceDnaResp, msgNdbEvent, msgNetworkBandwidthUsage, msgNetworkStateReq, msgNetworkStateResp, msgObs, msgOdometry, msgOrientEuler, msgOrientQuat, msgOsr, msgPosECEF, msgPosECEFCov, msgPosECEFCovGnss, msgPosECEFGnss, msgPosLLH, msgPosLLHAcc, msgPosLLHCov, msgPosLLHCovGnss, msgPosLLHGnss, msgPpsTime, msgProtectionLevel, msgReferenceFrameParam, msgReset, msgResetFilters, msgSbasRaw, msgSensorAidEvent, msgSetTime, msgSettingsReadByIndexDone, msgSettingsReadByIndexReq, msgSettingsReadByIndexResp, msgSettingsReadReq, msgSettingsReadResp, msgSettingsRegister, msgSettingsRegisterResp, msgSettingsSave, msgSettingsWrite, msgSettingsWriteResp, msgSolnMeta, msgSpecan, msgSsrCodeBiases, msgSsrCodePhaseBiasesBounds, msgSsrFlagHighLevel, msgSsrFlagIonoGridPointSatLos, msgSsrFlagIonoGridPoints, msgSsrFlagIonoTileSatLos, msgSsrFlagSatellites, msgSsrFlagTropoGridPoints, msgSsrGriddedCorrection, msgSsrGriddedCorrectionBounds, msgSsrOrbitClock, msgSsrOrbitClockBounds, msgSsrOrbitClockBoundsDegradation, msgSsrPhaseBiases, msgSsrSatelliteApc, msgSsrStecCorrection, msgSsrTileDefinition, msgStartup, msgStatusJournal, msgStatusReport, msgStmFlashLockSector, msgStmFlashUnlockSector, msgStmUniqueIDReq, msgStmUniqueIDResp, msgSvAzEl, msgThreadState, msgTrackingIq, msgTrackingState, msgUARTState, msgUserData, msgUTCLeapSecond, msgUTCTime, msgUTCTimeGnss, msgVelBody, msgVelCog, msgVelECEF, msgVelECEFCov, msgVelECEFCovGnss, msgVelECEFGnss, msgVelNED, msgVelNEDCov, msgVelNEDCovGnss, msgVelNEDGnss, msgWheeltick, networkUsage, observationHeader, odoInputType, orbitClockBound, orbitClockBoundDegradation, packedObsContent, packedOsrContent, period, phaseBiasesContent, stecHeader, stecResidual, stecResidualNoStd, stecSatElement, stecSatElementIntegrity, satelliteAPC, solutionInputType, statusJournalItem, subSystemReport, svAzEl, svID, trackingChannelCorrelation, trackingChannelState, troposphericDelayCorrection, troposphericDelayCorrectionNoStd, uartChannel) +-- import SbpJson exposing (acqSvProfile, almanacCommonContent, boundsHeader, carrierPhase, codeBiasesContent, codePhaseBiasesSatSig, doppler, ephemerisCommonContent, estimatedHorizontalErrorEllipse, gnssInputType, gnssCapb, gnssSignal, gpsTime, gpsTimeSEC, gridElement, gridElementNoStd, griddedCorrectionHeader, imuInputType, integritySSRHeader, latency, measurementState, msgAcknowledge, msgAcqResult, msgAcqSvProfile, msgAgeCorrections, msgAlmanac, msgAlmanacGPS, msgAlmanacGlo, msgAngularRate, msgBasePosECEF, msgBasePosLLH, msgBaselineECEF, msgBaselineHeading, msgBaselineNED, msgBootloaderHandshakeReq, msgBootloaderHandshakeResp, msgBootloaderJumpToApp, msgCellModemStatus, msgCommandOutput, msgCommandReq, msgCommandResp, msgCsacTelemetry, msgCsacTelemetryLabels, msgCwResults, msgCwStart, msgDeviceMonitor, msgDgnssStatus, msgDops, msgEd25519Certificate, msgEd25519Signature, msgEphemerisBds, msgEphemerisGPS, msgEphemerisGal, msgEphemerisGlo, msgEphemerisQzss, msgEphemerisSbas, msgEXTEvent, msgFileioConfigReq, msgFileioConfigResp, msgFileioReadDirReq, msgFileioReadDirResp, msgFileioReadReq, msgFileioReadResp, msgFileioRemove, msgFileioWriteReq, msgFileioWriteResp, msgFlashDone, msgFlashErase, msgFlashProgram, msgFlashReadReq, msgFlashReadResp, msgFrontEndGain, msgFwd, msgGPSTime, msgGPSTimeGnss, msgGloBiases, msgGnssCapb, msgGnssTimeOffset, msgGroupDelay, msgGroupMeta, msgHeartbeat, msgIarState, msgImuAux, msgImuRaw, msgInsStatus, msgInsUpdates, msgIono, msgLinuxCPUState, msgLinuxMemState, msgLinuxProcessFdCount, msgLinuxProcessFdSummary, msgLinuxProcessSocketCounts, msgLinuxProcessSocketQueues, msgLinuxSocketUsage, msgLinuxSysState, msgLog, msgM25FlashWriteStatus, msgMagRaw, msgMaskSatellite, msgMeasurementState, msgNapDeviceDnaReq, msgNapDeviceDnaResp, msgNdbEvent, msgNetworkBandwidthUsage, msgNetworkStateReq, msgNetworkStateResp, msgObs, msgOdometry, msgOrientEuler, msgOrientQuat, msgOsr, msgPosECEF, msgPosECEFCov, msgPosECEFCovGnss, msgPosECEFGnss, msgPosLLH, msgPosLLHAcc, msgPosLLHCov, msgPosLLHCovGnss, msgPosLLHGnss, msgPoseRelative, msgPpsTime, msgProtectionLevel, msgReferenceFrameParam, msgReset, msgResetFilters, msgSbasRaw, msgSensorAidEvent, msgSetTime, msgSettingsReadByIndexDone, msgSettingsReadByIndexReq, msgSettingsReadByIndexResp, msgSettingsReadReq, msgSettingsReadResp, msgSettingsRegister, msgSettingsRegisterResp, msgSettingsSave, msgSettingsWrite, msgSettingsWriteResp, msgSolnMeta, msgSpecan, msgSsrCodeBiases, msgSsrCodePhaseBiasesBounds, msgSsrFlagHighLevel, msgSsrFlagIonoGridPointSatLos, msgSsrFlagIonoGridPoints, msgSsrFlagIonoTileSatLos, msgSsrFlagSatellites, msgSsrFlagTropoGridPoints, msgSsrGriddedCorrection, msgSsrGriddedCorrectionBounds, msgSsrOrbitClock, msgSsrOrbitClockBounds, msgSsrOrbitClockBoundsDegradation, msgSsrPhaseBiases, msgSsrSatelliteApc, msgSsrStecCorrection, msgSsrTileDefinition, msgStartup, msgStatusJournal, msgStatusReport, msgStmFlashLockSector, msgStmFlashUnlockSector, msgStmUniqueIDReq, msgStmUniqueIDResp, msgSvAzEl, msgThreadState, msgTrackingIq, msgTrackingState, msgUARTState, msgUserData, msgUTCLeapSecond, msgUTCTime, msgUTCTimeGnss, msgVelBody, msgVelCog, msgVelECEF, msgVelECEFCov, msgVelECEFCovGnss, msgVelECEFGnss, msgVelNED, msgVelNEDCov, msgVelNEDCovGnss, msgVelNEDGnss, msgWheeltick, networkUsage, observationHeader, odoInputType, orbitClockBound, orbitClockBoundDegradation, packedObsContent, packedOsrContent, period, phaseBiasesContent, stecHeader, stecResidual, stecResidualNoStd, stecSatElement, stecSatElementIntegrity, satelliteAPC, solutionInputType, statusJournalItem, subSystemReport, svAzEl, svID, trackingChannelCorrelation, trackingChannelState, troposphericDelayCorrection, troposphericDelayCorrectionNoStd, uartChannel) -- -- and you're off to the races with -- @@ -30,6 +30,7 @@ -- decodeString integritySSRHeader myJsonString -- decodeString latency myJsonString -- decodeString measurementState myJsonString +-- decodeString msgAcknowledge myJsonString -- decodeString msgAcqResult myJsonString -- decodeString msgAcqSvProfile myJsonString -- decodeString msgAgeCorrections myJsonString @@ -128,6 +129,7 @@ -- decodeString msgPosLLHCov myJsonString -- decodeString msgPosLLHCovGnss myJsonString -- decodeString msgPosLLHGnss myJsonString +-- decodeString msgPoseRelative myJsonString -- decodeString msgPpsTime myJsonString -- decodeString msgProtectionLevel myJsonString -- decodeString msgReferenceFrameParam myJsonString @@ -282,6 +284,9 @@ module SbpJson exposing , MeasurementState , measurementStateToString , measurementState + , MsgAcknowledge + , msgAcknowledgeToString + , msgAcknowledge , MsgAcqResult , msgAcqResultToString , msgAcqResult @@ -576,6 +581,9 @@ module SbpJson exposing , MsgPosLLHGnss , msgPosLLHGnssToString , msgPosLLHGnss + , MsgPoseRelative + , msgPoseRelativeToString + , msgPoseRelative , MsgPpsTime , msgPpsTimeToString , msgPpsTime @@ -933,6 +941,15 @@ type alias IMUInputType = { flags : Int } +type alias MsgAcknowledge = + { areaID : Int + , correctionMaskOnDemand : Int + , correctionMaskStream : Int + , requestID : Int + , responseCode : Int + , solutionID : Int + } + {-| This message describes the results from an attempted GPS signal acquisition search for a satellite PRN over a code phase/carrier frequency range. It contains the parameters of the point in the acquisition search space with the best carrier-to-noise (CN/0) ratio. @@ -2275,6 +2292,38 @@ type alias MsgPosLLHGnss = , vAccuracy : Int } +{-| This solution message reports the relative pose of a sensor between two time instances. +The relative pose comprises of a rotation and a translation which relates the sensor +(e.g. camera) frame at a given time (first keyframe) to the sensor frame at another time +(second keyframe). The relative translations is a 3x1 vector described in the first +keyframe. Relative rotation is described by a quaternion from second keyframe to the +first keyframe. +-} +type alias MsgPoseRelative = + { covCXX : Float + , covCXY : Float + , covCXZ : Float + , covCYY : Float + , covCYZ : Float + , covCZZ : Float + , covRXX : Float + , covRXY : Float + , covRXZ : Float + , covRYY : Float + , covRYZ : Float + , covRZZ : Float + , flags : Int + , sensorID : Int + , timestamp1 : Int + , timestamp2 : Int + , tow : Int + , trans : Array Int + , w : Int + , x : Int + , y : Int + , z : Int + } + {-| The PPS time message contains the value of the sender's local time in microseconds at the moment a pulse is detected on the PPS input. This is to be used for syncronisation of sensor data sampled with a local timestamp (e.g. IMU or wheeltick messages) where GNSS @@ -3342,6 +3391,9 @@ latencyToString r = Jenc.encode 0 (encodeLatency r) measurementStateToString : MeasurementState -> String measurementStateToString r = Jenc.encode 0 (encodeMeasurementState r) +msgAcknowledgeToString : MsgAcknowledge -> String +msgAcknowledgeToString r = Jenc.encode 0 (encodeMsgAcknowledge r) + msgAcqResultToString : MsgAcqResult -> String msgAcqResultToString r = Jenc.encode 0 (encodeMsgAcqResult r) @@ -3654,6 +3706,9 @@ msgPosLLHCovGnssToString r = Jenc.encode 0 (encodeMsgPosLLHCovGnss r) msgPosLLHGnssToString : MsgPosLLHGnss -> String msgPosLLHGnssToString r = Jenc.encode 0 (encodeMsgPosLLHGnss r) +msgPoseRelativeToString : MsgPoseRelative -> String +msgPoseRelativeToString r = Jenc.encode 0 (encodeMsgPoseRelative r) + msgPpsTimeToString : MsgPpsTime -> String msgPpsTimeToString r = Jenc.encode 0 (encodeMsgPpsTime r) @@ -4054,6 +4109,27 @@ encodeIMUInputType x = [ ("flags", Jenc.int x.flags) ] +msgAcknowledge : Jdec.Decoder MsgAcknowledge +msgAcknowledge = + Jpipe.decode MsgAcknowledge + |> Jpipe.required "area_id" Jdec.int + |> Jpipe.required "correction_mask_on_demand" Jdec.int + |> Jpipe.required "correction_mask_stream" Jdec.int + |> Jpipe.required "request_id" Jdec.int + |> Jpipe.required "response_code" Jdec.int + |> Jpipe.required "solution_id" Jdec.int + +encodeMsgAcknowledge : MsgAcknowledge -> Jenc.Value +encodeMsgAcknowledge x = + Jenc.object + [ ("area_id", Jenc.int x.areaID) + , ("correction_mask_on_demand", Jenc.int x.correctionMaskOnDemand) + , ("correction_mask_stream", Jenc.int x.correctionMaskStream) + , ("request_id", Jenc.int x.requestID) + , ("response_code", Jenc.int x.responseCode) + , ("solution_id", Jenc.int x.solutionID) + ] + msgAcqResult : Jdec.Decoder MsgAcqResult msgAcqResult = Jpipe.decode MsgAcqResult @@ -6169,6 +6245,59 @@ encodeMsgPosLLHGnss x = , ("v_accuracy", Jenc.int x.vAccuracy) ] +msgPoseRelative : Jdec.Decoder MsgPoseRelative +msgPoseRelative = + Jpipe.decode MsgPoseRelative + |> Jpipe.required "cov_c_x_x" Jdec.float + |> Jpipe.required "cov_c_x_y" Jdec.float + |> Jpipe.required "cov_c_x_z" Jdec.float + |> Jpipe.required "cov_c_y_y" Jdec.float + |> Jpipe.required "cov_c_y_z" Jdec.float + |> Jpipe.required "cov_c_z_z" Jdec.float + |> Jpipe.required "cov_r_x_x" Jdec.float + |> Jpipe.required "cov_r_x_y" Jdec.float + |> Jpipe.required "cov_r_x_z" Jdec.float + |> Jpipe.required "cov_r_y_y" Jdec.float + |> Jpipe.required "cov_r_y_z" Jdec.float + |> Jpipe.required "cov_r_z_z" Jdec.float + |> Jpipe.required "flags" Jdec.int + |> Jpipe.required "sensor_id" Jdec.int + |> Jpipe.required "timestamp_1" Jdec.int + |> Jpipe.required "timestamp_2" Jdec.int + |> Jpipe.required "tow" Jdec.int + |> Jpipe.required "trans" (Jdec.array Jdec.int) + |> Jpipe.required "w" Jdec.int + |> Jpipe.required "x" Jdec.int + |> Jpipe.required "y" Jdec.int + |> Jpipe.required "z" Jdec.int + +encodeMsgPoseRelative : MsgPoseRelative -> Jenc.Value +encodeMsgPoseRelative x = + Jenc.object + [ ("cov_c_x_x", Jenc.float x.covCXX) + , ("cov_c_x_y", Jenc.float x.covCXY) + , ("cov_c_x_z", Jenc.float x.covCXZ) + , ("cov_c_y_y", Jenc.float x.covCYY) + , ("cov_c_y_z", Jenc.float x.covCYZ) + , ("cov_c_z_z", Jenc.float x.covCZZ) + , ("cov_r_x_x", Jenc.float x.covRXX) + , ("cov_r_x_y", Jenc.float x.covRXY) + , ("cov_r_x_z", Jenc.float x.covRXZ) + , ("cov_r_y_y", Jenc.float x.covRYY) + , ("cov_r_y_z", Jenc.float x.covRYZ) + , ("cov_r_z_z", Jenc.float x.covRZZ) + , ("flags", Jenc.int x.flags) + , ("sensor_id", Jenc.int x.sensorID) + , ("timestamp_1", Jenc.int x.timestamp1) + , ("timestamp_2", Jenc.int x.timestamp2) + , ("tow", Jenc.int x.tow) + , ("trans", makeArrayEncoder Jenc.int x.trans) + , ("w", Jenc.int x.w) + , ("x", Jenc.int x.x) + , ("y", Jenc.int x.y) + , ("z", Jenc.int x.z) + ] + msgPpsTime : Jdec.Decoder MsgPpsTime msgPpsTime = Jpipe.decode MsgPpsTime diff --git a/sbpjson/javascript/SbpJson.js b/sbpjson/javascript/SbpJson.js index 821bc89388..b90e248475 100644 --- a/sbpjson/javascript/SbpJson.js +++ b/sbpjson/javascript/SbpJson.js @@ -23,6 +23,7 @@ // const integritySSRHeader = Convert.toIntegritySSRHeader(json); // const latency = Convert.toLatency(json); // const measurementState = Convert.toMeasurementState(json); +// const msgAcknowledge = Convert.toMsgAcknowledge(json); // const msgAcqResult = Convert.toMsgAcqResult(json); // const msgAcqSvProfile = Convert.toMsgAcqSvProfile(json); // const msgAgeCorrections = Convert.toMsgAgeCorrections(json); @@ -121,6 +122,7 @@ // const msgPosLLHCov = Convert.toMsgPosLLHCov(json); // const msgPosLLHCovGnss = Convert.toMsgPosLLHCovGnss(json); // const msgPosLLHGnss = Convert.toMsgPosLLHGnss(json); +// const msgPoseRelative = Convert.toMsgPoseRelative(json); // const msgPpsTime = Convert.toMsgPpsTime(json); // const msgProtectionLevel = Convert.toMsgProtectionLevel(json); // const msgReferenceFrameParam = Convert.toMsgReferenceFrameParam(json); @@ -384,6 +386,14 @@ function measurementStateToJson(value) { return JSON.stringify(uncast(value, r("MeasurementState")), null, 2); } +function toMsgAcknowledge(json) { + return cast(JSON.parse(json), r("MsgAcknowledge")); +} + +function msgAcknowledgeToJson(value) { + return JSON.stringify(uncast(value, r("MsgAcknowledge")), null, 2); +} + function toMsgAcqResult(json) { return cast(JSON.parse(json), r("MsgAcqResult")); } @@ -1168,6 +1178,14 @@ function msgPosLLHGnssToJson(value) { return JSON.stringify(uncast(value, r("MsgPosLLHGnss")), null, 2); } +function toMsgPoseRelative(json) { + return cast(JSON.parse(json), r("MsgPoseRelative")); +} + +function msgPoseRelativeToJson(value) { + return JSON.stringify(uncast(value, r("MsgPoseRelative")), null, 2); +} + function toMsgPpsTime(json) { return cast(JSON.parse(json), r("MsgPpsTime")); } @@ -2051,6 +2069,14 @@ const typeMap = { "IMUInputType": o([ { json: "flags", js: "flags", typ: 0 }, ], "any"), + "MsgAcknowledge": o([ + { json: "area_id", js: "area_id", typ: 0 }, + { json: "correction_mask_on_demand", js: "correction_mask_on_demand", typ: 0 }, + { json: "correction_mask_stream", js: "correction_mask_stream", typ: 0 }, + { json: "request_id", js: "request_id", typ: 0 }, + { json: "response_code", js: "response_code", typ: 0 }, + { json: "solution_id", js: "solution_id", typ: 0 }, + ], "any"), "MsgAcqResult": o([ { json: "cf", js: "cf", typ: 3.14 }, { json: "cn0", js: "cn0", typ: 3.14 }, @@ -2841,6 +2867,30 @@ const typeMap = { { json: "tow", js: "tow", typ: 0 }, { json: "v_accuracy", js: "v_accuracy", typ: 0 }, ], "any"), + "MsgPoseRelative": o([ + { json: "cov_c_x_x", js: "cov_c_x_x", typ: 3.14 }, + { json: "cov_c_x_y", js: "cov_c_x_y", typ: 3.14 }, + { json: "cov_c_x_z", js: "cov_c_x_z", typ: 3.14 }, + { json: "cov_c_y_y", js: "cov_c_y_y", typ: 3.14 }, + { json: "cov_c_y_z", js: "cov_c_y_z", typ: 3.14 }, + { json: "cov_c_z_z", js: "cov_c_z_z", typ: 3.14 }, + { json: "cov_r_x_x", js: "cov_r_x_x", typ: 3.14 }, + { json: "cov_r_x_y", js: "cov_r_x_y", typ: 3.14 }, + { json: "cov_r_x_z", js: "cov_r_x_z", typ: 3.14 }, + { json: "cov_r_y_y", js: "cov_r_y_y", typ: 3.14 }, + { json: "cov_r_y_z", js: "cov_r_y_z", typ: 3.14 }, + { json: "cov_r_z_z", js: "cov_r_z_z", typ: 3.14 }, + { json: "flags", js: "flags", typ: 0 }, + { json: "sensor_id", js: "sensor_id", typ: 0 }, + { json: "timestamp_1", js: "timestamp_1", typ: 0 }, + { json: "timestamp_2", js: "timestamp_2", typ: 0 }, + { json: "tow", js: "tow", typ: 0 }, + { json: "trans", js: "trans", typ: a(0) }, + { json: "w", js: "w", typ: 0 }, + { json: "x", js: "x", typ: 0 }, + { json: "y", js: "y", typ: 0 }, + { json: "z", js: "z", typ: 0 }, + ], "any"), "MsgPpsTime": o([ { json: "flags", js: "flags", typ: 0 }, { json: "time", js: "time", typ: 0 }, @@ -3496,6 +3546,8 @@ module.exports = { "toLatency": toLatency, "measurementStateToJson": measurementStateToJson, "toMeasurementState": toMeasurementState, + "msgAcknowledgeToJson": msgAcknowledgeToJson, + "toMsgAcknowledge": toMsgAcknowledge, "msgAcqResultToJson": msgAcqResultToJson, "toMsgAcqResult": toMsgAcqResult, "msgAcqSvProfileToJson": msgAcqSvProfileToJson, @@ -3692,6 +3744,8 @@ module.exports = { "toMsgPosLLHCovGnss": toMsgPosLLHCovGnss, "msgPosLLHGnssToJson": msgPosLLHGnssToJson, "toMsgPosLLHGnss": toMsgPosLLHGnss, + "msgPoseRelativeToJson": msgPoseRelativeToJson, + "toMsgPoseRelative": toMsgPoseRelative, "msgPpsTimeToJson": msgPpsTimeToJson, "toMsgPpsTime": toMsgPpsTime, "msgProtectionLevelToJson": msgProtectionLevelToJson, diff --git a/sbpjson/typescript/SbpJson.ts b/sbpjson/typescript/SbpJson.ts index 9868c9812e..a3d0821dac 100644 --- a/sbpjson/typescript/SbpJson.ts +++ b/sbpjson/typescript/SbpJson.ts @@ -1,6 +1,6 @@ // To parse this data: // -// import { Convert, AcqSvProfile, AlmanacCommonContent, BoundsHeader, CarrierPhase, CodeBiasesContent, CodePhaseBiasesSatSig, Doppler, EphemerisCommonContent, EstimatedHorizontalErrorEllipse, GNSSInputType, GnssCapb, GnssSignal, GpsTime, GpsTimeSEC, GridElement, GridElementNoStd, GriddedCorrectionHeader, IMUInputType, IntegritySSRHeader, Latency, MeasurementState, MsgAcqResult, MsgAcqSvProfile, MsgAgeCorrections, MsgAlmanacGPS, MsgAlmanacGlo, MsgAngularRate, MsgBasePosECEF, MsgBasePosLLH, MsgBaselineECEF, MsgBaselineHeading, MsgBaselineNED, MsgBootloaderHandshakeResp, MsgBootloaderJumpToApp, MsgCellModemStatus, MsgCommandOutput, MsgCommandReq, MsgCommandResp, MsgCsacTelemetry, MsgCsacTelemetryLabels, MsgDeviceMonitor, MsgDgnssStatus, MsgDops, MsgEd25519Certificate, MsgEd25519Signature, MsgEphemerisBds, MsgEphemerisGPS, MsgEphemerisGal, MsgEphemerisGlo, MsgEphemerisQzss, MsgEphemerisSbas, MsgEXTEvent, MsgFileioConfigReq, MsgFileioConfigResp, MsgFileioReadDirReq, MsgFileioReadDirResp, MsgFileioReadReq, MsgFileioReadResp, MsgFileioRemove, MsgFileioWriteReq, MsgFileioWriteResp, MsgFlashDone, MsgFlashErase, MsgFlashProgram, MsgFlashReadReq, MsgFlashReadResp, MsgFrontEndGain, MsgFwd, MsgGPSTime, MsgGPSTimeGnss, MsgGloBiases, MsgGnssCapb, MsgGnssTimeOffset, MsgGroupDelay, MsgGroupMeta, MsgHeartbeat, MsgIarState, MsgImuAux, MsgImuRaw, MsgInsStatus, MsgInsUpdates, MsgIono, MsgLinuxCPUState, MsgLinuxMemState, MsgLinuxProcessFdCount, MsgLinuxProcessFdSummary, MsgLinuxProcessSocketCounts, MsgLinuxProcessSocketQueues, MsgLinuxSocketUsage, MsgLinuxSysState, MsgLog, MsgM25FlashWriteStatus, MsgMagRaw, MsgMaskSatellite, MsgMeasurementState, MsgNapDeviceDnaResp, MsgNdbEvent, MsgNetworkBandwidthUsage, MsgNetworkStateResp, MsgObs, MsgOdometry, MsgOrientEuler, MsgOrientQuat, MsgOsr, MsgPosECEF, MsgPosECEFCov, MsgPosECEFCovGnss, MsgPosECEFGnss, MsgPosLLH, MsgPosLLHAcc, MsgPosLLHCov, MsgPosLLHCovGnss, MsgPosLLHGnss, MsgPpsTime, MsgProtectionLevel, MsgReferenceFrameParam, MsgReset, MsgResetFilters, MsgSbasRaw, MsgSensorAidEvent, MsgSettingsReadByIndexReq, MsgSettingsReadByIndexResp, MsgSettingsReadReq, MsgSettingsReadResp, MsgSettingsRegister, MsgSettingsRegisterResp, MsgSettingsWrite, MsgSettingsWriteResp, MsgSolnMeta, MsgSpecan, MsgSsrCodeBiases, MsgSsrCodePhaseBiasesBounds, MsgSsrFlagHighLevel, MsgSsrFlagIonoGridPointSatLos, MsgSsrFlagIonoGridPoints, MsgSsrFlagIonoTileSatLos, MsgSsrFlagSatellites, MsgSsrFlagTropoGridPoints, MsgSsrGriddedCorrection, MsgSsrGriddedCorrectionBounds, MsgSsrOrbitClock, MsgSsrOrbitClockBounds, MsgSsrOrbitClockBoundsDegradation, MsgSsrPhaseBiases, MsgSsrSatelliteApc, MsgSsrStecCorrection, MsgSsrTileDefinition, MsgStartup, MsgStatusJournal, MsgStatusReport, MsgStmFlashLockSector, MsgStmFlashUnlockSector, MsgStmUniqueIDResp, MsgSvAzEl, MsgThreadState, MsgTrackingIq, MsgTrackingState, MsgUARTState, MsgUserData, MsgUTCLeapSecond, MsgUTCTime, MsgUTCTimeGnss, MsgVelBody, MsgVelCog, MsgVelECEF, MsgVelECEFCov, MsgVelECEFCovGnss, MsgVelECEFGnss, MsgVelNED, MsgVelNEDCov, MsgVelNEDCovGnss, MsgVelNEDGnss, MsgWheeltick, NetworkUsage, ObservationHeader, OdoInputType, OrbitClockBound, OrbitClockBoundDegradation, PackedObsContent, PackedOsrContent, Period, PhaseBiasesContent, STECHeader, STECResidual, STECResidualNoStd, STECSatElement, STECSatElementIntegrity, SatelliteAPC, SolutionInputType, StatusJournalItem, SubSystemReport, SvAzEl, SvID, TrackingChannelCorrelation, TrackingChannelState, TroposphericDelayCorrection, TroposphericDelayCorrectionNoStd, UARTChannel } from "./file"; +// import { Convert, AcqSvProfile, AlmanacCommonContent, BoundsHeader, CarrierPhase, CodeBiasesContent, CodePhaseBiasesSatSig, Doppler, EphemerisCommonContent, EstimatedHorizontalErrorEllipse, GNSSInputType, GnssCapb, GnssSignal, GpsTime, GpsTimeSEC, GridElement, GridElementNoStd, GriddedCorrectionHeader, IMUInputType, IntegritySSRHeader, Latency, MeasurementState, MsgAcknowledge, MsgAcqResult, MsgAcqSvProfile, MsgAgeCorrections, MsgAlmanacGPS, MsgAlmanacGlo, MsgAngularRate, MsgBasePosECEF, MsgBasePosLLH, MsgBaselineECEF, MsgBaselineHeading, MsgBaselineNED, MsgBootloaderHandshakeResp, MsgBootloaderJumpToApp, MsgCellModemStatus, MsgCommandOutput, MsgCommandReq, MsgCommandResp, MsgCsacTelemetry, MsgCsacTelemetryLabels, MsgDeviceMonitor, MsgDgnssStatus, MsgDops, MsgEd25519Certificate, MsgEd25519Signature, MsgEphemerisBds, MsgEphemerisGPS, MsgEphemerisGal, MsgEphemerisGlo, MsgEphemerisQzss, MsgEphemerisSbas, MsgEXTEvent, MsgFileioConfigReq, MsgFileioConfigResp, MsgFileioReadDirReq, MsgFileioReadDirResp, MsgFileioReadReq, MsgFileioReadResp, MsgFileioRemove, MsgFileioWriteReq, MsgFileioWriteResp, MsgFlashDone, MsgFlashErase, MsgFlashProgram, MsgFlashReadReq, MsgFlashReadResp, MsgFrontEndGain, MsgFwd, MsgGPSTime, MsgGPSTimeGnss, MsgGloBiases, MsgGnssCapb, MsgGnssTimeOffset, MsgGroupDelay, MsgGroupMeta, MsgHeartbeat, MsgIarState, MsgImuAux, MsgImuRaw, MsgInsStatus, MsgInsUpdates, MsgIono, MsgLinuxCPUState, MsgLinuxMemState, MsgLinuxProcessFdCount, MsgLinuxProcessFdSummary, MsgLinuxProcessSocketCounts, MsgLinuxProcessSocketQueues, MsgLinuxSocketUsage, MsgLinuxSysState, MsgLog, MsgM25FlashWriteStatus, MsgMagRaw, MsgMaskSatellite, MsgMeasurementState, MsgNapDeviceDnaResp, MsgNdbEvent, MsgNetworkBandwidthUsage, MsgNetworkStateResp, MsgObs, MsgOdometry, MsgOrientEuler, MsgOrientQuat, MsgOsr, MsgPosECEF, MsgPosECEFCov, MsgPosECEFCovGnss, MsgPosECEFGnss, MsgPosLLH, MsgPosLLHAcc, MsgPosLLHCov, MsgPosLLHCovGnss, MsgPosLLHGnss, MsgPoseRelative, MsgPpsTime, MsgProtectionLevel, MsgReferenceFrameParam, MsgReset, MsgResetFilters, MsgSbasRaw, MsgSensorAidEvent, MsgSettingsReadByIndexReq, MsgSettingsReadByIndexResp, MsgSettingsReadReq, MsgSettingsReadResp, MsgSettingsRegister, MsgSettingsRegisterResp, MsgSettingsWrite, MsgSettingsWriteResp, MsgSolnMeta, MsgSpecan, MsgSsrCodeBiases, MsgSsrCodePhaseBiasesBounds, MsgSsrFlagHighLevel, MsgSsrFlagIonoGridPointSatLos, MsgSsrFlagIonoGridPoints, MsgSsrFlagIonoTileSatLos, MsgSsrFlagSatellites, MsgSsrFlagTropoGridPoints, MsgSsrGriddedCorrection, MsgSsrGriddedCorrectionBounds, MsgSsrOrbitClock, MsgSsrOrbitClockBounds, MsgSsrOrbitClockBoundsDegradation, MsgSsrPhaseBiases, MsgSsrSatelliteApc, MsgSsrStecCorrection, MsgSsrTileDefinition, MsgStartup, MsgStatusJournal, MsgStatusReport, MsgStmFlashLockSector, MsgStmFlashUnlockSector, MsgStmUniqueIDResp, MsgSvAzEl, MsgThreadState, MsgTrackingIq, MsgTrackingState, MsgUARTState, MsgUserData, MsgUTCLeapSecond, MsgUTCTime, MsgUTCTimeGnss, MsgVelBody, MsgVelCog, MsgVelECEF, MsgVelECEFCov, MsgVelECEFCovGnss, MsgVelECEFGnss, MsgVelNED, MsgVelNEDCov, MsgVelNEDCovGnss, MsgVelNEDGnss, MsgWheeltick, NetworkUsage, ObservationHeader, OdoInputType, OrbitClockBound, OrbitClockBoundDegradation, PackedObsContent, PackedOsrContent, Period, PhaseBiasesContent, STECHeader, STECResidual, STECResidualNoStd, STECSatElement, STECSatElementIntegrity, SatelliteAPC, SolutionInputType, StatusJournalItem, SubSystemReport, SvAzEl, SvID, TrackingChannelCorrelation, TrackingChannelState, TroposphericDelayCorrection, TroposphericDelayCorrectionNoStd, UARTChannel } from "./file"; // // const acqSvProfile = Convert.toAcqSvProfile(json); // const almanacCommonContent = Convert.toAlmanacCommonContent(json); @@ -23,6 +23,7 @@ // const integritySSRHeader = Convert.toIntegritySSRHeader(json); // const latency = Convert.toLatency(json); // const measurementState = Convert.toMeasurementState(json); +// const msgAcknowledge = Convert.toMsgAcknowledge(json); // const msgAcqResult = Convert.toMsgAcqResult(json); // const msgAcqSvProfile = Convert.toMsgAcqSvProfile(json); // const msgAgeCorrections = Convert.toMsgAgeCorrections(json); @@ -121,6 +122,7 @@ // const msgPosLLHCov = Convert.toMsgPosLLHCov(json); // const msgPosLLHCovGnss = Convert.toMsgPosLLHCovGnss(json); // const msgPosLLHGnss = Convert.toMsgPosLLHGnss(json); +// const msgPoseRelative = Convert.toMsgPoseRelative(json); // const msgPpsTime = Convert.toMsgPpsTime(json); // const msgProtectionLevel = Convert.toMsgProtectionLevel(json); // const msgReferenceFrameParam = Convert.toMsgReferenceFrameParam(json); @@ -291,6 +293,15 @@ export interface IMUInputType { flags: number; } +export interface MsgAcknowledge { + area_id: number; + correction_mask_on_demand: number; + correction_mask_stream: number; + request_id: number; + response_code: number; + solution_id: number; +} + /** * This message describes the results from an attempted GPS signal acquisition search for a * satellite PRN over a code phase/carrier frequency range. It contains the parameters of @@ -1746,6 +1757,39 @@ export interface MsgPosLLHGnss { v_accuracy: number; } +/** + * This solution message reports the relative pose of a sensor between two time instances. + * The relative pose comprises of a rotation and a translation which relates the sensor + * (e.g. camera) frame at a given time (first keyframe) to the sensor frame at another time + * (second keyframe). The relative translations is a 3x1 vector described in the first + * keyframe. Relative rotation is described by a quaternion from second keyframe to the + * first keyframe. + */ +export interface MsgPoseRelative { + cov_c_x_x: number; + cov_c_x_y: number; + cov_c_x_z: number; + cov_c_y_y: number; + cov_c_y_z: number; + cov_c_z_z: number; + cov_r_x_x: number; + cov_r_x_y: number; + cov_r_x_z: number; + cov_r_y_y: number; + cov_r_y_z: number; + cov_r_z_z: number; + flags: number; + sensor_id: number; + timestamp_1: number; + timestamp_2: number; + tow: number; + trans: number[]; + w: number; + x: number; + y: number; + z: number; +} + /** * The PPS time message contains the value of the sender's local time in microseconds at the * moment a pulse is detected on the PPS input. This is to be used for syncronisation of @@ -2999,6 +3043,14 @@ export class Convert { return JSON.stringify(uncast(value, r("MeasurementState")), null, 2); } + public static toMsgAcknowledge(json: string): MsgAcknowledge { + return cast(JSON.parse(json), r("MsgAcknowledge")); + } + + public static msgAcknowledgeToJson(value: MsgAcknowledge): string { + return JSON.stringify(uncast(value, r("MsgAcknowledge")), null, 2); + } + public static toMsgAcqResult(json: string): MsgAcqResult { return cast(JSON.parse(json), r("MsgAcqResult")); } @@ -3783,6 +3835,14 @@ export class Convert { return JSON.stringify(uncast(value, r("MsgPosLLHGnss")), null, 2); } + public static toMsgPoseRelative(json: string): MsgPoseRelative { + return cast(JSON.parse(json), r("MsgPoseRelative")); + } + + public static msgPoseRelativeToJson(value: MsgPoseRelative): string { + return JSON.stringify(uncast(value, r("MsgPoseRelative")), null, 2); + } + public static toMsgPpsTime(json: string): MsgPpsTime { return cast(JSON.parse(json), r("MsgPpsTime")); } @@ -4667,6 +4727,14 @@ const typeMap: any = { "IMUInputType": o([ { json: "flags", js: "flags", typ: 0 }, ], "any"), + "MsgAcknowledge": o([ + { json: "area_id", js: "area_id", typ: 0 }, + { json: "correction_mask_on_demand", js: "correction_mask_on_demand", typ: 0 }, + { json: "correction_mask_stream", js: "correction_mask_stream", typ: 0 }, + { json: "request_id", js: "request_id", typ: 0 }, + { json: "response_code", js: "response_code", typ: 0 }, + { json: "solution_id", js: "solution_id", typ: 0 }, + ], "any"), "MsgAcqResult": o([ { json: "cf", js: "cf", typ: 3.14 }, { json: "cn0", js: "cn0", typ: 3.14 }, @@ -5457,6 +5525,30 @@ const typeMap: any = { { json: "tow", js: "tow", typ: 0 }, { json: "v_accuracy", js: "v_accuracy", typ: 0 }, ], "any"), + "MsgPoseRelative": o([ + { json: "cov_c_x_x", js: "cov_c_x_x", typ: 3.14 }, + { json: "cov_c_x_y", js: "cov_c_x_y", typ: 3.14 }, + { json: "cov_c_x_z", js: "cov_c_x_z", typ: 3.14 }, + { json: "cov_c_y_y", js: "cov_c_y_y", typ: 3.14 }, + { json: "cov_c_y_z", js: "cov_c_y_z", typ: 3.14 }, + { json: "cov_c_z_z", js: "cov_c_z_z", typ: 3.14 }, + { json: "cov_r_x_x", js: "cov_r_x_x", typ: 3.14 }, + { json: "cov_r_x_y", js: "cov_r_x_y", typ: 3.14 }, + { json: "cov_r_x_z", js: "cov_r_x_z", typ: 3.14 }, + { json: "cov_r_y_y", js: "cov_r_y_y", typ: 3.14 }, + { json: "cov_r_y_z", js: "cov_r_y_z", typ: 3.14 }, + { json: "cov_r_z_z", js: "cov_r_z_z", typ: 3.14 }, + { json: "flags", js: "flags", typ: 0 }, + { json: "sensor_id", js: "sensor_id", typ: 0 }, + { json: "timestamp_1", js: "timestamp_1", typ: 0 }, + { json: "timestamp_2", js: "timestamp_2", typ: 0 }, + { json: "tow", js: "tow", typ: 0 }, + { json: "trans", js: "trans", typ: a(0) }, + { json: "w", js: "w", typ: 0 }, + { json: "x", js: "x", typ: 0 }, + { json: "y", js: "y", typ: 0 }, + { json: "z", js: "z", typ: 0 }, + ], "any"), "MsgPpsTime": o([ { json: "flags", js: "flags", typ: 0 }, { json: "time", js: "time", typ: 0 }, diff --git a/spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml b/spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml new file mode 100644 index 0000000000..4c77470f4a --- /dev/null +++ b/spec/tests/yaml/swiftnav/sbp/integrity/test_MsgAcknowledge.yaml @@ -0,0 +1,27 @@ +description: Unit tests for swiftnav.sbp.integrity MsgAcknowledge +generated_on: '2022-12-11 19:10:30.191414' +package: sbp.integrity +tests: +- msg: + fields: + area_id: 123456 + correction_mask_on_demand: 1 + correction_mask_stream: 1 + request_id: 30 + response_code: 0 + solution_id: 2 + module: sbp.integrity + name: MsgAcknowledge + msg_type: '0xBD2' + raw_json: '{"preamble": 85, "msg_type": 3026, "sender": 42, "length": 11, "payload": + "HkDiAQAAAQABAAI=", "crc": 45654, "request_id": 30, "area_id": 123456, "response_code": + 0, "correction_mask_on_demand": 1, "correction_mask_stream": 1, "solution_id": + 2}' + raw_packet: VdILKgALHkDiAQAAAQABAAJWsg== + sbp: + crc: '0xB256' + length: 11 + msg_type: '0xBD2' + payload: HkDiAQAAAQABAAI= + preamble: '0x55' + sender: '0x2A' diff --git a/spec/yaml/swiftnav/sbp/integrity.yaml b/spec/yaml/swiftnav/sbp/integrity.yaml index 32780a60c9..7b76572e86 100644 --- a/spec/yaml/swiftnav/sbp/integrity.yaml +++ b/spec/yaml/swiftnav/sbp/integrity.yaml @@ -277,3 +277,86 @@ definitions: fill: SvId size_fn: n_faulty_los desc: List of faulty LOS + + - MSG_ACKNOWLEDGE: + id: 0x0BD2 + short_desc: Acknowledgement message in response to a request for corrections + fields: + - request_id: + type: u8 + desc: Echo of the request ID field from the corresponding CRA message, or 255 if no request ID was provided. + - area_id: + type: u32 + desc: Echo of the Area ID field from the corresponding CRA message. + - response_code: + type: u8 + desc: Reported status of the request. + fields: + - 0-7: + desc: Response code + values: + - 0: Ok + - 1: Out of coverage + - 2: Forbidden + - 3: Invalid request + - 4: Invalid area id + - correction_mask_on_demand: + type: u16 + desc: > + Contains the message group(s) that will be sent in response from the corresponding CRA correction mask. + An echo of the correction mask field from the corresponding CRA message. + fields: + - 0: + desc: Public Signing Key + values: + - 0: Not requested + - 1: Requested + - 1: + desc: Low rate messages + values: + - 0: Not requested + - 1: Requested + - 2: + desc: Ephemeris + values: + - 0: Not requested + - 1: Requested + - 3: + desc: Satellite clock + values: + - 0: Not requested + - 1: Requested + - 4: + desc: Satellite orbit + values: + - 0: Not requested + - 1: Requested + - 5: + desc: Satellite code bias + values: + - 0: Not requested + - 1: Requested + - 6: + desc: Satellite phase bias + values: + - 0: Not requested + - 1: Requested + - 7: + desc: Atmospherics + values: + - 0: Not requested + - 1: Requested + - 8: + desc: Integrity + values: + - 0: Not requested + - 1: Requested + - 9-15: + desc: Reserved + + - correction_mask_stream: + type: u16 + desc: For future expansion. Always set to 0. + - solution_id: + type: u8 + desc: The solution ID of the instance providing the corrections.