module SwiftNav.SBP.Settings where
import BasicPrelude
import Control.Lens
import Control.Monad.Loops
import Data.Aeson.TH (defaultOptions, deriveJSON, 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
import SwiftNav.SBP.TH
import SwiftNav.SBP.Types
msgSettingsSave :: Word16
msgSettingsSave = 0x00A1
data MsgSettingsSave = MsgSettingsSave
deriving ( Show, Read, Eq )
instance Binary MsgSettingsSave where
get =
return MsgSettingsSave
put MsgSettingsSave =
return ()
$(deriveSBP 'msgSettingsSave ''MsgSettingsSave)
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msgSettingsSave_" . stripPrefix "_msgSettingsSave_"}
''MsgSettingsSave)
$(makeLenses ''MsgSettingsSave)
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
$(deriveSBP 'msgSettingsWrite ''MsgSettingsWrite)
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msgSettingsWrite_" . stripPrefix "_msgSettingsWrite_"}
''MsgSettingsWrite)
$(makeLenses ''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
$(deriveSBP 'msgSettingsReadReq ''MsgSettingsReadReq)
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msgSettingsReadReq_" . stripPrefix "_msgSettingsReadReq_"}
''MsgSettingsReadReq)
$(makeLenses ''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
$(deriveSBP 'msgSettingsReadResp ''MsgSettingsReadResp)
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msgSettingsReadResp_" . stripPrefix "_msgSettingsReadResp_"}
''MsgSettingsReadResp)
$(makeLenses ''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
$(deriveSBP 'msgSettingsReadByIndexReq ''MsgSettingsReadByIndexReq)
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msgSettingsReadByIndexReq_" . stripPrefix "_msgSettingsReadByIndexReq_"}
''MsgSettingsReadByIndexReq)
$(makeLenses ''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
$(deriveSBP 'msgSettingsReadByIndexResp ''MsgSettingsReadByIndexResp)
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msgSettingsReadByIndexResp_" . stripPrefix "_msgSettingsReadByIndexResp_"}
''MsgSettingsReadByIndexResp)
$(makeLenses ''MsgSettingsReadByIndexResp)
msgSettingsReadByIndexDone :: Word16
msgSettingsReadByIndexDone = 0x00A6
data MsgSettingsReadByIndexDone = MsgSettingsReadByIndexDone
deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadByIndexDone where
get =
return MsgSettingsReadByIndexDone
put MsgSettingsReadByIndexDone =
return ()
$(deriveSBP 'msgSettingsReadByIndexDone ''MsgSettingsReadByIndexDone)
$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msgSettingsReadByIndexDone_" . stripPrefix "_msgSettingsReadByIndexDone_"}
''MsgSettingsReadByIndexDone)
$(makeLenses ''MsgSettingsReadByIndexDone)