module SwiftNav.SBP.Settings
( module SwiftNav.SBP.Settings
) 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
msgSettingsSave :: Word16
msgSettingsSave = 0x00A1
data MsgSettingsSave = MsgSettingsSave
deriving ( Show, Read, Eq )
instance Binary MsgSettingsSave where
get =
pure MsgSettingsSave
put MsgSettingsSave =
pure ()
$(makeSBP 'msgSettingsSave ''MsgSettingsSave)
$(makeJSON "_msgSettingsSave_" ''MsgSettingsSave)
$(makeLenses ''MsgSettingsSave)
msgSettingsWrite :: Word16
msgSettingsWrite = 0x00A0
data MsgSettingsWrite = MsgSettingsWrite
{ _msgSettingsWrite_setting :: !Text
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsWrite where
get = do
_msgSettingsWrite_setting <- decodeUtf8 . toStrict <$> getRemainingLazyByteString
pure MsgSettingsWrite {..}
put MsgSettingsWrite {..} = do
putByteString $ encodeUtf8 _msgSettingsWrite_setting
$(makeSBP 'msgSettingsWrite ''MsgSettingsWrite)
$(makeJSON "_msgSettingsWrite_" ''MsgSettingsWrite)
$(makeLenses ''MsgSettingsWrite)
msgSettingsReadReq :: Word16
msgSettingsReadReq = 0x00A4
data MsgSettingsReadReq = MsgSettingsReadReq
{ _msgSettingsReadReq_setting :: !Text
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadReq where
get = do
_msgSettingsReadReq_setting <- decodeUtf8 . toStrict <$> getRemainingLazyByteString
pure MsgSettingsReadReq {..}
put MsgSettingsReadReq {..} = do
putByteString $ encodeUtf8 _msgSettingsReadReq_setting
$(makeSBP 'msgSettingsReadReq ''MsgSettingsReadReq)
$(makeJSON "_msgSettingsReadReq_" ''MsgSettingsReadReq)
$(makeLenses ''MsgSettingsReadReq)
msgSettingsReadResp :: Word16
msgSettingsReadResp = 0x00A5
data MsgSettingsReadResp = MsgSettingsReadResp
{ _msgSettingsReadResp_setting :: !Text
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadResp where
get = do
_msgSettingsReadResp_setting <- decodeUtf8 . toStrict <$> getRemainingLazyByteString
pure MsgSettingsReadResp {..}
put MsgSettingsReadResp {..} = do
putByteString $ encodeUtf8 _msgSettingsReadResp_setting
$(makeSBP 'msgSettingsReadResp ''MsgSettingsReadResp)
$(makeJSON "_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
pure MsgSettingsReadByIndexReq {..}
put MsgSettingsReadByIndexReq {..} = do
putWord16le _msgSettingsReadByIndexReq_index
$(makeSBP 'msgSettingsReadByIndexReq ''MsgSettingsReadByIndexReq)
$(makeJSON "_msgSettingsReadByIndexReq_" ''MsgSettingsReadByIndexReq)
$(makeLenses ''MsgSettingsReadByIndexReq)
msgSettingsReadByIndexResp :: Word16
msgSettingsReadByIndexResp = 0x00A7
data MsgSettingsReadByIndexResp = MsgSettingsReadByIndexResp
{ _msgSettingsReadByIndexResp_index :: !Word16
, _msgSettingsReadByIndexResp_setting :: !Text
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadByIndexResp where
get = do
_msgSettingsReadByIndexResp_index <- getWord16le
_msgSettingsReadByIndexResp_setting <- decodeUtf8 . toStrict <$> getRemainingLazyByteString
pure MsgSettingsReadByIndexResp {..}
put MsgSettingsReadByIndexResp {..} = do
putWord16le _msgSettingsReadByIndexResp_index
putByteString $ encodeUtf8 _msgSettingsReadByIndexResp_setting
$(makeSBP 'msgSettingsReadByIndexResp ''MsgSettingsReadByIndexResp)
$(makeJSON "_msgSettingsReadByIndexResp_" ''MsgSettingsReadByIndexResp)
$(makeLenses ''MsgSettingsReadByIndexResp)
msgSettingsReadByIndexDone :: Word16
msgSettingsReadByIndexDone = 0x00A6
data MsgSettingsReadByIndexDone = MsgSettingsReadByIndexDone
deriving ( Show, Read, Eq )
instance Binary MsgSettingsReadByIndexDone where
get =
pure MsgSettingsReadByIndexDone
put MsgSettingsReadByIndexDone =
pure ()
$(makeSBP 'msgSettingsReadByIndexDone ''MsgSettingsReadByIndexDone)
$(makeJSON "_msgSettingsReadByIndexDone_" ''MsgSettingsReadByIndexDone)
$(makeLenses ''MsgSettingsReadByIndexDone)
msgSettingsRegister :: Word16
msgSettingsRegister = 0x00AE
data MsgSettingsRegister = MsgSettingsRegister
{ _msgSettingsRegister_setting :: !Text
} deriving ( Show, Read, Eq )
instance Binary MsgSettingsRegister where
get = do
_msgSettingsRegister_setting <- decodeUtf8 . toStrict <$> getRemainingLazyByteString
pure MsgSettingsRegister {..}
put MsgSettingsRegister {..} = do
putByteString $ encodeUtf8 _msgSettingsRegister_setting
$(makeSBP 'msgSettingsRegister ''MsgSettingsRegister)
$(makeJSON "_msgSettingsRegister_" ''MsgSettingsRegister)
$(makeLenses ''MsgSettingsRegister)