{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE RecordWildCards #-}
module SwiftNav.SBP.Ndb
( module SwiftNav.SBP.Ndb
) 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
import SwiftNav.SBP.Gnss
{-# ANN module ("HLint: ignore Use camelCase"::String) #-}
{-# ANN module ("HLint: ignore Redundant do"::String) #-}
{-# ANN module ("HLint: ignore Use newtype instead of data"::String) #-}
msgNdbEvent :: Word16
msgNdbEvent = 0x0400
data MsgNdbEvent = MsgNdbEvent
{ _msgNdbEvent_recv_time :: !Word64
, _msgNdbEvent_event :: !Word8
, _msgNdbEvent_object_type :: !Word8
, _msgNdbEvent_result :: !Word8
, _msgNdbEvent_data_source :: !Word8
, _msgNdbEvent_object_sid :: !GnssSignal
, _msgNdbEvent_src_sid :: !GnssSignal
, _msgNdbEvent_original_sender :: !Word16
} deriving ( Show, Read, Eq )
instance Binary MsgNdbEvent where
get = do
_msgNdbEvent_recv_time <- getWord64le
_msgNdbEvent_event <- getWord8
_msgNdbEvent_object_type <- getWord8
_msgNdbEvent_result <- getWord8
_msgNdbEvent_data_source <- getWord8
_msgNdbEvent_object_sid <- get
_msgNdbEvent_src_sid <- get
_msgNdbEvent_original_sender <- getWord16le
pure MsgNdbEvent {..}
put MsgNdbEvent {..} = do
putWord64le _msgNdbEvent_recv_time
putWord8 _msgNdbEvent_event
putWord8 _msgNdbEvent_object_type
putWord8 _msgNdbEvent_result
putWord8 _msgNdbEvent_data_source
put _msgNdbEvent_object_sid
put _msgNdbEvent_src_sid
putWord16le _msgNdbEvent_original_sender
$(makeSBP 'msgNdbEvent ''MsgNdbEvent)
$(makeJSON "_msgNdbEvent_" ''MsgNdbEvent)
$(makeLenses ''MsgNdbEvent)