module SwiftNav.SBP.Settings where
import BasicPrelude
import Control.Monad
import Control.Monad.Loops
import Data.Aeson.TH (deriveJSON, defaultOptions, fieldLabelModifier)
import Data.Binary
import Data.Binary.Get
import Data.Binary.IEEE754
import Data.Binary.Put
import Data.ByteString
import Data.ByteString.Lazy hiding ( ByteString )
import Data.Int
import Data.Word
import SwiftNav.SBP.Encoding
msgSettingsSave :: Word16
msgSettingsSave = 0x00A1
data MsgSettingsSave = MsgSettingsSave
deriving ( Show, Read, Eq )
instance Binary MsgSettingsSave where
get =
return MsgSettingsSave
put MsgSettingsSave =
return ()
msgSettingsWrite :: Word16
msgSettingsWrite = 0x00A0
data MsgSettingsWrite = MsgSettingsWrite
{ msgSettingsWrite_setting :: ByteString
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsWrite where
get = do
msgSettingsWrite_setting <- liftM toStrict getRemainingLazyByteString
return MsgSettingsWrite {..}
put MsgSettingsWrite {..} = do
putByteString msgSettingsWrite_setting
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "msgSettingsWrite_" . stripPrefix "msgSettingsWrite_"}
''MsgSettingsWrite)
msgSettingsReadReq :: Word16
msgSettingsReadReq = 0x00A4
data MsgSettingsReadReq = MsgSettingsReadReq
{ msgSettingsReadReq_setting :: ByteString
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadReq where
get = do
msgSettingsReadReq_setting <- liftM toStrict getRemainingLazyByteString
return MsgSettingsReadReq {..}
put MsgSettingsReadReq {..} = do
putByteString msgSettingsReadReq_setting
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "msgSettingsReadReq_" . stripPrefix "msgSettingsReadReq_"}
''MsgSettingsReadReq)
msgSettingsReadResp :: Word16
msgSettingsReadResp = 0x00A5
data MsgSettingsReadResp = MsgSettingsReadResp
{ msgSettingsReadResp_setting :: ByteString
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadResp where
get = do
msgSettingsReadResp_setting <- liftM toStrict getRemainingLazyByteString
return MsgSettingsReadResp {..}
put MsgSettingsReadResp {..} = do
putByteString msgSettingsReadResp_setting
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "msgSettingsReadResp_" . stripPrefix "msgSettingsReadResp_"}
''MsgSettingsReadResp)
msgSettingsReadByIndexReq :: Word16
msgSettingsReadByIndexReq = 0x00A2
data MsgSettingsReadByIndexReq = MsgSettingsReadByIndexReq
{ msgSettingsReadByIndexReq_index :: Word16
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadByIndexReq where
get = do
msgSettingsReadByIndexReq_index <- getWord16le
return MsgSettingsReadByIndexReq {..}
put MsgSettingsReadByIndexReq {..} = do
putWord16le msgSettingsReadByIndexReq_index
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "msgSettingsReadByIndexReq_" . stripPrefix "msgSettingsReadByIndexReq_"}
''MsgSettingsReadByIndexReq)
msgSettingsReadByIndexResp :: Word16
msgSettingsReadByIndexResp = 0x00A7
data MsgSettingsReadByIndexResp = MsgSettingsReadByIndexResp
{ msgSettingsReadByIndexResp_index :: Word16
, msgSettingsReadByIndexResp_setting :: ByteString
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadByIndexResp where
get = do
msgSettingsReadByIndexResp_index <- getWord16le
msgSettingsReadByIndexResp_setting <- liftM toStrict getRemainingLazyByteString
return MsgSettingsReadByIndexResp {..}
put MsgSettingsReadByIndexResp {..} = do
putWord16le msgSettingsReadByIndexResp_index
putByteString msgSettingsReadByIndexResp_setting
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "msgSettingsReadByIndexResp_" . stripPrefix "msgSettingsReadByIndexResp_"}
''MsgSettingsReadByIndexResp)
msgSettingsReadByIndexDone :: Word16
msgSettingsReadByIndexDone = 0x00A6
data MsgSettingsReadByIndexDone = MsgSettingsReadByIndexDone
deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadByIndexDone where
get =
return MsgSettingsReadByIndexDone
put MsgSettingsReadByIndexDone =
return ()