sbp 2.3.0 → 2.3.1
raw patch · 3 files changed
+50/−9 lines, 3 filesdep −QuickCheckdep −tasty-quickcheckdep −unordered-containersPVP ok
version bump matches the API change (PVP)
Dependencies removed: QuickCheck, tasty-quickcheck, unordered-containers
API changes (from Hackage documentation)
Files
- sbp.cabal +3/−9
- src/SwiftNav/SBP/Msg.hs +6/−0
- src/SwiftNav/SBP/Observation.hs +41/−0
sbp.cabal view
@@ -1,5 +1,5 @@ name: sbp-version: 2.3.0+version: 2.3.1 cabal-version: >=1.22 build-type: Simple license: LGPL-3@@ -40,8 +40,7 @@ lens-aeson >=1.0.0.5, monad-loops >=0.4.3, template-haskell >=2.10.0.0,- text >=1.2.2.2,- unordered-containers >=0.2.8.0+ text >=1.2.2.2 default-language: Haskell2010 hs-source-dirs: src other-modules:@@ -118,16 +117,11 @@ type: exitcode-stdio-1.0 main-is: Test.hs build-depends:- aeson >=0.11.3.0, base >=4.8.2.0,- base64-bytestring >=1.0.0.1, basic-prelude >=0.5.2,- bytestring >=0.10.6.0,- QuickCheck >=2.8.2, sbp, tasty >=0.11.2.1,- tasty-hunit >=0.9.2,- tasty-quickcheck >=0.8.4+ tasty-hunit >=0.9.2 default-language: Haskell2010 hs-source-dirs: test other-modules:
@@ -108,6 +108,7 @@ | SBPMsgFlashReadReq MsgFlashReadReq Msg | SBPMsgFlashReadResp MsgFlashReadResp Msg | SBPMsgFwd MsgFwd Msg+ | SBPMsgGloBiases MsgGloBiases Msg | SBPMsgGpsTime MsgGpsTime Msg | SBPMsgGpsTimeDepA MsgGpsTimeDepA Msg | SBPMsgGroupDelay MsgGroupDelay Msg@@ -247,6 +248,7 @@ | _msgSBPType == msgFlashReadReq = SBPMsgFlashReadReq (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgFlashReadResp = SBPMsgFlashReadResp (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgFwd = SBPMsgFwd (decode (fromStrict (unBytes _msgSBPPayload))) m+ | _msgSBPType == msgGloBiases = SBPMsgGloBiases (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGpsTime = SBPMsgGpsTime (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGpsTimeDepA = SBPMsgGpsTimeDepA (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgGroupDelay = SBPMsgGroupDelay (decode (fromStrict (unBytes _msgSBPPayload))) m@@ -378,6 +380,7 @@ encoder (SBPMsgFlashReadReq _ m) = put m encoder (SBPMsgFlashReadResp _ m) = put m encoder (SBPMsgFwd _ m) = put m+ encoder (SBPMsgGloBiases _ m) = put m encoder (SBPMsgGpsTime _ m) = put m encoder (SBPMsgGpsTimeDepA _ m) = put m encoder (SBPMsgGroupDelay _ m) = put m@@ -513,6 +516,7 @@ | msgType == msgFlashReadReq = SBPMsgFlashReadReq <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgFlashReadResp = SBPMsgFlashReadResp <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgFwd = SBPMsgFwd <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj+ | msgType == msgGloBiases = SBPMsgGloBiases <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGpsTime = SBPMsgGpsTime <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGpsTimeDepA = SBPMsgGpsTimeDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgGroupDelay = SBPMsgGroupDelay <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj@@ -649,6 +653,7 @@ toJSON (SBPMsgFlashReadReq n m) = toJSON n <<>> toJSON m toJSON (SBPMsgFlashReadResp n m) = toJSON n <<>> toJSON m toJSON (SBPMsgFwd n m) = toJSON n <<>> toJSON m+ toJSON (SBPMsgGloBiases n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGpsTime n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGpsTimeDepA n m) = toJSON n <<>> toJSON m toJSON (SBPMsgGroupDelay n m) = toJSON n <<>> toJSON m@@ -779,6 +784,7 @@ msg f (SBPMsgFlashReadReq n m) = SBPMsgFlashReadReq n <$> f m msg f (SBPMsgFlashReadResp n m) = SBPMsgFlashReadResp n <$> f m msg f (SBPMsgFwd n m) = SBPMsgFwd n <$> f m+ msg f (SBPMsgGloBiases n m) = SBPMsgGloBiases n <$> f m msg f (SBPMsgGpsTime n m) = SBPMsgGpsTime n <$> f m msg f (SBPMsgGpsTimeDepA n m) = SBPMsgGpsTimeDepA n <$> f m msg f (SBPMsgGroupDelay n m) = SBPMsgGroupDelay n <$> f m
@@ -2149,3 +2149,44 @@ $(makeSBP 'msgAlmanacGlo ''MsgAlmanacGlo) $(makeJSON "_msgAlmanacGlo_" ''MsgAlmanacGlo) $(makeLenses ''MsgAlmanacGlo)++msgGloBiases :: Word16+msgGloBiases = 0x0075++-- | SBP class for message MSG_GLO_BIASES (0x0075).+--+-- The GLONASS L1/L2 Code-Phase biases allows to perform GPS+GLONASS integer+-- ambiguity resolution for baselines with mixed receiver types (e.g. receiver+-- of different manufacturers)+data MsgGloBiases = MsgGloBiases+ { _msgGloBiases_mask :: !Word8+ -- ^ GLONASS FDMA signals mask+ , _msgGloBiases_l1ca_bias :: !Int16+ -- ^ GLONASS L1 C/A Code-Phase Bias+ , _msgGloBiases_l1p_bias :: !Int16+ -- ^ GLONASS L1 P Code-Phase Bias+ , _msgGloBiases_l2ca_bias :: !Int16+ -- ^ GLONASS L2 C/A Code-Phase Bias+ , _msgGloBiases_l2p_bias :: !Int16+ -- ^ GLONASS L2 P Code-Phase Bias+ } deriving ( Show, Read, Eq )++instance Binary MsgGloBiases where+ get = do+ _msgGloBiases_mask <- getWord8+ _msgGloBiases_l1ca_bias <- fromIntegral <$> getWord16le+ _msgGloBiases_l1p_bias <- fromIntegral <$> getWord16le+ _msgGloBiases_l2ca_bias <- fromIntegral <$> getWord16le+ _msgGloBiases_l2p_bias <- fromIntegral <$> getWord16le+ pure MsgGloBiases {..}++ put MsgGloBiases {..} = do+ putWord8 _msgGloBiases_mask+ putWord16le $ fromIntegral _msgGloBiases_l1ca_bias+ putWord16le $ fromIntegral _msgGloBiases_l1p_bias+ putWord16le $ fromIntegral _msgGloBiases_l2ca_bias+ putWord16le $ fromIntegral _msgGloBiases_l2p_bias++$(makeSBP 'msgGloBiases ''MsgGloBiases)+$(makeJSON "_msgGloBiases_" ''MsgGloBiases)+$(makeLenses ''MsgGloBiases)