sbp 4.5.0 → 4.6.0
raw patch · 5 files changed
+93/−3 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ SwiftNav.SBP: SBPMsgEd25519Certificate :: MsgEd25519Certificate -> Msg -> SBPMsg
+ SwiftNav.SBP: SBPMsgEd25519Signature :: MsgEd25519Signature -> Msg -> SBPMsg
+ SwiftNav.SBP: _SBPMsgEd25519Certificate :: Prism' SBPMsg (MsgEd25519Certificate, Msg)
+ SwiftNav.SBP: _SBPMsgEd25519Signature :: Prism' SBPMsg (MsgEd25519Signature, Msg)
+ SwiftNav.SBP.Signing: MsgEd25519Certificate :: ![Word8] -> MsgEd25519Certificate
+ SwiftNav.SBP.Signing: MsgEd25519Signature :: ![Word8] -> MsgEd25519Signature
+ SwiftNav.SBP.Signing: [_msgEd25519Certificate_stub] :: MsgEd25519Certificate -> ![Word8]
+ SwiftNav.SBP.Signing: [_msgEd25519Signature_stub] :: MsgEd25519Signature -> ![Word8]
+ SwiftNav.SBP.Signing: data MsgEd25519Certificate
+ SwiftNav.SBP.Signing: data MsgEd25519Signature
+ SwiftNav.SBP.Signing: instance Data.Aeson.Types.FromJSON.FromJSON SwiftNav.SBP.Signing.MsgEd25519Certificate
+ SwiftNav.SBP.Signing: instance Data.Aeson.Types.FromJSON.FromJSON SwiftNav.SBP.Signing.MsgEd25519Signature
+ SwiftNav.SBP.Signing: instance Data.Aeson.Types.ToJSON.ToJSON SwiftNav.SBP.Signing.MsgEd25519Certificate
+ SwiftNav.SBP.Signing: instance Data.Aeson.Types.ToJSON.ToJSON SwiftNav.SBP.Signing.MsgEd25519Signature
+ SwiftNav.SBP.Signing: instance Data.Binary.Class.Binary SwiftNav.SBP.Signing.MsgEd25519Certificate
+ SwiftNav.SBP.Signing: instance Data.Binary.Class.Binary SwiftNav.SBP.Signing.MsgEd25519Signature
+ SwiftNav.SBP.Signing: instance GHC.Classes.Eq SwiftNav.SBP.Signing.MsgEd25519Certificate
+ SwiftNav.SBP.Signing: instance GHC.Classes.Eq SwiftNav.SBP.Signing.MsgEd25519Signature
+ SwiftNav.SBP.Signing: instance GHC.Read.Read SwiftNav.SBP.Signing.MsgEd25519Certificate
+ SwiftNav.SBP.Signing: instance GHC.Read.Read SwiftNav.SBP.Signing.MsgEd25519Signature
+ SwiftNav.SBP.Signing: instance GHC.Show.Show SwiftNav.SBP.Signing.MsgEd25519Certificate
+ SwiftNav.SBP.Signing: instance GHC.Show.Show SwiftNav.SBP.Signing.MsgEd25519Signature
+ SwiftNav.SBP.Signing: instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Signing.MsgEd25519Certificate
+ SwiftNav.SBP.Signing: instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Signing.MsgEd25519Signature
+ SwiftNav.SBP.Signing: msgEd25519Certificate :: Word16
+ SwiftNav.SBP.Signing: msgEd25519Certificate_stub :: Iso' MsgEd25519Certificate [Word8]
+ SwiftNav.SBP.Signing: msgEd25519Signature :: Word16
+ SwiftNav.SBP.Signing: msgEd25519Signature_stub :: Iso' MsgEd25519Signature [Word8]
- SwiftNav.SBP.Types: class HasMsg c_af3S
+ SwiftNav.SBP.Types: class HasMsg c_af61
- SwiftNav.SBP.Types: msg :: HasMsg c_af3S => Lens' c_af3S Msg
+ SwiftNav.SBP.Types: msg :: HasMsg c_af61 => Lens' c_af61 Msg
- SwiftNav.SBP.Types: msgSBPCrc :: HasMsg c_af3S => Lens' c_af3S Word16
+ SwiftNav.SBP.Types: msgSBPCrc :: HasMsg c_af61 => Lens' c_af61 Word16
- SwiftNav.SBP.Types: msgSBPLen :: HasMsg c_af3S => Lens' c_af3S Word8
+ SwiftNav.SBP.Types: msgSBPLen :: HasMsg c_af61 => Lens' c_af61 Word8
- SwiftNav.SBP.Types: msgSBPPayload :: HasMsg c_af3S => Lens' c_af3S Bytes
+ SwiftNav.SBP.Types: msgSBPPayload :: HasMsg c_af61 => Lens' c_af61 Bytes
- SwiftNav.SBP.Types: msgSBPSender :: HasMsg c_af3S => Lens' c_af3S Word16
+ SwiftNav.SBP.Types: msgSBPSender :: HasMsg c_af61 => Lens' c_af61 Word16
- SwiftNav.SBP.Types: msgSBPType :: HasMsg c_af3S => Lens' c_af3S Word16
+ SwiftNav.SBP.Types: msgSBPType :: HasMsg c_af61 => Lens' c_af61 Word16
Files
- sbp.cabal +2/−1
- src/SwiftNav/SBP.hs +1/−0
- src/SwiftNav/SBP/Msg.hs +13/−0
- src/SwiftNav/SBP/Navigation.hs +2/−2
- src/SwiftNav/SBP/Signing.hs +75/−0
sbp.cabal view
@@ -1,5 +1,5 @@ name: sbp-version: 4.5.0+version: 4.6.0 synopsis: SwiftNav's SBP Library homepage: https://github.com/swift-nav/libsbp license: MIT@@ -43,6 +43,7 @@ , SwiftNav.SBP.Piksi , SwiftNav.SBP.Sbas , SwiftNav.SBP.Settings+ , SwiftNav.SBP.Signing , SwiftNav.SBP.SolutionMeta , SwiftNav.SBP.Ssr , SwiftNav.SBP.System
@@ -32,6 +32,7 @@ import SwiftNav.SBP.Piksi as Exports import SwiftNav.SBP.Sbas as Exports import SwiftNav.SBP.Settings as Exports+import SwiftNav.SBP.Signing as Exports import SwiftNav.SBP.SolutionMeta as Exports import SwiftNav.SBP.Ssr as Exports import SwiftNav.SBP.System as Exports
@@ -42,6 +42,7 @@ import SwiftNav.SBP.Piksi import SwiftNav.SBP.Sbas import SwiftNav.SBP.Settings+import SwiftNav.SBP.Signing import SwiftNav.SBP.SolutionMeta import SwiftNav.SBP.Ssr import SwiftNav.SBP.System@@ -93,6 +94,8 @@ | SBPMsgDgnssStatus MsgDgnssStatus Msg | SBPMsgDops MsgDops Msg | SBPMsgDopsDepA MsgDopsDepA Msg+ | SBPMsgEd25519Certificate MsgEd25519Certificate Msg+ | SBPMsgEd25519Signature MsgEd25519Signature Msg | SBPMsgEphemerisBds MsgEphemerisBds Msg | SBPMsgEphemerisDepA MsgEphemerisDepA Msg | SBPMsgEphemerisDepB MsgEphemerisDepB Msg@@ -325,6 +328,8 @@ | _msgSBPType == msgDgnssStatus = SBPMsgDgnssStatus (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgDops = SBPMsgDops (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgDopsDepA = SBPMsgDopsDepA (decode (fromStrict (unBytes _msgSBPPayload))) m+ | _msgSBPType == msgEd25519Certificate = SBPMsgEd25519Certificate (decode (fromStrict (unBytes _msgSBPPayload))) m+ | _msgSBPType == msgEd25519Signature = SBPMsgEd25519Signature (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgEphemerisBds = SBPMsgEphemerisBds (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgEphemerisDepA = SBPMsgEphemerisDepA (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgEphemerisDepB = SBPMsgEphemerisDepB (decode (fromStrict (unBytes _msgSBPPayload))) m@@ -549,6 +554,8 @@ encoder (SBPMsgDgnssStatus _ m) = put m encoder (SBPMsgDops _ m) = put m encoder (SBPMsgDopsDepA _ m) = put m+ encoder (SBPMsgEd25519Certificate _ m) = put m+ encoder (SBPMsgEd25519Signature _ m) = put m encoder (SBPMsgEphemerisBds _ m) = put m encoder (SBPMsgEphemerisDepA _ m) = put m encoder (SBPMsgEphemerisDepB _ m) = put m@@ -777,6 +784,8 @@ | msgType == msgDgnssStatus = SBPMsgDgnssStatus <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgDops = SBPMsgDops <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgDopsDepA = SBPMsgDopsDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj+ | msgType == msgEd25519Certificate = SBPMsgEd25519Certificate <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj+ | msgType == msgEd25519Signature = SBPMsgEd25519Signature <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgEphemerisBds = SBPMsgEphemerisBds <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgEphemerisDepA = SBPMsgEphemerisDepA <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgEphemerisDepB = SBPMsgEphemerisDepB <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj@@ -1006,6 +1015,8 @@ toJSON (SBPMsgDgnssStatus n m) = toJSON n <<>> toJSON m toJSON (SBPMsgDops n m) = toJSON n <<>> toJSON m toJSON (SBPMsgDopsDepA n m) = toJSON n <<>> toJSON m+ toJSON (SBPMsgEd25519Certificate n m) = toJSON n <<>> toJSON m+ toJSON (SBPMsgEd25519Signature n m) = toJSON n <<>> toJSON m toJSON (SBPMsgEphemerisBds n m) = toJSON n <<>> toJSON m toJSON (SBPMsgEphemerisDepA n m) = toJSON n <<>> toJSON m toJSON (SBPMsgEphemerisDepB n m) = toJSON n <<>> toJSON m@@ -1229,6 +1240,8 @@ msg f (SBPMsgDgnssStatus n m) = SBPMsgDgnssStatus n <$> f m msg f (SBPMsgDops n m) = SBPMsgDops n <$> f m msg f (SBPMsgDopsDepA n m) = SBPMsgDopsDepA n <$> f m+ msg f (SBPMsgEd25519Certificate n m) = SBPMsgEd25519Certificate n <$> f m+ msg f (SBPMsgEd25519Signature n m) = SBPMsgEd25519Signature n <$> f m msg f (SBPMsgEphemerisBds n m) = SBPMsgEphemerisBds n <$> f m msg f (SBPMsgEphemerisDepA n m) = SBPMsgEphemerisDepA n <$> f m msg f (SBPMsgEphemerisDepB n m) = SBPMsgEphemerisDepB n <$> f m
@@ -2370,9 +2370,9 @@ { _msgReferenceFrameParam_ssr_iod :: !Word8 -- ^ SSR IOD parameter. , _msgReferenceFrameParam_sn :: !Text- -- ^ Name of source coordinate-system using the EPSG identification code.+ -- ^ Name of source coordinate-system. , _msgReferenceFrameParam_tn :: !Text- -- ^ Name of target coordinate-system using the EPSG identification code.+ -- ^ Name of target coordinate-system. , _msgReferenceFrameParam_sin :: !Word8 -- ^ System Identification Number. , _msgReferenceFrameParam_utn :: !Word16
@@ -0,0 +1,75 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE RecordWildCards #-}++-- |+-- Module: SwiftNav.SBP.Signing+-- Copyright: Copyright (C) 2015-2021 Swift Navigation, Inc.+-- License: MIT+-- Contact: https://support.swiftnav.com+-- Stability: experimental+-- Portability: portable+--+-- \< Messages relating to signatures \>++module SwiftNav.SBP.Signing+ ( module SwiftNav.SBP.Signing+ ) where++import BasicPrelude+import Control.Lens+import Control.Monad.Loops+import Data.Binary+import Data.Binary.Get+import Data.Binary.IEEE754+import Data.Binary.Put+import Data.ByteString.Lazy hiding (ByteString)+import Data.Int+import Data.Word+import SwiftNav.SBP.TH+import SwiftNav.SBP.Types+import SwiftNav.SBP.Gnss++{-# ANN module ("HLint: ignore Use camelCase"::String) #-}+{-# ANN module ("HLint: ignore Redundant do"::String) #-}+{-# ANN module ("HLint: ignore Use newtype instead of data"::String) #-}+++msgEd25519Signature :: Word16+msgEd25519Signature = 0x0C01++data MsgEd25519Signature = MsgEd25519Signature+ { _msgEd25519Signature_stub :: ![Word8]+ } deriving ( Show, Read, Eq )++instance Binary MsgEd25519Signature where+ get = do+ _msgEd25519Signature_stub <- whileM (not <$> isEmpty) getWord8+ pure MsgEd25519Signature {..}++ put MsgEd25519Signature {..} = do+ mapM_ putWord8 _msgEd25519Signature_stub++$(makeSBP 'msgEd25519Signature ''MsgEd25519Signature)+$(makeJSON "_msgEd25519Signature_" ''MsgEd25519Signature)+$(makeLenses ''MsgEd25519Signature)++msgEd25519Certificate :: Word16+msgEd25519Certificate = 0x0C02++data MsgEd25519Certificate = MsgEd25519Certificate+ { _msgEd25519Certificate_stub :: ![Word8]+ } deriving ( Show, Read, Eq )++instance Binary MsgEd25519Certificate where+ get = do+ _msgEd25519Certificate_stub <- whileM (not <$> isEmpty) getWord8+ pure MsgEd25519Certificate {..}++ put MsgEd25519Certificate {..} = do+ mapM_ putWord8 _msgEd25519Certificate_stub++$(makeSBP 'msgEd25519Certificate ''MsgEd25519Certificate)+$(makeJSON "_msgEd25519Certificate_" ''MsgEd25519Certificate)+$(makeLenses ''MsgEd25519Certificate)