This guide is intended to help users who have developed code for Piksi v2 "translate" this code to work with Piksi Mutli. Please refer to the detailed SBP documentation for complete information about SBP. Translation Information Piksi V2 last firmware release (v0.21) shipped with SBP version 0.52.4 ( doc here ). Piksi Multi, on the other hand, currently speaks the new version of SBP dubbed "SBP 2.0" ( doc here ). The basics of the protocol (framing, crc, and message names) remain unchanged. However, there are a few key differences listed below. Many of the navigation messages have new message ids which are summarized in the table below. Navigation messages are sent by the device on every GPS epoch whether the data in them is valid or not. Users MUST check the flags field for the messages in order to determine their validity. In general, when the flags field is set to 0, it means that the message is invalid but refer to the protocol documentation PDF for detailed description of the meaning of each value of the flags field for each message. Only one type of solution is sent on every epoch. This affects “pseudo absolute” mode when the base station position is known. On Piksi V2, the “single point position” version of a message like the MsgPosLLH was sent every epoch even if an RTK Float or RTK Fix message was available. This lead to confusion for many users. On Piksi Multi, only the “Best” version of a particular solution is sent for each epoch and the user should not receive multiple versions of the same SBP message on the same epoch. Please refer to the table below to help upgrade any software written for piksi v2 to be used with Piksi Multi. Old ID (int) Old ID (hex) New ID (int) New ID Hex Message Class name MSG_ID variable name* Deprecated msg class name** Notes 512 200 521 209 MsgPosECEF MSG_POS_ECEF MsgPosECEFDepA Flags changed; Msg sent with no fix; Estimated Accuracy now populated 513 201 522 20A MsgPosLLH MSG_POS_LLH MsgPosLLHDepA " 514 202 523 20B MsgBaselineECEF MSG_BASELINE_ECEF MsgBaselineECEFDepA " 515 203 524 20C MsgBaselineNED MSG_BASELINE_NED MsgBaselineNEDDepA " 516 204 525 20D MsgVelECEF MSG_VEL_ECEF MsgVelECEFDepA Flags changed; Msg sent with no fix; 517 205 526 20E MsgVelNED MSG_VEL_NED MsgVelNEDDepA " 518 206 520 208 MsgDops MSG_DOPS MsgDopsDepA " 256 100 258 102 MsgGPSTime MSG_GPS_TIME MsgGPSTimeDepA " 67 43 74 4A MsgObs MSG_OBS MsgObsDepC Measured doppler and status flags added 71 47 129 81 MsgEphemerisGps MSG_EPHEMERIS_GPS MsgEphemerisDepC Note, Name of class and MSG_ID variable name has changed * For some libraries, SBP is prepended before the msg id variable name. For instance, in the python source code, the variable that represents the Gps Time message message id is “SBP_MSG_GPS_TIME.” ** Note, no messages have actually been deleted or overwritten in the library. The former messages are available as various deprecated messages. In this way it is possible to write interface code that can communicate with both Piksi V2 and Piksi Multi. Page Swift Navigation, Inc.