packages feed

gnss-converters 0.3.23 → 0.3.24

raw patch · 2 files changed

+20/−7 lines, 2 filesdep ~rtcmPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: rtcm

API changes (from Hackage documentation)

- Data.RTCM3.SBP.Types: class HasStore c_apgP where storeCurrentGpsTime = (.) store storeCurrentGpsTime storeGpsTimeMap = (.) store storeGpsTimeMap storeObservations = (.) store storeObservations
+ Data.RTCM3.SBP.Types: class HasStore c_aph2 where storeCurrentGpsTime = (.) store storeCurrentGpsTime storeGpsTimeMap = (.) store storeGpsTimeMap storeObservations = (.) store storeObservations
- Data.RTCM3.SBP.Types: store :: HasStore c_apgP => Lens' c_apgP Store
+ Data.RTCM3.SBP.Types: store :: HasStore c_aph2 => Lens' c_aph2 Store
- Data.RTCM3.SBP.Types: storeCurrentGpsTime :: HasStore c_apgP => Lens' c_apgP (IO GpsTime)
+ Data.RTCM3.SBP.Types: storeCurrentGpsTime :: HasStore c_aph2 => Lens' c_aph2 (IO GpsTime)
- Data.RTCM3.SBP.Types: storeGpsTimeMap :: HasStore c_apgP => Lens' c_apgP (IORef GpsTimeMap)
+ Data.RTCM3.SBP.Types: storeGpsTimeMap :: HasStore c_aph2 => Lens' c_aph2 (IORef GpsTimeMap)
- Data.RTCM3.SBP.Types: storeObservations :: HasStore c_apgP => Lens' c_apgP (IORef (Vector PackedObsContent))
+ Data.RTCM3.SBP.Types: storeObservations :: HasStore c_aph2 => Lens' c_aph2 (IORef (Vector PackedObsContent))

Files

gnss-converters.cabal view
@@ -1,5 +1,5 @@ name: gnss-converters-version: 0.3.23+version: 0.3.24 cabal-version: >=1.22 build-type: Simple license: BSD3@@ -37,7 +37,7 @@         monad-control >=1.0.1.0,         mtl >=2.2.1,         resourcet >=1.1.9,-        rtcm >=0.2.10,+        rtcm >=0.2.11,         sbp >=2.3.1,         time >=1.5.0.1,         transformers-base >=0.4.4,
src/Data/RTCM3/SBP/Biases.hs view
@@ -14,19 +14,31 @@   ( converter   ) where -import BasicPrelude+import BasicPrelude hiding (mask) import Control.Lens import Data.Bits import Data.Conduit+import Data.Int import Data.RTCM3 import Data.Word import SwiftNav.SBP +{-# ANN module ("HLint: ignore Use head"::String) #-}+ -- | Derive sender from station. -- toSender :: Word16 -> Word16 toSender station = station .|. 61440 +-- | Expand out array of biases.+--+toBiases :: Word8 -> Int -> [Int16] -> [Int16]+toBiases mask i (bias:biases)+  | testBit mask i = bias : toBiases mask (i+1) biases+toBiases mask i biases+  | null biases = biases+  | otherwise = 0 : toBiases mask (i+1) biases+ -- | Convert an RTCM 1230 GLO biases message into an SBP MsgGloBiases. -- converter :: Monad m => Msg1230 -> Conduit i m [SBPMsg]@@ -34,11 +46,12 @@   let bias   = m ^. msg1230_bias       sender = toSender $ bias ^. glonassBias_station       scale  = bool 50 (-50) $ bias ^. glonassBias_bias+      biases = toBiases (bias ^. glonassBias_mask) 0 (bias ^. glonassBias_biases) <> repeat 0       m'     = MsgGloBiases         { _msgGloBiases_mask      = bias ^. glonassBias_mask-        , _msgGloBiases_l1ca_bias = scale * bias ^. glonassBias_l1ca-        , _msgGloBiases_l1p_bias  = scale * bias ^. glonassBias_l1p-        , _msgGloBiases_l2ca_bias = scale * bias ^. glonassBias_l2ca-        , _msgGloBiases_l2p_bias  = scale * bias ^. glonassBias_l2p+        , _msgGloBiases_l1ca_bias = scale * biases !! 0+        , _msgGloBiases_l1p_bias  = scale * biases !! 1+        , _msgGloBiases_l2ca_bias = scale * biases !! 2+        , _msgGloBiases_l2p_bias  = scale * biases !! 3         }   yield [SBPMsgGloBiases m' $ toSBP m' sender]