diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000..699b275242 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +python/.tox +rust/sbp/target/ +node_modules/ +haskell/.stack-work/ diff --git a/c/include/libsbp/version.h b/c/include/libsbp/version.h index f4e9c7e583..0a7c73c3d6 100644 --- a/c/include/libsbp/version.h +++ b/c/include/libsbp/version.h @@ -23,9 +23,9 @@ /** Protocol major version. */ #define SBP_MAJOR_VERSION 2 /** Protocol minor version. */ -#define SBP_MINOR_VERSION 6 +#define SBP_MINOR_VERSION 7 /** Protocol patch version. */ -#define SBP_PATCH_VERSION 4 +#define SBP_PATCH_VERSION 0 /** \} */ diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 7ab4762e40..004f66a8e0 100644 Binary files a/docs/sbp.pdf and b/docs/sbp.pdf differ diff --git a/haskell/sbp.cabal b/haskell/sbp.cabal index 3cc345edb7..cc307e0a5d 100644 --- a/haskell/sbp.cabal +++ b/haskell/sbp.cabal @@ -1,5 +1,5 @@ name: sbp -version: 2.6.5 +version: 2.7.0 synopsis: SwiftNav's SBP Library homepage: https://github.com/swift-nav/libsbp license: LGPL-3 diff --git a/haskell/src/SwiftNav/SBP/Acquisition.hs b/haskell/src/SwiftNav/SBP/Acquisition.hs index 640a75ae38..d78cfee239 100644 --- a/haskell/src/SwiftNav/SBP/Acquisition.hs +++ b/haskell/src/SwiftNav/SBP/Acquisition.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Satellite acquisition messages from the device. +-- \ module SwiftNav.SBP.Acquisition ( module SwiftNav.SBP.Acquisition diff --git a/haskell/src/SwiftNav/SBP/Bootload.hs b/haskell/src/SwiftNav/SBP/Bootload.hs index c55d07deb6..34bb12894e 100644 --- a/haskell/src/SwiftNav/SBP/Bootload.hs +++ b/haskell/src/SwiftNav/SBP/Bootload.hs @@ -11,9 +11,10 @@ -- Stability: experimental -- Portability: portable -- --- Messages for the bootloading configuration of a Piksi 2.3.1. This message +-- \ module SwiftNav.SBP.Bootload ( module SwiftNav.SBP.Bootload diff --git a/haskell/src/SwiftNav/SBP/ExtEvents.hs b/haskell/src/SwiftNav/SBP/ExtEvents.hs index fb20688f65..1e9b2178a2 100644 --- a/haskell/src/SwiftNav/SBP/ExtEvents.hs +++ b/haskell/src/SwiftNav/SBP/ExtEvents.hs @@ -11,8 +11,8 @@ -- Stability: experimental -- Portability: portable -- --- Messages reporting accurately-timestamped external events, e.g. camera --- shutter time. +-- \ module SwiftNav.SBP.ExtEvents ( module SwiftNav.SBP.ExtEvents diff --git a/haskell/src/SwiftNav/SBP/FileIo.hs b/haskell/src/SwiftNav/SBP/FileIo.hs index bd45378c67..e4d1f36dc6 100644 --- a/haskell/src/SwiftNav/SBP/FileIo.hs +++ b/haskell/src/SwiftNav/SBP/FileIo.hs @@ -11,12 +11,12 @@ -- Stability: experimental -- Portability: portable -- --- Messages for using device's onboard flash filesystem functionality. This +-- \ module SwiftNav.SBP.FileIo ( module SwiftNav.SBP.FileIo diff --git a/haskell/src/SwiftNav/SBP/Flash.hs b/haskell/src/SwiftNav/SBP/Flash.hs index 1e5573e022..5262778a6e 100644 --- a/haskell/src/SwiftNav/SBP/Flash.hs +++ b/haskell/src/SwiftNav/SBP/Flash.hs @@ -11,10 +11,10 @@ -- Stability: experimental -- Portability: portable -- --- Messages for reading/writing the device's onboard flash memory. Many of +-- \ module SwiftNav.SBP.Flash ( module SwiftNav.SBP.Flash diff --git a/haskell/src/SwiftNav/SBP/Gnss.hs b/haskell/src/SwiftNav/SBP/Gnss.hs index fe2ddf5173..99f43bce50 100644 --- a/haskell/src/SwiftNav/SBP/Gnss.hs +++ b/haskell/src/SwiftNav/SBP/Gnss.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Various structs shared between modules +-- \ module SwiftNav.SBP.Gnss ( module SwiftNav.SBP.Gnss diff --git a/haskell/src/SwiftNav/SBP/Imu.hs b/haskell/src/SwiftNav/SBP/Imu.hs index 5e81a5035f..eb8e35487d 100644 --- a/haskell/src/SwiftNav/SBP/Imu.hs +++ b/haskell/src/SwiftNav/SBP/Imu.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Inertial Measurement Unit (IMU) messages. +-- \ module SwiftNav.SBP.Imu ( module SwiftNav.SBP.Imu diff --git a/haskell/src/SwiftNav/SBP/Linux.hs b/haskell/src/SwiftNav/SBP/Linux.hs index ad344b7ee2..0f30c49879 100644 --- a/haskell/src/SwiftNav/SBP/Linux.hs +++ b/haskell/src/SwiftNav/SBP/Linux.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Linux state monitoring. +-- \ module SwiftNav.SBP.Linux ( module SwiftNav.SBP.Linux diff --git a/haskell/src/SwiftNav/SBP/Logging.hs b/haskell/src/SwiftNav/SBP/Logging.hs index 03f0999c14..2a82473439 100644 --- a/haskell/src/SwiftNav/SBP/Logging.hs +++ b/haskell/src/SwiftNav/SBP/Logging.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Logging and debugging messages from the device. +-- \ module SwiftNav.SBP.Logging ( module SwiftNav.SBP.Logging diff --git a/haskell/src/SwiftNav/SBP/Mag.hs b/haskell/src/SwiftNav/SBP/Mag.hs index 604d9793db..1b7e3eaa3f 100644 --- a/haskell/src/SwiftNav/SBP/Mag.hs +++ b/haskell/src/SwiftNav/SBP/Mag.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Magnetometer (mag) messages. +-- \ module SwiftNav.SBP.Mag ( module SwiftNav.SBP.Mag diff --git a/haskell/src/SwiftNav/SBP/Navigation.hs b/haskell/src/SwiftNav/SBP/Navigation.hs index a5adbc0b4b..5137bdac0f 100644 --- a/haskell/src/SwiftNav/SBP/Navigation.hs +++ b/haskell/src/SwiftNav/SBP/Navigation.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Geodetic navigation messages reporting GPS time, position, velocity, and +-- \ module SwiftNav.SBP.Navigation ( module SwiftNav.SBP.Navigation diff --git a/haskell/src/SwiftNav/SBP/Ndb.hs b/haskell/src/SwiftNav/SBP/Ndb.hs index f58e075d08..9672733087 100644 --- a/haskell/src/SwiftNav/SBP/Ndb.hs +++ b/haskell/src/SwiftNav/SBP/Ndb.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Messages for logging NDB events. +-- \ module SwiftNav.SBP.Ndb ( module SwiftNav.SBP.Ndb diff --git a/haskell/src/SwiftNav/SBP/Observation.hs b/haskell/src/SwiftNav/SBP/Observation.hs index 75d5ad1a5d..ab2f3e9f12 100644 --- a/haskell/src/SwiftNav/SBP/Observation.hs +++ b/haskell/src/SwiftNav/SBP/Observation.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Satellite observation messages from the device. +-- \ module SwiftNav.SBP.Observation ( module SwiftNav.SBP.Observation diff --git a/haskell/src/SwiftNav/SBP/Orientation.hs b/haskell/src/SwiftNav/SBP/Orientation.hs index a234ff3ea6..971203acbb 100644 --- a/haskell/src/SwiftNav/SBP/Orientation.hs +++ b/haskell/src/SwiftNav/SBP/Orientation.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Orientation Messages +-- \ module SwiftNav.SBP.Orientation ( module SwiftNav.SBP.Orientation diff --git a/haskell/src/SwiftNav/SBP/Piksi.hs b/haskell/src/SwiftNav/SBP/Piksi.hs index 7b5ba516e4..7db6e02460 100644 --- a/haskell/src/SwiftNav/SBP/Piksi.hs +++ b/haskell/src/SwiftNav/SBP/Piksi.hs @@ -11,9 +11,9 @@ -- Stability: experimental -- Portability: portable -- --- System health, configuration, and diagnostic messages specific to the Piksi --- L1 receiver, including a variety of legacy messages that may no longer be --- used. +-- \ module SwiftNav.SBP.Piksi ( module SwiftNav.SBP.Piksi diff --git a/haskell/src/SwiftNav/SBP/Sbas.hs b/haskell/src/SwiftNav/SBP/Sbas.hs index 8f40026eb4..9dce731e65 100644 --- a/haskell/src/SwiftNav/SBP/Sbas.hs +++ b/haskell/src/SwiftNav/SBP/Sbas.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- SBAS data +-- \ module SwiftNav.SBP.Sbas ( module SwiftNav.SBP.Sbas diff --git a/haskell/src/SwiftNav/SBP/Settings.hs b/haskell/src/SwiftNav/SBP/Settings.hs index e5e2311bc6..ebbc11964a 100644 --- a/haskell/src/SwiftNav/SBP/Settings.hs +++ b/haskell/src/SwiftNav/SBP/Settings.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Messages for reading, writing, and discovering device settings. Settings +-- \< Messages for reading, writing, and discovering device settings. Settings -- with a "string" field have multiple values in this field delimited with a -- null character (the c style null terminator). For instance, when querying -- the 'firmware_version' setting in the 'system_info' section, the following @@ -32,7 +32,7 @@ -- settings . See lastly https://github.com/swift- -- nav/piksi_tools/blob/master/piksi_tools/settings.py , the open source -- python command line utility for reading, writing, and saving settings in the --- piksi_tools repository on github as a helpful reference and example. +-- piksi_tools repository on github as a helpful reference and example. \> module SwiftNav.SBP.Settings ( module SwiftNav.SBP.Settings diff --git a/haskell/src/SwiftNav/SBP/Ssr.hs b/haskell/src/SwiftNav/SBP/Ssr.hs index b2c386aac6..962d08a1fe 100644 --- a/haskell/src/SwiftNav/SBP/Ssr.hs +++ b/haskell/src/SwiftNav/SBP/Ssr.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Precise State Space Representation (SSR) corrections format +-- \ module SwiftNav.SBP.Ssr ( module SwiftNav.SBP.Ssr @@ -647,7 +647,7 @@ msgSsrGridDefinition = 0x05F5 -- | SBP class for message MSG_SSR_GRID_DEFINITION (0x05F5). -- -- Based on the 3GPP proposal R2-1906781 which is in turn based on OMA-LPPe- --- ValidityArea from OMA-TS-LPPe–V2_0-20141202-C +-- ValidityArea from OMA-TS-LPPe-V2_0-20141202-C data MsgSsrGridDefinition = MsgSsrGridDefinition { _msgSsrGridDefinition_header :: !GridDefinitionHeader -- ^ Header of a Gridded Correction message diff --git a/haskell/src/SwiftNav/SBP/System.hs b/haskell/src/SwiftNav/SBP/System.hs index 3bd9692db8..23fddc508f 100644 --- a/haskell/src/SwiftNav/SBP/System.hs +++ b/haskell/src/SwiftNav/SBP/System.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Standardized system messages from Swift Navigation devices. +-- \ module SwiftNav.SBP.System ( module SwiftNav.SBP.System diff --git a/haskell/src/SwiftNav/SBP/Tracking.hs b/haskell/src/SwiftNav/SBP/Tracking.hs index 908c86424f..9d43f40795 100644 --- a/haskell/src/SwiftNav/SBP/Tracking.hs +++ b/haskell/src/SwiftNav/SBP/Tracking.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Satellite code and carrier-phase tracking messages from the device. +-- \ module SwiftNav.SBP.Tracking ( module SwiftNav.SBP.Tracking diff --git a/haskell/src/SwiftNav/SBP/User.hs b/haskell/src/SwiftNav/SBP/User.hs index 9041b4f8e8..15d342ca88 100644 --- a/haskell/src/SwiftNav/SBP/User.hs +++ b/haskell/src/SwiftNav/SBP/User.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Messages reserved for use by the user. +-- \ module SwiftNav.SBP.User ( module SwiftNav.SBP.User diff --git a/haskell/src/SwiftNav/SBP/Vehicle.hs b/haskell/src/SwiftNav/SBP/Vehicle.hs index c9de288c27..a4d6888538 100644 --- a/haskell/src/SwiftNav/SBP/Vehicle.hs +++ b/haskell/src/SwiftNav/SBP/Vehicle.hs @@ -11,7 +11,7 @@ -- Stability: experimental -- Portability: portable -- --- Messages from a vehicle. +-- \ module SwiftNav.SBP.Vehicle ( module SwiftNav.SBP.Vehicle diff --git a/java/src/com/swiftnav/sbp/ssr/MsgSsrGridDefinition.java b/java/src/com/swiftnav/sbp/ssr/MsgSsrGridDefinition.java index 29835bc9a8..26feb89721 100644 --- a/java/src/com/swiftnav/sbp/ssr/MsgSsrGridDefinition.java +++ b/java/src/com/swiftnav/sbp/ssr/MsgSsrGridDefinition.java @@ -30,7 +30,7 @@ * fields. * * Based on the 3GPP proposal R2-1906781 which is in turn based on - * OMA-LPPe-ValidityArea from OMA-TS-LPPe–V2_0-20141202-C */ + * OMA-LPPe-ValidityArea from OMA-TS-LPPe-V2_0-20141202-C */ public class MsgSsrGridDefinition extends SBPMessage { public static final int TYPE = 0x05F5; diff --git a/python/sbp/RELEASE-VERSION b/python/sbp/RELEASE-VERSION index 68167133b9..9aa34646dc 100644 --- a/python/sbp/RELEASE-VERSION +++ b/python/sbp/RELEASE-VERSION @@ -1 +1 @@ -2.6.5 \ No newline at end of file +2.7.0 \ No newline at end of file diff --git a/rust/sbp/src/messages/mod.rs b/rust/sbp/src/messages/mod.rs index df05c7ab1e..0ce8bcba49 100644 --- a/rust/sbp/src/messages/mod.rs +++ b/rust/sbp/src/messages/mod.rs @@ -7,38 +7,28 @@ // 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. +pub mod settings; +pub mod vehicle; +pub mod mag; +pub mod observation; pub mod acquisition; pub mod logging; +pub mod navigation; pub mod gnss; -pub mod sbas; -pub mod settings; -pub mod mag; -pub mod tracking; +pub mod ndb; +pub mod linux; pub mod flash; -pub mod user; pub mod piksi; -pub mod bootload; -pub mod observation; +pub mod ext_events; +pub mod file_io; +pub mod user; pub mod ssr; -pub mod navigation; -pub mod linux; +pub mod bootload; pub mod orientation; pub mod system; -pub mod ndb; +pub mod sbas; +pub mod tracking; pub mod imu; -pub mod vehicle; -pub mod file_io; -pub mod ext_events; -use self::acquisition::MsgAcqResult; -use self::acquisition::MsgAcqResultDepC; -use self::acquisition::MsgAcqResultDepB; -use self::acquisition::MsgAcqResultDepA; -use self::acquisition::MsgAcqSvProfile; -use self::acquisition::MsgAcqSvProfileDep; -use self::logging::MsgLog; -use self::logging::MsgFwd; -use self::logging::MsgPrintDep; -use self::sbas::MsgSbasRaw; use self::settings::MsgSettingsSave; use self::settings::MsgSettingsWrite; use self::settings::MsgSettingsWriteResp; @@ -49,58 +39,8 @@ use self::settings::MsgSettingsReadByIndexResp; use self::settings::MsgSettingsReadByIndexDone; use self::settings::MsgSettingsRegister; use self::settings::MsgSettingsRegisterResp; +use self::vehicle::MsgOdometry; use self::mag::MsgMagRaw; -use self::tracking::MsgTrackingStateDetailedDepA; -use self::tracking::MsgTrackingStateDetailedDep; -use self::tracking::MsgTrackingState; -use self::tracking::MsgMeasurementState; -use self::tracking::MsgTrackingIq; -use self::tracking::MsgTrackingIqDepB; -use self::tracking::MsgTrackingIqDepA; -use self::tracking::MsgTrackingStateDepA; -use self::tracking::MsgTrackingStateDepB; -use self::flash::MsgFlashProgram; -use self::flash::MsgFlashDone; -use self::flash::MsgFlashReadReq; -use self::flash::MsgFlashReadResp; -use self::flash::MsgFlashErase; -use self::flash::MsgStmFlashLockSector; -use self::flash::MsgStmFlashUnlockSector; -use self::flash::MsgStmUniqueIdReq; -use self::flash::MsgStmUniqueIdResp; -use self::flash::MsgM25FlashWriteStatus; -use self::user::MsgUserData; -use self::piksi::MsgAlmanac; -use self::piksi::MsgSetTime; -use self::piksi::MsgReset; -use self::piksi::MsgResetDep; -use self::piksi::MsgCwResults; -use self::piksi::MsgCwStart; -use self::piksi::MsgResetFilters; -use self::piksi::MsgInitBaseDep; -use self::piksi::MsgThreadState; -use self::piksi::MsgUartState; -use self::piksi::MsgUartStateDepa; -use self::piksi::MsgIarState; -use self::piksi::MsgMaskSatellite; -use self::piksi::MsgMaskSatelliteDep; -use self::piksi::MsgDeviceMonitor; -use self::piksi::MsgCommandReq; -use self::piksi::MsgCommandResp; -use self::piksi::MsgCommandOutput; -use self::piksi::MsgNetworkStateReq; -use self::piksi::MsgNetworkStateResp; -use self::piksi::MsgNetworkBandwidthUsage; -use self::piksi::MsgCellModemStatus; -use self::piksi::MsgSpecanDep; -use self::piksi::MsgSpecan; -use self::piksi::MsgFrontEndGain; -use self::bootload::MsgBootloaderHandshakeReq; -use self::bootload::MsgBootloaderHandshakeResp; -use self::bootload::MsgBootloaderJumpToApp; -use self::bootload::MsgNapDeviceDnaReq; -use self::bootload::MsgNapDeviceDnaResp; -use self::bootload::MsgBootloaderHandshakeDepA; use self::observation::MsgObs; use self::observation::MsgBasePosLLH; use self::observation::MsgBasePosECEF; @@ -139,13 +79,15 @@ use self::observation::MsgAlmanacGlo; use self::observation::MsgGloBiases; use self::observation::MsgSvAzEl; use self::observation::MsgOsr; -use self::ssr::MsgSsrOrbitClock; -use self::ssr::MsgSsrOrbitClockDepA; -use self::ssr::MsgSsrCodeBiases; -use self::ssr::MsgSsrPhaseBiases; -use self::ssr::MsgSsrStecCorrection; -use self::ssr::MsgSsrGriddedCorrection; -use self::ssr::MsgSsrGridDefinition; +use self::acquisition::MsgAcqResult; +use self::acquisition::MsgAcqResultDepC; +use self::acquisition::MsgAcqResultDepB; +use self::acquisition::MsgAcqResultDepA; +use self::acquisition::MsgAcqSvProfile; +use self::acquisition::MsgAcqSvProfileDep; +use self::logging::MsgLog; +use self::logging::MsgFwd; +use self::logging::MsgPrintDep; use self::navigation::MsgGPSTime; use self::navigation::MsgUtcTime; use self::navigation::MsgDops; @@ -170,6 +112,7 @@ use self::navigation::MsgBaselineNEDDepA; use self::navigation::MsgVelECEFDepA; use self::navigation::MsgVelNEDDepA; use self::navigation::MsgBaselineHeadingDepA; +use self::ndb::MsgNdbEvent; use self::linux::MsgLinuxCpuState; use self::linux::MsgLinuxMemState; use self::linux::MsgLinuxSysState; @@ -178,6 +121,65 @@ use self::linux::MsgLinuxProcessSocketQueues; use self::linux::MsgLinuxSocketUsage; use self::linux::MsgLinuxProcessFdCount; use self::linux::MsgLinuxProcessFdSummary; +use self::flash::MsgFlashProgram; +use self::flash::MsgFlashDone; +use self::flash::MsgFlashReadReq; +use self::flash::MsgFlashReadResp; +use self::flash::MsgFlashErase; +use self::flash::MsgStmFlashLockSector; +use self::flash::MsgStmFlashUnlockSector; +use self::flash::MsgStmUniqueIdReq; +use self::flash::MsgStmUniqueIdResp; +use self::flash::MsgM25FlashWriteStatus; +use self::piksi::MsgAlmanac; +use self::piksi::MsgSetTime; +use self::piksi::MsgReset; +use self::piksi::MsgResetDep; +use self::piksi::MsgCwResults; +use self::piksi::MsgCwStart; +use self::piksi::MsgResetFilters; +use self::piksi::MsgInitBaseDep; +use self::piksi::MsgThreadState; +use self::piksi::MsgUartState; +use self::piksi::MsgUartStateDepa; +use self::piksi::MsgIarState; +use self::piksi::MsgMaskSatellite; +use self::piksi::MsgMaskSatelliteDep; +use self::piksi::MsgDeviceMonitor; +use self::piksi::MsgCommandReq; +use self::piksi::MsgCommandResp; +use self::piksi::MsgCommandOutput; +use self::piksi::MsgNetworkStateReq; +use self::piksi::MsgNetworkStateResp; +use self::piksi::MsgNetworkBandwidthUsage; +use self::piksi::MsgCellModemStatus; +use self::piksi::MsgSpecanDep; +use self::piksi::MsgSpecan; +use self::piksi::MsgFrontEndGain; +use self::ext_events::MsgExtEvent; +use self::file_io::MsgFileioReadReq; +use self::file_io::MsgFileioReadResp; +use self::file_io::MsgFileioReadDirReq; +use self::file_io::MsgFileioReadDirResp; +use self::file_io::MsgFileioRemove; +use self::file_io::MsgFileioWriteReq; +use self::file_io::MsgFileioWriteResp; +use self::file_io::MsgFileioConfigReq; +use self::file_io::MsgFileioConfigResp; +use self::user::MsgUserData; +use self::ssr::MsgSsrOrbitClock; +use self::ssr::MsgSsrOrbitClockDepA; +use self::ssr::MsgSsrCodeBiases; +use self::ssr::MsgSsrPhaseBiases; +use self::ssr::MsgSsrStecCorrection; +use self::ssr::MsgSsrGriddedCorrection; +use self::ssr::MsgSsrGridDefinition; +use self::bootload::MsgBootloaderHandshakeReq; +use self::bootload::MsgBootloaderHandshakeResp; +use self::bootload::MsgBootloaderJumpToApp; +use self::bootload::MsgNapDeviceDnaReq; +use self::bootload::MsgNapDeviceDnaResp; +use self::bootload::MsgBootloaderHandshakeDepA; use self::orientation::MsgBaselineHeading; use self::orientation::MsgOrientQuat; use self::orientation::MsgOrientEuler; @@ -188,20 +190,18 @@ use self::system::MsgHeartbeat; use self::system::MsgInsStatus; use self::system::MsgCsacTelemetry; use self::system::MsgCsacTelemetryLabels; -use self::ndb::MsgNdbEvent; +use self::sbas::MsgSbasRaw; +use self::tracking::MsgTrackingStateDetailedDepA; +use self::tracking::MsgTrackingStateDetailedDep; +use self::tracking::MsgTrackingState; +use self::tracking::MsgMeasurementState; +use self::tracking::MsgTrackingIq; +use self::tracking::MsgTrackingIqDepB; +use self::tracking::MsgTrackingIqDepA; +use self::tracking::MsgTrackingStateDepA; +use self::tracking::MsgTrackingStateDepB; use self::imu::MsgImuRaw; use self::imu::MsgImuAux; -use self::vehicle::MsgOdometry; -use self::file_io::MsgFileioReadReq; -use self::file_io::MsgFileioReadResp; -use self::file_io::MsgFileioReadDirReq; -use self::file_io::MsgFileioReadDirResp; -use self::file_io::MsgFileioRemove; -use self::file_io::MsgFileioWriteReq; -use self::file_io::MsgFileioWriteResp; -use self::file_io::MsgFileioConfigReq; -use self::file_io::MsgFileioConfigResp; -use self::ext_events::MsgExtEvent; trait SBPMessage { const MSG_ID: u16; @@ -217,78 +217,18 @@ pub enum SBP { sender_id: u16, payload: Vec, }, - MsgAcqResult(MsgAcqResult), - MsgAcqResultDepC(MsgAcqResultDepC), - MsgAcqResultDepB(MsgAcqResultDepB), - MsgAcqResultDepA(MsgAcqResultDepA), - MsgAcqSvProfile(MsgAcqSvProfile), - MsgAcqSvProfileDep(MsgAcqSvProfileDep), - MsgLog(MsgLog), - MsgFwd(MsgFwd), - MsgPrintDep(MsgPrintDep), - MsgSbasRaw(MsgSbasRaw), MsgSettingsSave(MsgSettingsSave), MsgSettingsWrite(MsgSettingsWrite), - MsgSettingsWriteResp(MsgSettingsWriteResp), MsgSettingsReadReq(MsgSettingsReadReq), MsgSettingsReadResp(MsgSettingsReadResp), + MsgSettingsWriteResp(MsgSettingsWriteResp), MsgSettingsReadByIndexReq(MsgSettingsReadByIndexReq), MsgSettingsReadByIndexResp(MsgSettingsReadByIndexResp), MsgSettingsReadByIndexDone(MsgSettingsReadByIndexDone), MsgSettingsRegister(MsgSettingsRegister), MsgSettingsRegisterResp(MsgSettingsRegisterResp), + MsgOdometry(MsgOdometry), MsgMagRaw(MsgMagRaw), - MsgTrackingStateDetailedDepA(MsgTrackingStateDetailedDepA), - MsgTrackingStateDetailedDep(MsgTrackingStateDetailedDep), - MsgTrackingState(MsgTrackingState), - MsgMeasurementState(MsgMeasurementState), - MsgTrackingIq(MsgTrackingIq), - MsgTrackingIqDepB(MsgTrackingIqDepB), - MsgTrackingIqDepA(MsgTrackingIqDepA), - MsgTrackingStateDepA(MsgTrackingStateDepA), - MsgTrackingStateDepB(MsgTrackingStateDepB), - MsgFlashProgram(MsgFlashProgram), - MsgFlashDone(MsgFlashDone), - MsgFlashReadReq(MsgFlashReadReq), - MsgFlashReadResp(MsgFlashReadResp), - MsgFlashErase(MsgFlashErase), - MsgStmFlashLockSector(MsgStmFlashLockSector), - MsgStmFlashUnlockSector(MsgStmFlashUnlockSector), - MsgStmUniqueIdReq(MsgStmUniqueIdReq), - MsgStmUniqueIdResp(MsgStmUniqueIdResp), - MsgM25FlashWriteStatus(MsgM25FlashWriteStatus), - MsgUserData(MsgUserData), - MsgAlmanac(MsgAlmanac), - MsgSetTime(MsgSetTime), - MsgReset(MsgReset), - MsgResetDep(MsgResetDep), - MsgCwResults(MsgCwResults), - MsgCwStart(MsgCwStart), - MsgResetFilters(MsgResetFilters), - MsgInitBaseDep(MsgInitBaseDep), - MsgThreadState(MsgThreadState), - MsgUartState(MsgUartState), - MsgUartStateDepa(MsgUartStateDepa), - MsgIarState(MsgIarState), - MsgMaskSatellite(MsgMaskSatellite), - MsgMaskSatelliteDep(MsgMaskSatelliteDep), - MsgDeviceMonitor(MsgDeviceMonitor), - MsgCommandReq(MsgCommandReq), - MsgCommandResp(MsgCommandResp), - MsgCommandOutput(MsgCommandOutput), - MsgNetworkStateReq(MsgNetworkStateReq), - MsgNetworkStateResp(MsgNetworkStateResp), - MsgNetworkBandwidthUsage(MsgNetworkBandwidthUsage), - MsgCellModemStatus(MsgCellModemStatus), - MsgSpecanDep(MsgSpecanDep), - MsgSpecan(MsgSpecan), - MsgFrontEndGain(MsgFrontEndGain), - MsgBootloaderHandshakeReq(MsgBootloaderHandshakeReq), - MsgBootloaderHandshakeResp(MsgBootloaderHandshakeResp), - MsgBootloaderJumpToApp(MsgBootloaderJumpToApp), - MsgNapDeviceDnaReq(MsgNapDeviceDnaReq), - MsgNapDeviceDnaResp(MsgNapDeviceDnaResp), - MsgBootloaderHandshakeDepA(MsgBootloaderHandshakeDepA), MsgObs(MsgObs), MsgBasePosLLH(MsgBasePosLLH), MsgBasePosECEF(MsgBasePosECEF), @@ -327,13 +267,15 @@ pub enum SBP { MsgGloBiases(MsgGloBiases), MsgSvAzEl(MsgSvAzEl), MsgOsr(MsgOsr), - MsgSsrOrbitClock(MsgSsrOrbitClock), - MsgSsrOrbitClockDepA(MsgSsrOrbitClockDepA), - MsgSsrCodeBiases(MsgSsrCodeBiases), - MsgSsrPhaseBiases(MsgSsrPhaseBiases), - MsgSsrStecCorrection(MsgSsrStecCorrection), - MsgSsrGriddedCorrection(MsgSsrGriddedCorrection), - MsgSsrGridDefinition(MsgSsrGridDefinition), + MsgAcqResult(MsgAcqResult), + MsgAcqResultDepC(MsgAcqResultDepC), + MsgAcqResultDepB(MsgAcqResultDepB), + MsgAcqResultDepA(MsgAcqResultDepA), + MsgAcqSvProfile(MsgAcqSvProfile), + MsgAcqSvProfileDep(MsgAcqSvProfileDep), + MsgLog(MsgLog), + MsgFwd(MsgFwd), + MsgPrintDep(MsgPrintDep), MsgGPSTime(MsgGPSTime), MsgUtcTime(MsgUtcTime), MsgDops(MsgDops), @@ -358,6 +300,7 @@ pub enum SBP { MsgVelECEFDepA(MsgVelECEFDepA), MsgVelNEDDepA(MsgVelNEDDepA), MsgBaselineHeadingDepA(MsgBaselineHeadingDepA), + MsgNdbEvent(MsgNdbEvent), MsgLinuxCpuState(MsgLinuxCpuState), MsgLinuxMemState(MsgLinuxMemState), MsgLinuxSysState(MsgLinuxSysState), @@ -366,6 +309,65 @@ pub enum SBP { MsgLinuxSocketUsage(MsgLinuxSocketUsage), MsgLinuxProcessFdCount(MsgLinuxProcessFdCount), MsgLinuxProcessFdSummary(MsgLinuxProcessFdSummary), + MsgFlashProgram(MsgFlashProgram), + MsgFlashDone(MsgFlashDone), + MsgFlashReadReq(MsgFlashReadReq), + MsgFlashReadResp(MsgFlashReadResp), + MsgFlashErase(MsgFlashErase), + MsgStmFlashLockSector(MsgStmFlashLockSector), + MsgStmFlashUnlockSector(MsgStmFlashUnlockSector), + MsgStmUniqueIdReq(MsgStmUniqueIdReq), + MsgStmUniqueIdResp(MsgStmUniqueIdResp), + MsgM25FlashWriteStatus(MsgM25FlashWriteStatus), + MsgAlmanac(MsgAlmanac), + MsgSetTime(MsgSetTime), + MsgReset(MsgReset), + MsgResetDep(MsgResetDep), + MsgCwResults(MsgCwResults), + MsgCwStart(MsgCwStart), + MsgResetFilters(MsgResetFilters), + MsgInitBaseDep(MsgInitBaseDep), + MsgThreadState(MsgThreadState), + MsgUartState(MsgUartState), + MsgUartStateDepa(MsgUartStateDepa), + MsgIarState(MsgIarState), + MsgMaskSatellite(MsgMaskSatellite), + MsgMaskSatelliteDep(MsgMaskSatelliteDep), + MsgDeviceMonitor(MsgDeviceMonitor), + MsgCommandReq(MsgCommandReq), + MsgCommandResp(MsgCommandResp), + MsgCommandOutput(MsgCommandOutput), + MsgNetworkStateReq(MsgNetworkStateReq), + MsgNetworkStateResp(MsgNetworkStateResp), + MsgNetworkBandwidthUsage(MsgNetworkBandwidthUsage), + MsgCellModemStatus(MsgCellModemStatus), + MsgSpecanDep(MsgSpecanDep), + MsgSpecan(MsgSpecan), + MsgFrontEndGain(MsgFrontEndGain), + MsgExtEvent(MsgExtEvent), + MsgFileioReadReq(MsgFileioReadReq), + MsgFileioReadResp(MsgFileioReadResp), + MsgFileioReadDirReq(MsgFileioReadDirReq), + MsgFileioReadDirResp(MsgFileioReadDirResp), + MsgFileioRemove(MsgFileioRemove), + MsgFileioWriteReq(MsgFileioWriteReq), + MsgFileioWriteResp(MsgFileioWriteResp), + MsgFileioConfigReq(MsgFileioConfigReq), + MsgFileioConfigResp(MsgFileioConfigResp), + MsgUserData(MsgUserData), + MsgSsrOrbitClock(MsgSsrOrbitClock), + MsgSsrOrbitClockDepA(MsgSsrOrbitClockDepA), + MsgSsrCodeBiases(MsgSsrCodeBiases), + MsgSsrPhaseBiases(MsgSsrPhaseBiases), + MsgSsrStecCorrection(MsgSsrStecCorrection), + MsgSsrGriddedCorrection(MsgSsrGriddedCorrection), + MsgSsrGridDefinition(MsgSsrGridDefinition), + MsgBootloaderHandshakeReq(MsgBootloaderHandshakeReq), + MsgBootloaderHandshakeResp(MsgBootloaderHandshakeResp), + MsgBootloaderJumpToApp(MsgBootloaderJumpToApp), + MsgNapDeviceDnaReq(MsgNapDeviceDnaReq), + MsgNapDeviceDnaResp(MsgNapDeviceDnaResp), + MsgBootloaderHandshakeDepA(MsgBootloaderHandshakeDepA), MsgBaselineHeading(MsgBaselineHeading), MsgOrientQuat(MsgOrientQuat), MsgOrientEuler(MsgOrientEuler), @@ -376,75 +378,23 @@ pub enum SBP { MsgInsStatus(MsgInsStatus), MsgCsacTelemetry(MsgCsacTelemetry), MsgCsacTelemetryLabels(MsgCsacTelemetryLabels), - MsgNdbEvent(MsgNdbEvent), + MsgSbasRaw(MsgSbasRaw), + MsgTrackingStateDetailedDepA(MsgTrackingStateDetailedDepA), + MsgTrackingStateDetailedDep(MsgTrackingStateDetailedDep), + MsgTrackingState(MsgTrackingState), + MsgMeasurementState(MsgMeasurementState), + MsgTrackingIq(MsgTrackingIq), + MsgTrackingIqDepB(MsgTrackingIqDepB), + MsgTrackingIqDepA(MsgTrackingIqDepA), + MsgTrackingStateDepA(MsgTrackingStateDepA), + MsgTrackingStateDepB(MsgTrackingStateDepB), MsgImuRaw(MsgImuRaw), MsgImuAux(MsgImuAux), - MsgOdometry(MsgOdometry), - MsgFileioReadReq(MsgFileioReadReq), - MsgFileioReadResp(MsgFileioReadResp), - MsgFileioReadDirReq(MsgFileioReadDirReq), - MsgFileioReadDirResp(MsgFileioReadDirResp), - MsgFileioRemove(MsgFileioRemove), - MsgFileioWriteReq(MsgFileioWriteReq), - MsgFileioWriteResp(MsgFileioWriteResp), - MsgFileioConfigReq(MsgFileioConfigReq), - MsgFileioConfigResp(MsgFileioConfigResp), - MsgExtEvent(MsgExtEvent), } impl SBP { pub fn parse(msg_id: u16, sender_id: u16, payload: &mut &[u8]) -> Result { let x: Result = match msg_id { - 47 => { - let mut msg = MsgAcqResult::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgAcqResult(msg)) - } - 31 => { - let mut msg = MsgAcqResultDepC::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgAcqResultDepC(msg)) - } - 20 => { - let mut msg = MsgAcqResultDepB::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgAcqResultDepB(msg)) - } - 21 => { - let mut msg = MsgAcqResultDepA::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgAcqResultDepA(msg)) - } - 46 => { - let mut msg = MsgAcqSvProfile::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgAcqSvProfile(msg)) - } - 30 => { - let mut msg = MsgAcqSvProfileDep::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgAcqSvProfileDep(msg)) - } - 1025 => { - let mut msg = MsgLog::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgLog(msg)) - } - 1026 => { - let mut msg = MsgFwd::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgFwd(msg)) - } - 16 => { - let mut msg = MsgPrintDep::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgPrintDep(msg)) - } - 30583 => { - let mut msg = MsgSbasRaw::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgSbasRaw(msg)) - } 161 => { let mut msg = MsgSettingsSave::parse(payload)?; msg.set_sender_id(sender_id); @@ -455,11 +405,6 @@ impl SBP { msg.set_sender_id(sender_id); Ok(SBP::MsgSettingsWrite(msg)) } - 175 => { - let mut msg = MsgSettingsWriteResp::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgSettingsWriteResp(msg)) - } 164 => { let mut msg = MsgSettingsReadReq::parse(payload)?; msg.set_sender_id(sender_id); @@ -470,6 +415,11 @@ impl SBP { msg.set_sender_id(sender_id); Ok(SBP::MsgSettingsReadResp(msg)) } + 175 => { + let mut msg = MsgSettingsWriteResp::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgSettingsWriteResp(msg)) + } 162 => { let mut msg = MsgSettingsReadByIndexReq::parse(payload)?; msg.set_sender_id(sender_id); @@ -495,345 +445,95 @@ impl SBP { msg.set_sender_id(sender_id); Ok(SBP::MsgSettingsRegisterResp(msg)) } + 2307 => { + let mut msg = MsgOdometry::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgOdometry(msg)) + } 2306 => { let mut msg = MsgMagRaw::parse(payload)?; msg.set_sender_id(sender_id); Ok(SBP::MsgMagRaw(msg)) } - 33 => { - let mut msg = MsgTrackingStateDetailedDepA::parse(payload)?; + 74 => { + let mut msg = MsgObs::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgTrackingStateDetailedDepA(msg)) + Ok(SBP::MsgObs(msg)) } - 17 => { - let mut msg = MsgTrackingStateDetailedDep::parse(payload)?; + 68 => { + let mut msg = MsgBasePosLLH::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgTrackingStateDetailedDep(msg)) + Ok(SBP::MsgBasePosLLH(msg)) } - 65 => { - let mut msg = MsgTrackingState::parse(payload)?; + 72 => { + let mut msg = MsgBasePosECEF::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgTrackingState(msg)) + Ok(SBP::MsgBasePosECEF(msg)) } - 97 => { - let mut msg = MsgMeasurementState::parse(payload)?; + 129 => { + let mut msg = MsgEphemerisGPSDepE::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgMeasurementState(msg)) + Ok(SBP::MsgEphemerisGPSDepE(msg)) } - 45 => { - let mut msg = MsgTrackingIq::parse(payload)?; + 134 => { + let mut msg = MsgEphemerisGPSDepF::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgTrackingIq(msg)) + Ok(SBP::MsgEphemerisGPSDepF(msg)) } - 44 => { - let mut msg = MsgTrackingIqDepB::parse(payload)?; + 138 => { + let mut msg = MsgEphemerisGPS::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgTrackingIqDepB(msg)) + Ok(SBP::MsgEphemerisGPS(msg)) } - 28 => { - let mut msg = MsgTrackingIqDepA::parse(payload)?; + 142 => { + let mut msg = MsgEphemerisQzss::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgTrackingIqDepA(msg)) + Ok(SBP::MsgEphemerisQzss(msg)) } - 22 => { - let mut msg = MsgTrackingStateDepA::parse(payload)?; + 137 => { + let mut msg = MsgEphemerisBds::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgTrackingStateDepA(msg)) + Ok(SBP::MsgEphemerisBds(msg)) } - 19 => { - let mut msg = MsgTrackingStateDepB::parse(payload)?; + 149 => { + let mut msg = MsgEphemerisGalDepA::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgTrackingStateDepB(msg)) + Ok(SBP::MsgEphemerisGalDepA(msg)) } - 230 => { - let mut msg = MsgFlashProgram::parse(payload)?; + 141 => { + let mut msg = MsgEphemerisGal::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFlashProgram(msg)) + Ok(SBP::MsgEphemerisGal(msg)) } - 224 => { - let mut msg = MsgFlashDone::parse(payload)?; + 130 => { + let mut msg = MsgEphemerisSbasDepA::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFlashDone(msg)) + Ok(SBP::MsgEphemerisSbasDepA(msg)) } - 231 => { - let mut msg = MsgFlashReadReq::parse(payload)?; + 131 => { + let mut msg = MsgEphemerisGloDepA::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFlashReadReq(msg)) + Ok(SBP::MsgEphemerisGloDepA(msg)) } - 225 => { - let mut msg = MsgFlashReadResp::parse(payload)?; + 132 => { + let mut msg = MsgEphemerisSbasDepB::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFlashReadResp(msg)) + Ok(SBP::MsgEphemerisSbasDepB(msg)) } - 226 => { - let mut msg = MsgFlashErase::parse(payload)?; + 140 => { + let mut msg = MsgEphemerisSbas::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFlashErase(msg)) + Ok(SBP::MsgEphemerisSbas(msg)) } - 227 => { - let mut msg = MsgStmFlashLockSector::parse(payload)?; + 133 => { + let mut msg = MsgEphemerisGloDepB::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgStmFlashLockSector(msg)) + Ok(SBP::MsgEphemerisGloDepB(msg)) } - 228 => { - let mut msg = MsgStmFlashUnlockSector::parse(payload)?; + 135 => { + let mut msg = MsgEphemerisGloDepC::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgStmFlashUnlockSector(msg)) - } - 232 => { - let mut msg = MsgStmUniqueIdReq::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgStmUniqueIdReq(msg)) - } - 229 => { - let mut msg = MsgStmUniqueIdResp::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgStmUniqueIdResp(msg)) - } - 243 => { - let mut msg = MsgM25FlashWriteStatus::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgM25FlashWriteStatus(msg)) - } - 2048 => { - let mut msg = MsgUserData::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgUserData(msg)) - } - 105 => { - let mut msg = MsgAlmanac::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgAlmanac(msg)) - } - 104 => { - let mut msg = MsgSetTime::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgSetTime(msg)) - } - 182 => { - let mut msg = MsgReset::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgReset(msg)) - } - 178 => { - let mut msg = MsgResetDep::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgResetDep(msg)) - } - 192 => { - let mut msg = MsgCwResults::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgCwResults(msg)) - } - 193 => { - let mut msg = MsgCwStart::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgCwStart(msg)) - } - 34 => { - let mut msg = MsgResetFilters::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgResetFilters(msg)) - } - 35 => { - let mut msg = MsgInitBaseDep::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgInitBaseDep(msg)) - } - 23 => { - let mut msg = MsgThreadState::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgThreadState(msg)) - } - 29 => { - let mut msg = MsgUartState::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgUartState(msg)) - } - 24 => { - let mut msg = MsgUartStateDepa::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgUartStateDepa(msg)) - } - 25 => { - let mut msg = MsgIarState::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgIarState(msg)) - } - 43 => { - let mut msg = MsgMaskSatellite::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgMaskSatellite(msg)) - } - 27 => { - let mut msg = MsgMaskSatelliteDep::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgMaskSatelliteDep(msg)) - } - 181 => { - let mut msg = MsgDeviceMonitor::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgDeviceMonitor(msg)) - } - 184 => { - let mut msg = MsgCommandReq::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgCommandReq(msg)) - } - 185 => { - let mut msg = MsgCommandResp::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgCommandResp(msg)) - } - 188 => { - let mut msg = MsgCommandOutput::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgCommandOutput(msg)) - } - 186 => { - let mut msg = MsgNetworkStateReq::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgNetworkStateReq(msg)) - } - 187 => { - let mut msg = MsgNetworkStateResp::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgNetworkStateResp(msg)) - } - 189 => { - let mut msg = MsgNetworkBandwidthUsage::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgNetworkBandwidthUsage(msg)) - } - 190 => { - let mut msg = MsgCellModemStatus::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgCellModemStatus(msg)) - } - 80 => { - let mut msg = MsgSpecanDep::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgSpecanDep(msg)) - } - 81 => { - let mut msg = MsgSpecan::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgSpecan(msg)) - } - 191 => { - let mut msg = MsgFrontEndGain::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgFrontEndGain(msg)) - } - 179 => { - let mut msg = MsgBootloaderHandshakeReq::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgBootloaderHandshakeReq(msg)) - } - 180 => { - let mut msg = MsgBootloaderHandshakeResp::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgBootloaderHandshakeResp(msg)) - } - 177 => { - let mut msg = MsgBootloaderJumpToApp::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgBootloaderJumpToApp(msg)) - } - 222 => { - let mut msg = MsgNapDeviceDnaReq::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgNapDeviceDnaReq(msg)) - } - 221 => { - let mut msg = MsgNapDeviceDnaResp::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgNapDeviceDnaResp(msg)) - } - 176 => { - let mut msg = MsgBootloaderHandshakeDepA::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgBootloaderHandshakeDepA(msg)) - } - 74 => { - let mut msg = MsgObs::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgObs(msg)) - } - 68 => { - let mut msg = MsgBasePosLLH::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgBasePosLLH(msg)) - } - 72 => { - let mut msg = MsgBasePosECEF::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgBasePosECEF(msg)) - } - 129 => { - let mut msg = MsgEphemerisGPSDepE::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisGPSDepE(msg)) - } - 134 => { - let mut msg = MsgEphemerisGPSDepF::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisGPSDepF(msg)) - } - 138 => { - let mut msg = MsgEphemerisGPS::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisGPS(msg)) - } - 142 => { - let mut msg = MsgEphemerisQzss::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisQzss(msg)) - } - 137 => { - let mut msg = MsgEphemerisBds::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisBds(msg)) - } - 149 => { - let mut msg = MsgEphemerisGalDepA::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisGalDepA(msg)) - } - 141 => { - let mut msg = MsgEphemerisGal::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisGal(msg)) - } - 130 => { - let mut msg = MsgEphemerisSbasDepA::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisSbasDepA(msg)) - } - 131 => { - let mut msg = MsgEphemerisGloDepA::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisGloDepA(msg)) - } - 132 => { - let mut msg = MsgEphemerisSbasDepB::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisSbasDepB(msg)) - } - 140 => { - let mut msg = MsgEphemerisSbas::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisSbas(msg)) - } - 133 => { - let mut msg = MsgEphemerisGloDepB::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisGloDepB(msg)) - } - 135 => { - let mut msg = MsgEphemerisGloDepC::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgEphemerisGloDepC(msg)) + Ok(SBP::MsgEphemerisGloDepC(msg)) } 136 => { let mut msg = MsgEphemerisGloDepD::parse(payload)?; @@ -945,40 +645,50 @@ impl SBP { msg.set_sender_id(sender_id); Ok(SBP::MsgOsr(msg)) } - 1501 => { - let mut msg = MsgSsrOrbitClock::parse(payload)?; + 47 => { + let mut msg = MsgAcqResult::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgSsrOrbitClock(msg)) + Ok(SBP::MsgAcqResult(msg)) } - 1500 => { - let mut msg = MsgSsrOrbitClockDepA::parse(payload)?; + 31 => { + let mut msg = MsgAcqResultDepC::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgSsrOrbitClockDepA(msg)) + Ok(SBP::MsgAcqResultDepC(msg)) } - 1505 => { - let mut msg = MsgSsrCodeBiases::parse(payload)?; + 20 => { + let mut msg = MsgAcqResultDepB::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgSsrCodeBiases(msg)) + Ok(SBP::MsgAcqResultDepB(msg)) } - 1510 => { - let mut msg = MsgSsrPhaseBiases::parse(payload)?; + 21 => { + let mut msg = MsgAcqResultDepA::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgSsrPhaseBiases(msg)) + Ok(SBP::MsgAcqResultDepA(msg)) } - 1515 => { - let mut msg = MsgSsrStecCorrection::parse(payload)?; + 46 => { + let mut msg = MsgAcqSvProfile::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgSsrStecCorrection(msg)) + Ok(SBP::MsgAcqSvProfile(msg)) } - 1520 => { - let mut msg = MsgSsrGriddedCorrection::parse(payload)?; + 30 => { + let mut msg = MsgAcqSvProfileDep::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgSsrGriddedCorrection(msg)) + Ok(SBP::MsgAcqSvProfileDep(msg)) } - 1525 => { - let mut msg = MsgSsrGridDefinition::parse(payload)?; + 1025 => { + let mut msg = MsgLog::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgSsrGridDefinition(msg)) + Ok(SBP::MsgLog(msg)) + } + 1026 => { + let mut msg = MsgFwd::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgFwd(msg)) + } + 16 => { + let mut msg = MsgPrintDep::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgPrintDep(msg)) } 258 => { let mut msg = MsgGPSTime::parse(payload)?; @@ -995,150 +705,450 @@ impl SBP { msg.set_sender_id(sender_id); Ok(SBP::MsgDops(msg)) } - 521 => { - let mut msg = MsgPosECEF::parse(payload)?; + 521 => { + let mut msg = MsgPosECEF::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgPosECEF(msg)) + } + 532 => { + let mut msg = MsgPosECEFCov::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgPosECEFCov(msg)) + } + 522 => { + let mut msg = MsgPosLLH::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgPosLLH(msg)) + } + 529 => { + let mut msg = MsgPosLLHCov::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgPosLLHCov(msg)) + } + 523 => { + let mut msg = MsgBaselineECEF::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgBaselineECEF(msg)) + } + 524 => { + let mut msg = MsgBaselineNED::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgBaselineNED(msg)) + } + 525 => { + let mut msg = MsgVelECEF::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgVelECEF(msg)) + } + 533 => { + let mut msg = MsgVelECEFCov::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgVelECEFCov(msg)) + } + 526 => { + let mut msg = MsgVelNED::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgVelNED(msg)) + } + 530 => { + let mut msg = MsgVelNEDCov::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgVelNEDCov(msg)) + } + 531 => { + let mut msg = MsgVelBody::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgVelBody(msg)) + } + 528 => { + let mut msg = MsgAgeCorrections::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgAgeCorrections(msg)) + } + 256 => { + let mut msg = MsgGPSTimeDepA::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgGPSTimeDepA(msg)) + } + 518 => { + let mut msg = MsgDopsDepA::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgDopsDepA(msg)) + } + 512 => { + let mut msg = MsgPosECEFDepA::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgPosECEFDepA(msg)) + } + 513 => { + let mut msg = MsgPosLLHDepA::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgPosLLHDepA(msg)) + } + 514 => { + let mut msg = MsgBaselineECEFDepA::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgBaselineECEFDepA(msg)) + } + 515 => { + let mut msg = MsgBaselineNEDDepA::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgBaselineNEDDepA(msg)) + } + 516 => { + let mut msg = MsgVelECEFDepA::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgVelECEFDepA(msg)) + } + 517 => { + let mut msg = MsgVelNEDDepA::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgVelNEDDepA(msg)) + } + 519 => { + let mut msg = MsgBaselineHeadingDepA::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgBaselineHeadingDepA(msg)) + } + 1024 => { + let mut msg = MsgNdbEvent::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgNdbEvent(msg)) + } + 32512 => { + let mut msg = MsgLinuxCpuState::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgLinuxCpuState(msg)) + } + 32513 => { + let mut msg = MsgLinuxMemState::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgLinuxMemState(msg)) + } + 32514 => { + let mut msg = MsgLinuxSysState::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgLinuxSysState(msg)) + } + 32515 => { + let mut msg = MsgLinuxProcessSocketCounts::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgLinuxProcessSocketCounts(msg)) + } + 32516 => { + let mut msg = MsgLinuxProcessSocketQueues::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgLinuxProcessSocketQueues(msg)) + } + 32517 => { + let mut msg = MsgLinuxSocketUsage::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgLinuxSocketUsage(msg)) + } + 32518 => { + let mut msg = MsgLinuxProcessFdCount::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgLinuxProcessFdCount(msg)) + } + 32519 => { + let mut msg = MsgLinuxProcessFdSummary::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgLinuxProcessFdSummary(msg)) + } + 230 => { + let mut msg = MsgFlashProgram::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgFlashProgram(msg)) + } + 224 => { + let mut msg = MsgFlashDone::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgFlashDone(msg)) + } + 231 => { + let mut msg = MsgFlashReadReq::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgFlashReadReq(msg)) + } + 225 => { + let mut msg = MsgFlashReadResp::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgFlashReadResp(msg)) + } + 226 => { + let mut msg = MsgFlashErase::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgFlashErase(msg)) + } + 227 => { + let mut msg = MsgStmFlashLockSector::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgStmFlashLockSector(msg)) + } + 228 => { + let mut msg = MsgStmFlashUnlockSector::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgStmFlashUnlockSector(msg)) + } + 232 => { + let mut msg = MsgStmUniqueIdReq::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgStmUniqueIdReq(msg)) + } + 229 => { + let mut msg = MsgStmUniqueIdResp::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgStmUniqueIdResp(msg)) + } + 243 => { + let mut msg = MsgM25FlashWriteStatus::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgM25FlashWriteStatus(msg)) + } + 105 => { + let mut msg = MsgAlmanac::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgAlmanac(msg)) + } + 104 => { + let mut msg = MsgSetTime::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgSetTime(msg)) + } + 182 => { + let mut msg = MsgReset::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgReset(msg)) + } + 178 => { + let mut msg = MsgResetDep::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgResetDep(msg)) + } + 192 => { + let mut msg = MsgCwResults::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgCwResults(msg)) + } + 193 => { + let mut msg = MsgCwStart::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgCwStart(msg)) + } + 34 => { + let mut msg = MsgResetFilters::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgResetFilters(msg)) + } + 35 => { + let mut msg = MsgInitBaseDep::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgInitBaseDep(msg)) + } + 23 => { + let mut msg = MsgThreadState::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgThreadState(msg)) + } + 29 => { + let mut msg = MsgUartState::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgUartState(msg)) + } + 24 => { + let mut msg = MsgUartStateDepa::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgUartStateDepa(msg)) + } + 25 => { + let mut msg = MsgIarState::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgIarState(msg)) + } + 43 => { + let mut msg = MsgMaskSatellite::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgMaskSatellite(msg)) + } + 27 => { + let mut msg = MsgMaskSatelliteDep::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgMaskSatelliteDep(msg)) + } + 181 => { + let mut msg = MsgDeviceMonitor::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgDeviceMonitor(msg)) + } + 184 => { + let mut msg = MsgCommandReq::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgCommandReq(msg)) + } + 185 => { + let mut msg = MsgCommandResp::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgCommandResp(msg)) + } + 188 => { + let mut msg = MsgCommandOutput::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgCommandOutput(msg)) + } + 186 => { + let mut msg = MsgNetworkStateReq::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgNetworkStateReq(msg)) + } + 187 => { + let mut msg = MsgNetworkStateResp::parse(payload)?; + msg.set_sender_id(sender_id); + Ok(SBP::MsgNetworkStateResp(msg)) + } + 189 => { + let mut msg = MsgNetworkBandwidthUsage::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgPosECEF(msg)) + Ok(SBP::MsgNetworkBandwidthUsage(msg)) } - 532 => { - let mut msg = MsgPosECEFCov::parse(payload)?; + 190 => { + let mut msg = MsgCellModemStatus::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgPosECEFCov(msg)) + Ok(SBP::MsgCellModemStatus(msg)) } - 522 => { - let mut msg = MsgPosLLH::parse(payload)?; + 80 => { + let mut msg = MsgSpecanDep::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgPosLLH(msg)) + Ok(SBP::MsgSpecanDep(msg)) } - 529 => { - let mut msg = MsgPosLLHCov::parse(payload)?; + 81 => { + let mut msg = MsgSpecan::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgPosLLHCov(msg)) + Ok(SBP::MsgSpecan(msg)) } - 523 => { - let mut msg = MsgBaselineECEF::parse(payload)?; + 191 => { + let mut msg = MsgFrontEndGain::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgBaselineECEF(msg)) + Ok(SBP::MsgFrontEndGain(msg)) } - 524 => { - let mut msg = MsgBaselineNED::parse(payload)?; + 257 => { + let mut msg = MsgExtEvent::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgBaselineNED(msg)) + Ok(SBP::MsgExtEvent(msg)) } - 525 => { - let mut msg = MsgVelECEF::parse(payload)?; + 168 => { + let mut msg = MsgFileioReadReq::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgVelECEF(msg)) + Ok(SBP::MsgFileioReadReq(msg)) } - 533 => { - let mut msg = MsgVelECEFCov::parse(payload)?; + 163 => { + let mut msg = MsgFileioReadResp::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgVelECEFCov(msg)) + Ok(SBP::MsgFileioReadResp(msg)) } - 526 => { - let mut msg = MsgVelNED::parse(payload)?; + 169 => { + let mut msg = MsgFileioReadDirReq::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgVelNED(msg)) + Ok(SBP::MsgFileioReadDirReq(msg)) } - 530 => { - let mut msg = MsgVelNEDCov::parse(payload)?; + 170 => { + let mut msg = MsgFileioReadDirResp::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgVelNEDCov(msg)) + Ok(SBP::MsgFileioReadDirResp(msg)) } - 531 => { - let mut msg = MsgVelBody::parse(payload)?; + 172 => { + let mut msg = MsgFileioRemove::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgVelBody(msg)) + Ok(SBP::MsgFileioRemove(msg)) } - 528 => { - let mut msg = MsgAgeCorrections::parse(payload)?; + 173 => { + let mut msg = MsgFileioWriteReq::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgAgeCorrections(msg)) + Ok(SBP::MsgFileioWriteReq(msg)) } - 256 => { - let mut msg = MsgGPSTimeDepA::parse(payload)?; + 171 => { + let mut msg = MsgFileioWriteResp::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgGPSTimeDepA(msg)) + Ok(SBP::MsgFileioWriteResp(msg)) } - 518 => { - let mut msg = MsgDopsDepA::parse(payload)?; + 4097 => { + let mut msg = MsgFileioConfigReq::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgDopsDepA(msg)) + Ok(SBP::MsgFileioConfigReq(msg)) } - 512 => { - let mut msg = MsgPosECEFDepA::parse(payload)?; + 4098 => { + let mut msg = MsgFileioConfigResp::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgPosECEFDepA(msg)) + Ok(SBP::MsgFileioConfigResp(msg)) } - 513 => { - let mut msg = MsgPosLLHDepA::parse(payload)?; + 2048 => { + let mut msg = MsgUserData::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgPosLLHDepA(msg)) + Ok(SBP::MsgUserData(msg)) } - 514 => { - let mut msg = MsgBaselineECEFDepA::parse(payload)?; + 1501 => { + let mut msg = MsgSsrOrbitClock::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgBaselineECEFDepA(msg)) + Ok(SBP::MsgSsrOrbitClock(msg)) } - 515 => { - let mut msg = MsgBaselineNEDDepA::parse(payload)?; + 1500 => { + let mut msg = MsgSsrOrbitClockDepA::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgBaselineNEDDepA(msg)) + Ok(SBP::MsgSsrOrbitClockDepA(msg)) } - 516 => { - let mut msg = MsgVelECEFDepA::parse(payload)?; + 1505 => { + let mut msg = MsgSsrCodeBiases::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgVelECEFDepA(msg)) + Ok(SBP::MsgSsrCodeBiases(msg)) } - 517 => { - let mut msg = MsgVelNEDDepA::parse(payload)?; + 1510 => { + let mut msg = MsgSsrPhaseBiases::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgVelNEDDepA(msg)) + Ok(SBP::MsgSsrPhaseBiases(msg)) } - 519 => { - let mut msg = MsgBaselineHeadingDepA::parse(payload)?; + 1515 => { + let mut msg = MsgSsrStecCorrection::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgBaselineHeadingDepA(msg)) + Ok(SBP::MsgSsrStecCorrection(msg)) } - 32512 => { - let mut msg = MsgLinuxCpuState::parse(payload)?; + 1520 => { + let mut msg = MsgSsrGriddedCorrection::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgLinuxCpuState(msg)) + Ok(SBP::MsgSsrGriddedCorrection(msg)) } - 32513 => { - let mut msg = MsgLinuxMemState::parse(payload)?; + 1525 => { + let mut msg = MsgSsrGridDefinition::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgLinuxMemState(msg)) + Ok(SBP::MsgSsrGridDefinition(msg)) } - 32514 => { - let mut msg = MsgLinuxSysState::parse(payload)?; + 179 => { + let mut msg = MsgBootloaderHandshakeReq::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgLinuxSysState(msg)) + Ok(SBP::MsgBootloaderHandshakeReq(msg)) } - 32515 => { - let mut msg = MsgLinuxProcessSocketCounts::parse(payload)?; + 180 => { + let mut msg = MsgBootloaderHandshakeResp::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgLinuxProcessSocketCounts(msg)) + Ok(SBP::MsgBootloaderHandshakeResp(msg)) } - 32516 => { - let mut msg = MsgLinuxProcessSocketQueues::parse(payload)?; + 177 => { + let mut msg = MsgBootloaderJumpToApp::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgLinuxProcessSocketQueues(msg)) + Ok(SBP::MsgBootloaderJumpToApp(msg)) } - 32517 => { - let mut msg = MsgLinuxSocketUsage::parse(payload)?; + 222 => { + let mut msg = MsgNapDeviceDnaReq::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgLinuxSocketUsage(msg)) + Ok(SBP::MsgNapDeviceDnaReq(msg)) } - 32518 => { - let mut msg = MsgLinuxProcessFdCount::parse(payload)?; + 221 => { + let mut msg = MsgNapDeviceDnaResp::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgLinuxProcessFdCount(msg)) + Ok(SBP::MsgNapDeviceDnaResp(msg)) } - 32519 => { - let mut msg = MsgLinuxProcessFdSummary::parse(payload)?; + 176 => { + let mut msg = MsgBootloaderHandshakeDepA::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgLinuxProcessFdSummary(msg)) + Ok(SBP::MsgBootloaderHandshakeDepA(msg)) } 527 => { let mut msg = MsgBaselineHeading::parse(payload)?; @@ -1190,75 +1200,65 @@ impl SBP { msg.set_sender_id(sender_id); Ok(SBP::MsgCsacTelemetryLabels(msg)) } - 1024 => { - let mut msg = MsgNdbEvent::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgNdbEvent(msg)) - } - 2304 => { - let mut msg = MsgImuRaw::parse(payload)?; - msg.set_sender_id(sender_id); - Ok(SBP::MsgImuRaw(msg)) - } - 2305 => { - let mut msg = MsgImuAux::parse(payload)?; + 30583 => { + let mut msg = MsgSbasRaw::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgImuAux(msg)) + Ok(SBP::MsgSbasRaw(msg)) } - 2307 => { - let mut msg = MsgOdometry::parse(payload)?; + 33 => { + let mut msg = MsgTrackingStateDetailedDepA::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgOdometry(msg)) + Ok(SBP::MsgTrackingStateDetailedDepA(msg)) } - 168 => { - let mut msg = MsgFileioReadReq::parse(payload)?; + 17 => { + let mut msg = MsgTrackingStateDetailedDep::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFileioReadReq(msg)) + Ok(SBP::MsgTrackingStateDetailedDep(msg)) } - 163 => { - let mut msg = MsgFileioReadResp::parse(payload)?; + 65 => { + let mut msg = MsgTrackingState::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFileioReadResp(msg)) + Ok(SBP::MsgTrackingState(msg)) } - 169 => { - let mut msg = MsgFileioReadDirReq::parse(payload)?; + 97 => { + let mut msg = MsgMeasurementState::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFileioReadDirReq(msg)) + Ok(SBP::MsgMeasurementState(msg)) } - 170 => { - let mut msg = MsgFileioReadDirResp::parse(payload)?; + 45 => { + let mut msg = MsgTrackingIq::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFileioReadDirResp(msg)) + Ok(SBP::MsgTrackingIq(msg)) } - 172 => { - let mut msg = MsgFileioRemove::parse(payload)?; + 44 => { + let mut msg = MsgTrackingIqDepB::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFileioRemove(msg)) + Ok(SBP::MsgTrackingIqDepB(msg)) } - 173 => { - let mut msg = MsgFileioWriteReq::parse(payload)?; + 28 => { + let mut msg = MsgTrackingIqDepA::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFileioWriteReq(msg)) + Ok(SBP::MsgTrackingIqDepA(msg)) } - 171 => { - let mut msg = MsgFileioWriteResp::parse(payload)?; + 22 => { + let mut msg = MsgTrackingStateDepA::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFileioWriteResp(msg)) + Ok(SBP::MsgTrackingStateDepA(msg)) } - 4097 => { - let mut msg = MsgFileioConfigReq::parse(payload)?; + 19 => { + let mut msg = MsgTrackingStateDepB::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFileioConfigReq(msg)) + Ok(SBP::MsgTrackingStateDepB(msg)) } - 4098 => { - let mut msg = MsgFileioConfigResp::parse(payload)?; + 2304 => { + let mut msg = MsgImuRaw::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgFileioConfigResp(msg)) + Ok(SBP::MsgImuRaw(msg)) } - 257 => { - let mut msg = MsgExtEvent::parse(payload)?; + 2305 => { + let mut msg = MsgImuAux::parse(payload)?; msg.set_sender_id(sender_id); - Ok(SBP::MsgExtEvent(msg)) + Ok(SBP::MsgImuAux(msg)) } _ => Ok(SBP::Unknown { msg_id: msg_id,