sbp 6.1.0 → 6.2.0
raw patch · 3 files changed
+62/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ SwiftNav.SBP: SBPMsgImuComp :: MsgImuComp -> Msg -> SBPMsg
+ SwiftNav.SBP: _SBPMsgImuComp :: Prism' SBPMsg (MsgImuComp, Msg)
+ SwiftNav.SBP.Imu: MsgImuComp :: !Word64 -> !Word16 -> !Int32 -> !Int32 -> !Int32 -> !Int32 -> !Int32 -> !Int32 -> MsgImuComp
+ SwiftNav.SBP.Imu: [_msgImuComp_acc_comp_x] :: MsgImuComp -> !Int32
+ SwiftNav.SBP.Imu: [_msgImuComp_acc_comp_y] :: MsgImuComp -> !Int32
+ SwiftNav.SBP.Imu: [_msgImuComp_acc_comp_z] :: MsgImuComp -> !Int32
+ SwiftNav.SBP.Imu: [_msgImuComp_flags] :: MsgImuComp -> !Word16
+ SwiftNav.SBP.Imu: [_msgImuComp_gyr_comp_x] :: MsgImuComp -> !Int32
+ SwiftNav.SBP.Imu: [_msgImuComp_gyr_comp_y] :: MsgImuComp -> !Int32
+ SwiftNav.SBP.Imu: [_msgImuComp_gyr_comp_z] :: MsgImuComp -> !Int32
+ SwiftNav.SBP.Imu: [_msgImuComp_time] :: MsgImuComp -> !Word64
+ SwiftNav.SBP.Imu: data MsgImuComp
+ SwiftNav.SBP.Imu: instance Data.Aeson.Types.FromJSON.FromJSON SwiftNav.SBP.Imu.MsgImuComp
+ SwiftNav.SBP.Imu: instance Data.Aeson.Types.ToJSON.ToJSON SwiftNav.SBP.Imu.MsgImuComp
+ SwiftNav.SBP.Imu: instance Data.Binary.Class.Binary SwiftNav.SBP.Imu.MsgImuComp
+ SwiftNav.SBP.Imu: instance GHC.Classes.Eq SwiftNav.SBP.Imu.MsgImuComp
+ SwiftNav.SBP.Imu: instance GHC.Read.Read SwiftNav.SBP.Imu.MsgImuComp
+ SwiftNav.SBP.Imu: instance GHC.Show.Show SwiftNav.SBP.Imu.MsgImuComp
+ SwiftNav.SBP.Imu: instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Imu.MsgImuComp
+ SwiftNav.SBP.Imu: msgImuComp :: Word16
+ SwiftNav.SBP.Imu: msgImuComp_acc_comp_x :: Lens' MsgImuComp Int32
+ SwiftNav.SBP.Imu: msgImuComp_acc_comp_y :: Lens' MsgImuComp Int32
+ SwiftNav.SBP.Imu: msgImuComp_acc_comp_z :: Lens' MsgImuComp Int32
+ SwiftNav.SBP.Imu: msgImuComp_flags :: Lens' MsgImuComp Word16
+ SwiftNav.SBP.Imu: msgImuComp_gyr_comp_x :: Lens' MsgImuComp Int32
+ SwiftNav.SBP.Imu: msgImuComp_gyr_comp_y :: Lens' MsgImuComp Int32
+ SwiftNav.SBP.Imu: msgImuComp_gyr_comp_z :: Lens' MsgImuComp Int32
+ SwiftNav.SBP.Imu: msgImuComp_time :: Lens' MsgImuComp Word64
Files
- sbp.cabal +1/−1
- src/SwiftNav/SBP/Imu.hs +55/−0
- src/SwiftNav/SBP/Msg.hs +6/−0
sbp.cabal view
@@ -1,5 +1,5 @@ name: sbp-version: 6.1.0+version: 6.2.0 synopsis: SwiftNav's SBP Library homepage: https://github.com/swift-nav/libsbp license: MIT
@@ -127,3 +127,58 @@ $(makeSBP 'msgImuAux ''MsgImuAux) $(makeJSON "_msgImuAux_" ''MsgImuAux) $(makeLenses ''MsgImuAux)++msgImuComp :: Word16+msgImuComp = 0x0905++-- | SBP class for message MSG_IMU_COMP (0x0905).+--+-- Data from the Inertial Measurement Unit, containing accelerometer and+-- gyroscope readings compensated for estimated errors and constant physical+-- effects. The output is valid for inertially referenced center of+-- navigation (IMU body frame) represented in vehicle body frame.+data MsgImuComp = MsgImuComp+ { _msgImuComp_time :: !Word64+ -- ^ Microseconds since reference epoch+ , _msgImuComp_flags :: !Word16+ -- ^ Contains the applied compensation parameters and time synchronization+ -- mode+ , _msgImuComp_acc_comp_x :: !Int32+ -- ^ Compensated acceleration X axis+ , _msgImuComp_acc_comp_y :: !Int32+ -- ^ Compensated acceleration Y axis+ , _msgImuComp_acc_comp_z :: !Int32+ -- ^ Compensated acceleration Z axis+ , _msgImuComp_gyr_comp_x :: !Int32+ -- ^ Compensated angular rate X axis+ , _msgImuComp_gyr_comp_y :: !Int32+ -- ^ Compensated angular rate Y axis+ , _msgImuComp_gyr_comp_z :: !Int32+ -- ^ Compensated angular rate Z axis+ } deriving ( Show, Read, Eq )++instance Binary MsgImuComp where+ get = do+ _msgImuComp_time <- getWord64le+ _msgImuComp_flags <- getWord16le+ _msgImuComp_acc_comp_x <- (fromIntegral <$> getWord32le)+ _msgImuComp_acc_comp_y <- (fromIntegral <$> getWord32le)+ _msgImuComp_acc_comp_z <- (fromIntegral <$> getWord32le)+ _msgImuComp_gyr_comp_x <- (fromIntegral <$> getWord32le)+ _msgImuComp_gyr_comp_y <- (fromIntegral <$> getWord32le)+ _msgImuComp_gyr_comp_z <- (fromIntegral <$> getWord32le)+ pure MsgImuComp {..}++ put MsgImuComp {..} = do+ putWord64le _msgImuComp_time+ putWord16le _msgImuComp_flags+ (putWord32le . fromIntegral) _msgImuComp_acc_comp_x+ (putWord32le . fromIntegral) _msgImuComp_acc_comp_y+ (putWord32le . fromIntegral) _msgImuComp_acc_comp_z+ (putWord32le . fromIntegral) _msgImuComp_gyr_comp_x+ (putWord32le . fromIntegral) _msgImuComp_gyr_comp_y+ (putWord32le . fromIntegral) _msgImuComp_gyr_comp_z++$(makeSBP 'msgImuComp ''MsgImuComp)+$(makeJSON "_msgImuComp_" ''MsgImuComp)+$(makeLenses ''MsgImuComp)
@@ -156,6 +156,7 @@ | SBPMsgHeartbeat MsgHeartbeat Msg | SBPMsgIarState MsgIarState Msg | SBPMsgImuAux MsgImuAux Msg+ | SBPMsgImuComp MsgImuComp Msg | SBPMsgImuRaw MsgImuRaw Msg | SBPMsgInitBaseDep MsgInitBaseDep Msg | SBPMsgInsStatus MsgInsStatus Msg@@ -407,6 +408,7 @@ | _msgSBPType == msgHeartbeat = SBPMsgHeartbeat (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgIarState = SBPMsgIarState (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgImuAux = SBPMsgImuAux (decode (fromStrict (unBytes _msgSBPPayload))) m+ | _msgSBPType == msgImuComp = SBPMsgImuComp (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgImuRaw = SBPMsgImuRaw (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgInitBaseDep = SBPMsgInitBaseDep (decode (fromStrict (unBytes _msgSBPPayload))) m | _msgSBPType == msgInsStatus = SBPMsgInsStatus (decode (fromStrict (unBytes _msgSBPPayload))) m@@ -650,6 +652,7 @@ encoder (SBPMsgHeartbeat _ m) = put m encoder (SBPMsgIarState _ m) = put m encoder (SBPMsgImuAux _ m) = put m+ encoder (SBPMsgImuComp _ m) = put m encoder (SBPMsgImuRaw _ m) = put m encoder (SBPMsgInitBaseDep _ m) = put m encoder (SBPMsgInsStatus _ m) = put m@@ -897,6 +900,7 @@ | msgType == msgHeartbeat = SBPMsgHeartbeat <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgIarState = SBPMsgIarState <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgImuAux = SBPMsgImuAux <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj+ | msgType == msgImuComp = SBPMsgImuComp <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgImuRaw = SBPMsgImuRaw <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgInitBaseDep = SBPMsgInitBaseDep <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj | msgType == msgInsStatus = SBPMsgInsStatus <$> pure (decode (fromStrict (unBytes payload))) <*> parseJSON obj@@ -1145,6 +1149,7 @@ toJSON (SBPMsgHeartbeat n m) = toJSON n <<>> toJSON m toJSON (SBPMsgIarState n m) = toJSON n <<>> toJSON m toJSON (SBPMsgImuAux n m) = toJSON n <<>> toJSON m+ toJSON (SBPMsgImuComp n m) = toJSON n <<>> toJSON m toJSON (SBPMsgImuRaw n m) = toJSON n <<>> toJSON m toJSON (SBPMsgInitBaseDep _ m) = toJSON m toJSON (SBPMsgInsStatus n m) = toJSON n <<>> toJSON m@@ -1387,6 +1392,7 @@ msg f (SBPMsgHeartbeat n m) = SBPMsgHeartbeat n <$> f m msg f (SBPMsgIarState n m) = SBPMsgIarState n <$> f m msg f (SBPMsgImuAux n m) = SBPMsgImuAux n <$> f m+ msg f (SBPMsgImuComp n m) = SBPMsgImuComp n <$> f m msg f (SBPMsgImuRaw n m) = SBPMsgImuRaw n <$> f m msg f (SBPMsgInitBaseDep n m) = SBPMsgInitBaseDep n <$> f m msg f (SBPMsgInsStatus n m) = SBPMsgInsStatus n <$> f m