{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE RecordWildCards #-}
module SwiftNav.SBP.Logging
( module SwiftNav.SBP.Logging
) 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
{-# ANN module ("HLint: ignore Use camelCase"::String) #-}
{-# ANN module ("HLint: ignore Redundant do"::String) #-}
{-# ANN module ("HLint: ignore Use newtype instead of data"::String) #-}
msgLog :: Word16
msgLog :: Word16
msgLog = Word16
0x0401
data MsgLog = MsgLog
{ MsgLog -> Word8
_msgLog_level :: !Word8
, MsgLog -> Text
_msgLog_text :: !Text
} deriving ( Int -> MsgLog -> ShowS
[MsgLog] -> ShowS
MsgLog -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MsgLog] -> ShowS
$cshowList :: [MsgLog] -> ShowS
show :: MsgLog -> String
$cshow :: MsgLog -> String
showsPrec :: Int -> MsgLog -> ShowS
$cshowsPrec :: Int -> MsgLog -> ShowS
Show, ReadPrec [MsgLog]
ReadPrec MsgLog
Int -> ReadS MsgLog
ReadS [MsgLog]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MsgLog]
$creadListPrec :: ReadPrec [MsgLog]
readPrec :: ReadPrec MsgLog
$creadPrec :: ReadPrec MsgLog
readList :: ReadS [MsgLog]
$creadList :: ReadS [MsgLog]
readsPrec :: Int -> ReadS MsgLog
$creadsPrec :: Int -> ReadS MsgLog
Read, MsgLog -> MsgLog -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MsgLog -> MsgLog -> Bool
$c/= :: MsgLog -> MsgLog -> Bool
== :: MsgLog -> MsgLog -> Bool
$c== :: MsgLog -> MsgLog -> Bool
Eq )
instance Binary MsgLog where
get :: Get MsgLog
get = do
Word8
_msgLog_level <- Get Word8
getWord8
Text
_msgLog_text <- ByteString -> Text
decodeUtf8 forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ByteString -> ByteString
toStrict forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Get ByteString
getRemainingLazyByteString
forall (f :: * -> *) a. Applicative f => a -> f a
pure MsgLog {Word8
Text
_msgLog_text :: Text
_msgLog_level :: Word8
_msgLog_text :: Text
_msgLog_level :: Word8
..}
put :: MsgLog -> Put
put MsgLog {Word8
Text
_msgLog_text :: Text
_msgLog_level :: Word8
_msgLog_text :: MsgLog -> Text
_msgLog_level :: MsgLog -> Word8
..} = do
Word8 -> Put
putWord8 Word8
_msgLog_level
ByteString -> Put
putByteString forall a b. (a -> b) -> a -> b
$ Text -> ByteString
encodeUtf8 Text
_msgLog_text
$(makeSBP 'msgLog ''MsgLog)
$(makeJSON "_msgLog_" ''MsgLog)
$(makeLenses ''MsgLog)
msgFwd :: Word16
msgFwd :: Word16
msgFwd = Word16
0x0402
data MsgFwd = MsgFwd
{ MsgFwd -> Word8
_msgFwd_source :: !Word8
, MsgFwd -> Word8
_msgFwd_protocol :: !Word8
, MsgFwd -> [Word8]
_msgFwd_fwd_payload :: ![Word8]
} deriving ( Int -> MsgFwd -> ShowS
[MsgFwd] -> ShowS
MsgFwd -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MsgFwd] -> ShowS
$cshowList :: [MsgFwd] -> ShowS
show :: MsgFwd -> String
$cshow :: MsgFwd -> String
showsPrec :: Int -> MsgFwd -> ShowS
$cshowsPrec :: Int -> MsgFwd -> ShowS
Show, ReadPrec [MsgFwd]
ReadPrec MsgFwd
Int -> ReadS MsgFwd
ReadS [MsgFwd]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MsgFwd]
$creadListPrec :: ReadPrec [MsgFwd]
readPrec :: ReadPrec MsgFwd
$creadPrec :: ReadPrec MsgFwd
readList :: ReadS [MsgFwd]
$creadList :: ReadS [MsgFwd]
readsPrec :: Int -> ReadS MsgFwd
$creadsPrec :: Int -> ReadS MsgFwd
Read, MsgFwd -> MsgFwd -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MsgFwd -> MsgFwd -> Bool
$c/= :: MsgFwd -> MsgFwd -> Bool
== :: MsgFwd -> MsgFwd -> Bool
$c== :: MsgFwd -> MsgFwd -> Bool
Eq )
instance Binary MsgFwd where
get :: Get MsgFwd
get = do
Word8
_msgFwd_source <- Get Word8
getWord8
Word8
_msgFwd_protocol <- Get Word8
getWord8
[Word8]
_msgFwd_fwd_payload <- forall (m :: * -> *) a. Monad m => m Bool -> m a -> m [a]
whileM (Bool -> Bool
not forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Get Bool
isEmpty) Get Word8
getWord8
forall (f :: * -> *) a. Applicative f => a -> f a
pure MsgFwd {[Word8]
Word8
_msgFwd_fwd_payload :: [Word8]
_msgFwd_protocol :: Word8
_msgFwd_source :: Word8
_msgFwd_fwd_payload :: [Word8]
_msgFwd_protocol :: Word8
_msgFwd_source :: Word8
..}
put :: MsgFwd -> Put
put MsgFwd {[Word8]
Word8
_msgFwd_fwd_payload :: [Word8]
_msgFwd_protocol :: Word8
_msgFwd_source :: Word8
_msgFwd_fwd_payload :: MsgFwd -> [Word8]
_msgFwd_protocol :: MsgFwd -> Word8
_msgFwd_source :: MsgFwd -> Word8
..} = do
Word8 -> Put
putWord8 Word8
_msgFwd_source
Word8 -> Put
putWord8 Word8
_msgFwd_protocol
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ Word8 -> Put
putWord8 [Word8]
_msgFwd_fwd_payload
$(makeSBP 'msgFwd ''MsgFwd)
$(makeJSON "_msgFwd_" ''MsgFwd)
$(makeLenses ''MsgFwd)
msgPrintDep :: Word16
msgPrintDep :: Word16
msgPrintDep = Word16
0x0010
data MsgPrintDep = MsgPrintDep
{ MsgPrintDep -> Text
_msgPrintDep_text :: !Text
} deriving ( Int -> MsgPrintDep -> ShowS
[MsgPrintDep] -> ShowS
MsgPrintDep -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MsgPrintDep] -> ShowS
$cshowList :: [MsgPrintDep] -> ShowS
show :: MsgPrintDep -> String
$cshow :: MsgPrintDep -> String
showsPrec :: Int -> MsgPrintDep -> ShowS
$cshowsPrec :: Int -> MsgPrintDep -> ShowS
Show, ReadPrec [MsgPrintDep]
ReadPrec MsgPrintDep
Int -> ReadS MsgPrintDep
ReadS [MsgPrintDep]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MsgPrintDep]
$creadListPrec :: ReadPrec [MsgPrintDep]
readPrec :: ReadPrec MsgPrintDep
$creadPrec :: ReadPrec MsgPrintDep
readList :: ReadS [MsgPrintDep]
$creadList :: ReadS [MsgPrintDep]
readsPrec :: Int -> ReadS MsgPrintDep
$creadsPrec :: Int -> ReadS MsgPrintDep
Read, MsgPrintDep -> MsgPrintDep -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MsgPrintDep -> MsgPrintDep -> Bool
$c/= :: MsgPrintDep -> MsgPrintDep -> Bool
== :: MsgPrintDep -> MsgPrintDep -> Bool
$c== :: MsgPrintDep -> MsgPrintDep -> Bool
Eq )
instance Binary MsgPrintDep where
get :: Get MsgPrintDep
get = do
Text
_msgPrintDep_text <- ByteString -> Text
decodeUtf8 forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ByteString -> ByteString
toStrict forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Get ByteString
getRemainingLazyByteString
forall (f :: * -> *) a. Applicative f => a -> f a
pure MsgPrintDep {Text
_msgPrintDep_text :: Text
_msgPrintDep_text :: Text
..}
put :: MsgPrintDep -> Put
put MsgPrintDep {Text
_msgPrintDep_text :: Text
_msgPrintDep_text :: MsgPrintDep -> Text
..} = do
ByteString -> Put
putByteString forall a b. (a -> b) -> a -> b
$ Text -> ByteString
encodeUtf8 Text
_msgPrintDep_text
$(makeSBP 'msgPrintDep ''MsgPrintDep)
$(makeJSON "_msgPrintDep_" ''MsgPrintDep)
$(makeLenses ''MsgPrintDep)