packages feed

gnss-converters 0.1.17 → 0.1.18

raw patch · 4 files changed

+38/−38 lines, 4 files

Files

gnss-converters.cabal view
@@ -1,5 +1,5 @@ name:                  gnss-converters-version:               0.1.17+version:               0.1.18 synopsis:              GNSS Converters. description:           Haskell bindings for GNSS converters. homepage:              http://github.com/swift-nav/gnss-converters
src/Data/RTCM3/SBP.hs view
@@ -18,7 +18,7 @@   , q32Width   , toWn   , mjdEpoch-  , updateGPSTime+  , updateGpsTime   , updateLock   , convert   , newStore@@ -173,31 +173,31 @@ fromEcefVal :: Int64 -> Double fromEcefVal x = fromIntegral x / 10000 -newGPSTime :: MonadStore e m => Word32 -> m ObsGPSTime-newGPSTime tow = do+newGpsTime :: MonadStore e m => Word32 -> m GpsTime+newGpsTime tow = do   wn <- view storeWn >>= liftIO . readIORef-  return ObsGPSTime-    { _obsGPSTime_tow = tow-    , _obsGPSTime_wn  = wn+  return GpsTime+    { _gpsTime_tow = tow+    , _gpsTime_wn  = wn     }  -- | If incoming TOW is less than stored TOW, rollover WN. ---updateGPSTime :: Word32 -> ObsGPSTime -> ObsGPSTime-updateGPSTime tow gpsTime =-  gpsTime & obsGPSTime_tow .~ tow &-    if tow >= gpsTime ^. obsGPSTime_tow then id else-      obsGPSTime_wn %~ (+ 1)+updateGpsTime :: Word32 -> GpsTime -> GpsTime+updateGpsTime tow gpsTime =+  gpsTime & gpsTime_tow .~ tow &+    if tow >= gpsTime ^. gpsTime_tow then id else+      gpsTime_wn %~ (+ 1)  -- | Produce GPS Time from Observation header, handling WN rollover. ---toGPSTime :: MonadStore e m => GpsObservationHeader -> m ObsGPSTime-toGPSTime hdr = do+toGpsTime :: MonadStore e m => GpsObservationHeader -> m GpsTime+toGpsTime hdr = do   let tow      = hdr ^. gpsObservationHeader_tow       station  = hdr ^. gpsObservationHeader_station-  gpsTime      <- newGPSTime tow-  gpsTimeMap   <- view storeGPSTimeMap-  liftIO $ modifyMap gpsTimeMap gpsTime station $ updateGPSTime tow+  gpsTime      <- newGpsTime tow+  gpsTimeMap   <- view storeGpsTimeMap+  liftIO $ modifyMap gpsTimeMap gpsTime station $ updateGpsTime tow  -- | MJD GPS Epoch - First day in GPS week 0. See DF051 of the RTCM3 spec --@@ -329,7 +329,7 @@                          -> GpsObservationHeader -- ^ RTCM observation header                          -> m ObservationHeader fromGpsObservationHeader totalMsgs n hdr = do-  t <- toGPSTime hdr+  t <- toGpsTime hdr   return ObservationHeader     { _observationHeader_t     = t     -- First nibble is the size of the sequence (n), second nibble is the
src/Data/RTCM3/SBP/Types.hs view
@@ -37,7 +37,7 @@  $(makeLenses ''Lock) -type GPSTimeMap = HashMap Word16 ObsGPSTime+type GpsTimeMap = HashMap Word16 GpsTime type LockMap    = HashMap (Word16, GnssSignal) Lock  instance Hashable GnssSignal where@@ -75,7 +75,7 @@ data Store = Store   { _storeWn         :: IORef Word16   , _storeLockMap    :: IORef LockMap-  , _storeGPSTimeMap :: IORef GPSTimeMap+  , _storeGpsTimeMap :: IORef GpsTimeMap   } deriving ( Eq )  $(makeClassy ''Store)
test/Test/Data/RTCM3/SBP.hs view
@@ -156,39 +156,39 @@         assertExpectedBase (msgs !! 5) expectedBasePos         -- Message 1         assertObsHeader (msgs !! 1) ObservationHeader {-            _observationHeader_t     = ObsGPSTime 86354000 1906+            _observationHeader_t     = GpsTime 86354000 1906           , _observationHeader_n_obs = 32           }         assertMsgObsLength (msgs !! 1) 15         assertMsgObs (msgs !! 1)         -- Message 2         assertObsHeader (msgs !! 2) ObservationHeader {-            _observationHeader_t     = ObsGPSTime 86354000 1906+            _observationHeader_t     = GpsTime 86354000 1906           , _observationHeader_n_obs = 33           }         assertMsgObs (msgs !! 2)         assertMsgObsLength (msgs !! 2) 1         -- Message 3         assertObsHeader (msgs !! 3) ObservationHeader {-            _observationHeader_t     = ObsGPSTime 86355000 1906+            _observationHeader_t     = GpsTime 86355000 1906           , _observationHeader_n_obs = 32           }         assertMsgObsLength (msgs !! 3) 15         -- Message 4         assertObsHeader (msgs !! 4) ObservationHeader {-            _observationHeader_t     = ObsGPSTime 86355000 1906+            _observationHeader_t     = GpsTime 86355000 1906           , _observationHeader_n_obs = 33           }         assertMsgObsLength (msgs !! 4) 1         -- Message 6         assertObsHeader (msgs !! 6) ObservationHeader {-            _observationHeader_t     = ObsGPSTime 86356000 1906+            _observationHeader_t     = GpsTime 86356000 1906           , _observationHeader_n_obs = 32           }         assertMsgObsLength (msgs !! 6) 15         -- Message 7         assertObsHeader (msgs !! 7) ObservationHeader {-            _observationHeader_t     = ObsGPSTime 86356000 1906+            _observationHeader_t     = GpsTime 86356000 1906           , _observationHeader_n_obs = 33           }         assertMsgObsLength (msgs !! 7) 1@@ -211,21 +211,21 @@        toWn 57593 @?= 1907     ] -testUpdateGPSTime :: TestTree-testUpdateGPSTime =+testUpdateGpsTime :: TestTree+testUpdateGpsTime =   testGroup "Update GPS Time"     [ testCase "old TOW < new TOW" $ do-        let old = ObsGPSTime 1 10-            new = updateGPSTime 2 old-        new ^. obsGPSTime_wn @?= 10+        let old = GpsTime 1 10+            new = updateGpsTime 2 old+        new ^. gpsTime_wn @?= 10     , testCase "old TOW = new TOW" $ do-        let old = ObsGPSTime 1 10-            new = updateGPSTime 1 old-        new ^. obsGPSTime_wn @?= 10+        let old = GpsTime 1 10+            new = updateGpsTime 1 old+        new ^. gpsTime_wn @?= 10     , testCase "old TOW > new TOW" $ do-        let old = ObsGPSTime 1 10-            new = updateGPSTime 0 old-        new ^. obsGPSTime_wn @?= 11+        let old = GpsTime 1 10+            new = updateGpsTime 0 old+        new ^. gpsTime_wn @?= 11     ]  testUpdateLock :: TestTree@@ -250,6 +250,6 @@   testGroup "RTCM3 to SBP conversion tests"     [ testMsg1004     , testToWn-    , testUpdateGPSTime+    , testUpdateGpsTime     , testUpdateLock     ]