ǣ#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                             !")Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone)Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone9Calculate CCITT 16-bit Cyclical Redundancy Check (CRC16).##)Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone <Packet structure for Swift Navigation Binary Protocol (SBP).GDefinition of the over-the-wire message framing format and packet structure for Swift Navigation Binary Protocol (SBP), a minimal binary protocol for communicating with Swift devices. It is used to transmit solutions, observations, status and debugging messages, as well as receive messages from the host operating system.4Uniquely identifies the type of the payload contentsyA unique identifier of the sending hardware. For v1.0, set to the 2 least significant bytes of the device serial number Byte-length of the payload fieldBinary data of the message, as identified by Message Type and Length. Usually contains the in-memory binary representation of a C struct (see documentation on individual message types) Cyclic Redundancy Check (CRC) of the packet's binary data from the Message Type up to the end of Payload (does not include the Preamble) ?Denotes the start of frame transmission. For v1.0, always 0x55. KDefault sender ID. Intended for messages sent from the host to the device. UClass of generic representation of specialized SBP messages into SBP message frames. rConvert an SBP message record that is serializable and a two-byte senderID to a binary into an SBP message frame.       )Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone$]Derive ToSBP typeclass, given an SBP message type name and the name of the implemented type.$$$)Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone .SBP class for message MSG_ACQ_RESULT (0x0014).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 signal-to-noise (SNR) ratio.iSNR of best point. Currently dimensonless, but will have units of dB Hz in the revision of this message.Code phase of best pointCarrier frequency of best pointSignal identifier of the satellite signal for which acquisition was attempted - values 0x00 through 0x1F represent GPS PRNs 1 through 32 respectively (PRN-1 notation); other values reserved for future use.!4SBP class for message MSG_ACQ_RESULT_DEP_A (0x0015). Deprecated.#iSNR of best point. Currently dimensonless, but will have units of dB Hz in the revision of this message.$Code phase of best point%Carrier frequency of best point&MPRN-1 identifier of the satellite signal for which acquisition was attempted !"#$%&'()*+,-./012!"#$%&'()*+/012 *)('+!"#$%&,-..210/ !"#$%&'()*+,-./012)Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone 3<SBP class for message MSG_BOOTLOADER_HANDSHAKE_REQ (0x00B3).The handshake message request from the host establishes a handshake between the device bootloader and the host. The response from the device is MSG_BOOTLOADER_HANDSHAKE_RESP.9=SBP class for message MSG_BOOTLOADER_HANDSHAKE_RESP (0x00B4). The handshake message response from the device establishes a handshake between the device bootloader and the host. The request from the host is MSG_BOOTLOADER_HANDSHAKE_REQ. The payload contains the bootloader version number and the SBP protocol version number.;Bootloader flags<Bootloader version numberA:SBP class for message MSG_BOOTLOADER_JUMP_TO_APP (0x00B1).=The host initiates the bootloader to jump to the application.CIgnored by the deviceJ6SBP class for message MSG_NAP_DEVICE_DNA_REQ (0x00DE).ZThe device message from the host reads a unique device identifier from the SwiftNAP, an FPGA. The host requests the ID by sending a MSG_NAP_DEVICE_DNA_REQ message. The device responds with a MSG_NAP_DEVICE_DNA_RESP message with the device ID in the payload. Note that this ID is tied to the FPGA, and not related to the Piksi's serial number.Q7SBP class for message MSG_NAP_DEVICE_DNA_RESP (0x00DD).]The device message from the host reads a unique device identifier from the SwiftNAP, an FPGA. The host requests the ID by sending a MSG_NAP_DEVICE_DNA_REQ message. The device responds with a MSG_NAP_DEVICE_DNA_RESP messagage with the device ID in the payload. Note that this ID is tied to the FPGA, and not related to the Piksi's serial number.SG57-bit SwiftNAP FPGA Device ID. Remaining bits are padded on the right.X>SBP class for message MSG_BOOTLOADER_HANDSHAKE_DEP_A (0x00B0). Deprecated.Z+Version number string (not NULL terminated).3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`3459:;<=ABCDEFJKLMQRSTXYZ[\`45346788=9:;<>?@@EDFABCGHIILMJKNOPPTQRSUVWW[\XYZ]^__`#3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`)Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNonea-SBP class for message MSG_EXT_EVENT (0x0101).yReports detection of an external event, the GPS time it occurred, which pin it was and whether it was rising or falling.cGPS week numberd3GPS time of week rounded to the nearest millisecondeONanosecond residual of millisecond-rounded TOW (ranges from -500000 to 500000)fFlagsgPin number. 0..9 = DEBUG0..9.abcdefghijklmnop abcdefghlmnophabcdefgijkkponml abcdefghijklmnop)Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNoneq3SBP class for message MSG_FILEIO_READ_REQ (0x00A8).The file read message reads a certain length (up to 255 bytes) from a given offset into a file, and returns the data in a MSG_FILEIO_READ_RESP message where the message length field indicates how many bytes were succesfully read.The sequence number in the request will be returned in the response. If the message is invalid, a followup MSG_PRINT message will print "Invalid fileio read message". A device will only respond to this message when it is received from sender ID 0x42.sRead sequence numbert File offsetuChunk size to readvName of the file to read from{4SBP class for message MSG_FILEIO_READ_RESP (0x00A3).The file read message reads a certain length (up to 255 bytes) from a given offset into a file, and returns the data in a message where the message length field indicates how many bytes were succesfully read. The sequence number in the response is preserved from the request.}Read sequence number~Contents of read file7SBP class for message MSG_FILEIO_READ_DIR_REQ (0x00A9).MThe read directory message lists the files in a directory on the device's onboard flash file system. The offset parameter can be used to skip the first n elements of the file list. Returns a MSG_FILEIO_READ_DIR_RESP message containing the directory listings as a NULL delimited list. The listing is chunked over multiple SBP packets. The sequence number in the request will be returned in the response. If message is invalid, a followup MSG_PRINT message will print "Invalid fileio read message". A device will only respond to this message when it is received from sender ID 0x42.Read sequence number8The offset to skip the first n elements of the file listName of the directory to list8SBP class for message MSG_FILEIO_READ_DIR_RESP (0x00AA).tThe read directory message lists the files in a directory on the device's onboard flash file system. Message contains the directory listings as a NULL delimited list. The listing is chunked over multiple SBP packets and the end of the list is identified by an entry containing just the character 0xFF. The sequence number in the response is preserved from the request.Read sequence numberContents of read directory1SBP class for message MSG_FILEIO_REMOVE (0x00AC).The file remove message deletes a file from the file system. If the message is invalid, a followup MSG_PRINT message will print "Invalid fileio remove message". A device will only process this message when it is received from sender ID 0x42.Name of the file to delete4SBP class for message MSG_FILEIO_WRITE_REQ (0x00AD).The file write message writes a certain length (up to 255 bytes) of data to a file at a given offset. Returns a copy of the original MSG_FILEIO_WRITE_RESP message to check integrity of the write. The sequence number in the request will be returned in the response. If message is invalid, a followup MSG_PRINT message will print "Invalid fileio write message". A device will only process this message when it is received from sender ID 0x42.Write sequence number7Offset into the file at which to start writing in bytesName of the file to write to&Variable-length array of data to write5SBP class for message MSG_FILEIO_WRITE_RESP (0x00AB).The file write message writes a certain length (up to 255 bytes) of data to a file at a given offset. The message is a copy of the original MSG_FILEIO_WRITE_REQ message to check integrity of the write. The sequence number in the response is preserved from the request.Write sequence numberLqrstuvwxyz{|}~7qrstuvw{|}~Swqrstuvxyzz{|}~4qrstuvwxyz{|}~)Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone1SBP class for message MSG_FLASH_PROGRAM (0x00E6).bThe flash program message programs a set of addresses of either the STM or M25 flash. The device replies with either a MSG_FLASH_DONE message containing the return code FLASH_OK (0) on success, or FLASH_INVALID_LEN (2) if the maximum write size is exceeded. Note that the sector-containing addresses must be erased before addresses can be programmed. Target flags"Starting address offset to programHLength of set of addresses to program, counting up from starting address6Data to program addresses with, with length N=addr_len.SBP class for message MSG_FLASH_DONE (0x00E0).This message defines success or failure codes for a variety of flash memory requests from the host to the device. Flash read and write messages, such as MSG_FLASH_READ_REQ, or MSG_FLASH_PROGRAM, may return this message on failure.Response flags2SBP class for message MSG_FLASH_READ_REQ (0x00E7).yThe flash read message reads a set of addresses of either the STM or M25 onboard flash. The device replies with a MSG_FLASH_READ_RESP message containing either the read data on success or a MSG_FLASH_DONE message containing the return code FLASH_INVALID_LEN (2) if the maximum read size is exceeded or FLASH_INVALID_ADDR (3) if the address is outside of the allowed range. Target flags$Starting address offset to read fromELength of set of addresses to read, counting up from starting address3SBP class for message MSG_FLASH_READ_RESP (0x00E1).yThe flash read message reads a set of addresses of either the STM or M25 onboard flash. The device replies with a MSG_FLASH_READ_RESP message containing either the read data on success or a MSG_FLASH_DONE message containing the return code FLASH_INVALID_LEN (2) if the maximum read size is exceeded or FLASH_INVALID_ADDR (3) if the address is outside of the allowed range. Target flags$Starting address offset to read fromELength of set of addresses to read, counting up from starting address/SBP class for message MSG_FLASH_ERASE (0x00E2).The flash erase message from the host erases a sector of either the STM or M25 onboard flash memory. The device will reply with a MSG_FLASH_DONE message containing the return code - FLASH_OK (0) on success or FLASH_INVALID_FLASH (1) if the flash specified is invalid. Target flagsAFlash sector number to erase (0-11 for the STM, 0-15 for the M25)9SBP class for message MSG_STM_FLASH_LOCK_SECTOR (0x00E3).qThe flash lock message locks a sector of the STM flash memory. The device replies with a MSG_FLASH_DONE message.Flash sector number to lock;SBP class for message MSG_STM_FLASH_UNLOCK_SECTOR (0x00E4).uThe flash unlock message unlocks a sector of the STM flash memory. The device replies with a MSG_FLASH_DONE message.Flash sector number to unlock5SBP class for message MSG_STM_UNIQUE_ID_REQ (0x00E8).This message reads the device's hardcoded unique ID. The host requests the ID by sending a MSG_STM_UNIQUE_ID_REQ. The device responds with a MSG_STM_UNIQUE_ID_RESP with the 12-byte unique ID in the payload. 6SBP class for message MSG_STM_UNIQUE_ID_RESP (0x00E5).This message reads the device's hardcoded unique ID. The host requests the ID by sending a MSG_STM_UNIQUE_ID_REQ. The device responds with a MSG_STM_UNIQUE_ID_RESP with the 12-byte unique ID in the payload.. Device unique ID:SBP class for message MSG_M25_FLASH_WRITE_STATUS (0x00F3).zThe flash status message writes to the 8-bit M25 flash status register. The device replies with a MSG_FLASH_DONE message..Byte to write to the M25 flash status register^     @   h      C      )Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone'SBP class for message MSG_LOG (0x0401).This message contains a human-readable payload string from the device containing errors, warnings and informational messages at ERROR, WARNING, DEBUG, INFO logging levels. Logging levelHuman-readable string#)SBP class for message MSG_TWEET (0x0012).All the news fit to tweet.%Human-readable string,-SBP class for message MSG_PRINT_DEP (0x0010). Deprecated..Human-readable string !"#$%&'()*+,-./01234#$%&'(,-./04 !""'&(#$%)*++/0,-.12334 !"#$%&'()*+,-./01234 )Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNoneD5,SBP class for message MSG_GPS_TIME (0x0100).This message reports the GPS time, representing the time since the GPS epoch began on midnight January 6, 1980 UTC. GPS time counts the weeks and seconds of the week. The weeks begin at the Saturday/Sunday transition. GPS week 0 began at the beginning of the GPS time scale. Within each week number, the GPS time of the week is between between 0 and 604800 seconds (=60*60*24*7). Note that GPS time does not accumulate leap seconds, and as of now, has a small offset from UTC. In a message stream, this message precedes a set of other navigation messages referenced to the same time (but lacking the ns field) and indicates a more precise time of these messages.7GPS week number83GPS time of week rounded to the nearest millisecond9ONanosecond residual of millisecond-rounded TOW (ranges from -500000 to 500000):Status flags (reserved)?(SBP class for message MSG_DOPS (0x0206).This dilution of precision (DOP) message describes the effect of navigation satellite geometry on positional measurement precision.AGPS Time of WeekBGeometric Dilution of PrecisionCPosition Dilution of PrecisionDTime Dilution of PrecisionE Horizontal Dilution of PrecisionFVertical Dilution of PrecisionO,SBP class for message MSG_POS_ECEF (0x0200).The position solution message reports absolute Earth Centered Earth Fixed (ECEF) coordinates and the status (single point vs pseudo-absolute RTK) of the position solution. If the rover receiver knows the surveyed position of the base station and has an RTK solution, this reports a pseudo-absolute position solution using the base station position and the rover's RTK baseline vector. The full GPS time is given by the preceding MSG_GPS_TIME with the matching time-of-week (tow).QGPS Time of WeekRECEF X coordinateSECEF Y coordinateTECEF Z coordinateU<Position accuracy estimate (not implemented). Defaults to 0.V%Number of satellites used in solutionW Status flagsb+SBP class for message MSG_POS_LLH (0x0201).This position solution message reports the absolute geodetic coordinates and the status (single point vs pseudo-absolute RTK) of the position solution. If the rover receiver knows the surveyed position of the base station and has an RTK solution, this reports a pseudo-absolute position solution using the base station position and the rover's RTK baseline vector. The full GPS time is given by the preceding MSG_GPS_TIME with the matching time-of-week (tow).dGPS Time of WeekeLatitudef LongitudegHeighthGHorizontal position accuracy estimate (not implemented). Defaults to 0.iEVertical position accuracy estimate (not implemented). Defaults to 0.j&Number of satellites used in solution.k Status flagsw1SBP class for message MSG_BASELINE_ECEF (0x0202).This message reports the baseline solution in Earth Centered Earth Fixed (ECEF) coordinates. This baseline is the relative vector distance from the base station to the rover receiver. The full GPS time is given by the preceding MSG_GPS_TIME with the matching time-of-week (tow).yGPS Time of WeekzBaseline ECEF X coordinate{Baseline ECEF Y coordinate|Baseline ECEF Z coordinate}<Position accuracy estimate (not implemented). Defaults to 0.~%Number of satellites used in solution Status flags0SBP class for message MSG_BASELINE_NED (0x0203).wThis message reports the baseline solution in North East Down (NED) coordinates. This baseline is the relative vector distance from the base station to the rover receiver, and NED coordinate system is defined at the local tangent plane centered at the base station position. The full GPS time is given by the preceding MSG_GPS_TIME with the matching time-of-week (tow).GPS Time of WeekBaseline North coordinateBaseline East coordinateBaseline Down coordinateGHorizontal position accuracy estimate (not implemented). Defaults to 0.EVertical position accuracy estimate (not implemented). Defaults to 0.%Number of satellites used in solution Status flags,SBP class for message MSG_VEL_ECEF (0x0204).This message reports the velocity in Earth Centered Earth Fixed (ECEF) coordinates. The full GPS time is given by the preceding MSG_GPS_TIME with the matching time-of-week (tow).GPS Time of WeekVelocity ECEF X coordinateVelocity ECEF Y coordinateVelocity ECEF Z coordinate<Velocity accuracy estimate (not implemented). Defaults to 0.%Number of satellites used in solutionStatus flags (reserved)+SBP class for message MSG_VEL_NED (0x0205).This message reports the velocity in local North East Down (NED) coordinates. The full GPS time is given by the preceding MSG_GPS_TIME with the matching time-of-week (tow).GPS Time of WeekVelocity North coordinateVelocity East coordinateVelocity Down coordinateGHorizontal velocity accuracy estimate (not implemented). Defaults to 0.EVertical velocity accuracy estimate (not implemented). Defaults to 0.%Number of satellites used in solutionStatus flags (reserved)4SBP class for message MSG_BASELINE_HEADING (0x0207).This message reports the baseline heading pointing from the base station to the rover relative to North. The full GPS time is given by the preceding MSG_GPS_TIME with the matching time-of-week (tow).GPS Time of WeekHeading%Number of satellites used in solution Status flags56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~56789:;?@ABCDEFGHIJKOPQRSTUVWXYZ[\]^bcdefghijklmnopqrswxyz{|}~;56789:<=>>JIHGK?@ABCDEFLMNN]\[ZYX^OPQRSTUVW_`aarqponmlsbcdefghijktuvvwxyz{|}~h56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab cdefghijklmnopqrstuvwxyz{|}~   )Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNonet ObsGPSTime.A wire-appropriate GPS time, defined as the number of milliseconds since beginning of the week on the Saturday/Sunday transition.$Milliseconds since start of GPS weekGPS week number CarrierPhase.Carrier phase measurement in cycles represented as a 40-bit fixed point number with Q32.8 layout, i.e. 32-bits of whole cycles and 8-bits of fractional cycles.Carrier phase whole cyclesCarrier phase fractional partObservationHeader.$Header of a GPS observation message.GPS time of this observationTotal number of observations. First nibble is the size of the sequence (n), second nibble is the zero-indexed counter (ith packet of n)PackedObsContent.HPseudorange and carrier phase observation for a satellite being tracked.Pseudorange observationCarrier phase observationCarrier-to-Noise densityLock indicator. This value changes whenever a satellite signal has lost and regained lock, indicating that the carrier phase ambiguity may have changed.Signal identifier of the satellite signal - values 0x00 through 0x1F represent GPS PRNs 1 through 32 respectively (PRN-1 notation); other values reserved for future use.'SBP class for message MSG_OBS (0x0043).-The GPS observations message reports all the raw pseudorange and carrier phase observations for the satellites being tracked by the device. Carrier phase observation here is represented as a 40-bit fixed point number with Q32.8 layout (i.e. 32-bits of whole cycles and 8-bits of fractional cycles).#Header of a GPS observation messageHPseudorange and carrier phase observation for a satellite being tracked.,SBP class for message MSG_BASE_POS (0x0044).%The base station position message is the position reported by the base station itself. It is used for pseudo-absolute RTK positioning, and is required to be a high-accuracy surveyed location of the base station. Any error here will result in an error in the pseudo-absolute position output.Latitude LongitudeHeight-SBP class for message MSG_EPHEMERIS (0x0047).The ephemeris message returns a set of satellite orbit parameters that is used to calculate GPS satellite position, velocity, and clock offset. Please see the Navstar GPS Space Segment/Navigation user interfaces (ICD-GPS-200, Table 20-III) for more details.*Group delay differential between L1 and L2BAmplitude of the sine harmonic correction term to the orbit radiusDAmplitude of the cosine harmonic correction term to the orbit radiusMAmplitude of the cosine harmonic correction term to the argument of latitude KAmplitude of the sine harmonic correction term to the argument of latitude!MAmplitude of the cosine harmonic correction term to the angle of inclination"KAmplitude of the sine harmonic correction term to the angle of inclination#Mean motion difference$Mean anomaly at reference time%Eccentricity of satellite orbit&+Square root of the semi-major axis of orbit':Longitude of ascending node of orbit plane at weekly epoch(Rate of right ascension)Argument of perigee* Inclination+Inclination first derivative,4Polynomial clock correction coefficient (clock bias)-5Polynomial clock correction coefficient (clock drift).=Polynomial clock correction coefficient (rate of clock drift)/ Time of week0 Week number1Clock reference time of week2Clock reference week number3 Is valid?4Satellite is healthy?5Signal identifier being tracked - values 0x00 through 0x1F represent GPS PRNs 1 through 32 respectively (PRN-1 notation); other values reserved for future use6Issue of ephemeris data7Issue of clock data8Reserved field@3SBP class for message MSG_EPHEMERIS_DEP_A (0x001A). Deprecated.B*Group delay differential between L1 and L2CBAmplitude of the sine harmonic correction term to the orbit radiusDDAmplitude of the cosine harmonic correction term to the orbit radiusEMAmplitude of the cosine harmonic correction term to the argument of latitudeFKAmplitude of the sine harmonic correction term to the argument of latitudeGMAmplitude of the cosine harmonic correction term to the angle of inclinationHKAmplitude of the sine harmonic correction term to the angle of inclinationIMean motion differenceJMean anomaly at reference timeKEccentricity of satellite orbitL+Square root of the semi-major axis of orbitM:Longitude of ascending node of orbit plane at weekly epochNRate of right ascensionOArgument of perigeeP InclinationQInclination first derivativeR4Polynomial clock correction coefficient (clock bias)S5Polynomial clock correction coefficient (clock drift)T=Polynomial clock correction coefficient (rate of clock drift)U Time of weekV Week numberWClock reference time of weekXClock reference week numberY Is valid?ZSatellite is healthy?[PRN being tracked}3SBP class for message MSG_EPHEMERIS_DEP_B (0x0046). Deprecated.*Group delay differential between L1 and L2BAmplitude of the sine harmonic correction term to the orbit radiusDAmplitude of the cosine harmonic correction term to the orbit radiusMAmplitude of the cosine harmonic correction term to the argument of latitudeKAmplitude of the sine harmonic correction term to the argument of latitudeMAmplitude of the cosine harmonic correction term to the angle of inclinationKAmplitude of the sine harmonic correction term to the angle of inclinationMean motion differenceMean anomaly at reference timeEccentricity of satellite orbit+Square root of the semi-major axis of orbit:Longitude of ascending node of orbit plane at weekly epochRate of right ascensionArgument of perigee InclinationInclination first derivative4Polynomial clock correction coefficient (clock bias)5Polynomial clock correction coefficient (clock drift)=Polynomial clock correction coefficient (rate of clock drift) Time of week Week numberClock reference time of weekClock reference week number Is valid?Satellite is healthy?PRN being trackedIssue of ephemeris dataPackedObsContentDepA. Deprecated.Pseudorange observationCarrier phase observationCarrier-to-Noise densityLock indicator. This value changes whenever a satellite signal has lost and regained lock, indicating that the carrier phase ambiguity may have changed.(PRN-1 identifier of the satellite signal-SBP class for message MSG_OBS_DEP_A (0x0045). Deprecated.#Header of a GPS observation messageHPseudorange and carrier phase observation for a satellite being tracked.       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    !"#$%&'()*+,-./0123456789:;<@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy}~     ;:9< !"#$%&'()*+,-./012345678=>??xwvutsrqponmlkjihgfedcba`_^]\y@ABCDEFGHIJKLMNOPQRSTUVWXYZ[z{||}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ )Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone"+SBP class for message MSG_ALMANAC (0x0069).sThis is a legacy message for sending and loading a satellite alamanac onto the Piksi's flash memory from the host.,SBP class for message MSG_SET_TIME (0x0068).]This message sets up timing functionality using a coarse GPS time estimate sent by the host.)SBP class for message MSG_RESET (0x00B2).EThis message from the host resets the Piksi back into the bootloader..SBP class for message MSG_CW_RESULTS (0x00C0).This is an unused legacy message for result reporting from the CW interference channel on the SwiftNAP. This message will be removed in a future release.,SBP class for message MSG_CW_START (0x00C1).This is an unused legacy message from those host for starting the CW interference channel on the SwiftNAP. This message will be removed in a future release. 1SBP class for message MSG_RESET_FILTERS (0x0022).cThis message resets either the DGNSS Kalman filters or Integer Ambiguity Resolution (IAR) process.  Filter flags-SBP class for message MSG_INIT_BASE (0x0023).This message initializes the integer ambiguity resolution (IAR) process on the Piksi to use an assumed baseline position between the base station and rover receivers. Warns via MSG_PRINT if there aren't a shared minimum number (4) of satellite observations between the two.0SBP class for message MSG_THREAD_STATE (0x0017).The thread usage message from the device reports real-time operating system (RTOS) thread usage statistics for the named thread. The reported percentage values require to be normalized.Thread name (NULL terminated)cPercentage cpu use for this thread. Values range from 0 - 1000 and needs to be renormalized to 100 Free stack space for this thread  UARTChannel.Throughput, utilization, and error counts on the RX/TX buffers of this UART channel. The reported percentage values require to be normalized."UART transmit throughput#UART receive throughput$UART CRC error count%UART IO error count&AUART transmit buffer percentage utilization (ranges from 0 - 255)'AUART receive buffer percentage utilization (ranges from 0 to 255)-Latency.Statistics on the latency of observations received from the base station. As observation packets are received their GPS time is compared to the current GPS time calculated locally by the receiver to give a precise measurement of the end-to-end communication latency in the system./Average latency0Minimum latency1Maximum latency2(Smoothed estimate of the current latency;.SBP class for message MSG_UART_STATE (0x0018).?The UART message reports data latency and throughput of the UART channels providing SBP I/O. On the default Piksi configuration, UARTs A and B are used for telemetry radios, but can also be host access ports for embedded hosts, or other interfaces in future. The reported percentage values require to be normalized.=State of UART A>State of UART B?State of UART FTDI (USB logger)@UART communication latencyI-SBP class for message MSG_IAR_STATE (0x0019).This message reports the state of the Integer Ambiguity Resolution (IAR) process, which resolves unknown integer ambiguities from double-differenced carrier-phase measurements from satellite observations.K0Number of integer ambiguity hypotheses remainingT2SBP class for message MSG_MASK_SATELLITE (0x001B).rThis message allows setting a mask to prevent a particular satellite from being used in various Piksi subsystems.V2Mask of systems that should ignore this satellite.W/Signal identifier for which the mask is appliedt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^O     !"#$%&'()*-./012345678;<=>?@ABCDEIJKLMNOPTUVWXY]^     *)( !"#$%&'+,,876543-./0129::DCBAE;<=>?@FGHHONMLPIJKQRSSXYTUVWZ[\\^]R      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ )Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone _1SBP class for message MSG_SETTINGS_SAVE (0x00A1).xThe save settings message persists the device's current settings configuration to its onboard flash memory file system.e2SBP class for message MSG_SETTINGS_WRITE (0x00A0).4The setting message writes the device configuration.gA NULL-terminated and delimited string with contents [SECTION_SETTING, SETTING, VALUE]. A device will only process to this message when it is received from sender ID 0x42.l5SBP class for message MSG_SETTINGS_READ_REQ (0x00A4).4The setting message reads the devices configuration.nA NULL-terminated and delimited string with contents [SECTION_SETTING, SETTING]. A device will only respond to this message when it is received from sender ID 0x42.t6SBP class for message MSG_SETTINGS_READ_RESP (0x00A5).4The setting message reads the devices configuration.vXA NULL-terminated and delimited string with contents [SECTION_SETTING, SETTING, VALUE].|>SBP class for message MSG_SETTINGS_READ_BY_INDEX_REQ (0x00A2).The settings message for iterating through the settings values. It will read the setting at an index, returning a NULL-terminated and delimited string with contents [SECTION_SETTING, SETTING, VALUE]. A device will only respond to this message when it is received from sender ID 0x42.~RAn index into the device settings, with values ranging from 0 to length(settings)?SBP class for message MSG_SETTINGS_READ_BY_INDEX_RESP (0x00A7).The settings message for iterating through the settings values. It will read the setting at an index, returning a NULL-terminated and delimited string with contents [SECTION_SETTING, SETTING, VALUE].RAn index into the device settings, with values ranging from 0 to length(settings)XA NULL-terminated and delimited string with contents [SECTION_SETTING, SETTING, VALUE].?SBP class for message MSG_SETTINGS_READ_BY_INDEX_DONE (0x00A6).?The settings message for indicating end of the settings values.6_`abcdefghijklmnopqrstuvwxyz{|}~!_`aefghlmnoptuvwx|}~=a_`bcddhefgijkkoplmnqrsswxtuvyz{{|}~)_`abcdefghijklmnopqrstuvwxyz{|}~)Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone+SBP class for message MSG_STARTUP (0xFF00).The system start-up message is sent once on system start-up. It notifies the host or other attached devices that the system has started and is now ready to respond to commands or configuration requests.Reserved-SBP class for message MSG_HEARTBEAT (0xFFFF).The heartbeat message is sent periodically to inform the host or other attached devices that the system is running. It is used to monitor system malfunctions. It also contains status flags that indicate to the host the status of the system and whether it is operating correctly. Currently, the expected heartbeat interval is 1 sec. The system error flag is used to indicate that an error has occurred in the system. To determine the source of the error, the remaining error flags should be inspected. Status flags  )Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNoneTrackingChannelState.OTracking channel state for a specific satellite PRN and measured signal power.Status of tracking channelSignal identifier being tracked - values 0x00 through 0x1F represent GPS PRNs 1 through 32 respectively (PRN-1 notation); other values reserved for future useCarrier-to-noise density2SBP class for message MSG_TRACKING_STATE (0x0013).The tracking message returns a variable-length array of tracking channel states. It reports status and snr power measurements for all tracked satellites. Satellite tracking channel stateTrackingChannelCorrelation.DStructure containing in-phase and quadrature correlation components.In-phase correlationQuadrature correlation/SBP class for message MSG_TRACKING_IQ (0x001C).VWhen enabled, a tracking channel can output the correlations at each update interval.Tracking channel of originSignal identifier being tracked - values 0x00 through 0x1F represent GPS PRNs 1 through 32 respectively (PRN-1 notation); other values reserved for future use#Early, Prompt and Late correlationsTrackingChannelStateDepA. Deprecated.Status of tracking channelPRN-1 being trackedCarrier-to-noise density8SBP class for message MSG_TRACKING_STATE_DEP_A (0x0016). Deprecated. Satellite tracking channel state8)>%)Copyright (C) 2015 Swift Navigation, Inc.LGPL-3Mark Fine <dev@swiftnav.com> experimentalportableNone8An SBP message ADT composed of all defined SBP messages.Includes SBPMsgUnknown for valid SBP messages with undefined message types and SBPMsgBadCRC for SBP messages with invalid CRC checksums.J      !"%&'(@ !"#$%&'()*+/0123459:;<=ABCDEFJKLMQRSTXYZ[\`abcdefghlmnopqrstuvw{|}~   #$%&'(,-./0456789:;?@ABCDEFGHIJKOPQRSTUVWXYZ[\]^bcdefghijklmnopqrswxyz{|}~    !"#$%&'()*+,-./0123456789:;<@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy}~     !"#$%&'()*-./012345678;<=>?@ABCDEIJKLMNOPTUVWXY]^_`aefghlmnoptuvwx|}~      !"F      !"E      !"%&'() !"#$%&'(()*+,-./01123456789:;<=>?@ABBCDEFGGHIJKLMNNOPQRSTUVVWXYZ[\\]^_`abbcdefghijjklmnopqrstuvwxyyz{|}~                        ! ! " # $ % & ' ( ) ) * + , - . / 0 1 2 2 3 4 5 6 7 8 9 : ; < = > ? @ A A B C D E F G H I J K L M N O P Q R S S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g g h i j k l m n o p q r s t u v w x y z { { | } ~                                                                                                                                                                             ! " # $ $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                                 ! " # $ % & ' ( ( ) * + , - . / 0 1 2 2 3 4 5 6 7 7 8 9 : ; < = = > ? @ A B C D D E F G H I J K K L M N O P Q R R S T U V W X Y Z Z [ \ ] ^ _ `aabcdefgghijklmnoopqrstuuvwxyz{|}~~sbp_72Y1IrP8Vt88QJx3VzEY56SwiftNav.SBP.EncodingSwiftNav.CRC16SwiftNav.SBP.TypesSwiftNav.SBP.AcquisitionSwiftNav.SBP.BootloadSwiftNav.SBP.ExtEventsSwiftNav.SBP.FileIoSwiftNav.SBP.FlashSwiftNav.SBP.LoggingSwiftNav.SBP.NavigationSwiftNav.SBP.ObservationSwiftNav.SBP.PiksiSwiftNav.SBP.SettingsSwiftNav.SBP.SystemSwiftNav.SBP.Tracking SwiftNav.SBPSwiftNav.SBP.TH$fFromJSONByteString$fToJSONByteStringcrc16Msg _msgSBPType _msgSBPSender _msgSBPLen_msgSBPPayload _msgSBPCrcmsgSBPPreamble defaultSenderToSBPtoSBP msgSBPCrc msgSBPLen msgSBPPayload msgSBPSender msgSBPTypecheckCrc $fToJSONMsg $fFromJSONMsg $fBinaryMsg MsgAcqResult_msgAcqResult_snr_msgAcqResult_cp_msgAcqResult_cf_msgAcqResult_sid msgAcqResult$fBinaryMsgAcqResult$fToSBPMsgAcqResult$fFromJSONMsgAcqResultMsgAcqResultDepA_msgAcqResultDepA_snr_msgAcqResultDepA_cp_msgAcqResultDepA_cf_msgAcqResultDepA_prnmsgAcqResult_cfmsgAcqResult_cpmsgAcqResult_sidmsgAcqResult_snrmsgAcqResultDepA$fBinaryMsgAcqResultDepA$fToSBPMsgAcqResultDepA$fFromJSONMsgAcqResultDepAmsgAcqResultDepA_cfmsgAcqResultDepA_cpmsgAcqResultDepA_prnmsgAcqResultDepA_snrMsgBootloaderHandshakeReqmsgBootloaderHandshakeReq!$fBinaryMsgBootloaderHandshakeReq $fToSBPMsgBootloaderHandshakeReq#$fFromJSONMsgBootloaderHandshakeReqMsgBootloaderHandshakeResp!_msgBootloaderHandshakeResp_flags#_msgBootloaderHandshakeResp_versionmsgBootloaderHandshakeResp"$fBinaryMsgBootloaderHandshakeResp!$fToSBPMsgBootloaderHandshakeResp$$fFromJSONMsgBootloaderHandshakeRespMsgBootloaderJumpToApp_msgBootloaderJumpToApp_jump msgBootloaderHandshakeResp_flags"msgBootloaderHandshakeResp_versionmsgBootloaderJumpToApp$fBinaryMsgBootloaderJumpToApp$fToSBPMsgBootloaderJumpToApp $fFromJSONMsgBootloaderJumpToAppMsgNapDeviceDnaReqmsgBootloaderJumpToApp_jumpmsgNapDeviceDnaReq$fBinaryMsgNapDeviceDnaReq$fToSBPMsgNapDeviceDnaReq$fFromJSONMsgNapDeviceDnaReqMsgNapDeviceDnaResp_msgNapDeviceDnaResp_dnamsgNapDeviceDnaResp$fBinaryMsgNapDeviceDnaResp$fToSBPMsgNapDeviceDnaResp$fFromJSONMsgNapDeviceDnaRespMsgBootloaderHandshakeDepA%_msgBootloaderHandshakeDepA_handshakemsgNapDeviceDnaResp_dnamsgBootloaderHandshakeDepA"$fBinaryMsgBootloaderHandshakeDepA!$fToSBPMsgBootloaderHandshakeDepA$$fFromJSONMsgBootloaderHandshakeDepA$msgBootloaderHandshakeDepA_handshake MsgExtEvent_msgExtEvent_wn_msgExtEvent_tow_msgExtEvent_ns_msgExtEvent_flags_msgExtEvent_pin msgExtEvent$fBinaryMsgExtEvent$fToSBPMsgExtEvent$fFromJSONMsgExtEventmsgExtEvent_flagsmsgExtEvent_nsmsgExtEvent_pinmsgExtEvent_towmsgExtEvent_wnMsgFileioReadReq_msgFileioReadReq_sequence_msgFileioReadReq_offset_msgFileioReadReq_chunk_size_msgFileioReadReq_filenamemsgFileioReadReq$fBinaryMsgFileioReadReq$fToSBPMsgFileioReadReq$fFromJSONMsgFileioReadReqMsgFileioReadResp_msgFileioReadResp_sequence_msgFileioReadResp_contentsmsgFileioReadReq_chunk_sizemsgFileioReadReq_filenamemsgFileioReadReq_offsetmsgFileioReadReq_sequencemsgFileioReadResp$fBinaryMsgFileioReadResp$fToSBPMsgFileioReadResp$fFromJSONMsgFileioReadRespMsgFileioReadDirReq_msgFileioReadDirReq_sequence_msgFileioReadDirReq_offset_msgFileioReadDirReq_dirnamemsgFileioReadResp_contentsmsgFileioReadResp_sequencemsgFileioReadDirReq$fBinaryMsgFileioReadDirReq$fToSBPMsgFileioReadDirReq$fFromJSONMsgFileioReadDirReqMsgFileioReadDirResp_msgFileioReadDirResp_sequence_msgFileioReadDirResp_contentsmsgFileioReadDirReq_dirnamemsgFileioReadDirReq_offsetmsgFileioReadDirReq_sequencemsgFileioReadDirResp$fBinaryMsgFileioReadDirResp$fToSBPMsgFileioReadDirResp$fFromJSONMsgFileioReadDirRespMsgFileioRemove_msgFileioRemove_filenamemsgFileioReadDirResp_contentsmsgFileioReadDirResp_sequencemsgFileioRemove$fBinaryMsgFileioRemove$fToSBPMsgFileioRemove$fFromJSONMsgFileioRemoveMsgFileioWriteReq_msgFileioWriteReq_sequence_msgFileioWriteReq_offset_msgFileioWriteReq_filename_msgFileioWriteReq_datamsgFileioRemove_filenamemsgFileioWriteReq$fBinaryMsgFileioWriteReq$fToSBPMsgFileioWriteReq$fFromJSONMsgFileioWriteReqMsgFileioWriteResp_msgFileioWriteResp_sequencemsgFileioWriteReq_datamsgFileioWriteReq_filenamemsgFileioWriteReq_offsetmsgFileioWriteReq_sequencemsgFileioWriteResp$fBinaryMsgFileioWriteResp$fToSBPMsgFileioWriteResp$fFromJSONMsgFileioWriteRespmsgFileioWriteResp_sequenceMsgFlashProgram_msgFlashProgram_target_msgFlashProgram_addr_start_msgFlashProgram_addr_len_msgFlashProgram_datamsgFlashProgram$fBinaryMsgFlashProgram$fToSBPMsgFlashProgram$fFromJSONMsgFlashProgram MsgFlashDone_msgFlashDone_responsemsgFlashProgram_addr_lenmsgFlashProgram_addr_startmsgFlashProgram_datamsgFlashProgram_target msgFlashDone$fBinaryMsgFlashDone$fToSBPMsgFlashDone$fFromJSONMsgFlashDoneMsgFlashReadReq_msgFlashReadReq_target_msgFlashReadReq_addr_start_msgFlashReadReq_addr_lenmsgFlashDone_responsemsgFlashReadReq$fBinaryMsgFlashReadReq$fToSBPMsgFlashReadReq$fFromJSONMsgFlashReadReqMsgFlashReadResp_msgFlashReadResp_target_msgFlashReadResp_addr_start_msgFlashReadResp_addr_lenmsgFlashReadReq_addr_lenmsgFlashReadReq_addr_startmsgFlashReadReq_targetmsgFlashReadResp$fBinaryMsgFlashReadResp$fToSBPMsgFlashReadResp$fFromJSONMsgFlashReadResp MsgFlashErase_msgFlashErase_target_msgFlashErase_sector_nummsgFlashReadResp_addr_lenmsgFlashReadResp_addr_startmsgFlashReadResp_target msgFlashErase$fBinaryMsgFlashErase$fToSBPMsgFlashErase$fFromJSONMsgFlashEraseMsgStmFlashLockSector_msgStmFlashLockSector_sectormsgFlashErase_sector_nummsgFlashErase_targetmsgStmFlashLockSector$fBinaryMsgStmFlashLockSector$fToSBPMsgStmFlashLockSector$fFromJSONMsgStmFlashLockSectorMsgStmFlashUnlockSector_msgStmFlashUnlockSector_sectormsgStmFlashLockSector_sectormsgStmFlashUnlockSector$fBinaryMsgStmFlashUnlockSector$fToSBPMsgStmFlashUnlockSector!$fFromJSONMsgStmFlashUnlockSectorMsgStmUniqueIdReqmsgStmFlashUnlockSector_sectormsgStmUniqueIdReq$fBinaryMsgStmUniqueIdReq$fToSBPMsgStmUniqueIdReq$fFromJSONMsgStmUniqueIdReqMsgStmUniqueIdResp_msgStmUniqueIdResp_stm_idmsgStmUniqueIdResp$fBinaryMsgStmUniqueIdResp$fToSBPMsgStmUniqueIdResp$fFromJSONMsgStmUniqueIdRespMsgM25FlashWriteStatus_msgM25FlashWriteStatus_statusmsgStmUniqueIdResp_stm_idmsgM25FlashWriteStatus$fBinaryMsgM25FlashWriteStatus$fToSBPMsgM25FlashWriteStatus $fFromJSONMsgM25FlashWriteStatusmsgM25FlashWriteStatus_statusMsgLog _msgLog_level _msgLog_textmsgLog$fBinaryMsgLog $fToSBPMsgLog$fFromJSONMsgLogMsgTweet_msgTweet_tweet msgLog_level msgLog_textmsgTweet$fBinaryMsgTweet$fToSBPMsgTweet$fFromJSONMsgTweet MsgPrintDep_msgPrintDep_textmsgTweet_tweet msgPrintDep$fBinaryMsgPrintDep$fToSBPMsgPrintDep$fFromJSONMsgPrintDepmsgPrintDep_text MsgGpsTime_msgGpsTime_wn_msgGpsTime_tow_msgGpsTime_ns_msgGpsTime_flags msgGpsTime$fBinaryMsgGpsTime$fToSBPMsgGpsTime$fFromJSONMsgGpsTimeMsgDops _msgDops_tow _msgDops_gdop _msgDops_pdop _msgDops_tdop _msgDops_hdop _msgDops_vdopmsgGpsTime_flags msgGpsTime_nsmsgGpsTime_tow msgGpsTime_wnmsgDops$fBinaryMsgDops$fToSBPMsgDops$fFromJSONMsgDops MsgPosEcef_msgPosEcef_tow _msgPosEcef_x _msgPosEcef_y _msgPosEcef_z_msgPosEcef_accuracy_msgPosEcef_n_sats_msgPosEcef_flags msgDops_gdop msgDops_hdop msgDops_pdop msgDops_tdop msgDops_tow msgDops_vdop msgPosEcef$fBinaryMsgPosEcef$fToSBPMsgPosEcef$fFromJSONMsgPosEcef MsgPosLlh_msgPosLlh_tow_msgPosLlh_lat_msgPosLlh_lon_msgPosLlh_height_msgPosLlh_h_accuracy_msgPosLlh_v_accuracy_msgPosLlh_n_sats_msgPosLlh_flagsmsgPosEcef_accuracymsgPosEcef_flagsmsgPosEcef_n_satsmsgPosEcef_tow msgPosEcef_x msgPosEcef_y msgPosEcef_z msgPosLlh$fBinaryMsgPosLlh$fToSBPMsgPosLlh$fFromJSONMsgPosLlhMsgBaselineEcef_msgBaselineEcef_tow_msgBaselineEcef_x_msgBaselineEcef_y_msgBaselineEcef_z_msgBaselineEcef_accuracy_msgBaselineEcef_n_sats_msgBaselineEcef_flagsmsgPosLlh_flagsmsgPosLlh_h_accuracymsgPosLlh_height msgPosLlh_lat msgPosLlh_lonmsgPosLlh_n_sats msgPosLlh_towmsgPosLlh_v_accuracymsgBaselineEcef$fBinaryMsgBaselineEcef$fToSBPMsgBaselineEcef$fFromJSONMsgBaselineEcefMsgBaselineNed_msgBaselineNed_tow_msgBaselineNed_n_msgBaselineNed_e_msgBaselineNed_d_msgBaselineNed_h_accuracy_msgBaselineNed_v_accuracy_msgBaselineNed_n_sats_msgBaselineNed_flagsmsgBaselineEcef_accuracymsgBaselineEcef_flagsmsgBaselineEcef_n_satsmsgBaselineEcef_towmsgBaselineEcef_xmsgBaselineEcef_ymsgBaselineEcef_zmsgBaselineNed$fBinaryMsgBaselineNed$fToSBPMsgBaselineNed$fFromJSONMsgBaselineNed MsgVelEcef_msgVelEcef_tow _msgVelEcef_x _msgVelEcef_y _msgVelEcef_z_msgVelEcef_accuracy_msgVelEcef_n_sats_msgVelEcef_flagsmsgBaselineNed_dmsgBaselineNed_emsgBaselineNed_flagsmsgBaselineNed_h_accuracymsgBaselineNed_nmsgBaselineNed_n_satsmsgBaselineNed_towmsgBaselineNed_v_accuracy msgVelEcef$fBinaryMsgVelEcef$fToSBPMsgVelEcef$fFromJSONMsgVelEcef MsgVelNed_msgVelNed_tow _msgVelNed_n _msgVelNed_e _msgVelNed_d_msgVelNed_h_accuracy_msgVelNed_v_accuracy_msgVelNed_n_sats_msgVelNed_flagsmsgVelEcef_accuracymsgVelEcef_flagsmsgVelEcef_n_satsmsgVelEcef_tow msgVelEcef_x msgVelEcef_y msgVelEcef_z msgVelNed$fBinaryMsgVelNed$fToSBPMsgVelNed$fFromJSONMsgVelNedMsgBaselineHeading_msgBaselineHeading_tow_msgBaselineHeading_heading_msgBaselineHeading_n_sats_msgBaselineHeading_flags msgVelNed_d msgVelNed_emsgVelNed_flagsmsgVelNed_h_accuracy msgVelNed_nmsgVelNed_n_sats msgVelNed_towmsgVelNed_v_accuracymsgBaselineHeading$fBinaryMsgBaselineHeading$fToSBPMsgBaselineHeading$fFromJSONMsgBaselineHeadingmsgBaselineHeading_flagsmsgBaselineHeading_headingmsgBaselineHeading_n_satsmsgBaselineHeading_tow ObsGPSTime_obsGPSTime_tow_obsGPSTime_wn$fBinaryObsGPSTime$fFromJSONObsGPSTime CarrierPhase_carrierPhase_i_carrierPhase_fobsGPSTime_tow obsGPSTime_wn$fBinaryCarrierPhase$fFromJSONCarrierPhaseObservationHeader_observationHeader_t_observationHeader_n_obscarrierPhase_fcarrierPhase_i$fBinaryObservationHeader$fFromJSONObservationHeaderPackedObsContent_packedObsContent_P_packedObsContent_L_packedObsContent_cn0_packedObsContent_lock_packedObsContent_sidobservationHeader_n_obsobservationHeader_t$fBinaryPackedObsContent$fFromJSONPackedObsContentMsgObs_msgObs_header _msgObs_obspackedObsContent_LpackedObsContent_PpackedObsContent_cn0packedObsContent_lockpackedObsContent_sidmsgObs$fBinaryMsgObs $fToSBPMsgObs$fFromJSONMsgObs MsgBasePos_msgBasePos_lat_msgBasePos_lon_msgBasePos_height msgObs_header msgObs_obs msgBasePos$fBinaryMsgBasePos$fToSBPMsgBasePos$fFromJSONMsgBasePos MsgEphemeris_msgEphemeris_tgd_msgEphemeris_c_rs_msgEphemeris_c_rc_msgEphemeris_c_uc_msgEphemeris_c_us_msgEphemeris_c_ic_msgEphemeris_c_is_msgEphemeris_dn_msgEphemeris_m0_msgEphemeris_ecc_msgEphemeris_sqrta_msgEphemeris_omega0_msgEphemeris_omegadot_msgEphemeris_w_msgEphemeris_inc_msgEphemeris_inc_dot_msgEphemeris_af0_msgEphemeris_af1_msgEphemeris_af2_msgEphemeris_toe_tow_msgEphemeris_toe_wn_msgEphemeris_toc_tow_msgEphemeris_toc_wn_msgEphemeris_valid_msgEphemeris_healthy_msgEphemeris_sid_msgEphemeris_iode_msgEphemeris_iodc_msgEphemeris_reservedmsgBasePos_heightmsgBasePos_latmsgBasePos_lon msgEphemeris$fBinaryMsgEphemeris$fToSBPMsgEphemeris$fFromJSONMsgEphemerisMsgEphemerisDepA_msgEphemerisDepA_tgd_msgEphemerisDepA_c_rs_msgEphemerisDepA_c_rc_msgEphemerisDepA_c_uc_msgEphemerisDepA_c_us_msgEphemerisDepA_c_ic_msgEphemerisDepA_c_is_msgEphemerisDepA_dn_msgEphemerisDepA_m0_msgEphemerisDepA_ecc_msgEphemerisDepA_sqrta_msgEphemerisDepA_omega0_msgEphemerisDepA_omegadot_msgEphemerisDepA_w_msgEphemerisDepA_inc_msgEphemerisDepA_inc_dot_msgEphemerisDepA_af0_msgEphemerisDepA_af1_msgEphemerisDepA_af2_msgEphemerisDepA_toe_tow_msgEphemerisDepA_toe_wn_msgEphemerisDepA_toc_tow_msgEphemerisDepA_toc_wn_msgEphemerisDepA_valid_msgEphemerisDepA_healthy_msgEphemerisDepA_prnmsgEphemeris_af0msgEphemeris_af1msgEphemeris_af2msgEphemeris_c_icmsgEphemeris_c_ismsgEphemeris_c_rcmsgEphemeris_c_rsmsgEphemeris_c_ucmsgEphemeris_c_usmsgEphemeris_dnmsgEphemeris_eccmsgEphemeris_healthymsgEphemeris_incmsgEphemeris_inc_dotmsgEphemeris_iodcmsgEphemeris_iodemsgEphemeris_m0msgEphemeris_omega0msgEphemeris_omegadotmsgEphemeris_reservedmsgEphemeris_sidmsgEphemeris_sqrtamsgEphemeris_tgdmsgEphemeris_toc_towmsgEphemeris_toc_wnmsgEphemeris_toe_towmsgEphemeris_toe_wnmsgEphemeris_validmsgEphemeris_wmsgEphemerisDepA$fBinaryMsgEphemerisDepA$fToSBPMsgEphemerisDepA$fFromJSONMsgEphemerisDepAMsgEphemerisDepB_msgEphemerisDepB_tgd_msgEphemerisDepB_c_rs_msgEphemerisDepB_c_rc_msgEphemerisDepB_c_uc_msgEphemerisDepB_c_us_msgEphemerisDepB_c_ic_msgEphemerisDepB_c_is_msgEphemerisDepB_dn_msgEphemerisDepB_m0_msgEphemerisDepB_ecc_msgEphemerisDepB_sqrta_msgEphemerisDepB_omega0_msgEphemerisDepB_omegadot_msgEphemerisDepB_w_msgEphemerisDepB_inc_msgEphemerisDepB_inc_dot_msgEphemerisDepB_af0_msgEphemerisDepB_af1_msgEphemerisDepB_af2_msgEphemerisDepB_toe_tow_msgEphemerisDepB_toe_wn_msgEphemerisDepB_toc_tow_msgEphemerisDepB_toc_wn_msgEphemerisDepB_valid_msgEphemerisDepB_healthy_msgEphemerisDepB_prn_msgEphemerisDepB_iodemsgEphemerisDepA_af0msgEphemerisDepA_af1msgEphemerisDepA_af2msgEphemerisDepA_c_icmsgEphemerisDepA_c_ismsgEphemerisDepA_c_rcmsgEphemerisDepA_c_rsmsgEphemerisDepA_c_ucmsgEphemerisDepA_c_usmsgEphemerisDepA_dnmsgEphemerisDepA_eccmsgEphemerisDepA_healthymsgEphemerisDepA_incmsgEphemerisDepA_inc_dotmsgEphemerisDepA_m0msgEphemerisDepA_omega0msgEphemerisDepA_omegadotmsgEphemerisDepA_prnmsgEphemerisDepA_sqrtamsgEphemerisDepA_tgdmsgEphemerisDepA_toc_towmsgEphemerisDepA_toc_wnmsgEphemerisDepA_toe_towmsgEphemerisDepA_toe_wnmsgEphemerisDepA_validmsgEphemerisDepA_wmsgEphemerisDepB$fBinaryMsgEphemerisDepB$fToSBPMsgEphemerisDepB$fFromJSONMsgEphemerisDepBPackedObsContentDepA_packedObsContentDepA_P_packedObsContentDepA_L_packedObsContentDepA_cn0_packedObsContentDepA_lock_packedObsContentDepA_prnmsgEphemerisDepB_af0msgEphemerisDepB_af1msgEphemerisDepB_af2msgEphemerisDepB_c_icmsgEphemerisDepB_c_ismsgEphemerisDepB_c_rcmsgEphemerisDepB_c_rsmsgEphemerisDepB_c_ucmsgEphemerisDepB_c_usmsgEphemerisDepB_dnmsgEphemerisDepB_eccmsgEphemerisDepB_healthymsgEphemerisDepB_incmsgEphemerisDepB_inc_dotmsgEphemerisDepB_iodemsgEphemerisDepB_m0msgEphemerisDepB_omega0msgEphemerisDepB_omegadotmsgEphemerisDepB_prnmsgEphemerisDepB_sqrtamsgEphemerisDepB_tgdmsgEphemerisDepB_toc_towmsgEphemerisDepB_toc_wnmsgEphemerisDepB_toe_towmsgEphemerisDepB_toe_wnmsgEphemerisDepB_validmsgEphemerisDepB_w$fBinaryPackedObsContentDepA$fFromJSONPackedObsContentDepA MsgObsDepA_msgObsDepA_header_msgObsDepA_obspackedObsContentDepA_LpackedObsContentDepA_PpackedObsContentDepA_cn0packedObsContentDepA_lockpackedObsContentDepA_prn msgObsDepA$fBinaryMsgObsDepA$fToSBPMsgObsDepA$fFromJSONMsgObsDepAmsgObsDepA_headermsgObsDepA_obs MsgAlmanac msgAlmanac$fBinaryMsgAlmanac$fToSBPMsgAlmanac$fFromJSONMsgAlmanac MsgSetTime msgSetTime$fBinaryMsgSetTime$fToSBPMsgSetTime$fFromJSONMsgSetTimeMsgResetmsgReset$fBinaryMsgReset$fToSBPMsgReset$fFromJSONMsgReset MsgCwResults msgCwResults$fBinaryMsgCwResults$fToSBPMsgCwResults$fFromJSONMsgCwResults MsgCwStart msgCwStart$fBinaryMsgCwStart$fToSBPMsgCwStart$fFromJSONMsgCwStartMsgResetFilters_msgResetFilters_filtermsgResetFilters$fBinaryMsgResetFilters$fToSBPMsgResetFilters$fFromJSONMsgResetFilters MsgInitBasemsgResetFilters_filter msgInitBase$fBinaryMsgInitBase$fToSBPMsgInitBase$fFromJSONMsgInitBaseMsgThreadState_msgThreadState_name_msgThreadState_cpu_msgThreadState_stack_freemsgThreadState$fBinaryMsgThreadState$fToSBPMsgThreadState$fFromJSONMsgThreadState UARTChannel_uARTChannel_tx_throughput_uARTChannel_rx_throughput_uARTChannel_crc_error_count_uARTChannel_io_error_count_uARTChannel_tx_buffer_level_uARTChannel_rx_buffer_levelmsgThreadState_cpumsgThreadState_namemsgThreadState_stack_free$fBinaryUARTChannel$fFromJSONUARTChannelLatency _latency_avg _latency_lmin _latency_lmax_latency_currentuARTChannel_crc_error_countuARTChannel_io_error_countuARTChannel_rx_buffer_leveluARTChannel_rx_throughputuARTChannel_tx_buffer_leveluARTChannel_tx_throughput$fBinaryLatency$fFromJSONLatency MsgUartState_msgUartState_uart_a_msgUartState_uart_b_msgUartState_uart_ftdi_msgUartState_latency latency_avglatency_current latency_lmax latency_lmin msgUartState$fBinaryMsgUartState$fToSBPMsgUartState$fFromJSONMsgUartState MsgIarState_msgIarState_num_hypsmsgUartState_latencymsgUartState_uart_amsgUartState_uart_bmsgUartState_uart_ftdi msgIarState$fBinaryMsgIarState$fToSBPMsgIarState$fFromJSONMsgIarStateMsgMaskSatellite_msgMaskSatellite_mask_msgMaskSatellite_sidmsgIarState_num_hypsmsgMaskSatellite$fBinaryMsgMaskSatellite$fToSBPMsgMaskSatellite$fFromJSONMsgMaskSatellitemsgMaskSatellite_maskmsgMaskSatellite_sidMsgSettingsSavemsgSettingsSave$fBinaryMsgSettingsSave$fToSBPMsgSettingsSave$fFromJSONMsgSettingsSaveMsgSettingsWrite_msgSettingsWrite_settingmsgSettingsWrite$fBinaryMsgSettingsWrite$fToSBPMsgSettingsWrite$fFromJSONMsgSettingsWriteMsgSettingsReadReq_msgSettingsReadReq_settingmsgSettingsWrite_settingmsgSettingsReadReq$fBinaryMsgSettingsReadReq$fToSBPMsgSettingsReadReq$fFromJSONMsgSettingsReadReqMsgSettingsReadResp_msgSettingsReadResp_settingmsgSettingsReadReq_settingmsgSettingsReadResp$fBinaryMsgSettingsReadResp$fToSBPMsgSettingsReadResp$fFromJSONMsgSettingsReadRespMsgSettingsReadByIndexReq _msgSettingsReadByIndexReq_indexmsgSettingsReadResp_settingmsgSettingsReadByIndexReq!$fBinaryMsgSettingsReadByIndexReq $fToSBPMsgSettingsReadByIndexReq#$fFromJSONMsgSettingsReadByIndexReqMsgSettingsReadByIndexResp!_msgSettingsReadByIndexResp_index#_msgSettingsReadByIndexResp_settingmsgSettingsReadByIndexReq_indexmsgSettingsReadByIndexResp"$fBinaryMsgSettingsReadByIndexResp!$fToSBPMsgSettingsReadByIndexResp$$fFromJSONMsgSettingsReadByIndexRespMsgSettingsReadByIndexDone msgSettingsReadByIndexResp_index"msgSettingsReadByIndexResp_settingmsgSettingsReadByIndexDone"$fBinaryMsgSettingsReadByIndexDone!$fToSBPMsgSettingsReadByIndexDone$$fFromJSONMsgSettingsReadByIndexDone MsgStartup_msgStartup_reserved msgStartup$fBinaryMsgStartup$fToSBPMsgStartup$fFromJSONMsgStartup MsgHeartbeat_msgHeartbeat_flagsmsgStartup_reserved msgHeartbeat$fBinaryMsgHeartbeat$fToSBPMsgHeartbeat$fFromJSONMsgHeartbeatmsgHeartbeat_flagsTrackingChannelState_trackingChannelState_state_trackingChannelState_sid_trackingChannelState_cn0$fBinaryTrackingChannelState$fFromJSONTrackingChannelStateMsgTrackingState_msgTrackingState_statestrackingChannelState_cn0trackingChannelState_sidtrackingChannelState_statemsgTrackingState$fBinaryMsgTrackingState$fToSBPMsgTrackingState$fFromJSONMsgTrackingStateTrackingChannelCorrelation_trackingChannelCorrelation_I_trackingChannelCorrelation_QmsgTrackingState_states"$fBinaryTrackingChannelCorrelation$$fFromJSONTrackingChannelCorrelation MsgTrackingIq_msgTrackingIq_channel_msgTrackingIq_sid_msgTrackingIq_corrstrackingChannelCorrelation_ItrackingChannelCorrelation_Q msgTrackingIq$fBinaryMsgTrackingIq$fToSBPMsgTrackingIq$fFromJSONMsgTrackingIqTrackingChannelStateDepA_trackingChannelStateDepA_state_trackingChannelStateDepA_prn_trackingChannelStateDepA_cn0msgTrackingIq_channelmsgTrackingIq_corrsmsgTrackingIq_sid $fBinaryTrackingChannelStateDepA"$fFromJSONTrackingChannelStateDepAMsgTrackingStateDepA_msgTrackingStateDepA_statestrackingChannelStateDepA_cn0trackingChannelStateDepA_prntrackingChannelStateDepA_statemsgTrackingStateDepA$fBinaryMsgTrackingStateDepA$fToSBPMsgTrackingStateDepA$fFromJSONMsgTrackingStateDepAmsgTrackingStateDepA_statesSBPMsgSBPMsgAcqResultSBPMsgAcqResultDepA SBPMsgAlmanac SBPMsgBasePosSBPMsgBaselineEcefSBPMsgBaselineHeadingSBPMsgBaselineNedSBPMsgBootloaderHandshakeDepASBPMsgBootloaderHandshakeReqSBPMsgBootloaderHandshakeRespSBPMsgBootloaderJumpToAppSBPMsgCwResults SBPMsgCwStart SBPMsgDopsSBPMsgEphemerisSBPMsgEphemerisDepASBPMsgEphemerisDepBSBPMsgExtEventSBPMsgFileioReadDirReqSBPMsgFileioReadDirRespSBPMsgFileioReadReqSBPMsgFileioReadRespSBPMsgFileioRemoveSBPMsgFileioWriteReqSBPMsgFileioWriteRespSBPMsgFlashDoneSBPMsgFlashEraseSBPMsgFlashProgramSBPMsgFlashReadReqSBPMsgFlashReadResp SBPMsgGpsTimeSBPMsgHeartbeatSBPMsgIarStateSBPMsgInitBase SBPMsgLogSBPMsgM25FlashWriteStatusSBPMsgMaskSatelliteSBPMsgNapDeviceDnaReqSBPMsgNapDeviceDnaResp SBPMsgObs SBPMsgObsDepA SBPMsgPosEcef SBPMsgPosLlhSBPMsgPrintDep SBPMsgResetSBPMsgResetFilters SBPMsgSetTimeSBPMsgSettingsReadByIndexDoneSBPMsgSettingsReadByIndexReqSBPMsgSettingsReadByIndexRespSBPMsgSettingsReadReqSBPMsgSettingsReadRespSBPMsgSettingsSaveSBPMsgSettingsWrite SBPMsgStartupSBPMsgStmFlashLockSectorSBPMsgStmFlashUnlockSectorSBPMsgStmUniqueIdReqSBPMsgStmUniqueIdRespSBPMsgThreadStateSBPMsgTrackingIqSBPMsgTrackingStateSBPMsgTrackingStateDepA SBPMsgTweetSBPMsgUartState SBPMsgVelEcef SBPMsgVelNed SBPMsgBadCrc SBPMsgUnknowntable deriveSBPmerge$fToJSONSBPMsg$fFromJSONSBPMsg$fBinarySBPMsg