sbp 0.50.4 → 0.50.5
raw patch · 3 files changed
+13/−4 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ SwiftNav.SBP: checkCrc :: Msg -> Word16
Files
- sbp.cabal +1/−1
- src/SwiftNav/CRC16.hs +2/−2
- src/SwiftNav/SBP.hs +10/−1
sbp.cabal view
@@ -1,5 +1,5 @@ name: sbp-version: 0.50.4+version: 0.50.5 synopsis: SwiftNav's SBP Library homepage: https://github.com/swift-nav/libsbp license: LGPL-3
@@ -10,10 +10,10 @@ ( crc16 ) where -import BasicPrelude hiding ( foldl' )+import BasicPrelude hiding ( ByteString, foldl' ) import Data.Array import Data.Bits-import Data.ByteString+import Data.ByteString.Lazy import Data.Word table :: Array Word16 Word16
@@ -14,6 +14,7 @@ import Data.Binary.Put import Data.ByteString import Data.ByteString.Lazy hiding (ByteString)+import Data.ByteString.Builder import Data.Word import SwiftNav.CRC16 import SwiftNav.SBP.Acquisition@@ -56,7 +57,15 @@ putByteString msgSBPPayload putWord16le msgSBPCrc +checkCrc :: Msg -> Word16+checkCrc Msg {..} =+ crc16 $ toLazyByteString $+ word16LE msgSBPType <>+ word16LE msgSBPSender <>+ word8 msgSBPLen <>+ byteString msgSBPPayload + data SBPMsg = SBPMsgAcqResult MsgAcqResult Msg | SBPMsgAcqResultDepA MsgAcqResultDepA Msg@@ -132,7 +141,7 @@ preamble <- getWord8 if preamble /= msgSBPPreamble then get else do sbp <- get- if crc16 (msgSBPPayload sbp) /= msgSBPCrc sbp then get else+ if checkCrc sbp /= msgSBPCrc sbp then get else return $ decode' sbp where decode' sbp | msgSBPType sbp == msgAcqResult = SBPMsgAcqResult (decode (fromStrict (msgSBPPayload sbp))) sbp