packages feed

sbp 1.0.1 → 1.1.0

raw patch · 3 files changed

+35/−1 lines, 3 files

Files

sbp.cabal view
@@ -1,5 +1,5 @@ name:                  sbp-version:               1.0.1+version:               1.1.0 synopsis:              SwiftNav's SBP Library homepage:              https://github.com/swift-nav/libsbp license:               LGPL-3
src/SwiftNav/SBP.hs view
@@ -109,6 +109,7 @@    | SBPMsgSettingsReadByIndexResp MsgSettingsReadByIndexResp Msg    | SBPMsgSettingsReadReq MsgSettingsReadReq Msg    | SBPMsgSettingsReadResp MsgSettingsReadResp Msg+   | SBPMsgSettingsRegister MsgSettingsRegister Msg    | SBPMsgSettingsSave MsgSettingsSave Msg    | SBPMsgSettingsWrite MsgSettingsWrite Msg    | SBPMsgStartup MsgStartup Msg@@ -194,6 +195,7 @@           | _msgSBPType == msgSettingsReadByIndexResp = SBPMsgSettingsReadByIndexResp (decode (fromStrict _msgSBPPayload)) m           | _msgSBPType == msgSettingsReadReq = SBPMsgSettingsReadReq (decode (fromStrict _msgSBPPayload)) m           | _msgSBPType == msgSettingsReadResp = SBPMsgSettingsReadResp (decode (fromStrict _msgSBPPayload)) m+          | _msgSBPType == msgSettingsRegister = SBPMsgSettingsRegister (decode (fromStrict _msgSBPPayload)) m           | _msgSBPType == msgSettingsSave = SBPMsgSettingsSave (decode (fromStrict _msgSBPPayload)) m           | _msgSBPType == msgSettingsWrite = SBPMsgSettingsWrite (decode (fromStrict _msgSBPPayload)) m           | _msgSBPType == msgStartup = SBPMsgStartup (decode (fromStrict _msgSBPPayload)) m@@ -271,6 +273,7 @@       encode' (SBPMsgSettingsReadByIndexResp _ m) = put m       encode' (SBPMsgSettingsReadReq _ m) = put m       encode' (SBPMsgSettingsReadResp _ m) = put m+      encode' (SBPMsgSettingsRegister _ m) = put m       encode' (SBPMsgSettingsSave _ m) = put m       encode' (SBPMsgSettingsWrite _ m) = put m       encode' (SBPMsgStartup _ m) = put m@@ -351,6 +354,7 @@         | msgType == msgSettingsReadByIndexResp = SBPMsgSettingsReadByIndexResp <$> parseJSON obj <*> parseJSON obj         | msgType == msgSettingsReadReq = SBPMsgSettingsReadReq <$> parseJSON obj <*> parseJSON obj         | msgType == msgSettingsReadResp = SBPMsgSettingsReadResp <$> parseJSON obj <*> parseJSON obj+        | msgType == msgSettingsRegister = SBPMsgSettingsRegister <$> parseJSON obj <*> parseJSON obj         | msgType == msgSettingsSave = SBPMsgSettingsSave <$> parseJSON obj <*> parseJSON obj         | msgType == msgSettingsWrite = SBPMsgSettingsWrite <$> parseJSON obj <*> parseJSON obj         | msgType == msgStartup = SBPMsgStartup <$> parseJSON obj <*> parseJSON obj@@ -433,6 +437,7 @@   toJSON (SBPMsgSettingsReadByIndexResp n m) = toJSON n `mergeValues` toJSON m   toJSON (SBPMsgSettingsReadReq n m) = toJSON n `mergeValues` toJSON m   toJSON (SBPMsgSettingsReadResp n m) = toJSON n `mergeValues` toJSON m+  toJSON (SBPMsgSettingsRegister n m) = toJSON n `mergeValues` toJSON m   toJSON (SBPMsgSettingsSave n m) = toJSON n `mergeValues` toJSON m   toJSON (SBPMsgSettingsWrite n m) = toJSON n `mergeValues` toJSON m   toJSON (SBPMsgStartup n m) = toJSON n `mergeValues` toJSON m@@ -509,6 +514,7 @@   msg f (SBPMsgSettingsReadByIndexResp n m) = SBPMsgSettingsReadByIndexResp n <$> f m   msg f (SBPMsgSettingsReadReq n m) = SBPMsgSettingsReadReq n <$> f m   msg f (SBPMsgSettingsReadResp n m) = SBPMsgSettingsReadResp n <$> f m+  msg f (SBPMsgSettingsRegister n m) = SBPMsgSettingsRegister n <$> f m   msg f (SBPMsgSettingsSave n m) = SBPMsgSettingsSave n <$> f m   msg f (SBPMsgSettingsWrite n m) = SBPMsgSettingsWrite n <$> f m   msg f (SBPMsgStartup n m) = SBPMsgStartup n <$> f m
src/SwiftNav/SBP/Settings.hs view
@@ -217,3 +217,31 @@ $(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msgSettingsReadByIndexDone_" . stripPrefix "_msgSettingsReadByIndexDone_"}              ''MsgSettingsReadByIndexDone) $(makeLenses ''MsgSettingsReadByIndexDone)++msgSettingsRegister :: Word16+msgSettingsRegister = 0x00AE++-- | SBP class for message MSG_SETTINGS_REGISTER (0x00AE).+--+-- This message registers the presence and default value of a setting with a+-- settings daemon.  The host should reply with MSG_SETTINGS_WRITE for this+-- setting to set the initial value.+data MsgSettingsRegister = MsgSettingsRegister+  { _msgSettingsRegister_setting :: ByteString+    -- ^ A NULL-terminated and delimited string with contents [SECTION_SETTING,+    -- SETTING, VALUE].+  } deriving ( Show, Read, Eq )++instance Binary MsgSettingsRegister where+  get = do+    _msgSettingsRegister_setting <- liftM toStrict getRemainingLazyByteString+    return MsgSettingsRegister {..}++  put MsgSettingsRegister {..} = do+    putByteString _msgSettingsRegister_setting++$(deriveSBP 'msgSettingsRegister ''MsgSettingsRegister)++$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msgSettingsRegister_" . stripPrefix "_msgSettingsRegister_"}+             ''MsgSettingsRegister)+$(makeLenses ''MsgSettingsRegister)