gnss-converters 0.3.35 → 0.3.36
raw patch · 2 files changed
+9/−9 lines, 2 files
Files
- gnss-converters.cabal +1/−1
- src/Data/RTCM3/SBP/MSM.hs +8/−8
gnss-converters.cabal view
@@ -1,6 +1,6 @@ cabal-version: >=1.22 name: gnss-converters-version: 0.3.35+version: 0.3.36 license: BSD3 copyright: Copyright (C) 2016, 2017 Swift Navigation, Inc. maintainer: Swift Navigation <dev@swiftnav.com>
src/Data/RTCM3/SBP/MSM.hs view
@@ -33,10 +33,10 @@ toSender station = station .|. 61440 masks :: Bits a => Int -> a -> [b] -> [b]-masks n a bs = fst <$> filter snd (zip bs $ testBit a <$> [n,n-1..0])+masks n a bs = fst <$> filter snd (zip bs $ testBit a <$> [n-1,n-2..0]) mask :: FiniteBits a => a -> [Word8]-mask n = masks (finiteBitSize n-1) n [(1::Word8)..]+mask n = masks (finiteBitSize n) n [1..] toCells :: MsmHeader -> [((Int, Word8), (Int, Word8))] toCells hdr =@@ -159,7 +159,7 @@ { _packedObsContent_P = toP (roughPseudorange + finePseudorange) , _packedObsContent_L = toL ((roughPseudorange + finePhaserange) * (freq / 299792458.0)) , _packedObsContent_D = toD- , _packedObsContent_cn0 = (sigData ^. msm4SignalData_cnrs) !! sigIndex+ , _packedObsContent_cn0 = ((sigData ^. msm4SignalData_cnrs) !! sigIndex) * 4 , _packedObsContent_lock = (sigData ^. msm4SignalData_lockTimes) !! sigIndex , _packedObsContent_sid = sid , _packedObsContent_flags = pseudorangeValid .|. phaseValid .|. halfCycleResolved@@ -167,9 +167,9 @@ where pseudorangeValid = 1 phaseValid = 2- halfCycleResolved = bool 0 4 $ (sigData ^. msm4SignalData_halfCycles) !! sigIndex+ halfCycleResolved = bool 4 0 $ (sigData ^. msm4SignalData_halfCycles) !! sigIndex roughPseudorange = fromIntegral ((satData ^. msm46SatelliteData_ranges) !! satIndex) * gpsPseudorange +- fromIntegral ((satData ^. msm46SatelliteData_rangesModulo) !! satIndex) / (1024 * gpsPseudorange)+ fromIntegral ((satData ^. msm46SatelliteData_rangesModulo) !! satIndex) * gpsPseudorange / 1024 finePseudorange = fromIntegral ((sigData ^. msm4SignalData_pseudoranges) !! sigIndex) * gpsPseudorange * (2 ** (-24)) finePhaserange = fromIntegral ((sigData ^. msm4SignalData_phaseranges) !! sigIndex) * gpsPseudorange * (2 ** (-29)) @@ -181,7 +181,7 @@ { _packedObsContent_P = toP (roughPseudorange + finePseudorange) , _packedObsContent_L = toL ((roughPseudorange + finePhaserange) * (freq / 299792458.0)) , _packedObsContent_D = toD- , _packedObsContent_cn0 = round (fromIntegral ((sigData ^. msm7SignalData_cnrs) !! sigIndex) * ((2 :: Double) ** (-4)))+ , _packedObsContent_cn0 = round (fromIntegral ((sigData ^. msm7SignalData_cnrs) !! sigIndex) * ((2 :: Double) ** (-4)) * 4) , _packedObsContent_lock = toLock $ lock ((sigData ^. msm7SignalData_lockTimes) !! sigIndex) , _packedObsContent_sid = sid , _packedObsContent_flags = pseudorangeValid .|. phaseValid .|. halfCycleResolved@@ -189,9 +189,9 @@ where pseudorangeValid = 1 phaseValid = 2- halfCycleResolved = bool 0 4 $ (sigData ^. msm7SignalData_halfCycles) !! sigIndex+ halfCycleResolved = bool 4 0 $ (sigData ^. msm7SignalData_halfCycles) !! sigIndex roughPseudorange = fromIntegral ((satData ^. msm57SatelliteData_ranges) !! satIndex) * gpsPseudorange +- fromIntegral ((satData ^. msm57SatelliteData_rangesModulo) !! satIndex) / (1024 * gpsPseudorange)+ fromIntegral ((satData ^. msm57SatelliteData_rangesModulo) !! satIndex) * gpsPseudorange / 1024 finePseudorange = fromIntegral ((sigData ^. msm7SignalData_pseudoranges) !! sigIndex) * gpsPseudorange * (2 ** (-29)) finePhaserange = fromIntegral ((sigData ^. msm7SignalData_phaseranges) !! sigIndex) * gpsPseudorange * (2 ** (-31))