{-# LANGUAGE LambdaCase #-} {-# LANGUAGE NoImplicitPrelude #-} -- | -- Module: SwiftNav.SBP.RTCM3 -- Copyright: Copyright (C) 2015 Swift Navigation, Inc. -- License: LGPL-3 -- Maintainer: Swift Navigation -- 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