packages feed

gnss-converters 0.1.4 → 0.1.5

raw patch · 2 files changed

+30/−28 lines, 2 files

Files

gnss-converters.cabal view
@@ -1,5 +1,5 @@ name:                  gnss-converters-version:               0.1.4+version:               0.1.5 synopsis:              GNSS Converters. description:           Haskell bindings for GNSS converters. homepage:              http://github.com/swift-nav/gnss-converters
src/Data/RTCM3/SBP.hs view
@@ -38,12 +38,12 @@   t <- toGPSTime hdr   return ObservationHeader     { _observationHeader_t     = t-    , _observationHeader_n_obs = fromIntegral $ hdr ^. gpsObservationHeader_n+    , _observationHeader_n_obs = 0x10     }  toP :: GpsL1Observation -> GpsL1ExtObservation -> Word32 toP l1 l1e = round $ p * 100 where-  p = 0.02 * fromIntegral (l1 ^. gpsL1Observation_pseudorange) ++  p = (0.02 :: Double) * fromIntegral (l1 ^. gpsL1Observation_pseudorange) +       299792.458 * fromIntegral (l1e ^. gpsL1ExtObservation_ambiguity)  toL :: GpsL1Observation -> GpsL1ExtObservation -> CarrierPhase@@ -72,36 +72,38 @@   , _gnssSignal_constellation = 0   } -fromObservation1002 :: Observation1002 -> PackedObsContent-fromObservation1002 obs = PackedObsContent-  { _packedObsContent_P    = toP l1 l1e-  , _packedObsContent_L    = toL l1 l1e-  , _packedObsContent_cn0  = toCn0 l1e-  , _packedObsContent_lock = toLock l1-  , _packedObsContent_sid  = toSid sat-  } where-    sat = obs ^. observation1002_sat-    l1  = obs ^. observation1002_l1-    l1e = obs ^. observation1002_l1e+fromObservation1002 :: Observation1002 -> Maybe PackedObsContent+fromObservation1002 obs =+  if obs ^. observation1002_l1 ^. gpsL1Observation_code then Nothing else Just PackedObsContent+    { _packedObsContent_P    = toP l1 l1e+    , _packedObsContent_L    = toL l1 l1e+    , _packedObsContent_cn0  = toCn0 l1e+    , _packedObsContent_lock = toLock l1+    , _packedObsContent_sid  = toSid sat+    } where+      sat = obs ^. observation1002_sat+      l1  = obs ^. observation1002_l1+      l1e = obs ^. observation1002_l1e -fromObservation1004 :: Observation1004 -> PackedObsContent-fromObservation1004 obs = PackedObsContent-  { _packedObsContent_P    = toP l1 l1e-  , _packedObsContent_L    = toL l1 l1e-  , _packedObsContent_cn0  = toCn0 l1e-  , _packedObsContent_lock = toLock l1-  , _packedObsContent_sid  = toSid sat-  }  where-    sat = obs ^. observation1004_sat-    l1  = obs ^. observation1004_l1-    l1e = obs ^. observation1004_l1e+fromObservation1004 :: Observation1004 -> Maybe PackedObsContent+fromObservation1004 obs =+  if obs ^. observation1004_l1 ^. gpsL1Observation_code then Nothing else Just PackedObsContent+    { _packedObsContent_P    = toP l1 l1e+    , _packedObsContent_L    = toL l1 l1e+    , _packedObsContent_cn0  = toCn0 l1e+    , _packedObsContent_lock = toLock l1+    , _packedObsContent_sid  = toSid sat+    }  where+      sat = obs ^. observation1004_sat+      l1  = obs ^. observation1004_l1+      l1e = obs ^. observation1004_l1e  fromMsg1002 :: MonadIO m => Msg1002 -> m MsgObs fromMsg1002 msg = do   header <- fromGpsObservationHeader $ msg ^. msg1002_header   return MsgObs     { _msgObs_header = header-    , _msgObs_obs    = map fromObservation1002 $ msg ^. msg1002_observations+    , _msgObs_obs    = mapMaybe fromObservation1002 $ msg ^. msg1002_observations     }  fromMsg1004 :: MonadIO m => Msg1004 -> m MsgObs@@ -109,7 +111,7 @@   header <- fromGpsObservationHeader $ msg ^. msg1004_header   return MsgObs     { _msgObs_header = header-    , _msgObs_obs    = map fromObservation1004 $ msg ^. msg1004_observations+    , _msgObs_obs    = mapMaybe fromObservation1004 $ msg ^. msg1004_observations     }  fromMsg1005 :: MonadIO m => Msg1005 -> m MsgBasePosEcef@@ -142,4 +144,4 @@   (RTCM3Msg1006 msg _rtcm3) -> do     msg' <- fromMsg1006 msg     return $ Just $ SBPMsgBasePosEcef msg' $ toSBP msg' defaultSender-  _rtcm3Msg -> return $ Nothing+  _rtcm3Msg -> return Nothing