sbp 2.3.1 → 2.3.2
raw patch · 3 files changed
+36/−1 lines, 3 files
Files
- sbp.cabal +1/−1
- src/SwiftNav/SBP/Msg.hs +6/−0
- src/SwiftNav/SBP/Settings.hs +29/−0
sbp.cabal view
@@ -1,5 +1,5 @@ name: sbp-version: 2.3.1+version: 2.3.2 cabal-version: >=1.22 build-type: Simple license: LGPL-3
@@ -151,6 +151,7 @@ | SBPMsgSettingsRegister MsgSettingsRegister Msg | SBPMsgSettingsSave MsgSettingsSave Msg | SBPMsgSettingsWrite MsgSettingsWrite Msg+ | SBPMsgSettingsWriteResp MsgSettingsWriteResp Msg | SBPMsgSpecan MsgSpecan Msg | SBPMsgSpecanDep MsgSpecanDep Msg | SBPMsgStartup MsgStartup Msg@@ -291,6 +292,7 @@ | _msgSBPType == msgSettingsRegister = SBPMsgSettingsRegister (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgSettingsSave = SBPMsgSettingsSave (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgSettingsWrite = SBPMsgSettingsWrite (decode (fromStrict (unBytes _msgSBPPayload))) m+ | _msgSBPType == msgSettingsWriteResp = SBPMsgSettingsWriteResp (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgSpecan = SBPMsgSpecan (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgSpecanDep = SBPMsgSpecanDep (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgStartup = SBPMsgStartup (decode (fromStrict (unBytes _msgSBPPayload))) m@@ -423,6 +425,7 @@ encoder (SBPMsgSettingsRegister _ m) = put m encoder (SBPMsgSettingsSave _ m) = put m encoder (SBPMsgSettingsWrite _ m) = put m+ encoder (SBPMsgSettingsWriteResp _ m) = put m encoder (SBPMsgSpecan _ m) = put m encoder (SBPMsgSpecanDep _ m) = put m encoder (SBPMsgStartup _ m) = put m@@ -559,6 +562,7 @@ | msgType == msgSettingsRegister = SBPMsgSettingsRegister <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgSettingsSave = SBPMsgSettingsSave <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgSettingsWrite = SBPMsgSettingsWrite <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj+ | msgType == msgSettingsWriteResp = SBPMsgSettingsWriteResp <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgSpecan = SBPMsgSpecan <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgSpecanDep = SBPMsgSpecanDep <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgStartup = SBPMsgStartup <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj@@ -696,6 +700,7 @@ toJSON (SBPMsgSettingsRegister n m) = toJSON n <<>> toJSON m toJSON (SBPMsgSettingsSave n m) = toJSON n <<>> toJSON m toJSON (SBPMsgSettingsWrite n m) = toJSON n <<>> toJSON m+ toJSON (SBPMsgSettingsWriteResp n m) = toJSON n <<>> toJSON m toJSON (SBPMsgSpecan n m) = toJSON n <<>> toJSON m toJSON (SBPMsgSpecanDep n m) = toJSON n <<>> toJSON m toJSON (SBPMsgStartup n m) = toJSON n <<>> toJSON m@@ -827,6 +832,7 @@ 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 (SBPMsgSettingsWriteResp n m) = SBPMsgSettingsWriteResp n <$> f m msg f (SBPMsgSpecan n m) = SBPMsgSpecan n <$> f m msg f (SBPMsgSpecanDep n m) = SBPMsgSpecanDep n <$> f m msg f (SBPMsgStartup n m) = SBPMsgStartup n <$> f m
@@ -84,6 +84,35 @@ $(makeJSON "_msgSettingsWrite_" ''MsgSettingsWrite) $(makeLenses ''MsgSettingsWrite) +msgSettingsWriteResp :: Word16+msgSettingsWriteResp = 0x00AF++-- | SBP class for message MSG_SETTINGS_WRITE_RESP (0x00AF).+--+-- Return the status of a write request with the new value of the setting. If+-- the requested value is rejected, the current value will be returned.+data MsgSettingsWriteResp = MsgSettingsWriteResp+ { _msgSettingsWriteResp_status :: !Word8+ -- ^ Write status+ , _msgSettingsWriteResp_setting :: !Text+ -- ^ A NULL-terminated and delimited string with contents [SECTION_SETTING,+ -- SETTING, VALUE].+ } deriving ( Show, Read, Eq )++instance Binary MsgSettingsWriteResp where+ get = do+ _msgSettingsWriteResp_status <- getWord8+ _msgSettingsWriteResp_setting <- decodeUtf8 . toStrict <$> getRemainingLazyByteString+ pure MsgSettingsWriteResp {..}++ put MsgSettingsWriteResp {..} = do+ putWord8 _msgSettingsWriteResp_status+ putByteString $ encodeUtf8 _msgSettingsWriteResp_setting++$(makeSBP 'msgSettingsWriteResp ''MsgSettingsWriteResp)+$(makeJSON "_msgSettingsWriteResp_" ''MsgSettingsWriteResp)+$(makeLenses ''MsgSettingsWriteResp)+ msgSettingsReadReq :: Word16 msgSettingsReadReq = 0x00A4