Copyright | Copyright (C) 2016 Swift Navigation Inc. |
---|---|
License | LGPL-3 |
Maintainer | Swift Navigation <dev@swiftnav.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
RTCMv3 to SBP Conversions.
- l1CSidCode :: Word8
- l2CMSidCode :: Word8
- l2PSidCode :: Word8
- sbpCMinM :: Double
- q32Width :: Double
- toWn :: Word16 -> Word16
- mjdEpoch :: Word16
- updateGpsTimeNano :: Word32 -> GpsTimeNano -> GpsTimeNano
- convert :: MonadStore e m => RTCM3Msg -> m [SBPMsg]
- newStore :: IO Store
- validateIodcIode :: Word16 -> Word8 -> Word8
- gpsUriToUra :: Double -> Double
Documentation
l1CSidCode :: Word8 Source #
SBP L1 GNSS signal value
See: https://github.com/swift-nav/libswiftnav/blob/master/include/libswiftnav/signal.h#L65
l2CMSidCode :: Word8 Source #
SBP L2CM GNSS signal value
See: https://github.com/swift-nav/libswiftnav/blob/master/include/libswiftnav/signal.h#L65
l2PSidCode :: Word8 Source #
updateGpsTimeNano :: Word32 -> GpsTimeNano -> GpsTimeNano Source #
If incoming TOW is less than stored TOW, rollover WN.
convert :: MonadStore e m => RTCM3Msg -> m [SBPMsg] Source #
Convert an RTCM message into possibly multiple SBP messages.
validateIodcIode :: Word16 -> Word8 -> Word8 Source #
Validate IODE/IODC flags. The IODC and IODE flags (least significant bits) should be equal. IODC is Word16 while IODE is Word8, so we shift IODC to drop the most significant bits. We return a 1 if valid, 0 if invalid.
gpsUriToUra :: Double -> Double Source #
Convert between RTCM/GPS URA ("User Range Accuracy") index to a number in meters. See section 2.5.3, "User Range Accuracy", in the GPS signal specification. Indices 1, 3, and 5 are hard-coded according to spec, and 15 is hard-coded according to SBP/Piksi convention.