packages feed

rtcm 0.1.7 → 0.1.8

raw patch · 22 files changed

+265/−55 lines, 22 filesnew-uploader

Files

main/rtcm32json.hs view
@@ -2,7 +2,7 @@ -- Module:      Main -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --@@ -14,13 +14,14 @@ import           Data.Aeson import           Data.Aeson.Encode import           Data.ByteString.Builder-import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString.Lazy              as BL import           Data.Conduit import           Data.Conduit.Binary-import qualified Data.Conduit.List as CL+import qualified Data.Conduit.List                 as CL import           Data.Conduit.Serialization.Binary import           Data.RTCM3 import           System.IO+  -- | Encode a RTCM3Msg to a line of JSON. encodeLine :: RTCM3Msg -> ByteString
rtcm.cabal view
@@ -1,12 +1,12 @@ name:                  rtcm-version:               0.1.7+version:               0.1.8 synopsis:              RTCM Library. description:           Haskell bindings for RTCM. homepage:              http://github.com/swift-nav/librtcm license:               BSD3-author:                Swift Navigation Inc.-maintainer:            Mark Fine <dev@swiftnav.com>-copyright:             Copyright (C) 2015 Swift Navigation, Inc.+author:                Mark Fine <mark@swift-nav.com>, Joshua Gross <josh@swift-nav.com>+maintainer:            Swift Navigation <engineering@swift-nav.com>+copyright:             Copyright (C) 2015-2017 Swift Navigation, Inc. category:              Network build-type:            Simple cabal-version:         >= 1.10@@ -25,6 +25,7 @@   exposed-modules:     Data.CRC24Q                      , Data.RTCM3                      , Data.RTCM3.Antennas+                     , Data.RTCM3.Ephemeris                      , Data.RTCM3.Internal                      , Data.RTCM3.Observations                      , Data.RTCM3.SSR
src/Data/CRC24Q.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.CRC24Q -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --@@ -12,7 +12,7 @@   ( crc24q   ) where -import BasicPrelude hiding ( ByteString, foldl' )+import BasicPrelude         hiding (ByteString, foldl') import Data.Array import Data.Bits import Data.ByteString.Lazy
src/Data/RTCM3.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.RTCM3 -- Copyright:   (c) 2015 Mark Fine -- License:     BSD3--- Maintainer:  Mark Fine <mark.fine@gmail.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --@@ -10,23 +10,20 @@  module Data.RTCM3   ( RTCM3Msg (..)-  , module Data.RTCM3.Antennas-  , module Data.RTCM3.Observations-  , module Data.RTCM3.SSR-  , module Data.RTCM3.System-  , module Data.RTCM3.Types+  , module Export   ) where  import BasicPrelude import Control.Lens-import Data.Aeson hiding (decode, decode')+import Data.Aeson              hiding (decode, decode') import Data.Binary import Data.ByteString.Lazy-import Data.RTCM3.Antennas-import Data.RTCM3.Observations-import Data.RTCM3.SSR-import Data.RTCM3.System-import Data.RTCM3.Types+import Data.RTCM3.Antennas     as Export+import Data.RTCM3.Ephemeris    as Export+import Data.RTCM3.Observations as Export+import Data.RTCM3.SSR          as Export+import Data.RTCM3.System       as Export+import Data.RTCM3.Types        as Export  -- | An RTCM message ADT composed of all defined RTCM messages. --@@ -46,6 +43,7 @@    | RTCM3Msg1011    Msg1011 Msg    | RTCM3Msg1012    Msg1012 Msg    | RTCM3Msg1013    Msg1013 Msg+   | RTCM3Msg1019    Msg1019 Msg    | RTCM3Msg1033    Msg1033 Msg    | RTCM3Msg1057    Msg1057 Msg    | RTCM3Msg1058    Msg1058 Msg@@ -80,6 +78,7 @@           | num == msg1011 = RTCM3Msg1011 (decode $ fromStrict _msgRTCM3Payload) m           | num == msg1012 = RTCM3Msg1012 (decode $ fromStrict _msgRTCM3Payload) m           | num == msg1013 = RTCM3Msg1013 (decode $ fromStrict _msgRTCM3Payload) m+          | num == msg1019 = RTCM3Msg1019 (decode $ fromStrict _msgRTCM3Payload) m           | num == msg1033 = RTCM3Msg1033 (decode $ fromStrict _msgRTCM3Payload) m           | num == msg1057 = RTCM3Msg1057 (decode $ fromStrict _msgRTCM3Payload) m           | num == msg1058 = RTCM3Msg1058 (decode $ fromStrict _msgRTCM3Payload) m@@ -106,6 +105,7 @@       encode' (RTCM3Msg1011    _n m) = put m       encode' (RTCM3Msg1012    _n m) = put m       encode' (RTCM3Msg1013    _n m) = put m+      encode' (RTCM3Msg1019    _n m) = put m       encode' (RTCM3Msg1033    _n m) = put m       encode' (RTCM3Msg1057    _n m) = put m       encode' (RTCM3Msg1058    _n m) = put m@@ -130,6 +130,7 @@   msg f (RTCM3Msg1011    n m) = RTCM3Msg1011    n <$> f m   msg f (RTCM3Msg1012    n m) = RTCM3Msg1012    n <$> f m   msg f (RTCM3Msg1013    n m) = RTCM3Msg1013    n <$> f m+  msg f (RTCM3Msg1019    n m) = RTCM3Msg1019    n <$> f m   msg f (RTCM3Msg1033    n m) = RTCM3Msg1033    n <$> f m   msg f (RTCM3Msg1057    n m) = RTCM3Msg1057    n <$> f m   msg f (RTCM3Msg1058    n m) = RTCM3Msg1058    n <$> f m@@ -160,6 +161,7 @@   toJSON (RTCM3Msg1011    n m) = toJSON n `mergeValues` toJSON m   toJSON (RTCM3Msg1012    n m) = toJSON n `mergeValues` toJSON m   toJSON (RTCM3Msg1013    n m) = toJSON n `mergeValues` toJSON m+  toJSON (RTCM3Msg1019    n m) = toJSON n `mergeValues` toJSON m   toJSON (RTCM3Msg1033    n m) = toJSON n `mergeValues` toJSON m   toJSON (RTCM3Msg1057    n m) = toJSON n `mergeValues` toJSON m   toJSON (RTCM3Msg1058    n m) = toJSON n `mergeValues` toJSON m
src/Data/RTCM3/Aeson.hs view
@@ -3,7 +3,7 @@ -- Module:      Data.RTCM3.Extras -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --
src/Data/RTCM3/Antennas.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.RTCM3.Antennas -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --
+ src/Data/RTCM3/Ephemeris.hs view
@@ -0,0 +1,204 @@+-- |+-- Module:      Data.RTCM3.Ephemeris+-- Copyright:   Copyright (C) 2017 Swift Navigation, Inc.+-- License:     LGPL-3+-- Maintainer:  Swift Navigation <dev@swiftnav.com>+-- Stability:   experimental+-- Portability: portable+--+-- RTCMv3 Ephemeris messages++module Data.RTCM3.Ephemeris where++import           BasicPrelude+import           Control.Lens+import           Data.Aeson.TH+import           Data.Binary+import           Data.Binary.Bits+import qualified Data.Binary.Bits.Get as B+import qualified Data.Binary.Bits.Put as B+import           Data.Int+import           Data.RTCM3.Extras+import           Data.RTCM3.TH++-- | EphemerisHeader.+--+-- GPS and Glonass Ephemeris header.+data EphemerisHeader = EphemerisHeader+  { _ephemerisHeader_num :: Word16+    -- ^ Message number.+  , _ephemerisHeader_sat :: Word8+    -- ^ GPS/Glonass satellite ID.+  } deriving ( Show, Read, Eq )++$(makeLenses ''EphemerisHeader)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_ephemerisHeader_" . stripPrefix "_ephemerisHeader_"} ''EphemerisHeader)++instance BinaryBit EphemerisHeader where+  getBits _n = do+    _ephemerisHeader_num <- B.getWord16be 12+    _ephemerisHeader_sat <- B.getWord8    6+    return EphemerisHeader {..}++  putBits _n EphemerisHeader {..} = do+    B.putWord16be 12 _ephemerisHeader_num+    B.putWord8    6  _ephemerisHeader_sat++data GpsEphemeris = GpsEphemeris+  { _gpsEphemeris_wn          :: Word16+    -- ^ GPS week number, mod 1024 (0-1023).+  , _gpsEphemeris_svAccuracy  :: Word8+    -- ^ GPS SV accuracy+  , _gpsEphemeris_codeOnL2    :: Word8+    -- ^ GPS code on L2: 00 reserved, 01 P code on, 10 C/A code on, 11 L2C on.+  , _gpsEphemeris_idot        :: Int16+    -- ^ GPS IDOT (rate of inclination angle). Unit: semi-circles/sec. Scale factor: 2^(-43)+  , _gpsEphemeris_iode        :: Word8+    -- ^ GPS IODE.+  , _gpsEphemeris_toc         :: Word16+    -- ^ GPS t_oc. Unit: Seconds. Scale factor: 2^4+  , _gpsEphemeris_af2         :: Int8+    -- ^ GPS a_f2. Unit: sec/sec^2. Scale factor: 2^(-55)+  , _gpsEphemeris_af1         :: Int16+    -- ^ GPS a_f1. Unit: sec/sec. Scale factor: 2^(-43)+  , _gpsEphemeris_af0         :: Int32+    -- ^ GPS a_f0. Unit: seconds. Scale factor: 2^(-31)+  , _gpsEphemeris_iodc        :: Word16+    -- ^ GPS iodc.+  , _gpsEphemeris_c_rs        :: Int16+    -- ^ GPS C_rs. Unit: Meters. Scale factor: 2^(-5)+  , _gpsEphemeris_dn          :: Int16+    -- ^ GPS delta n. Unit: semi-circles/sec. Scale factor: 2^(-43)+  , _gpsEphemeris_m0          :: Int32+    -- ^ GPS M_0. Unit: semi-circles. Scale factor: 2^(-31)+  , _gpsEphemeris_c_uc        :: Int16+    -- ^ GPS C_uc. Unit: radians. Scale factor: 2^(-29)+  , _gpsEphemeris_ecc         :: Word32+    -- ^ GPS Eccentricity (e). Unit: Dimensionless. Scale factor: 2^(-33)+  , _gpsEphemeris_c_us        :: Int16+    -- ^ GPS C_us. Unit: radians. Scale factor: 2^(-29)+  , _gpsEphemeris_sqrta       :: Word32+    -- ^ GPS A^(1/2). Unit: meters^(1/2). Scale factor: 2^(-19)+  , _gpsEphemeris_toe         :: Word16+    -- ^ GPS t_oe. Unit: seconds. Scale factor: 2^4+  , _gpsEphemeris_c_ic        :: Int16+    -- ^ GPS C_ic. Unit: radians. Scale factor: 2^(-29)+  , _gpsEphemeris_omega0      :: Int32+    -- ^ GPS Omega_0. Unit: semi-circles. Scale factor: 2^(-31)+  , _gpsEphemeris_c_is        :: Int16+    -- ^ GPS C_is. Unit: radians. Scale factor: 2^(-29)+  , _gpsEphemeris_i0          :: Int32+    -- ^ GPS i_0 (inclination angle at reference time; inc). Unit: semi-circles. Scale factor: 2^(-31)+  , _gpsEphemeris_c_rc        :: Int16+    -- ^ GPS C_rc. Unit: meters. Scale factor: 2^(-5)+  , _gpsEphemeris_w           :: Int32+    -- ^ GPS Argument of Perigee (omega, w). Unit: semi-circles. Scale factor: 2^(-31)+  , _gpsEphemeris_omegadot    :: Int32+    -- ^ GPS Omegadot - rate or right ascension. Unit: semi-circles/sec. Scale factor: 2^(-43)+  , _gpsEphemeris_tgd         :: Int8+    -- ^ GPS t_GD. Unit: seconds. Scale factor: 2^(-31)+  , _gpsEphemeris_svHealth    :: Word8+    -- ^ GPS SV health+  , _gpsEphemeris_l2pFlag     :: Bool+    -- ^ GPS L2P data flag+  , _gpsEphemeris_fitInterval :: Bool+    -- ^ GPS fit interval+  } deriving (Show, Read, Eq)++instance BinaryBit GpsEphemeris where+  getBits _n = do+    _gpsEphemeris_wn          <- B.getWord16be 10+    _gpsEphemeris_svAccuracy  <- B.getWord8    4+    _gpsEphemeris_codeOnL2    <- B.getWord8    2+    _gpsEphemeris_idot        <- getInt16be    14+    _gpsEphemeris_iode        <- B.getWord8    8+    _gpsEphemeris_toc         <- B.getWord16be 16+    _gpsEphemeris_af2         <- getInt8       8+    _gpsEphemeris_af1         <- getInt16be    16+    _gpsEphemeris_af0         <- getInt32be    22+    _gpsEphemeris_iodc        <- B.getWord16be 10+    _gpsEphemeris_c_rs        <- getInt16be    16+    _gpsEphemeris_dn          <- getInt16be    16+    _gpsEphemeris_m0          <- getInt32be    32+    _gpsEphemeris_c_uc        <- getInt16be    16+    _gpsEphemeris_ecc         <- B.getWord32be 32+    _gpsEphemeris_c_us        <- getInt16be    16+    _gpsEphemeris_sqrta       <- B.getWord32be 32+    _gpsEphemeris_toe         <- B.getWord16be 16+    _gpsEphemeris_c_ic        <- getInt16be    16+    _gpsEphemeris_omega0      <- getInt32be    32+    _gpsEphemeris_c_is         <- getInt16be    16+    _gpsEphemeris_i0          <- getInt32be    32+    _gpsEphemeris_c_rc        <- getInt16be    16+    _gpsEphemeris_w           <- getInt32be    32+    _gpsEphemeris_omegadot    <- getInt32be    24+    _gpsEphemeris_tgd         <- getInt8       8+    _gpsEphemeris_svHealth    <- B.getWord8    6+    _gpsEphemeris_l2pFlag     <- getBits 1+    _gpsEphemeris_fitInterval <- getBits 1+    return GpsEphemeris {..}++  putBits _n GpsEphemeris {..} = do+    B.putWord16be 10 _gpsEphemeris_wn+    B.putWord8    4  _gpsEphemeris_svAccuracy+    B.putWord8    2  _gpsEphemeris_codeOnL2+    putInt16be    14 _gpsEphemeris_idot+    B.putWord8    8  _gpsEphemeris_iode+    B.putWord16be 16 _gpsEphemeris_toc+    putInt8       8  _gpsEphemeris_af2+    putInt16be    16 _gpsEphemeris_af1+    putInt32be    22 _gpsEphemeris_af0+    B.putWord16be 10 _gpsEphemeris_iodc+    putInt16be    16 _gpsEphemeris_c_rs+    putInt16be    16 _gpsEphemeris_dn+    putInt32be    32 _gpsEphemeris_m0+    putInt16be    16 _gpsEphemeris_c_uc+    B.putWord32be 32 _gpsEphemeris_ecc+    putInt16be    16 _gpsEphemeris_c_us+    B.putWord32be 32 _gpsEphemeris_sqrta+    B.putWord16be 16 _gpsEphemeris_toe+    putInt16be    16 _gpsEphemeris_c_ic+    putInt32be    32 _gpsEphemeris_omega0+    putInt16be    16 _gpsEphemeris_c_is+    putInt32be    32 _gpsEphemeris_i0+    putInt16be    16 _gpsEphemeris_c_rc+    putInt32be    32 _gpsEphemeris_w+    putInt32be    24 _gpsEphemeris_omegadot+    putInt8       8  _gpsEphemeris_tgd+    B.putWord8    6  _gpsEphemeris_svHealth+    B.putBool        _gpsEphemeris_l2pFlag+    B.putBool        _gpsEphemeris_fitInterval++$(makeLenses ''GpsEphemeris)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_gpsEphemeris_" . stripPrefix "_gpsEphemeris_"} ''GpsEphemeris)++msg1019 :: Word16+msg1019 = 1019++-- | Msg 1019.+--+-- RTCMv3 message 1019.+--+-- See RTCM spec and GPS SPS Signal Specification, 2.4.3,+-- for more information about these fields.+data Msg1019 = Msg1019+  { _msg1019_header    :: EphemerisHeader+    -- ^ GPS ephemeris header.+  , _msg1019_ephemeris :: GpsEphemeris+    -- ^ GPS ephemeris body.+  } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1019)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1019_" . stripPrefix "_msg1019_"} ''Msg1019)++instance Binary Msg1019 where+  get = B.runBitGet $ do+    _msg1019_header    <- getBits 0+    _msg1019_ephemeris <- getBits 0+    return Msg1019 {..}++  put Msg1019 {..} = B.runBitPut $ do+    putBits 0 _msg1019_header+    putBits 0 _msg1019_ephemeris++$(deriveRTCM3 ''Msg1019)
src/Data/RTCM3/Extras.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.RTCM3.Extras -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --
src/Data/RTCM3/Internal.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.RTCM3.Internal -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --
src/Data/RTCM3/Observations.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.RTCM3.Observations -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --
src/Data/RTCM3/SSR.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.RTCM3.SSR -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --
src/Data/RTCM3/System.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.RTCM3.System -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --
src/Data/RTCM3/TH.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.RTCM3.TH -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --@@ -10,7 +10,7 @@  module Data.RTCM3.TH where -import BasicPrelude hiding ( length )+import BasicPrelude         hiding ( length ) import Data.Binary import Data.ByteString import Data.ByteString.Lazy hiding ( length )
src/Data/RTCM3/Types.hs view
@@ -2,7 +2,7 @@ -- Module:      Data.RTCM3.Types -- Copyright:   Copyright (C) 2015 Swift Navigation, Inc. -- License:     LGPL-3--- Maintainer:  Mark Fine <dev@swiftnav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- Stability:   experimental -- Portability: portable --@@ -12,14 +12,14 @@ module Data.RTCM3.Types where  import           BasicPrelude-import           Control.Lens hiding ((.=))+import           Control.Lens            hiding ((.=)) import           Data.Aeson import           Data.Binary-import qualified Data.Binary.Bits.Get as B+import qualified Data.Binary.Bits.Get    as B import           Data.Binary.Get import           Data.Binary.Put import           Data.ByteString.Builder-import           Data.ByteString.Lazy hiding ( ByteString )+import           Data.ByteString.Lazy    hiding ( ByteString ) import           Data.CRC24Q import           Data.RTCM3.Aeson () import           Data.RTCM3.Extras
test/Test.hs view
@@ -1,14 +1,15 @@ -- | -- Module:      Test--- Copyright:   (c) 2015 Mark Fine+-- Copyright:   (c) 2015 Swift Navigation -- License:     BSD3--- Maintainer:  Mark Fine <mark@swift-nav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- -- Test module for RTCM3.  import           BasicPrelude import qualified Test.Data.CRC24Q             as CRC24Q import qualified Test.Data.RTCM3.Antennas     as Antennas+import qualified Test.Data.RTCM3.Ephemeris    as Ephemeris import qualified Test.Data.RTCM3.Extras       as Extras import qualified Test.Data.RTCM3.Observations as Observations import qualified Test.Data.RTCM3.SSR          as SSR@@ -20,6 +21,7 @@   testGroup "Tests"     [ CRC24Q.tests     , Antennas.tests+    , Ephemeris.tests     , Extras.tests     , Observations.tests     , SSR.tests
test/Test/Data/CRC24Q.hs view
@@ -1,8 +1,8 @@ -- | -- Module:      Test.Data.CRC24Q--- Copyright:   (c) 2015 Mark Fine+-- Copyright:   (c) 2015 Swift Navigation -- License:     BSD3--- Maintainer:  Mark Fine <mark@swift-nav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- -- Test module for CRC24Q. 
test/Test/Data/RTCM3/Antennas.hs view
@@ -2,9 +2,9 @@  -- | -- Module:      Test.Data.RTCM3.Antennas--- Copyright:   (c) 2015 Mark Fine+-- Copyright:   (c) 2015 Swift Navigation -- License:     BSD3--- Maintainer:  Mark Fine <mark@swift-nav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- -- Test Antennas module for RTCM3. 
test/Test/Data/RTCM3/Extras.hs view
@@ -3,9 +3,9 @@  -- | -- Module:      Test.Data.RTCM3.Extras--- Copyright:   (c) 2015 Mark Fine+-- Copyright:   (c) 2015 Swift Navigation -- License:     BSD3--- Maintainer:  Mark Fine <mark@swift-nav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- -- Test Extras module for RTCM3. @@ -13,10 +13,10 @@   ( tests   ) where -import           BasicPrelude         hiding (ByteString)+import           BasicPrelude          hiding (ByteString) import           Data.Binary-import qualified Data.Binary.Bits.Get as B-import qualified Data.Binary.Bits.Put as B+import qualified Data.Binary.Bits.Get  as B+import qualified Data.Binary.Bits.Put  as B import           Data.Binary.Get import           Data.Binary.Put import           Data.Bits@@ -24,10 +24,10 @@ import           Data.Int import           Data.RTCM3.Internal import           Data.Word.Word24+import           System.Random import           Test.Data.RTCM3.Test import           Test.Tasty import           Test.Tasty.QuickCheck-import           System.Random  data TestInt a = TestInt Int a deriving ( Show, Read, Eq ) 
test/Test/Data/RTCM3/Observations.hs view
@@ -2,9 +2,9 @@  -- | -- Module:      Test.Data.RTCM3.Observations--- Copyright:   (c) 2015 Mark Fine+-- Copyright:   (c) 2015 Swift Navigation -- License:     BSD3--- Maintainer:  Mark Fine <mark@swift-nav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- -- Test Observations module for RTCM3. 
test/Test/Data/RTCM3/SSR.hs view
@@ -2,9 +2,9 @@  -- | -- Module:      Test.Data.RTCM3.SSR--- Copyright:   (c) 2015 Mark Fine+-- Copyright:   (c) 2015 Swift Navigation -- License:     BSD3--- Maintainer:  Mark Fine <mark@swift-nav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- -- Test SSR module for RTCM3. 
test/Test/Data/RTCM3/System.hs view
@@ -2,9 +2,9 @@  -- | -- Module:      Test.Data.RTCM3.System--- Copyright:   (c) 2015 Mark Fine+-- Copyright:   (c) 2015 Swift Navigation -- License:     BSD3--- Maintainer:  Mark Fine <mark@swift-nav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- -- Test System module for RTCM3. 
test/Test/Data/RTCM3/Test.hs view
@@ -1,8 +1,8 @@ -- | -- Module:      Test.Data.RTCM3.Test--- Copyright:   (c) 2015 Mark Fine+-- Copyright:   (c) 2015 Swift Navigation -- License:     BSD3--- Maintainer:  Mark Fine <mark@swift-nav.com>+-- Maintainer:  Swift Navigation <dev@swiftnav.com> -- -- Test module for RTCM3. @@ -10,8 +10,8 @@  import BasicPrelude import Data.Bits-import Test.Tasty.QuickCheck import System.Random+import Test.Tasty.QuickCheck  arbitraryWord :: (Integral a, Bits a, Random a) => Int -> Gen a arbitraryWord b = do