gnss-converters-0.2.7: src/SwiftNav/SBP/RTCM3.hs
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
-- |
-- Module: SwiftNav.SBP.RTCM3
-- Copyright: Copyright (C) 2015 Swift Navigation, Inc.
-- License: LGPL-3
-- Maintainer: Swift Navigation <dev@swiftnav.com>
-- Stability: experimental
-- Portability: portable
--
-- SBP to RTCMv3 Conversions.
module SwiftNav.SBP.RTCM3
( convert
) where
import BasicPrelude
import Data.RTCM3
import SwiftNav.SBP
fromMsgObs :: MsgObs -> Msg1002
fromMsgObs _obs = Msg1002
{ _msg1002_header = undefined
, _msg1002_observations = undefined
}
fromMsgBasePosEcef :: MsgBasePosEcef -> Msg1005
fromMsgBasePosEcef _basePosEcef = Msg1005
{ _msg1005_reference = undefined
}
convert :: SBPMsg -> Maybe RTCM3Msg
convert = \case
(SBPMsgObs m _sbp) -> Just $
RTCM3Msg1002 m' $ toRTCM3 m' where
m' = fromMsgObs m
(SBPMsgBasePosEcef m _sbp) -> Just $
RTCM3Msg1005 m' $ toRTCM3 m' where
m' = fromMsgBasePosEcef m
_sbpMsg -> Nothing