module SwiftNav.SBP.Acquisition where
import Control.Monad
import Control.Monad.Loops
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
msgAcqResult :: Word16
msgAcqResult = 0x0014
data MsgAcqResult = MsgAcqResult
{ msgAcqResultSnr :: Float
, msgAcqResultCp :: Float
, msgAcqResultCf :: Float
, msgAcqResultSid :: Word32
} deriving ( Show, Read, Eq )
instance Binary MsgAcqResult where
get = do
msgAcqResultSnr <- getFloat32le
msgAcqResultCp <- getFloat32le
msgAcqResultCf <- getFloat32le
msgAcqResultSid <- getWord32le
return MsgAcqResult {..}
put MsgAcqResult {..} = do
putFloat32le msgAcqResultSnr
putFloat32le msgAcqResultCp
putFloat32le msgAcqResultCf
putWord32le msgAcqResultSid
msgAcqResultDepA :: Word16
msgAcqResultDepA = 0x0015
data MsgAcqResultDepA = MsgAcqResultDepA
{ msgAcqResultDepASnr :: Float
, msgAcqResultDepACp :: Float
, msgAcqResultDepACf :: Float
, msgAcqResultDepAPrn :: Word8
} deriving ( Show, Read, Eq )
instance Binary MsgAcqResultDepA where
get = do
msgAcqResultDepASnr <- getFloat32le
msgAcqResultDepACp <- getFloat32le
msgAcqResultDepACf <- getFloat32le
msgAcqResultDepAPrn <- getWord8
return MsgAcqResultDepA {..}
put MsgAcqResultDepA {..} = do
putFloat32le msgAcqResultDepASnr
putFloat32le msgAcqResultDepACp
putFloat32le msgAcqResultDepACf
putWord8 msgAcqResultDepAPrn