-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | SwiftNav's SBP Library -- -- Haskell bindings for Swift Navigation Binary Protocol (SBP), a fast, -- simple, and minimal binary protocol for communicating with Swift -- devices. It is the native binary protocol used by the Piksi GPS -- receiver to transmit solutions, observations, status and debugging -- messages, as well as receive messages from the host operating system, -- such as differential corrections and the almanac. @package sbp @version 2.2.7 -- | Encoding utilities. module SwiftNav.SBP.Encoding instance Data.Aeson.Types.ToJSON.ToJSON Data.ByteString.Internal.ByteString instance Data.Aeson.Types.FromJSON.FromJSON Data.ByteString.Internal.ByteString -- | Error detection functions. module SwiftNav.CRC16 -- | Calculate CCITT 16-bit Cyclical Redundancy Check (CRC16). crc16 :: ByteString -> Word16 -- | SBP message containers. module SwiftNav.SBP -- | An SBP message ADT composed of all defined SBP messages. -- -- Includes SBPMsgUnknown for valid SBP messages with undefined message -- types and SBPMsgBadCRC for SBP messages with invalid CRC checksums. data SBPMsg SBPMsgAcqResult :: MsgAcqResult -> Msg -> SBPMsg SBPMsgAcqResultDepA :: MsgAcqResultDepA -> Msg -> SBPMsg SBPMsgAcqResultDepB :: MsgAcqResultDepB -> Msg -> SBPMsg SBPMsgAcqSvProfile :: MsgAcqSvProfile -> Msg -> SBPMsg SBPMsgAgeCorrections :: MsgAgeCorrections -> Msg -> SBPMsg SBPMsgAlmanac :: MsgAlmanac -> Msg -> SBPMsg SBPMsgAlmanacGlo :: MsgAlmanacGlo -> Msg -> SBPMsg SBPMsgAlmanacGps :: MsgAlmanacGps -> Msg -> SBPMsg SBPMsgBasePosEcef :: MsgBasePosEcef -> Msg -> SBPMsg SBPMsgBasePosLlh :: MsgBasePosLlh -> Msg -> SBPMsg SBPMsgBaselineEcef :: MsgBaselineEcef -> Msg -> SBPMsg SBPMsgBaselineEcefDepA :: MsgBaselineEcefDepA -> Msg -> SBPMsg SBPMsgBaselineHeading :: MsgBaselineHeading -> Msg -> SBPMsg SBPMsgBaselineHeadingDepA :: MsgBaselineHeadingDepA -> Msg -> SBPMsg SBPMsgBaselineNed :: MsgBaselineNed -> Msg -> SBPMsg SBPMsgBaselineNedDepA :: MsgBaselineNedDepA -> Msg -> SBPMsg SBPMsgBootloaderHandshakeDepA :: MsgBootloaderHandshakeDepA -> Msg -> SBPMsg SBPMsgBootloaderHandshakeReq :: MsgBootloaderHandshakeReq -> Msg -> SBPMsg SBPMsgBootloaderHandshakeResp :: MsgBootloaderHandshakeResp -> Msg -> SBPMsg SBPMsgBootloaderJumpToApp :: MsgBootloaderJumpToApp -> Msg -> SBPMsg SBPMsgCommandOutput :: MsgCommandOutput -> Msg -> SBPMsg SBPMsgCommandReq :: MsgCommandReq -> Msg -> SBPMsg SBPMsgCommandResp :: MsgCommandResp -> Msg -> SBPMsg SBPMsgCwResults :: MsgCwResults -> Msg -> SBPMsg SBPMsgCwStart :: MsgCwStart -> Msg -> SBPMsg SBPMsgDeviceMonitor :: MsgDeviceMonitor -> Msg -> SBPMsg SBPMsgDgnssStatus :: MsgDgnssStatus -> Msg -> SBPMsg SBPMsgDops :: MsgDops -> Msg -> SBPMsg SBPMsgDopsDepA :: MsgDopsDepA -> Msg -> SBPMsg SBPMsgEphemerisDepA :: MsgEphemerisDepA -> Msg -> SBPMsg SBPMsgEphemerisDepB :: MsgEphemerisDepB -> Msg -> SBPMsg SBPMsgEphemerisDepC :: MsgEphemerisDepC -> Msg -> SBPMsg SBPMsgEphemerisDepD :: MsgEphemerisDepD -> Msg -> SBPMsg SBPMsgEphemerisGlo :: MsgEphemerisGlo -> Msg -> SBPMsg SBPMsgEphemerisGloDepA :: MsgEphemerisGloDepA -> Msg -> SBPMsg SBPMsgEphemerisGloDepB :: MsgEphemerisGloDepB -> Msg -> SBPMsg SBPMsgEphemerisGloDepC :: MsgEphemerisGloDepC -> Msg -> SBPMsg SBPMsgEphemerisGps :: MsgEphemerisGps -> Msg -> SBPMsg SBPMsgEphemerisGpsDepE :: MsgEphemerisGpsDepE -> Msg -> SBPMsg SBPMsgEphemerisSbas :: MsgEphemerisSbas -> Msg -> SBPMsg SBPMsgEphemerisSbasDepA :: MsgEphemerisSbasDepA -> Msg -> SBPMsg SBPMsgExtEvent :: MsgExtEvent -> Msg -> SBPMsg SBPMsgFcnsGlo :: MsgFcnsGlo -> Msg -> SBPMsg SBPMsgFileioReadDirReq :: MsgFileioReadDirReq -> Msg -> SBPMsg SBPMsgFileioReadDirResp :: MsgFileioReadDirResp -> Msg -> SBPMsg SBPMsgFileioReadReq :: MsgFileioReadReq -> Msg -> SBPMsg SBPMsgFileioReadResp :: MsgFileioReadResp -> Msg -> SBPMsg SBPMsgFileioRemove :: MsgFileioRemove -> Msg -> SBPMsg SBPMsgFileioWriteReq :: MsgFileioWriteReq -> Msg -> SBPMsg SBPMsgFileioWriteResp :: MsgFileioWriteResp -> Msg -> SBPMsg SBPMsgFlashDone :: MsgFlashDone -> Msg -> SBPMsg SBPMsgFlashErase :: MsgFlashErase -> Msg -> SBPMsg SBPMsgFlashProgram :: MsgFlashProgram -> Msg -> SBPMsg SBPMsgFlashReadReq :: MsgFlashReadReq -> Msg -> SBPMsg SBPMsgFlashReadResp :: MsgFlashReadResp -> Msg -> SBPMsg SBPMsgFwd :: MsgFwd -> Msg -> SBPMsg SBPMsgGpsTime :: MsgGpsTime -> Msg -> SBPMsg SBPMsgGpsTimeDepA :: MsgGpsTimeDepA -> Msg -> SBPMsg SBPMsgGroupDelay :: MsgGroupDelay -> Msg -> SBPMsg SBPMsgGroupDelayDepA :: MsgGroupDelayDepA -> Msg -> SBPMsg SBPMsgHeartbeat :: MsgHeartbeat -> Msg -> SBPMsg SBPMsgIarState :: MsgIarState -> Msg -> SBPMsg SBPMsgImuAux :: MsgImuAux -> Msg -> SBPMsg SBPMsgImuRaw :: MsgImuRaw -> Msg -> SBPMsg SBPMsgInitBase :: MsgInitBase -> Msg -> SBPMsg SBPMsgIono :: MsgIono -> Msg -> SBPMsg SBPMsgLog :: MsgLog -> Msg -> SBPMsg SBPMsgM25FlashWriteStatus :: MsgM25FlashWriteStatus -> Msg -> SBPMsg SBPMsgMaskSatellite :: MsgMaskSatellite -> Msg -> SBPMsg SBPMsgNapDeviceDnaReq :: MsgNapDeviceDnaReq -> Msg -> SBPMsg SBPMsgNapDeviceDnaResp :: MsgNapDeviceDnaResp -> Msg -> SBPMsg SBPMsgNdbEvent :: MsgNdbEvent -> Msg -> SBPMsg SBPMsgNetworkStateReq :: MsgNetworkStateReq -> Msg -> SBPMsg SBPMsgNetworkStateResp :: MsgNetworkStateResp -> Msg -> SBPMsg SBPMsgObs :: MsgObs -> Msg -> SBPMsg SBPMsgObsDepA :: MsgObsDepA -> Msg -> SBPMsg SBPMsgObsDepB :: MsgObsDepB -> Msg -> SBPMsg SBPMsgObsDepC :: MsgObsDepC -> Msg -> SBPMsg SBPMsgPosEcef :: MsgPosEcef -> Msg -> SBPMsg SBPMsgPosEcefDepA :: MsgPosEcefDepA -> Msg -> SBPMsg SBPMsgPosLlh :: MsgPosLlh -> Msg -> SBPMsg SBPMsgPosLlhDepA :: MsgPosLlhDepA -> Msg -> SBPMsg SBPMsgPrintDep :: MsgPrintDep -> Msg -> SBPMsg SBPMsgReset :: MsgReset -> Msg -> SBPMsg SBPMsgResetDep :: MsgResetDep -> Msg -> SBPMsg SBPMsgResetFilters :: MsgResetFilters -> Msg -> SBPMsg SBPMsgSetTime :: MsgSetTime -> Msg -> SBPMsg SBPMsgSettingsReadByIndexDone :: MsgSettingsReadByIndexDone -> Msg -> SBPMsg SBPMsgSettingsReadByIndexReq :: MsgSettingsReadByIndexReq -> Msg -> SBPMsg SBPMsgSettingsReadByIndexResp :: MsgSettingsReadByIndexResp -> Msg -> SBPMsg SBPMsgSettingsReadReq :: MsgSettingsReadReq -> Msg -> SBPMsg SBPMsgSettingsReadResp :: MsgSettingsReadResp -> Msg -> SBPMsg SBPMsgSettingsRegister :: MsgSettingsRegister -> Msg -> SBPMsg SBPMsgSettingsSave :: MsgSettingsSave -> Msg -> SBPMsg SBPMsgSettingsWrite :: MsgSettingsWrite -> Msg -> SBPMsg SBPMsgSpecan :: MsgSpecan -> Msg -> SBPMsg SBPMsgStartup :: MsgStartup -> Msg -> SBPMsg SBPMsgStmFlashLockSector :: MsgStmFlashLockSector -> Msg -> SBPMsg SBPMsgStmFlashUnlockSector :: MsgStmFlashUnlockSector -> Msg -> SBPMsg SBPMsgStmUniqueIdReq :: MsgStmUniqueIdReq -> Msg -> SBPMsg SBPMsgStmUniqueIdResp :: MsgStmUniqueIdResp -> Msg -> SBPMsg SBPMsgSvConfigurationGps :: MsgSvConfigurationGps -> Msg -> SBPMsg SBPMsgThreadState :: MsgThreadState -> Msg -> SBPMsg SBPMsgTrackingIq :: MsgTrackingIq -> Msg -> SBPMsg SBPMsgTrackingState :: MsgTrackingState -> Msg -> SBPMsg SBPMsgTrackingStateDepA :: MsgTrackingStateDepA -> Msg -> SBPMsg SBPMsgTrackingStateDepB :: MsgTrackingStateDepB -> Msg -> SBPMsg SBPMsgTrackingStateDetailed :: MsgTrackingStateDetailed -> Msg -> SBPMsg SBPMsgTweet :: MsgTweet -> Msg -> SBPMsg SBPMsgUartState :: MsgUartState -> Msg -> SBPMsg SBPMsgUartStateDepa :: MsgUartStateDepa -> Msg -> SBPMsg SBPMsgUserData :: MsgUserData -> Msg -> SBPMsg SBPMsgUtcTime :: MsgUtcTime -> Msg -> SBPMsg SBPMsgVelEcef :: MsgVelEcef -> Msg -> SBPMsg SBPMsgVelEcefDepA :: MsgVelEcefDepA -> Msg -> SBPMsg SBPMsgVelNed :: MsgVelNed -> Msg -> SBPMsg SBPMsgVelNedDepA :: MsgVelNedDepA -> Msg -> SBPMsg SBPMsgBadCrc :: Msg -> SBPMsg SBPMsgUnknown :: Msg -> SBPMsg _SBPMsgUnknown :: Prism' SBPMsg Msg _SBPMsgBadCrc :: Prism' SBPMsg Msg _SBPMsgVelNedDepA :: Prism' SBPMsg (MsgVelNedDepA, Msg) _SBPMsgVelNed :: Prism' SBPMsg (MsgVelNed, Msg) _SBPMsgVelEcefDepA :: Prism' SBPMsg (MsgVelEcefDepA, Msg) _SBPMsgVelEcef :: Prism' SBPMsg (MsgVelEcef, Msg) _SBPMsgUtcTime :: Prism' SBPMsg (MsgUtcTime, Msg) _SBPMsgUserData :: Prism' SBPMsg (MsgUserData, Msg) _SBPMsgUartStateDepa :: Prism' SBPMsg (MsgUartStateDepa, Msg) _SBPMsgUartState :: Prism' SBPMsg (MsgUartState, Msg) _SBPMsgTweet :: Prism' SBPMsg (MsgTweet, Msg) _SBPMsgTrackingStateDetailed :: Prism' SBPMsg (MsgTrackingStateDetailed, Msg) _SBPMsgTrackingStateDepB :: Prism' SBPMsg (MsgTrackingStateDepB, Msg) _SBPMsgTrackingStateDepA :: Prism' SBPMsg (MsgTrackingStateDepA, Msg) _SBPMsgTrackingState :: Prism' SBPMsg (MsgTrackingState, Msg) _SBPMsgTrackingIq :: Prism' SBPMsg (MsgTrackingIq, Msg) _SBPMsgThreadState :: Prism' SBPMsg (MsgThreadState, Msg) _SBPMsgSvConfigurationGps :: Prism' SBPMsg (MsgSvConfigurationGps, Msg) _SBPMsgStmUniqueIdResp :: Prism' SBPMsg (MsgStmUniqueIdResp, Msg) _SBPMsgStmUniqueIdReq :: Prism' SBPMsg (MsgStmUniqueIdReq, Msg) _SBPMsgStmFlashUnlockSector :: Prism' SBPMsg (MsgStmFlashUnlockSector, Msg) _SBPMsgStmFlashLockSector :: Prism' SBPMsg (MsgStmFlashLockSector, Msg) _SBPMsgStartup :: Prism' SBPMsg (MsgStartup, Msg) _SBPMsgSpecan :: Prism' SBPMsg (MsgSpecan, Msg) _SBPMsgSettingsWrite :: Prism' SBPMsg (MsgSettingsWrite, Msg) _SBPMsgSettingsSave :: Prism' SBPMsg (MsgSettingsSave, Msg) _SBPMsgSettingsRegister :: Prism' SBPMsg (MsgSettingsRegister, Msg) _SBPMsgSettingsReadResp :: Prism' SBPMsg (MsgSettingsReadResp, Msg) _SBPMsgSettingsReadReq :: Prism' SBPMsg (MsgSettingsReadReq, Msg) _SBPMsgSettingsReadByIndexResp :: Prism' SBPMsg (MsgSettingsReadByIndexResp, Msg) _SBPMsgSettingsReadByIndexReq :: Prism' SBPMsg (MsgSettingsReadByIndexReq, Msg) _SBPMsgSettingsReadByIndexDone :: Prism' SBPMsg (MsgSettingsReadByIndexDone, Msg) _SBPMsgSetTime :: Prism' SBPMsg (MsgSetTime, Msg) _SBPMsgResetFilters :: Prism' SBPMsg (MsgResetFilters, Msg) _SBPMsgResetDep :: Prism' SBPMsg (MsgResetDep, Msg) _SBPMsgReset :: Prism' SBPMsg (MsgReset, Msg) _SBPMsgPrintDep :: Prism' SBPMsg (MsgPrintDep, Msg) _SBPMsgPosLlhDepA :: Prism' SBPMsg (MsgPosLlhDepA, Msg) _SBPMsgPosLlh :: Prism' SBPMsg (MsgPosLlh, Msg) _SBPMsgPosEcefDepA :: Prism' SBPMsg (MsgPosEcefDepA, Msg) _SBPMsgPosEcef :: Prism' SBPMsg (MsgPosEcef, Msg) _SBPMsgObsDepC :: Prism' SBPMsg (MsgObsDepC, Msg) _SBPMsgObsDepB :: Prism' SBPMsg (MsgObsDepB, Msg) _SBPMsgObsDepA :: Prism' SBPMsg (MsgObsDepA, Msg) _SBPMsgObs :: Prism' SBPMsg (MsgObs, Msg) _SBPMsgNetworkStateResp :: Prism' SBPMsg (MsgNetworkStateResp, Msg) _SBPMsgNetworkStateReq :: Prism' SBPMsg (MsgNetworkStateReq, Msg) _SBPMsgNdbEvent :: Prism' SBPMsg (MsgNdbEvent, Msg) _SBPMsgNapDeviceDnaResp :: Prism' SBPMsg (MsgNapDeviceDnaResp, Msg) _SBPMsgNapDeviceDnaReq :: Prism' SBPMsg (MsgNapDeviceDnaReq, Msg) _SBPMsgMaskSatellite :: Prism' SBPMsg (MsgMaskSatellite, Msg) _SBPMsgM25FlashWriteStatus :: Prism' SBPMsg (MsgM25FlashWriteStatus, Msg) _SBPMsgLog :: Prism' SBPMsg (MsgLog, Msg) _SBPMsgIono :: Prism' SBPMsg (MsgIono, Msg) _SBPMsgInitBase :: Prism' SBPMsg (MsgInitBase, Msg) _SBPMsgImuRaw :: Prism' SBPMsg (MsgImuRaw, Msg) _SBPMsgImuAux :: Prism' SBPMsg (MsgImuAux, Msg) _SBPMsgIarState :: Prism' SBPMsg (MsgIarState, Msg) _SBPMsgHeartbeat :: Prism' SBPMsg (MsgHeartbeat, Msg) _SBPMsgGroupDelayDepA :: Prism' SBPMsg (MsgGroupDelayDepA, Msg) _SBPMsgGroupDelay :: Prism' SBPMsg (MsgGroupDelay, Msg) _SBPMsgGpsTimeDepA :: Prism' SBPMsg (MsgGpsTimeDepA, Msg) _SBPMsgGpsTime :: Prism' SBPMsg (MsgGpsTime, Msg) _SBPMsgFwd :: Prism' SBPMsg (MsgFwd, Msg) _SBPMsgFlashReadResp :: Prism' SBPMsg (MsgFlashReadResp, Msg) _SBPMsgFlashReadReq :: Prism' SBPMsg (MsgFlashReadReq, Msg) _SBPMsgFlashProgram :: Prism' SBPMsg (MsgFlashProgram, Msg) _SBPMsgFlashErase :: Prism' SBPMsg (MsgFlashErase, Msg) _SBPMsgFlashDone :: Prism' SBPMsg (MsgFlashDone, Msg) _SBPMsgFileioWriteResp :: Prism' SBPMsg (MsgFileioWriteResp, Msg) _SBPMsgFileioWriteReq :: Prism' SBPMsg (MsgFileioWriteReq, Msg) _SBPMsgFileioRemove :: Prism' SBPMsg (MsgFileioRemove, Msg) _SBPMsgFileioReadResp :: Prism' SBPMsg (MsgFileioReadResp, Msg) _SBPMsgFileioReadReq :: Prism' SBPMsg (MsgFileioReadReq, Msg) _SBPMsgFileioReadDirResp :: Prism' SBPMsg (MsgFileioReadDirResp, Msg) _SBPMsgFileioReadDirReq :: Prism' SBPMsg (MsgFileioReadDirReq, Msg) _SBPMsgFcnsGlo :: Prism' SBPMsg (MsgFcnsGlo, Msg) _SBPMsgExtEvent :: Prism' SBPMsg (MsgExtEvent, Msg) _SBPMsgEphemerisSbasDepA :: Prism' SBPMsg (MsgEphemerisSbasDepA, Msg) _SBPMsgEphemerisSbas :: Prism' SBPMsg (MsgEphemerisSbas, Msg) _SBPMsgEphemerisGpsDepE :: Prism' SBPMsg (MsgEphemerisGpsDepE, Msg) _SBPMsgEphemerisGps :: Prism' SBPMsg (MsgEphemerisGps, Msg) _SBPMsgEphemerisGloDepC :: Prism' SBPMsg (MsgEphemerisGloDepC, Msg) _SBPMsgEphemerisGloDepB :: Prism' SBPMsg (MsgEphemerisGloDepB, Msg) _SBPMsgEphemerisGloDepA :: Prism' SBPMsg (MsgEphemerisGloDepA, Msg) _SBPMsgEphemerisGlo :: Prism' SBPMsg (MsgEphemerisGlo, Msg) _SBPMsgEphemerisDepD :: Prism' SBPMsg (MsgEphemerisDepD, Msg) _SBPMsgEphemerisDepC :: Prism' SBPMsg (MsgEphemerisDepC, Msg) _SBPMsgEphemerisDepB :: Prism' SBPMsg (MsgEphemerisDepB, Msg) _SBPMsgEphemerisDepA :: Prism' SBPMsg (MsgEphemerisDepA, Msg) _SBPMsgDopsDepA :: Prism' SBPMsg (MsgDopsDepA, Msg) _SBPMsgDops :: Prism' SBPMsg (MsgDops, Msg) _SBPMsgDgnssStatus :: Prism' SBPMsg (MsgDgnssStatus, Msg) _SBPMsgDeviceMonitor :: Prism' SBPMsg (MsgDeviceMonitor, Msg) _SBPMsgCwStart :: Prism' SBPMsg (MsgCwStart, Msg) _SBPMsgCwResults :: Prism' SBPMsg (MsgCwResults, Msg) _SBPMsgCommandResp :: Prism' SBPMsg (MsgCommandResp, Msg) _SBPMsgCommandReq :: Prism' SBPMsg (MsgCommandReq, Msg) _SBPMsgCommandOutput :: Prism' SBPMsg (MsgCommandOutput, Msg) _SBPMsgBootloaderJumpToApp :: Prism' SBPMsg (MsgBootloaderJumpToApp, Msg) _SBPMsgBootloaderHandshakeResp :: Prism' SBPMsg (MsgBootloaderHandshakeResp, Msg) _SBPMsgBootloaderHandshakeReq :: Prism' SBPMsg (MsgBootloaderHandshakeReq, Msg) _SBPMsgBootloaderHandshakeDepA :: Prism' SBPMsg (MsgBootloaderHandshakeDepA, Msg) _SBPMsgBaselineNedDepA :: Prism' SBPMsg (MsgBaselineNedDepA, Msg) _SBPMsgBaselineNed :: Prism' SBPMsg (MsgBaselineNed, Msg) _SBPMsgBaselineHeadingDepA :: Prism' SBPMsg (MsgBaselineHeadingDepA, Msg) _SBPMsgBaselineHeading :: Prism' SBPMsg (MsgBaselineHeading, Msg) _SBPMsgBaselineEcefDepA :: Prism' SBPMsg (MsgBaselineEcefDepA, Msg) _SBPMsgBaselineEcef :: Prism' SBPMsg (MsgBaselineEcef, Msg) _SBPMsgBasePosLlh :: Prism' SBPMsg (MsgBasePosLlh, Msg) _SBPMsgBasePosEcef :: Prism' SBPMsg (MsgBasePosEcef, Msg) _SBPMsgAlmanacGps :: Prism' SBPMsg (MsgAlmanacGps, Msg) _SBPMsgAlmanacGlo :: Prism' SBPMsg (MsgAlmanacGlo, Msg) _SBPMsgAlmanac :: Prism' SBPMsg (MsgAlmanac, Msg) _SBPMsgAgeCorrections :: Prism' SBPMsg (MsgAgeCorrections, Msg) _SBPMsgAcqSvProfile :: Prism' SBPMsg (MsgAcqSvProfile, Msg) _SBPMsgAcqResultDepB :: Prism' SBPMsg (MsgAcqResultDepB, Msg) _SBPMsgAcqResultDepA :: Prism' SBPMsg (MsgAcqResultDepA, Msg) _SBPMsgAcqResult :: Prism' SBPMsg (MsgAcqResult, Msg) mergeValues :: Value -> Value -> Value -- | Denotes the start of frame transmission. For v1.0, always 0x55. msgSBPPreamble :: Word8 -- | Default sender ID. Intended for messages sent from the host to the -- device. defaultSender :: Word16 -- | Packet structure for Swift Navigation Binary Protocol (SBP). -- -- Definition of the over-the-wire message framing format and packet -- structure for Swift Navigation Binary Protocol (SBP), a minimal binary -- protocol for communicating with Swift devices. It is used to transmit -- solutions, observations, status and debugging messages, as well as -- receive messages from the host operating system. data Msg Msg :: !Word16 -> !Word16 -> !Word8 -> !ByteString -> !Word16 -> Msg -- | Uniquely identifies the type of the payload contents [_msgSBPType] :: Msg -> !Word16 -- | A unique identifier of the sending hardware. For v1.0, set to the 2 -- least significant bytes of the device serial number [_msgSBPSender] :: Msg -> !Word16 -- | Byte-length of the payload field [_msgSBPLen] :: Msg -> !Word8 -- | Binary data of the message, as identified by Message Type and Length. -- Usually contains the in-memory binary representation of a C struct -- (see documentation on individual message types) [_msgSBPPayload] :: Msg -> !ByteString -- | Cyclic Redundancy Check (CRC) of the packet's binary data from the -- Message Type up to the end of Payload (does not include the Preamble) [_msgSBPCrc] :: Msg -> !Word16 class HasMsg c_arCE where msgSBPCrc = (.) msg msgSBPCrc msgSBPLen = (.) msg msgSBPLen msgSBPPayload = (.) msg msgSBPPayload msgSBPSender = (.) msg msgSBPSender msgSBPType = (.) msg msgSBPType msg :: HasMsg c_arCE => Lens' c_arCE Msg msgSBPCrc :: HasMsg c_arCE => Lens' c_arCE Word16 msgSBPLen :: HasMsg c_arCE => Lens' c_arCE Word8 msgSBPPayload :: HasMsg c_arCE => Lens' c_arCE ByteString msgSBPSender :: HasMsg c_arCE => Lens' c_arCE Word16 msgSBPType :: HasMsg c_arCE => Lens' c_arCE Word16 checkCrc :: Msg -> Word16 -- | Class of generic representation of specialized SBP messages into SBP -- message frames. class Binary a => ToSBP a -- | Convert an SBP message record that is serializable and a two-byte -- senderID to a binary into an SBP message frame. toSBP :: ToSBP a => a -> Word16 -> Msg msgAcqResult :: Word16 -- | SBP class for message MSG_ACQ_RESULT (0x001F). -- -- This message describes the results from an attempted GPS signal -- acquisition search for a satellite PRN over a code phase/carrier -- frequency range. It contains the parameters of the point in the -- acquisition search space with the best carrier-to-noise (CN/0) ratio. data MsgAcqResult MsgAcqResult :: !Float -> !Float -> !Float -> !GnssSignal -> MsgAcqResult -- | CN/0 of best point [_msgAcqResult_cn0] :: MsgAcqResult -> !Float -- | Code phase of best point [_msgAcqResult_cp] :: MsgAcqResult -> !Float -- | Carrier frequency of best point [_msgAcqResult_cf] :: MsgAcqResult -> !Float -- | GNSS signal for which acquisition was attempted [_msgAcqResult_sid] :: MsgAcqResult -> !GnssSignal msgAcqResult_sid :: Lens' MsgAcqResult GnssSignal msgAcqResult_cp :: Lens' MsgAcqResult Float msgAcqResult_cn0 :: Lens' MsgAcqResult Float msgAcqResult_cf :: Lens' MsgAcqResult Float msgAcqResultDepB :: Word16 -- | SBP class for message MSG_ACQ_RESULT_DEP_B (0x0014). -- -- Deprecated. data MsgAcqResultDepB MsgAcqResultDepB :: !Float -> !Float -> !Float -> !GnssSignal -> MsgAcqResultDepB -- | SNR of best point. Currently in arbitrary SNR points, but will be in -- units of dB Hz in a later revision of this message. [_msgAcqResultDepB_snr] :: MsgAcqResultDepB -> !Float -- | Code phase of best point [_msgAcqResultDepB_cp] :: MsgAcqResultDepB -> !Float -- | Carrier frequency of best point [_msgAcqResultDepB_cf] :: MsgAcqResultDepB -> !Float -- | GNSS signal for which acquisition was attempted [_msgAcqResultDepB_sid] :: MsgAcqResultDepB -> !GnssSignal msgAcqResultDepB_snr :: Lens' MsgAcqResultDepB Float msgAcqResultDepB_sid :: Lens' MsgAcqResultDepB GnssSignal msgAcqResultDepB_cp :: Lens' MsgAcqResultDepB Float msgAcqResultDepB_cf :: Lens' MsgAcqResultDepB Float msgAcqResultDepA :: Word16 -- | SBP class for message MSG_ACQ_RESULT_DEP_A (0x0015). -- -- Deprecated. data MsgAcqResultDepA MsgAcqResultDepA :: !Float -> !Float -> !Float -> !Word8 -> MsgAcqResultDepA -- | SNR of best point. Currently dimensonless, but will have units of dB -- Hz in the revision of this message. [_msgAcqResultDepA_snr] :: MsgAcqResultDepA -> !Float -- | Code phase of best point [_msgAcqResultDepA_cp] :: MsgAcqResultDepA -> !Float -- | Carrier frequency of best point [_msgAcqResultDepA_cf] :: MsgAcqResultDepA -> !Float -- | PRN-1 identifier of the satellite signal for which acquisition was -- attempted [_msgAcqResultDepA_prn] :: MsgAcqResultDepA -> !Word8 msgAcqResultDepA_snr :: Lens' MsgAcqResultDepA Float msgAcqResultDepA_prn :: Lens' MsgAcqResultDepA Word8 msgAcqResultDepA_cp :: Lens' MsgAcqResultDepA Float msgAcqResultDepA_cf :: Lens' MsgAcqResultDepA Float -- | AcqSvProfile. -- -- Profile for a specific SV for debugging purposes The message describes -- SV profile during acquisition time. The message is used to debug and -- measure the performance. data AcqSvProfile AcqSvProfile :: !Word8 -> !Word8 -> !Word16 -> !Word8 -> !GnssSignal -> !Word16 -> !Word32 -> !Word32 -> !Int32 -> !Int32 -> !Int32 -> !Word32 -> AcqSvProfile -- | SV search job type (deep, fallback, etc) [_acqSvProfile_job_type] :: AcqSvProfile -> !Word8 -- | Acquisition status 1 is Success, 0 is Failure [_acqSvProfile_status] :: AcqSvProfile -> !Word8 -- | CN0 value. Only valid if status is '1' [_acqSvProfile_cn0] :: AcqSvProfile -> !Word16 -- | Acquisition integration time [_acqSvProfile_int_time] :: AcqSvProfile -> !Word8 -- | GNSS signal for which acquisition was attempted [_acqSvProfile_sid] :: AcqSvProfile -> !GnssSignal -- | Acq frequency bin width [_acqSvProfile_bin_width] :: AcqSvProfile -> !Word16 -- | Timestamp of the job complete event [_acqSvProfile_timestamp] :: AcqSvProfile -> !Word32 -- | Time spent to search for sid.code [_acqSvProfile_time_spent] :: AcqSvProfile -> !Word32 -- | Doppler range lowest frequency [_acqSvProfile_cf_min] :: AcqSvProfile -> !Int32 -- | Doppler range highest frequency [_acqSvProfile_cf_max] :: AcqSvProfile -> !Int32 -- | Doppler value of detected peak. Only valid if status is '1' [_acqSvProfile_cf] :: AcqSvProfile -> !Int32 -- | Codephase of detected peak. Only valid if status is '1' [_acqSvProfile_cp] :: AcqSvProfile -> !Word32 acqSvProfile_timestamp :: Lens' AcqSvProfile Word32 acqSvProfile_time_spent :: Lens' AcqSvProfile Word32 acqSvProfile_status :: Lens' AcqSvProfile Word8 acqSvProfile_sid :: Lens' AcqSvProfile GnssSignal acqSvProfile_job_type :: Lens' AcqSvProfile Word8 acqSvProfile_int_time :: Lens' AcqSvProfile Word8 acqSvProfile_cp :: Lens' AcqSvProfile Word32 acqSvProfile_cn0 :: Lens' AcqSvProfile Word16 acqSvProfile_cf_min :: Lens' AcqSvProfile Int32 acqSvProfile_cf_max :: Lens' AcqSvProfile Int32 acqSvProfile_cf :: Lens' AcqSvProfile Int32 acqSvProfile_bin_width :: Lens' AcqSvProfile Word16 msgAcqSvProfile :: Word16 -- | SBP class for message MSG_ACQ_SV_PROFILE (0x001E). -- -- The message describes all SV profiles during acquisition time. The -- message is used to debug and measure the performance. data MsgAcqSvProfile MsgAcqSvProfile :: ![AcqSvProfile] -> MsgAcqSvProfile -- | SV profiles during acquisition time [_msgAcqSvProfile_acq_sv_profile] :: MsgAcqSvProfile -> ![AcqSvProfile] msgAcqSvProfile_acq_sv_profile :: Iso' MsgAcqSvProfile [AcqSvProfile] msgBootloaderHandshakeReq :: Word16 -- | SBP class for message MSG_BOOTLOADER_HANDSHAKE_REQ (0x00B3). -- -- The handshake message request from the host establishes a handshake -- between the device bootloader and the host. The response from the -- device is MSG_BOOTLOADER_HANDSHAKE_RESP. data MsgBootloaderHandshakeReq MsgBootloaderHandshakeReq :: MsgBootloaderHandshakeReq msgBootloaderHandshakeResp :: Word16 -- | SBP class for message MSG_BOOTLOADER_HANDSHAKE_RESP (0x00B4). -- -- The handshake message response from the device establishes a handshake -- between the device bootloader and the host. The request from the host -- is MSG_BOOTLOADER_HANDSHAKE_REQ. The payload contains the bootloader -- version number and the SBP protocol version number. data MsgBootloaderHandshakeResp MsgBootloaderHandshakeResp :: !Word32 -> !Text -> MsgBootloaderHandshakeResp -- | Bootloader flags [_msgBootloaderHandshakeResp_flags] :: MsgBootloaderHandshakeResp -> !Word32 -- | Bootloader version number [_msgBootloaderHandshakeResp_version] :: MsgBootloaderHandshakeResp -> !Text msgBootloaderHandshakeResp_version :: Lens' MsgBootloaderHandshakeResp Text msgBootloaderHandshakeResp_flags :: Lens' MsgBootloaderHandshakeResp Word32 msgBootloaderJumpToApp :: Word16 -- | SBP class for message MSG_BOOTLOADER_JUMP_TO_APP (0x00B1). -- -- The host initiates the bootloader to jump to the application. data MsgBootloaderJumpToApp MsgBootloaderJumpToApp :: !Word8 -> MsgBootloaderJumpToApp -- | Ignored by the device [_msgBootloaderJumpToApp_jump] :: MsgBootloaderJumpToApp -> !Word8 msgBootloaderJumpToApp_jump :: Iso' MsgBootloaderJumpToApp Word8 msgNapDeviceDnaReq :: Word16 -- | SBP class for message MSG_NAP_DEVICE_DNA_REQ (0x00DE). -- -- The device message from the host reads a unique device identifier from -- the SwiftNAP, an FPGA. The host requests the ID by sending a -- MSG_NAP_DEVICE_DNA_REQ message. The device responds with a -- MSG_NAP_DEVICE_DNA_RESP message with the device ID in the payload. -- Note that this ID is tied to the FPGA, and not related to the Piksi's -- serial number. data MsgNapDeviceDnaReq MsgNapDeviceDnaReq :: MsgNapDeviceDnaReq msgNapDeviceDnaResp :: Word16 -- | SBP class for message MSG_NAP_DEVICE_DNA_RESP (0x00DD). -- -- The device message from the host reads a unique device identifier from -- the SwiftNAP, an FPGA. The host requests the ID by sending a -- MSG_NAP_DEVICE_DNA_REQ message. The device responds with a -- MSG_NAP_DEVICE_DNA_RESP messagage with the device ID in the payload. -- Note that this ID is tied to the FPGA, and not related to the Piksi's -- serial number. data MsgNapDeviceDnaResp MsgNapDeviceDnaResp :: ![Word8] -> MsgNapDeviceDnaResp -- | 57-bit SwiftNAP FPGA Device ID. Remaining bits are padded on the -- right. [_msgNapDeviceDnaResp_dna] :: MsgNapDeviceDnaResp -> ![Word8] msgNapDeviceDnaResp_dna :: Iso' MsgNapDeviceDnaResp [Word8] msgBootloaderHandshakeDepA :: Word16 -- | SBP class for message MSG_BOOTLOADER_HANDSHAKE_DEP_A (0x00B0). -- -- Deprecated. data MsgBootloaderHandshakeDepA MsgBootloaderHandshakeDepA :: ![Word8] -> MsgBootloaderHandshakeDepA -- | Version number string (not NULL terminated) [_msgBootloaderHandshakeDepA_handshake] :: MsgBootloaderHandshakeDepA -> ![Word8] msgBootloaderHandshakeDepA_handshake :: Iso' MsgBootloaderHandshakeDepA [Word8] msgExtEvent :: Word16 -- | SBP class for message MSG_EXT_EVENT (0x0101). -- -- Reports detection of an external event, the GPS time it occurred, -- which pin it was and whether it was rising or falling. data MsgExtEvent MsgExtEvent :: !Word16 -> !Word32 -> !Int32 -> !Word8 -> !Word8 -> MsgExtEvent -- | GPS week number [_msgExtEvent_wn] :: MsgExtEvent -> !Word16 -- | GPS time of week rounded to the nearest millisecond [_msgExtEvent_tow] :: MsgExtEvent -> !Word32 -- | Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to -- 500000) [_msgExtEvent_ns_residual] :: MsgExtEvent -> !Int32 -- | Flags [_msgExtEvent_flags] :: MsgExtEvent -> !Word8 -- | Pin number. 0..9 = DEBUG0..9. [_msgExtEvent_pin] :: MsgExtEvent -> !Word8 msgExtEvent_wn :: Lens' MsgExtEvent Word16 msgExtEvent_tow :: Lens' MsgExtEvent Word32 msgExtEvent_pin :: Lens' MsgExtEvent Word8 msgExtEvent_ns_residual :: Lens' MsgExtEvent Int32 msgExtEvent_flags :: Lens' MsgExtEvent Word8 msgFileioReadReq :: Word16 -- | SBP class for message MSG_FILEIO_READ_REQ (0x00A8). -- -- The file read message reads a certain length (up to 255 bytes) from a -- given offset into a file, and returns the data in a -- MSG_FILEIO_READ_RESP message where the message length field indicates -- how many bytes were succesfully read.The sequence number in the -- request will be returned in the response. If the message is invalid, a -- followup MSG_PRINT message will print "Invalid fileio read message". A -- device will only respond to this message when it is received from -- sender ID 0x42. data MsgFileioReadReq MsgFileioReadReq :: !Word32 -> !Word32 -> !Word8 -> !Text -> MsgFileioReadReq -- | Read sequence number [_msgFileioReadReq_sequence] :: MsgFileioReadReq -> !Word32 -- | File offset [_msgFileioReadReq_offset] :: MsgFileioReadReq -> !Word32 -- | Chunk size to read [_msgFileioReadReq_chunk_size] :: MsgFileioReadReq -> !Word8 -- | Name of the file to read from [_msgFileioReadReq_filename] :: MsgFileioReadReq -> !Text msgFileioReadReq_sequence :: Lens' MsgFileioReadReq Word32 msgFileioReadReq_offset :: Lens' MsgFileioReadReq Word32 msgFileioReadReq_filename :: Lens' MsgFileioReadReq Text msgFileioReadReq_chunk_size :: Lens' MsgFileioReadReq Word8 msgFileioReadResp :: Word16 -- | SBP class for message MSG_FILEIO_READ_RESP (0x00A3). -- -- The file read message reads a certain length (up to 255 bytes) from a -- given offset into a file, and returns the data in a message where the -- message length field indicates how many bytes were succesfully read. -- The sequence number in the response is preserved from the request. data MsgFileioReadResp MsgFileioReadResp :: !Word32 -> ![Word8] -> MsgFileioReadResp -- | Read sequence number [_msgFileioReadResp_sequence] :: MsgFileioReadResp -> !Word32 -- | Contents of read file [_msgFileioReadResp_contents] :: MsgFileioReadResp -> ![Word8] msgFileioReadResp_sequence :: Lens' MsgFileioReadResp Word32 msgFileioReadResp_contents :: Lens' MsgFileioReadResp [Word8] msgFileioReadDirReq :: Word16 -- | SBP class for message MSG_FILEIO_READ_DIR_REQ (0x00A9). -- -- The read directory message lists the files in a directory on the -- device's onboard flash file system. The offset parameter can be used -- to skip the first n elements of the file list. Returns a -- MSG_FILEIO_READ_DIR_RESP message containing the directory listings as -- a NULL delimited list. The listing is chunked over multiple SBP -- packets. The sequence number in the request will be returned in the -- response. If message is invalid, a followup MSG_PRINT message will -- print "Invalid fileio read message". A device will only respond to -- this message when it is received from sender ID 0x42. data MsgFileioReadDirReq MsgFileioReadDirReq :: !Word32 -> !Word32 -> !Text -> MsgFileioReadDirReq -- | Read sequence number [_msgFileioReadDirReq_sequence] :: MsgFileioReadDirReq -> !Word32 -- | The offset to skip the first n elements of the file list [_msgFileioReadDirReq_offset] :: MsgFileioReadDirReq -> !Word32 -- | Name of the directory to list [_msgFileioReadDirReq_dirname] :: MsgFileioReadDirReq -> !Text msgFileioReadDirReq_sequence :: Lens' MsgFileioReadDirReq Word32 msgFileioReadDirReq_offset :: Lens' MsgFileioReadDirReq Word32 msgFileioReadDirReq_dirname :: Lens' MsgFileioReadDirReq Text msgFileioReadDirResp :: Word16 -- | SBP class for message MSG_FILEIO_READ_DIR_RESP (0x00AA). -- -- The read directory message lists the files in a directory on the -- device's onboard flash file system. Message contains the directory -- listings as a NULL delimited list. The listing is chunked over -- multiple SBP packets and the end of the list is identified by an entry -- containing just the character 0xFF. The sequence number in the -- response is preserved from the request. data MsgFileioReadDirResp MsgFileioReadDirResp :: !Word32 -> ![Word8] -> MsgFileioReadDirResp -- | Read sequence number [_msgFileioReadDirResp_sequence] :: MsgFileioReadDirResp -> !Word32 -- | Contents of read directory [_msgFileioReadDirResp_contents] :: MsgFileioReadDirResp -> ![Word8] msgFileioReadDirResp_sequence :: Lens' MsgFileioReadDirResp Word32 msgFileioReadDirResp_contents :: Lens' MsgFileioReadDirResp [Word8] msgFileioRemove :: Word16 -- | SBP class for message MSG_FILEIO_REMOVE (0x00AC). -- -- The file remove message deletes a file from the file system. If the -- message is invalid, a followup MSG_PRINT message will print "Invalid -- fileio remove message". A device will only process this message when -- it is received from sender ID 0x42. data MsgFileioRemove MsgFileioRemove :: !Text -> MsgFileioRemove -- | Name of the file to delete [_msgFileioRemove_filename] :: MsgFileioRemove -> !Text msgFileioRemove_filename :: Iso' MsgFileioRemove Text msgFileioWriteReq :: Word16 -- | SBP class for message MSG_FILEIO_WRITE_REQ (0x00AD). -- -- The file write message writes a certain length (up to 255 bytes) of -- data to a file at a given offset. Returns a copy of the original -- MSG_FILEIO_WRITE_RESP message to check integrity of the write. The -- sequence number in the request will be returned in the response. If -- message is invalid, a followup MSG_PRINT message will print "Invalid -- fileio write message". A device will only process this message when it -- is received from sender ID 0x42. data MsgFileioWriteReq MsgFileioWriteReq :: !Word32 -> !Word32 -> !Text -> ![Word8] -> MsgFileioWriteReq -- | Write sequence number [_msgFileioWriteReq_sequence] :: MsgFileioWriteReq -> !Word32 -- | Offset into the file at which to start writing in bytes [_msgFileioWriteReq_offset] :: MsgFileioWriteReq -> !Word32 -- | Name of the file to write to [_msgFileioWriteReq_filename] :: MsgFileioWriteReq -> !Text -- | Variable-length array of data to write [_msgFileioWriteReq_data] :: MsgFileioWriteReq -> ![Word8] msgFileioWriteReq_sequence :: Lens' MsgFileioWriteReq Word32 msgFileioWriteReq_offset :: Lens' MsgFileioWriteReq Word32 msgFileioWriteReq_filename :: Lens' MsgFileioWriteReq Text msgFileioWriteReq_data :: Lens' MsgFileioWriteReq [Word8] msgFileioWriteResp :: Word16 -- | SBP class for message MSG_FILEIO_WRITE_RESP (0x00AB). -- -- The file write message writes a certain length (up to 255 bytes) of -- data to a file at a given offset. The message is a copy of the -- original MSG_FILEIO_WRITE_REQ message to check integrity of the write. -- The sequence number in the response is preserved from the request. data MsgFileioWriteResp MsgFileioWriteResp :: !Word32 -> MsgFileioWriteResp -- | Write sequence number [_msgFileioWriteResp_sequence] :: MsgFileioWriteResp -> !Word32 msgFileioWriteResp_sequence :: Iso' MsgFileioWriteResp Word32 msgFlashProgram :: Word16 -- | SBP class for message MSG_FLASH_PROGRAM (0x00E6). -- -- The flash program message programs a set of addresses of either the -- STM or M25 flash. The device replies with either a MSG_FLASH_DONE -- message containing the return code FLASH_OK (0) on success, or -- FLASH_INVALID_LEN (2) if the maximum write size is exceeded. Note that -- the sector-containing addresses must be erased before addresses can be -- programmed. data MsgFlashProgram MsgFlashProgram :: !Word8 -> ![Word8] -> !Word8 -> ![Word8] -> MsgFlashProgram -- | Target flags [_msgFlashProgram_target] :: MsgFlashProgram -> !Word8 -- | Starting address offset to program [_msgFlashProgram_addr_start] :: MsgFlashProgram -> ![Word8] -- | Length of set of addresses to program, counting up from starting -- address [_msgFlashProgram_addr_len] :: MsgFlashProgram -> !Word8 -- | Data to program addresses with, with length N=addr_len [_msgFlashProgram_data] :: MsgFlashProgram -> ![Word8] msgFlashProgram_target :: Lens' MsgFlashProgram Word8 msgFlashProgram_data :: Lens' MsgFlashProgram [Word8] msgFlashProgram_addr_start :: Lens' MsgFlashProgram [Word8] msgFlashProgram_addr_len :: Lens' MsgFlashProgram Word8 msgFlashDone :: Word16 -- | SBP class for message MSG_FLASH_DONE (0x00E0). -- -- This message defines success or failure codes for a variety of flash -- memory requests from the host to the device. Flash read and write -- messages, such as MSG_FLASH_READ_REQ, or MSG_FLASH_PROGRAM, may return -- this message on failure. data MsgFlashDone MsgFlashDone :: !Word8 -> MsgFlashDone -- | Response flags [_msgFlashDone_response] :: MsgFlashDone -> !Word8 msgFlashDone_response :: Iso' MsgFlashDone Word8 msgFlashReadReq :: Word16 -- | SBP class for message MSG_FLASH_READ_REQ (0x00E7). -- -- The flash read message reads a set of addresses of either the STM or -- M25 onboard flash. The device replies with a MSG_FLASH_READ_RESP -- message containing either the read data on success or a MSG_FLASH_DONE -- message containing the return code FLASH_INVALID_LEN (2) if the -- maximum read size is exceeded or FLASH_INVALID_ADDR (3) if the address -- is outside of the allowed range. data MsgFlashReadReq MsgFlashReadReq :: !Word8 -> ![Word8] -> !Word8 -> MsgFlashReadReq -- | Target flags [_msgFlashReadReq_target] :: MsgFlashReadReq -> !Word8 -- | Starting address offset to read from [_msgFlashReadReq_addr_start] :: MsgFlashReadReq -> ![Word8] -- | Length of set of addresses to read, counting up from starting address [_msgFlashReadReq_addr_len] :: MsgFlashReadReq -> !Word8 msgFlashReadReq_target :: Lens' MsgFlashReadReq Word8 msgFlashReadReq_addr_start :: Lens' MsgFlashReadReq [Word8] msgFlashReadReq_addr_len :: Lens' MsgFlashReadReq Word8 msgFlashReadResp :: Word16 -- | SBP class for message MSG_FLASH_READ_RESP (0x00E1). -- -- The flash read message reads a set of addresses of either the STM or -- M25 onboard flash. The device replies with a MSG_FLASH_READ_RESP -- message containing either the read data on success or a MSG_FLASH_DONE -- message containing the return code FLASH_INVALID_LEN (2) if the -- maximum read size is exceeded or FLASH_INVALID_ADDR (3) if the address -- is outside of the allowed range. data MsgFlashReadResp MsgFlashReadResp :: !Word8 -> ![Word8] -> !Word8 -> MsgFlashReadResp -- | Target flags [_msgFlashReadResp_target] :: MsgFlashReadResp -> !Word8 -- | Starting address offset to read from [_msgFlashReadResp_addr_start] :: MsgFlashReadResp -> ![Word8] -- | Length of set of addresses to read, counting up from starting address [_msgFlashReadResp_addr_len] :: MsgFlashReadResp -> !Word8 msgFlashReadResp_target :: Lens' MsgFlashReadResp Word8 msgFlashReadResp_addr_start :: Lens' MsgFlashReadResp [Word8] msgFlashReadResp_addr_len :: Lens' MsgFlashReadResp Word8 msgFlashErase :: Word16 -- | SBP class for message MSG_FLASH_ERASE (0x00E2). -- -- The flash erase message from the host erases a sector of either the -- STM or M25 onboard flash memory. The device will reply with a -- MSG_FLASH_DONE message containing the return code - FLASH_OK (0) on -- success or FLASH_INVALID_FLASH (1) if the flash specified is invalid. data MsgFlashErase MsgFlashErase :: !Word8 -> !Word32 -> MsgFlashErase -- | Target flags [_msgFlashErase_target] :: MsgFlashErase -> !Word8 -- | Flash sector number to erase (0-11 for the STM, 0-15 for the M25) [_msgFlashErase_sector_num] :: MsgFlashErase -> !Word32 msgFlashErase_target :: Lens' MsgFlashErase Word8 msgFlashErase_sector_num :: Lens' MsgFlashErase Word32 msgStmFlashLockSector :: Word16 -- | SBP class for message MSG_STM_FLASH_LOCK_SECTOR (0x00E3). -- -- The flash lock message locks a sector of the STM flash memory. The -- device replies with a MSG_FLASH_DONE message. data MsgStmFlashLockSector MsgStmFlashLockSector :: !Word32 -> MsgStmFlashLockSector -- | Flash sector number to lock [_msgStmFlashLockSector_sector] :: MsgStmFlashLockSector -> !Word32 msgStmFlashLockSector_sector :: Iso' MsgStmFlashLockSector Word32 msgStmFlashUnlockSector :: Word16 -- | SBP class for message MSG_STM_FLASH_UNLOCK_SECTOR (0x00E4). -- -- The flash unlock message unlocks a sector of the STM flash memory. The -- device replies with a MSG_FLASH_DONE message. data MsgStmFlashUnlockSector MsgStmFlashUnlockSector :: !Word32 -> MsgStmFlashUnlockSector -- | Flash sector number to unlock [_msgStmFlashUnlockSector_sector] :: MsgStmFlashUnlockSector -> !Word32 msgStmFlashUnlockSector_sector :: Iso' MsgStmFlashUnlockSector Word32 msgStmUniqueIdReq :: Word16 -- | SBP class for message MSG_STM_UNIQUE_ID_REQ (0x00E8). -- -- This message reads the device's hardcoded unique ID. The host requests -- the ID by sending a MSG_STM_UNIQUE_ID_REQ. The device responds with a -- MSG_STM_UNIQUE_ID_RESP with the 12-byte unique ID in the payload. data MsgStmUniqueIdReq MsgStmUniqueIdReq :: MsgStmUniqueIdReq msgStmUniqueIdResp :: Word16 -- | SBP class for message MSG_STM_UNIQUE_ID_RESP (0x00E5). -- -- This message reads the device's hardcoded unique ID. The host requests -- the ID by sending a MSG_STM_UNIQUE_ID_REQ. The device responds with a -- MSG_STM_UNIQUE_ID_RESP with the 12-byte unique ID in the payload.. data MsgStmUniqueIdResp MsgStmUniqueIdResp :: ![Word8] -> MsgStmUniqueIdResp -- | Device unique ID [_msgStmUniqueIdResp_stm_id] :: MsgStmUniqueIdResp -> ![Word8] msgStmUniqueIdResp_stm_id :: Iso' MsgStmUniqueIdResp [Word8] msgM25FlashWriteStatus :: Word16 -- | SBP class for message MSG_M25_FLASH_WRITE_STATUS (0x00F3). -- -- The flash status message writes to the 8-bit M25 flash status -- register. The device replies with a MSG_FLASH_DONE message. data MsgM25FlashWriteStatus MsgM25FlashWriteStatus :: ![Word8] -> MsgM25FlashWriteStatus -- | Byte to write to the M25 flash status register [_msgM25FlashWriteStatus_status] :: MsgM25FlashWriteStatus -> ![Word8] msgM25FlashWriteStatus_status :: Iso' MsgM25FlashWriteStatus [Word8] -- | GnssSignal16. -- -- Signal identifier containing constellation, band, and satellite -- identifier data GnssSignal16 GnssSignal16 :: !Word8 -> !Word8 -> GnssSignal16 -- | Constellation-specific satellite identifier [_gnssSignal16_sat] :: GnssSignal16 -> !Word8 -- | Signal constellation, band and code [_gnssSignal16_code] :: GnssSignal16 -> !Word8 gnssSignal16_sat :: Lens' GnssSignal16 Word8 gnssSignal16_code :: Lens' GnssSignal16 Word8 -- | GnssSignal. -- -- Signal identifier containing constellation, band, and satellite -- identifier data GnssSignal GnssSignal :: !Word16 -> !Word8 -> !Word8 -> GnssSignal -- | Constellation-specific satellite identifier. Note: unlike -- GnssSignal16, GPS satellites are encoded as (PRN - 1). Other -- constellations do not have this offset. [_gnssSignal_sat] :: GnssSignal -> !Word16 -- | Signal constellation, band and code [_gnssSignal_code] :: GnssSignal -> !Word8 -- | Reserved [_gnssSignal_reserved] :: GnssSignal -> !Word8 gnssSignal_sat :: Lens' GnssSignal Word16 gnssSignal_reserved :: Lens' GnssSignal Word8 gnssSignal_code :: Lens' GnssSignal Word8 -- | GPSTime. -- -- A wire-appropriate GPS time, defined as the number of milliseconds -- since beginning of the week on the Saturday/Sunday transition. data GpsTime GpsTime :: !Word32 -> !Word16 -> GpsTime -- | Milliseconds since start of GPS week [_gpsTime_tow] :: GpsTime -> !Word32 -- | GPS week number [_gpsTime_wn] :: GpsTime -> !Word16 gpsTime_wn :: Lens' GpsTime Word16 gpsTime_tow :: Lens' GpsTime Word32 -- | GPSTimeSec. -- -- A GPS time, defined as the number of seconds since beginning of the -- week on the Saturday/Sunday transition. data GpsTimeSec GpsTimeSec :: !Word32 -> !Word16 -> GpsTimeSec -- | Seconds since start of GPS week [_gpsTimeSec_tow] :: GpsTimeSec -> !Word32 -- | GPS week number [_gpsTimeSec_wn] :: GpsTimeSec -> !Word16 gpsTimeSec_wn :: Lens' GpsTimeSec Word16 gpsTimeSec_tow :: Lens' GpsTimeSec Word32 -- | GPSTimeNano. -- -- A wire-appropriate receiver clock time, defined as the time since the -- beginning of the week on the Saturday/Sunday transition. In most -- cases, observations are epoch aligned so ns field will be 0. data GpsTimeNano GpsTimeNano :: !Word32 -> !Int32 -> !Word16 -> GpsTimeNano -- | Milliseconds since start of GPS week [_gpsTimeNano_tow] :: GpsTimeNano -> !Word32 -- | Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to -- 500000) [_gpsTimeNano_ns_residual] :: GpsTimeNano -> !Int32 -- | GPS week number [_gpsTimeNano_wn] :: GpsTimeNano -> !Word16 gpsTimeNano_wn :: Lens' GpsTimeNano Word16 gpsTimeNano_tow :: Lens' GpsTimeNano Word32 gpsTimeNano_ns_residual :: Lens' GpsTimeNano Int32 -- | CarrierPhase. -- -- Carrier phase measurement in cycles represented as a 40-bit fixed -- point number with Q32.8 layout, i.e. 32-bits of whole cycles and -- 8-bits of fractional cycles. This phase has the same sign as the -- pseudorange. data CarrierPhase CarrierPhase :: !Int32 -> !Word8 -> CarrierPhase -- | Carrier phase whole cycles [_carrierPhase_i] :: CarrierPhase -> !Int32 -- | Carrier phase fractional part [_carrierPhase_f] :: CarrierPhase -> !Word8 carrierPhase_i :: Lens' CarrierPhase Int32 carrierPhase_f :: Lens' CarrierPhase Word8 msgImuRaw :: Word16 -- | SBP class for message MSG_IMU_RAW (0x0900). -- -- Raw data from the Inertial Measurement Unit, containing accelerometer -- and gyroscope readings. data MsgImuRaw MsgImuRaw :: !Word32 -> !Word8 -> !Int16 -> !Int16 -> !Int16 -> !Int16 -> !Int16 -> !Int16 -> MsgImuRaw -- | Milliseconds since start of GPS week. If the high bit is set, the time -- is unknown or invalid. [_msgImuRaw_tow] :: MsgImuRaw -> !Word32 -- | Milliseconds since start of GPS week, fractional part [_msgImuRaw_tow_f] :: MsgImuRaw -> !Word8 -- | Acceleration in the body frame X axis [_msgImuRaw_acc_x] :: MsgImuRaw -> !Int16 -- | Acceleration in the body frame Y axis [_msgImuRaw_acc_y] :: MsgImuRaw -> !Int16 -- | Acceleration in the body frame Z axis [_msgImuRaw_acc_z] :: MsgImuRaw -> !Int16 -- | Angular rate around the body frame X axis [_msgImuRaw_gyr_x] :: MsgImuRaw -> !Int16 -- | Angular rate around the body frame Y axis [_msgImuRaw_gyr_y] :: MsgImuRaw -> !Int16 -- | Angular rate around the body frame Z axis [_msgImuRaw_gyr_z] :: MsgImuRaw -> !Int16 msgImuRaw_tow_f :: Lens' MsgImuRaw Word8 msgImuRaw_tow :: Lens' MsgImuRaw Word32 msgImuRaw_gyr_z :: Lens' MsgImuRaw Int16 msgImuRaw_gyr_y :: Lens' MsgImuRaw Int16 msgImuRaw_gyr_x :: Lens' MsgImuRaw Int16 msgImuRaw_acc_z :: Lens' MsgImuRaw Int16 msgImuRaw_acc_y :: Lens' MsgImuRaw Int16 msgImuRaw_acc_x :: Lens' MsgImuRaw Int16 msgImuAux :: Word16 -- | SBP class for message MSG_IMU_AUX (0x0901). -- -- Auxiliary data specific to a particular IMU. The imu_type -- field will always be consistent but the rest of the payload is device -- specific and depends on the value of imu_type. data MsgImuAux MsgImuAux :: !Word8 -> !Int16 -> !Word8 -> MsgImuAux -- | IMU type [_msgImuAux_imu_type] :: MsgImuAux -> !Word8 -- | Raw IMU temperature [_msgImuAux_temp] :: MsgImuAux -> !Int16 -- | IMU configuration [_msgImuAux_imu_conf] :: MsgImuAux -> !Word8 msgImuAux_temp :: Lens' MsgImuAux Int16 msgImuAux_imu_type :: Lens' MsgImuAux Word8 msgImuAux_imu_conf :: Lens' MsgImuAux Word8 msgLog :: Word16 -- | SBP class for message MSG_LOG (0x0401). -- -- This message contains a human-readable payload string from the device -- containing errors, warnings and informational messages at ERROR, -- WARNING, DEBUG, INFO logging levels. data MsgLog MsgLog :: !Word8 -> !Text -> MsgLog -- | Logging level [_msgLog_level] :: MsgLog -> !Word8 -- | Human-readable string [_msgLog_text] :: MsgLog -> !Text msgLog_text :: Lens' MsgLog Text msgLog_level :: Lens' MsgLog Word8 msgFwd :: Word16 -- | SBP class for message MSG_FWD (0x0402). -- -- This message provides the ability to forward messages over SBP. This -- may take the form of wrapping up SBP messages received by Piksi for -- logging purposes or wrapping another protocol with SBP. The source -- identifier indicates from what interface a forwarded stream derived. -- The protocol identifier identifies what the expected protocol the -- forwarded msg contains. Protocol 0 represents SBP and the remaining -- values are implementation defined. data MsgFwd MsgFwd :: !Word8 -> !Word8 -> !Text -> MsgFwd -- | source identifier [_msgFwd_source] :: MsgFwd -> !Word8 -- | protocol identifier [_msgFwd_protocol] :: MsgFwd -> !Word8 -- | variable length wrapped binary message [_msgFwd_fwd_payload] :: MsgFwd -> !Text msgFwd_source :: Lens' MsgFwd Word8 msgFwd_protocol :: Lens' MsgFwd Word8 msgFwd_fwd_payload :: Lens' MsgFwd Text msgTweet :: Word16 -- | SBP class for message MSG_TWEET (0x0012). -- -- All the news fit to tweet. data MsgTweet MsgTweet :: !Text -> MsgTweet -- | Human-readable string [_msgTweet_tweet] :: MsgTweet -> !Text msgTweet_tweet :: Iso' MsgTweet Text msgPrintDep :: Word16 -- | SBP class for message MSG_PRINT_DEP (0x0010). -- -- Deprecated. data MsgPrintDep MsgPrintDep :: !Text -> MsgPrintDep -- | Human-readable string [_msgPrintDep_text] :: MsgPrintDep -> !Text msgPrintDep_text :: Iso' MsgPrintDep Text msgGpsTime :: Word16 -- | SBP class for message MSG_GPS_TIME (0x0102). -- -- This message reports the GPS time, representing the time since the GPS -- epoch began on midnight January 6, 1980 UTC. GPS time counts the weeks -- and seconds of the week. The weeks begin at the Saturday/Sunday -- transition. GPS week 0 began at the beginning of the GPS time scale. -- Within each week number, the GPS time of the week is between between 0 -- and 604800 seconds (=60*60*24*7). Note that GPS time does not -- accumulate leap seconds, and as of now, has a small offset from UTC. -- In a message stream, this message precedes a set of other navigation -- messages referenced to the same time (but lacking the ns field) and -- indicates a more precise time of these messages. data MsgGpsTime MsgGpsTime :: !Word16 -> !Word32 -> !Int32 -> !Word8 -> MsgGpsTime -- | GPS week number [_msgGpsTime_wn] :: MsgGpsTime -> !Word16 -- | GPS time of week rounded to the nearest millisecond [_msgGpsTime_tow] :: MsgGpsTime -> !Word32 -- | Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to -- 500000) [_msgGpsTime_ns_residual] :: MsgGpsTime -> !Int32 -- | Status flags (reserved) [_msgGpsTime_flags] :: MsgGpsTime -> !Word8 msgGpsTime_wn :: Lens' MsgGpsTime Word16 msgGpsTime_tow :: Lens' MsgGpsTime Word32 msgGpsTime_ns_residual :: Lens' MsgGpsTime Int32 msgGpsTime_flags :: Lens' MsgGpsTime Word8 msgUtcTime :: Word16 -- | SBP class for message MSG_UTC_TIME (0x0103). -- -- This message reports the Universal Coordinated Time (UTC). Note the -- flags which indicate the source of the UTC offset value and source of -- the time fix. data MsgUtcTime MsgUtcTime :: !Word8 -> !Word32 -> !Word16 -> !Word8 -> !Word8 -> !Word8 -> !Word8 -> !Word8 -> !Word32 -> MsgUtcTime -- | Indicates source and time validity [_msgUtcTime_flags] :: MsgUtcTime -> !Word8 -- | GPS time of week rounded to the nearest millisecond [_msgUtcTime_tow] :: MsgUtcTime -> !Word32 -- | Year [_msgUtcTime_year] :: MsgUtcTime -> !Word16 -- | Month (range 1 .. 12) [_msgUtcTime_month] :: MsgUtcTime -> !Word8 -- | days in the month (range 1-31) [_msgUtcTime_day] :: MsgUtcTime -> !Word8 -- | hours of day (range 0-23) [_msgUtcTime_hours] :: MsgUtcTime -> !Word8 -- | minutes of hour (range 0-59) [_msgUtcTime_minutes] :: MsgUtcTime -> !Word8 -- | seconds of minute (range 0-60) rounded down [_msgUtcTime_seconds] :: MsgUtcTime -> !Word8 -- | nanoseconds of second (range 0-999999999) [_msgUtcTime_ns] :: MsgUtcTime -> !Word32 msgUtcTime_year :: Lens' MsgUtcTime Word16 msgUtcTime_tow :: Lens' MsgUtcTime Word32 msgUtcTime_seconds :: Lens' MsgUtcTime Word8 msgUtcTime_ns :: Lens' MsgUtcTime Word32 msgUtcTime_month :: Lens' MsgUtcTime Word8 msgUtcTime_minutes :: Lens' MsgUtcTime Word8 msgUtcTime_hours :: Lens' MsgUtcTime Word8 msgUtcTime_flags :: Lens' MsgUtcTime Word8 msgUtcTime_day :: Lens' MsgUtcTime Word8 msgDops :: Word16 -- | SBP class for message MSG_DOPS (0x0208). -- -- This dilution of precision (DOP) message describes the effect of -- navigation satellite geometry on positional measurement precision. The -- flags field indicated whether the DOP reported corresponds to -- differential or SPP solution. data MsgDops MsgDops :: !Word32 -> !Word16 -> !Word16 -> !Word16 -> !Word16 -> !Word16 -> !Word8 -> MsgDops -- | GPS Time of Week [_msgDops_tow] :: MsgDops -> !Word32 -- | Geometric Dilution of Precision [_msgDops_gdop] :: MsgDops -> !Word16 -- | Position Dilution of Precision [_msgDops_pdop] :: MsgDops -> !Word16 -- | Time Dilution of Precision [_msgDops_tdop] :: MsgDops -> !Word16 -- | Horizontal Dilution of Precision [_msgDops_hdop] :: MsgDops -> !Word16 -- | Vertical Dilution of Precision [_msgDops_vdop] :: MsgDops -> !Word16 -- | Indicates the position solution with which the DOPS message -- corresponds [_msgDops_flags] :: MsgDops -> !Word8 msgDops_vdop :: Lens' MsgDops Word16 msgDops_tow :: Lens' MsgDops Word32 msgDops_tdop :: Lens' MsgDops Word16 msgDops_pdop :: Lens' MsgDops Word16 msgDops_hdop :: Lens' MsgDops Word16 msgDops_gdop :: Lens' MsgDops Word16 msgDops_flags :: Lens' MsgDops Word8 msgPosEcef :: Word16 -- | SBP class for message MSG_POS_ECEF (0x0209). -- -- The position solution message reports absolute Earth Centered Earth -- Fixed (ECEF) coordinates and the status (single point vs -- pseudo-absolute RTK) of the position solution. If the rover receiver -- knows the surveyed position of the base station and has an RTK -- solution, this reports a pseudo-absolute position solution using the -- base station position and the rover's RTK baseline vector. The full -- GPS time is given by the preceding MSG_GPS_TIME with the matching -- time-of-week (tow). data MsgPosEcef MsgPosEcef :: !Word32 -> !Double -> !Double -> !Double -> !Word16 -> !Word8 -> !Word8 -> MsgPosEcef -- | GPS Time of Week [_msgPosEcef_tow] :: MsgPosEcef -> !Word32 -- | ECEF X coordinate [_msgPosEcef_x] :: MsgPosEcef -> !Double -- | ECEF Y coordinate [_msgPosEcef_y] :: MsgPosEcef -> !Double -- | ECEF Z coordinate [_msgPosEcef_z] :: MsgPosEcef -> !Double -- | Position accuracy estimate. [_msgPosEcef_accuracy] :: MsgPosEcef -> !Word16 -- | Number of satellites used in solution [_msgPosEcef_n_sats] :: MsgPosEcef -> !Word8 -- | Status flags [_msgPosEcef_flags] :: MsgPosEcef -> !Word8 msgPosEcef_z :: Lens' MsgPosEcef Double msgPosEcef_y :: Lens' MsgPosEcef Double msgPosEcef_x :: Lens' MsgPosEcef Double msgPosEcef_tow :: Lens' MsgPosEcef Word32 msgPosEcef_n_sats :: Lens' MsgPosEcef Word8 msgPosEcef_flags :: Lens' MsgPosEcef Word8 msgPosEcef_accuracy :: Lens' MsgPosEcef Word16 msgPosLlh :: Word16 -- | SBP class for message MSG_POS_LLH (0x020A). -- -- This position solution message reports the absolute geodetic -- coordinates and the status (single point vs pseudo-absolute RTK) of -- the position solution. If the rover receiver knows the surveyed -- position of the base station and has an RTK solution, this reports a -- pseudo-absolute position solution using the base station position and -- the rover's RTK baseline vector. The full GPS time is given by the -- preceding MSG_GPS_TIME with the matching time-of-week (tow). data MsgPosLlh MsgPosLlh :: !Word32 -> !Double -> !Double -> !Double -> !Word16 -> !Word16 -> !Word8 -> !Word8 -> MsgPosLlh -- | GPS Time of Week [_msgPosLlh_tow] :: MsgPosLlh -> !Word32 -- | Latitude [_msgPosLlh_lat] :: MsgPosLlh -> !Double -- | Longitude [_msgPosLlh_lon] :: MsgPosLlh -> !Double -- | Height above WGS84 ellipsoid [_msgPosLlh_height] :: MsgPosLlh -> !Double -- | Horizontal position accuracy estimate. [_msgPosLlh_h_accuracy] :: MsgPosLlh -> !Word16 -- | Vertical position accuracy estimate. [_msgPosLlh_v_accuracy] :: MsgPosLlh -> !Word16 -- | Number of satellites used in solution. [_msgPosLlh_n_sats] :: MsgPosLlh -> !Word8 -- | Status flags [_msgPosLlh_flags] :: MsgPosLlh -> !Word8 msgPosLlh_v_accuracy :: Lens' MsgPosLlh Word16 msgPosLlh_tow :: Lens' MsgPosLlh Word32 msgPosLlh_n_sats :: Lens' MsgPosLlh Word8 msgPosLlh_lon :: Lens' MsgPosLlh Double msgPosLlh_lat :: Lens' MsgPosLlh Double msgPosLlh_height :: Lens' MsgPosLlh Double msgPosLlh_h_accuracy :: Lens' MsgPosLlh Word16 msgPosLlh_flags :: Lens' MsgPosLlh Word8 msgBaselineEcef :: Word16 -- | SBP class for message MSG_BASELINE_ECEF (0x020B). -- -- This message reports the baseline solution in Earth Centered Earth -- Fixed (ECEF) coordinates. This baseline is the relative vector -- distance from the base station to the rover receiver. The full GPS -- time is given by the preceding MSG_GPS_TIME with the matching -- time-of-week (tow). data MsgBaselineEcef MsgBaselineEcef :: !Word32 -> !Int32 -> !Int32 -> !Int32 -> !Word16 -> !Word8 -> !Word8 -> MsgBaselineEcef -- | GPS Time of Week [_msgBaselineEcef_tow] :: MsgBaselineEcef -> !Word32 -- | Baseline ECEF X coordinate [_msgBaselineEcef_x] :: MsgBaselineEcef -> !Int32 -- | Baseline ECEF Y coordinate [_msgBaselineEcef_y] :: MsgBaselineEcef -> !Int32 -- | Baseline ECEF Z coordinate [_msgBaselineEcef_z] :: MsgBaselineEcef -> !Int32 -- | Position accuracy estimate [_msgBaselineEcef_accuracy] :: MsgBaselineEcef -> !Word16 -- | Number of satellites used in solution [_msgBaselineEcef_n_sats] :: MsgBaselineEcef -> !Word8 -- | Status flags [_msgBaselineEcef_flags] :: MsgBaselineEcef -> !Word8 msgBaselineEcef_z :: Lens' MsgBaselineEcef Int32 msgBaselineEcef_y :: Lens' MsgBaselineEcef Int32 msgBaselineEcef_x :: Lens' MsgBaselineEcef Int32 msgBaselineEcef_tow :: Lens' MsgBaselineEcef Word32 msgBaselineEcef_n_sats :: Lens' MsgBaselineEcef Word8 msgBaselineEcef_flags :: Lens' MsgBaselineEcef Word8 msgBaselineEcef_accuracy :: Lens' MsgBaselineEcef Word16 msgBaselineNed :: Word16 -- | SBP class for message MSG_BASELINE_NED (0x020C). -- -- This message reports the baseline solution in North East Down (NED) -- coordinates. This baseline is the relative vector distance from the -- base station to the rover receiver, and NED coordinate system is -- defined at the local WGS84 tangent plane centered at the base station -- position. The full GPS time is given by the preceding MSG_GPS_TIME -- with the matching time-of- week (tow). data MsgBaselineNed MsgBaselineNed :: !Word32 -> !Int32 -> !Int32 -> !Int32 -> !Word16 -> !Word16 -> !Word8 -> !Word8 -> MsgBaselineNed -- | GPS Time of Week [_msgBaselineNed_tow] :: MsgBaselineNed -> !Word32 -- | Baseline North coordinate [_msgBaselineNed_n] :: MsgBaselineNed -> !Int32 -- | Baseline East coordinate [_msgBaselineNed_e] :: MsgBaselineNed -> !Int32 -- | Baseline Down coordinate [_msgBaselineNed_d] :: MsgBaselineNed -> !Int32 -- | Horizontal position accuracy estimate [_msgBaselineNed_h_accuracy] :: MsgBaselineNed -> !Word16 -- | Vertical position accuracy estimate [_msgBaselineNed_v_accuracy] :: MsgBaselineNed -> !Word16 -- | Number of satellites used in solution [_msgBaselineNed_n_sats] :: MsgBaselineNed -> !Word8 -- | Status flags [_msgBaselineNed_flags] :: MsgBaselineNed -> !Word8 msgBaselineNed_v_accuracy :: Lens' MsgBaselineNed Word16 msgBaselineNed_tow :: Lens' MsgBaselineNed Word32 msgBaselineNed_n_sats :: Lens' MsgBaselineNed Word8 msgBaselineNed_n :: Lens' MsgBaselineNed Int32 msgBaselineNed_h_accuracy :: Lens' MsgBaselineNed Word16 msgBaselineNed_flags :: Lens' MsgBaselineNed Word8 msgBaselineNed_e :: Lens' MsgBaselineNed Int32 msgBaselineNed_d :: Lens' MsgBaselineNed Int32 msgVelEcef :: Word16 -- | SBP class for message MSG_VEL_ECEF (0x020D). -- -- This message reports the velocity in Earth Centered Earth Fixed (ECEF) -- coordinates. The full GPS time is given by the preceding MSG_GPS_TIME -- with the matching time-of-week (tow). data MsgVelEcef MsgVelEcef :: !Word32 -> !Int32 -> !Int32 -> !Int32 -> !Word16 -> !Word8 -> !Word8 -> MsgVelEcef -- | GPS Time of Week [_msgVelEcef_tow] :: MsgVelEcef -> !Word32 -- | Velocity ECEF X coordinate [_msgVelEcef_x] :: MsgVelEcef -> !Int32 -- | Velocity ECEF Y coordinate [_msgVelEcef_y] :: MsgVelEcef -> !Int32 -- | Velocity ECEF Z coordinate [_msgVelEcef_z] :: MsgVelEcef -> !Int32 -- | Velocity accuracy estimate [_msgVelEcef_accuracy] :: MsgVelEcef -> !Word16 -- | Number of satellites used in solution [_msgVelEcef_n_sats] :: MsgVelEcef -> !Word8 -- | Status flags [_msgVelEcef_flags] :: MsgVelEcef -> !Word8 msgVelEcef_z :: Lens' MsgVelEcef Int32 msgVelEcef_y :: Lens' MsgVelEcef Int32 msgVelEcef_x :: Lens' MsgVelEcef Int32 msgVelEcef_tow :: Lens' MsgVelEcef Word32 msgVelEcef_n_sats :: Lens' MsgVelEcef Word8 msgVelEcef_flags :: Lens' MsgVelEcef Word8 msgVelEcef_accuracy :: Lens' MsgVelEcef Word16 msgVelNed :: Word16 -- | SBP class for message MSG_VEL_NED (0x020E). -- -- This message reports the velocity in local North East Down (NED) -- coordinates. The NED coordinate system is defined as the local WGS84 -- tangent plane centered at the current position. The full GPS time is -- given by the preceding MSG_GPS_TIME with the matching time-of-week -- (tow). data MsgVelNed MsgVelNed :: !Word32 -> !Int32 -> !Int32 -> !Int32 -> !Word16 -> !Word16 -> !Word8 -> !Word8 -> MsgVelNed -- | GPS Time of Week [_msgVelNed_tow] :: MsgVelNed -> !Word32 -- | Velocity North coordinate [_msgVelNed_n] :: MsgVelNed -> !Int32 -- | Velocity East coordinate [_msgVelNed_e] :: MsgVelNed -> !Int32 -- | Velocity Down coordinate [_msgVelNed_d] :: MsgVelNed -> !Int32 -- | Horizontal velocity accuracy estimate [_msgVelNed_h_accuracy] :: MsgVelNed -> !Word16 -- | Vertical velocity accuracy estimate [_msgVelNed_v_accuracy] :: MsgVelNed -> !Word16 -- | Number of satellites used in solution [_msgVelNed_n_sats] :: MsgVelNed -> !Word8 -- | Status flags [_msgVelNed_flags] :: MsgVelNed -> !Word8 msgVelNed_v_accuracy :: Lens' MsgVelNed Word16 msgVelNed_tow :: Lens' MsgVelNed Word32 msgVelNed_n_sats :: Lens' MsgVelNed Word8 msgVelNed_n :: Lens' MsgVelNed Int32 msgVelNed_h_accuracy :: Lens' MsgVelNed Word16 msgVelNed_flags :: Lens' MsgVelNed Word8 msgVelNed_e :: Lens' MsgVelNed Int32 msgVelNed_d :: Lens' MsgVelNed Int32 msgBaselineHeading :: Word16 -- | SBP class for message MSG_BASELINE_HEADING (0x020F). -- -- This message reports the baseline heading pointing from the base -- station to the rover relative to True North. The full GPS time is -- given by the preceding MSG_GPS_TIME with the matching time-of-week -- (tow). It is intended that time-matched RTK mode is used when the base -- station is moving. data MsgBaselineHeading MsgBaselineHeading :: !Word32 -> !Word32 -> !Word8 -> !Word8 -> MsgBaselineHeading -- | GPS Time of Week [_msgBaselineHeading_tow] :: MsgBaselineHeading -> !Word32 -- | Heading [_msgBaselineHeading_heading] :: MsgBaselineHeading -> !Word32 -- | Number of satellites used in solution [_msgBaselineHeading_n_sats] :: MsgBaselineHeading -> !Word8 -- | Status flags [_msgBaselineHeading_flags] :: MsgBaselineHeading -> !Word8 msgBaselineHeading_tow :: Lens' MsgBaselineHeading Word32 msgBaselineHeading_n_sats :: Lens' MsgBaselineHeading Word8 msgBaselineHeading_heading :: Lens' MsgBaselineHeading Word32 msgBaselineHeading_flags :: Lens' MsgBaselineHeading Word8 msgAgeCorrections :: Word16 -- | SBP class for message MSG_AGE_CORRECTIONS (0x0210). -- -- This message reports the Age of the corrections used for the current -- Differential solution data MsgAgeCorrections MsgAgeCorrections :: !Word32 -> !Word16 -> MsgAgeCorrections -- | GPS Time of Week [_msgAgeCorrections_tow] :: MsgAgeCorrections -> !Word32 -- | Age of the corrections (0xFFFF indicates invalid) [_msgAgeCorrections_age] :: MsgAgeCorrections -> !Word16 msgAgeCorrections_tow :: Lens' MsgAgeCorrections Word32 msgAgeCorrections_age :: Lens' MsgAgeCorrections Word16 msgGpsTimeDepA :: Word16 -- | SBP class for message MSG_GPS_TIME_DEP_A (0x0100). -- -- This message reports the GPS time, representing the time since the GPS -- epoch began on midnight January 6, 1980 UTC. GPS time counts the weeks -- and seconds of the week. The weeks begin at the Saturday/Sunday -- transition. GPS week 0 began at the beginning of the GPS time scale. -- Within each week number, the GPS time of the week is between between 0 -- and 604800 seconds (=60*60*24*7). Note that GPS time does not -- accumulate leap seconds, and as of now, has a small offset from UTC. -- In a message stream, this message precedes a set of other navigation -- messages referenced to the same time (but lacking the ns field) and -- indicates a more precise time of these messages. data MsgGpsTimeDepA MsgGpsTimeDepA :: !Word16 -> !Word32 -> !Int32 -> !Word8 -> MsgGpsTimeDepA -- | GPS week number [_msgGpsTimeDepA_wn] :: MsgGpsTimeDepA -> !Word16 -- | GPS time of week rounded to the nearest millisecond [_msgGpsTimeDepA_tow] :: MsgGpsTimeDepA -> !Word32 -- | Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to -- 500000) [_msgGpsTimeDepA_ns_residual] :: MsgGpsTimeDepA -> !Int32 -- | Status flags (reserved) [_msgGpsTimeDepA_flags] :: MsgGpsTimeDepA -> !Word8 msgGpsTimeDepA_wn :: Lens' MsgGpsTimeDepA Word16 msgGpsTimeDepA_tow :: Lens' MsgGpsTimeDepA Word32 msgGpsTimeDepA_ns_residual :: Lens' MsgGpsTimeDepA Int32 msgGpsTimeDepA_flags :: Lens' MsgGpsTimeDepA Word8 msgDopsDepA :: Word16 -- | SBP class for message MSG_DOPS_DEP_A (0x0206). -- -- This dilution of precision (DOP) message describes the effect of -- navigation satellite geometry on positional measurement precision. data MsgDopsDepA MsgDopsDepA :: !Word32 -> !Word16 -> !Word16 -> !Word16 -> !Word16 -> !Word16 -> MsgDopsDepA -- | GPS Time of Week [_msgDopsDepA_tow] :: MsgDopsDepA -> !Word32 -- | Geometric Dilution of Precision [_msgDopsDepA_gdop] :: MsgDopsDepA -> !Word16 -- | Position Dilution of Precision [_msgDopsDepA_pdop] :: MsgDopsDepA -> !Word16 -- | Time Dilution of Precision [_msgDopsDepA_tdop] :: MsgDopsDepA -> !Word16 -- | Horizontal Dilution of Precision [_msgDopsDepA_hdop] :: MsgDopsDepA -> !Word16 -- | Vertical Dilution of Precision [_msgDopsDepA_vdop] :: MsgDopsDepA -> !Word16 msgDopsDepA_vdop :: Lens' MsgDopsDepA Word16 msgDopsDepA_tow :: Lens' MsgDopsDepA Word32 msgDopsDepA_tdop :: Lens' MsgDopsDepA Word16 msgDopsDepA_pdop :: Lens' MsgDopsDepA Word16 msgDopsDepA_hdop :: Lens' MsgDopsDepA Word16 msgDopsDepA_gdop :: Lens' MsgDopsDepA Word16 msgPosEcefDepA :: Word16 -- | SBP class for message MSG_POS_ECEF_DEP_A (0x0200). -- -- The position solution message reports absolute Earth Centered Earth -- Fixed (ECEF) coordinates and the status (single point vs -- pseudo-absolute RTK) of the position solution. If the rover receiver -- knows the surveyed position of the base station and has an RTK -- solution, this reports a pseudo-absolute position solution using the -- base station position and the rover's RTK baseline vector. The full -- GPS time is given by the preceding MSG_GPS_TIME with the matching -- time-of-week (tow). data MsgPosEcefDepA MsgPosEcefDepA :: !Word32 -> !Double -> !Double -> !Double -> !Word16 -> !Word8 -> !Word8 -> MsgPosEcefDepA -- | GPS Time of Week [_msgPosEcefDepA_tow] :: MsgPosEcefDepA -> !Word32 -- | ECEF X coordinate [_msgPosEcefDepA_x] :: MsgPosEcefDepA -> !Double -- | ECEF Y coordinate [_msgPosEcefDepA_y] :: MsgPosEcefDepA -> !Double -- | ECEF Z coordinate [_msgPosEcefDepA_z] :: MsgPosEcefDepA -> !Double -- | Position accuracy estimate (not implemented). Defaults to 0. [_msgPosEcefDepA_accuracy] :: MsgPosEcefDepA -> !Word16 -- | Number of satellites used in solution [_msgPosEcefDepA_n_sats] :: MsgPosEcefDepA -> !Word8 -- | Status flags [_msgPosEcefDepA_flags] :: MsgPosEcefDepA -> !Word8 msgPosEcefDepA_z :: Lens' MsgPosEcefDepA Double msgPosEcefDepA_y :: Lens' MsgPosEcefDepA Double msgPosEcefDepA_x :: Lens' MsgPosEcefDepA Double msgPosEcefDepA_tow :: Lens' MsgPosEcefDepA Word32 msgPosEcefDepA_n_sats :: Lens' MsgPosEcefDepA Word8 msgPosEcefDepA_flags :: Lens' MsgPosEcefDepA Word8 msgPosEcefDepA_accuracy :: Lens' MsgPosEcefDepA Word16 msgPosLlhDepA :: Word16 -- | SBP class for message MSG_POS_LLH_DEP_A (0x0201). -- -- This position solution message reports the absolute geodetic -- coordinates and the status (single point vs pseudo-absolute RTK) of -- the position solution. If the rover receiver knows the surveyed -- position of the base station and has an RTK solution, this reports a -- pseudo-absolute position solution using the base station position and -- the rover's RTK baseline vector. The full GPS time is given by the -- preceding MSG_GPS_TIME with the matching time-of-week (tow). data MsgPosLlhDepA MsgPosLlhDepA :: !Word32 -> !Double -> !Double -> !Double -> !Word16 -> !Word16 -> !Word8 -> !Word8 -> MsgPosLlhDepA -- | GPS Time of Week [_msgPosLlhDepA_tow] :: MsgPosLlhDepA -> !Word32 -- | Latitude [_msgPosLlhDepA_lat] :: MsgPosLlhDepA -> !Double -- | Longitude [_msgPosLlhDepA_lon] :: MsgPosLlhDepA -> !Double -- | Height [_msgPosLlhDepA_height] :: MsgPosLlhDepA -> !Double -- | Horizontal position accuracy estimate (not implemented). Defaults to -- 0. [_msgPosLlhDepA_h_accuracy] :: MsgPosLlhDepA -> !Word16 -- | Vertical position accuracy estimate (not implemented). Defaults to 0. [_msgPosLlhDepA_v_accuracy] :: MsgPosLlhDepA -> !Word16 -- | Number of satellites used in solution. [_msgPosLlhDepA_n_sats] :: MsgPosLlhDepA -> !Word8 -- | Status flags [_msgPosLlhDepA_flags] :: MsgPosLlhDepA -> !Word8 msgPosLlhDepA_v_accuracy :: Lens' MsgPosLlhDepA Word16 msgPosLlhDepA_tow :: Lens' MsgPosLlhDepA Word32 msgPosLlhDepA_n_sats :: Lens' MsgPosLlhDepA Word8 msgPosLlhDepA_lon :: Lens' MsgPosLlhDepA Double msgPosLlhDepA_lat :: Lens' MsgPosLlhDepA Double msgPosLlhDepA_height :: Lens' MsgPosLlhDepA Double msgPosLlhDepA_h_accuracy :: Lens' MsgPosLlhDepA Word16 msgPosLlhDepA_flags :: Lens' MsgPosLlhDepA Word8 msgBaselineEcefDepA :: Word16 -- | SBP class for message MSG_BASELINE_ECEF_DEP_A (0x0202). -- -- This message reports the baseline solution in Earth Centered Earth -- Fixed (ECEF) coordinates. This baseline is the relative vector -- distance from the base station to the rover receiver. The full GPS -- time is given by the preceding MSG_GPS_TIME with the matching -- time-of-week (tow). data MsgBaselineEcefDepA MsgBaselineEcefDepA :: !Word32 -> !Int32 -> !Int32 -> !Int32 -> !Word16 -> !Word8 -> !Word8 -> MsgBaselineEcefDepA -- | GPS Time of Week [_msgBaselineEcefDepA_tow] :: MsgBaselineEcefDepA -> !Word32 -- | Baseline ECEF X coordinate [_msgBaselineEcefDepA_x] :: MsgBaselineEcefDepA -> !Int32 -- | Baseline ECEF Y coordinate [_msgBaselineEcefDepA_y] :: MsgBaselineEcefDepA -> !Int32 -- | Baseline ECEF Z coordinate [_msgBaselineEcefDepA_z] :: MsgBaselineEcefDepA -> !Int32 -- | Position accuracy estimate [_msgBaselineEcefDepA_accuracy] :: MsgBaselineEcefDepA -> !Word16 -- | Number of satellites used in solution [_msgBaselineEcefDepA_n_sats] :: MsgBaselineEcefDepA -> !Word8 -- | Status flags [_msgBaselineEcefDepA_flags] :: MsgBaselineEcefDepA -> !Word8 msgBaselineEcefDepA_z :: Lens' MsgBaselineEcefDepA Int32 msgBaselineEcefDepA_y :: Lens' MsgBaselineEcefDepA Int32 msgBaselineEcefDepA_x :: Lens' MsgBaselineEcefDepA Int32 msgBaselineEcefDepA_tow :: Lens' MsgBaselineEcefDepA Word32 msgBaselineEcefDepA_n_sats :: Lens' MsgBaselineEcefDepA Word8 msgBaselineEcefDepA_flags :: Lens' MsgBaselineEcefDepA Word8 msgBaselineEcefDepA_accuracy :: Lens' MsgBaselineEcefDepA Word16 msgBaselineNedDepA :: Word16 -- | SBP class for message MSG_BASELINE_NED_DEP_A (0x0203). -- -- This message reports the baseline solution in North East Down (NED) -- coordinates. This baseline is the relative vector distance from the -- base station to the rover receiver, and NED coordinate system is -- defined at the local WGS84 tangent plane centered at the base station -- position. The full GPS time is given by the preceding MSG_GPS_TIME -- with the matching time-of- week (tow). data MsgBaselineNedDepA MsgBaselineNedDepA :: !Word32 -> !Int32 -> !Int32 -> !Int32 -> !Word16 -> !Word16 -> !Word8 -> !Word8 -> MsgBaselineNedDepA -- | GPS Time of Week [_msgBaselineNedDepA_tow] :: MsgBaselineNedDepA -> !Word32 -- | Baseline North coordinate [_msgBaselineNedDepA_n] :: MsgBaselineNedDepA -> !Int32 -- | Baseline East coordinate [_msgBaselineNedDepA_e] :: MsgBaselineNedDepA -> !Int32 -- | Baseline Down coordinate [_msgBaselineNedDepA_d] :: MsgBaselineNedDepA -> !Int32 -- | Horizontal position accuracy estimate (not implemented). Defaults to -- 0. [_msgBaselineNedDepA_h_accuracy] :: MsgBaselineNedDepA -> !Word16 -- | Vertical position accuracy estimate (not implemented). Defaults to 0. [_msgBaselineNedDepA_v_accuracy] :: MsgBaselineNedDepA -> !Word16 -- | Number of satellites used in solution [_msgBaselineNedDepA_n_sats] :: MsgBaselineNedDepA -> !Word8 -- | Status flags [_msgBaselineNedDepA_flags] :: MsgBaselineNedDepA -> !Word8 msgBaselineNedDepA_v_accuracy :: Lens' MsgBaselineNedDepA Word16 msgBaselineNedDepA_tow :: Lens' MsgBaselineNedDepA Word32 msgBaselineNedDepA_n_sats :: Lens' MsgBaselineNedDepA Word8 msgBaselineNedDepA_n :: Lens' MsgBaselineNedDepA Int32 msgBaselineNedDepA_h_accuracy :: Lens' MsgBaselineNedDepA Word16 msgBaselineNedDepA_flags :: Lens' MsgBaselineNedDepA Word8 msgBaselineNedDepA_e :: Lens' MsgBaselineNedDepA Int32 msgBaselineNedDepA_d :: Lens' MsgBaselineNedDepA Int32 msgVelEcefDepA :: Word16 -- | SBP class for message MSG_VEL_ECEF_DEP_A (0x0204). -- -- This message reports the velocity in Earth Centered Earth Fixed (ECEF) -- coordinates. The full GPS time is given by the preceding MSG_GPS_TIME -- with the matching time-of-week (tow). data MsgVelEcefDepA MsgVelEcefDepA :: !Word32 -> !Int32 -> !Int32 -> !Int32 -> !Word16 -> !Word8 -> !Word8 -> MsgVelEcefDepA -- | GPS Time of Week [_msgVelEcefDepA_tow] :: MsgVelEcefDepA -> !Word32 -- | Velocity ECEF X coordinate [_msgVelEcefDepA_x] :: MsgVelEcefDepA -> !Int32 -- | Velocity ECEF Y coordinate [_msgVelEcefDepA_y] :: MsgVelEcefDepA -> !Int32 -- | Velocity ECEF Z coordinate [_msgVelEcefDepA_z] :: MsgVelEcefDepA -> !Int32 -- | Velocity accuracy estimate (not implemented). Defaults to 0. [_msgVelEcefDepA_accuracy] :: MsgVelEcefDepA -> !Word16 -- | Number of satellites used in solution [_msgVelEcefDepA_n_sats] :: MsgVelEcefDepA -> !Word8 -- | Status flags (reserved) [_msgVelEcefDepA_flags] :: MsgVelEcefDepA -> !Word8 msgVelEcefDepA_z :: Lens' MsgVelEcefDepA Int32 msgVelEcefDepA_y :: Lens' MsgVelEcefDepA Int32 msgVelEcefDepA_x :: Lens' MsgVelEcefDepA Int32 msgVelEcefDepA_tow :: Lens' MsgVelEcefDepA Word32 msgVelEcefDepA_n_sats :: Lens' MsgVelEcefDepA Word8 msgVelEcefDepA_flags :: Lens' MsgVelEcefDepA Word8 msgVelEcefDepA_accuracy :: Lens' MsgVelEcefDepA Word16 msgVelNedDepA :: Word16 -- | SBP class for message MSG_VEL_NED_DEP_A (0x0205). -- -- This message reports the velocity in local North East Down (NED) -- coordinates. The NED coordinate system is defined as the local WGS84 -- tangent plane centered at the current position. The full GPS time is -- given by the preceding MSG_GPS_TIME with the matching time-of-week -- (tow). data MsgVelNedDepA MsgVelNedDepA :: !Word32 -> !Int32 -> !Int32 -> !Int32 -> !Word16 -> !Word16 -> !Word8 -> !Word8 -> MsgVelNedDepA -- | GPS Time of Week [_msgVelNedDepA_tow] :: MsgVelNedDepA -> !Word32 -- | Velocity North coordinate [_msgVelNedDepA_n] :: MsgVelNedDepA -> !Int32 -- | Velocity East coordinate [_msgVelNedDepA_e] :: MsgVelNedDepA -> !Int32 -- | Velocity Down coordinate [_msgVelNedDepA_d] :: MsgVelNedDepA -> !Int32 -- | Horizontal velocity accuracy estimate (not implemented). Defaults to -- 0. [_msgVelNedDepA_h_accuracy] :: MsgVelNedDepA -> !Word16 -- | Vertical velocity accuracy estimate (not implemented). Defaults to 0. [_msgVelNedDepA_v_accuracy] :: MsgVelNedDepA -> !Word16 -- | Number of satellites used in solution [_msgVelNedDepA_n_sats] :: MsgVelNedDepA -> !Word8 -- | Status flags (reserved) [_msgVelNedDepA_flags] :: MsgVelNedDepA -> !Word8 msgVelNedDepA_v_accuracy :: Lens' MsgVelNedDepA Word16 msgVelNedDepA_tow :: Lens' MsgVelNedDepA Word32 msgVelNedDepA_n_sats :: Lens' MsgVelNedDepA Word8 msgVelNedDepA_n :: Lens' MsgVelNedDepA Int32 msgVelNedDepA_h_accuracy :: Lens' MsgVelNedDepA Word16 msgVelNedDepA_flags :: Lens' MsgVelNedDepA Word8 msgVelNedDepA_e :: Lens' MsgVelNedDepA Int32 msgVelNedDepA_d :: Lens' MsgVelNedDepA Int32 msgBaselineHeadingDepA :: Word16 -- | SBP class for message MSG_BASELINE_HEADING_DEP_A (0x0207). -- -- This message reports the baseline heading pointing from the base -- station to the rover relative to True North. The full GPS time is -- given by the preceding MSG_GPS_TIME with the matching time-of-week -- (tow). data MsgBaselineHeadingDepA MsgBaselineHeadingDepA :: !Word32 -> !Word32 -> !Word8 -> !Word8 -> MsgBaselineHeadingDepA -- | GPS Time of Week [_msgBaselineHeadingDepA_tow] :: MsgBaselineHeadingDepA -> !Word32 -- | Heading [_msgBaselineHeadingDepA_heading] :: MsgBaselineHeadingDepA -> !Word32 -- | Number of satellites used in solution [_msgBaselineHeadingDepA_n_sats] :: MsgBaselineHeadingDepA -> !Word8 -- | Status flags [_msgBaselineHeadingDepA_flags] :: MsgBaselineHeadingDepA -> !Word8 msgBaselineHeadingDepA_tow :: Lens' MsgBaselineHeadingDepA Word32 msgBaselineHeadingDepA_n_sats :: Lens' MsgBaselineHeadingDepA Word8 msgBaselineHeadingDepA_heading :: Lens' MsgBaselineHeadingDepA Word32 msgBaselineHeadingDepA_flags :: Lens' MsgBaselineHeadingDepA Word8 msgNdbEvent :: Word16 -- | SBP class for message MSG_NDB_EVENT (0x0400). -- -- This message is sent out when an object is stored into NDB. If needed -- message could also be sent out when fetching an object from NDB. data MsgNdbEvent MsgNdbEvent :: !Word64 -> !Word8 -> !Word8 -> !Word8 -> !Word8 -> !GnssSignal16 -> !GnssSignal16 -> !Word16 -> MsgNdbEvent -- | HW time in milliseconds. [_msgNdbEvent_recv_time] :: MsgNdbEvent -> !Word64 -- | Event type. [_msgNdbEvent_event] :: MsgNdbEvent -> !Word8 -- | Event object type. [_msgNdbEvent_object_type] :: MsgNdbEvent -> !Word8 -- | Event result. [_msgNdbEvent_result] :: MsgNdbEvent -> !Word8 -- | Data source for STORE event, reserved for other events. [_msgNdbEvent_data_source] :: MsgNdbEvent -> !Word8 -- | GNSS signal identifier, If object_type is Ephemeris OR Almanac, sid -- indicates for which signal the object belongs to. Reserved in other -- cases. [_msgNdbEvent_object_sid] :: MsgNdbEvent -> !GnssSignal16 -- | GNSS signal identifier, If object_type is Almanac, Almanac WN, Iono OR -- L2C capabilities AND data_source is NDB_DS_RECEIVER sid indicates from -- which SV data was decoded. Reserved in other cases. [_msgNdbEvent_src_sid] :: MsgNdbEvent -> !GnssSignal16 -- | A unique identifier of the sending hardware. For v1.0, set to the 2 -- least significant bytes of the device serial number, valid only if -- data_source is NDB_DS_SBP. Reserved in case of other data_source. [_msgNdbEvent_original_sender] :: MsgNdbEvent -> !Word16 msgNdbEvent_src_sid :: Lens' MsgNdbEvent GnssSignal16 msgNdbEvent_result :: Lens' MsgNdbEvent Word8 msgNdbEvent_recv_time :: Lens' MsgNdbEvent Word64 msgNdbEvent_original_sender :: Lens' MsgNdbEvent Word16 msgNdbEvent_object_type :: Lens' MsgNdbEvent Word8 msgNdbEvent_object_sid :: Lens' MsgNdbEvent GnssSignal16 msgNdbEvent_event :: Lens' MsgNdbEvent Word8 msgNdbEvent_data_source :: Lens' MsgNdbEvent Word8 -- | ObservationHeader. -- -- Header of a GNSS observation message. data ObservationHeader ObservationHeader :: !GpsTimeNano -> !Word8 -> ObservationHeader -- | GNSS time of this observation [_observationHeader_t] :: ObservationHeader -> !GpsTimeNano -- | Total number of observations. First nibble is the size of the sequence -- (n), second nibble is the zero-indexed counter (ith packet of n) [_observationHeader_n_obs] :: ObservationHeader -> !Word8 observationHeader_t :: Lens' ObservationHeader GpsTimeNano observationHeader_n_obs :: Lens' ObservationHeader Word8 -- | Doppler. -- -- Doppler measurement in Hz represented as a 24-bit fixed point number -- with Q16.8 layout, i.e. 16-bits of whole doppler and 8-bits of -- fractional doppler. This doppler is defined as positive for -- approaching satellites. data Doppler Doppler :: !Int16 -> !Word8 -> Doppler -- | Doppler whole Hz [_doppler_i] :: Doppler -> !Int16 -- | Doppler fractional part [_doppler_f] :: Doppler -> !Word8 doppler_i :: Lens' Doppler Int16 doppler_f :: Lens' Doppler Word8 -- | PackedObsContent. -- -- Pseudorange and carrier phase observation for a satellite being -- tracked. The observations are interoperable with 3rd party receivers -- and conform with typical RTCMv3 GNSS observations. data PackedObsContent PackedObsContent :: !Word32 -> !CarrierPhase -> !Doppler -> !Word8 -> !Word8 -> !Word8 -> !GnssSignal16 -> PackedObsContent -- | Pseudorange observation [_packedObsContent_P] :: PackedObsContent -> !Word32 -- | Carrier phase observation with typical sign convention. [_packedObsContent_L] :: PackedObsContent -> !CarrierPhase -- | Doppler observation with typical sign convention. [_packedObsContent_D] :: PackedObsContent -> !Doppler -- | Carrier-to-Noise density. Zero implies invalid cn0. [_packedObsContent_cn0] :: PackedObsContent -> !Word8 -- | Lock timer. This value gives an indication of the time for which a -- signal has maintained continuous phase lock. Whenever a signal has -- lost and regained lock, this value is reset to zero. It is encoded -- according to DF402 from the RTCM 10403.2 Amendment 2 specification. -- Valid values range from 0 to 15 and the most significant nibble is -- reserved for future use. [_packedObsContent_lock] :: PackedObsContent -> !Word8 -- | Measurement status flags. A bit field of flags providing the status of -- this observation. If this field is 0 it means only the Cn0 estimate -- for the signal is valid. [_packedObsContent_flags] :: PackedObsContent -> !Word8 -- | GNSS signal identifier (16 bit) [_packedObsContent_sid] :: PackedObsContent -> !GnssSignal16 packedObsContent_sid :: Lens' PackedObsContent GnssSignal16 packedObsContent_lock :: Lens' PackedObsContent Word8 packedObsContent_flags :: Lens' PackedObsContent Word8 packedObsContent_cn0 :: Lens' PackedObsContent Word8 packedObsContent_P :: Lens' PackedObsContent Word32 packedObsContent_L :: Lens' PackedObsContent CarrierPhase packedObsContent_D :: Lens' PackedObsContent Doppler msgObs :: Word16 -- | SBP class for message MSG_OBS (0x004A). -- -- The GPS observations message reports all the raw pseudorange and -- carrier phase observations for the satellites being tracked by the -- device. Carrier phase observation here is represented as a 40-bit -- fixed point number with Q32.8 layout (i.e. 32-bits of whole cycles and -- 8-bits of fractional cycles). The observations are be interoperable -- with 3rd party receivers and conform with typical RTCMv3 GNSS -- observations. data MsgObs MsgObs :: !ObservationHeader -> ![PackedObsContent] -> MsgObs -- | Header of a GPS observation message [_msgObs_header] :: MsgObs -> !ObservationHeader -- | Pseudorange and carrier phase observation for a satellite being -- tracked. [_msgObs_obs] :: MsgObs -> ![PackedObsContent] msgObs_obs :: Lens' MsgObs [PackedObsContent] msgObs_header :: Lens' MsgObs ObservationHeader msgBasePosLlh :: Word16 -- | SBP class for message MSG_BASE_POS_LLH (0x0044). -- -- The base station position message is the position reported by the base -- station itself. It is used for pseudo-absolute RTK positioning, and is -- required to be a high-accuracy surveyed location of the base station. -- Any error here will result in an error in the pseudo-absolute position -- output. data MsgBasePosLlh MsgBasePosLlh :: !Double -> !Double -> !Double -> MsgBasePosLlh -- | Latitude [_msgBasePosLlh_lat] :: MsgBasePosLlh -> !Double -- | Longitude [_msgBasePosLlh_lon] :: MsgBasePosLlh -> !Double -- | Height [_msgBasePosLlh_height] :: MsgBasePosLlh -> !Double msgBasePosLlh_lon :: Lens' MsgBasePosLlh Double msgBasePosLlh_lat :: Lens' MsgBasePosLlh Double msgBasePosLlh_height :: Lens' MsgBasePosLlh Double msgBasePosEcef :: Word16 -- | SBP class for message MSG_BASE_POS_ECEF (0x0048). -- -- The base station position message is the position reported by the base -- station itself in absolute Earth Centered Earth Fixed coordinates. It -- is used for pseudo-absolute RTK positioning, and is required to be a -- high- accuracy surveyed location of the base station. Any error here -- will result in an error in the pseudo-absolute position output. data MsgBasePosEcef MsgBasePosEcef :: !Double -> !Double -> !Double -> MsgBasePosEcef -- | ECEF X coodinate [_msgBasePosEcef_x] :: MsgBasePosEcef -> !Double -- | ECEF Y coordinate [_msgBasePosEcef_y] :: MsgBasePosEcef -> !Double -- | ECEF Z coordinate [_msgBasePosEcef_z] :: MsgBasePosEcef -> !Double msgBasePosEcef_z :: Lens' MsgBasePosEcef Double msgBasePosEcef_y :: Lens' MsgBasePosEcef Double msgBasePosEcef_x :: Lens' MsgBasePosEcef Double data EphemerisCommonContent EphemerisCommonContent :: !GnssSignal16 -> !GpsTimeSec -> !Double -> !Word32 -> !Word8 -> !Word8 -> EphemerisCommonContent -- | GNSS signal identifier (16 bit) [_ephemerisCommonContent_sid] :: EphemerisCommonContent -> !GnssSignal16 -- | Time of Ephemerides [_ephemerisCommonContent_toe] :: EphemerisCommonContent -> !GpsTimeSec -- | User Range Accuracy [_ephemerisCommonContent_ura] :: EphemerisCommonContent -> !Double -- | Curve fit interval [_ephemerisCommonContent_fit_interval] :: EphemerisCommonContent -> !Word32 -- | Status of ephemeris, 1 = valid, 0 = invalid [_ephemerisCommonContent_valid] :: EphemerisCommonContent -> !Word8 -- | Satellite health status. GPS: ICD-GPS-200, chapter 20.3.3.3.1.4 SBAS: -- 0 = valid, non-zero = invalid GLO: 0 = valid, non-zero = invalid [_ephemerisCommonContent_health_bits] :: EphemerisCommonContent -> !Word8 ephemerisCommonContent_valid :: Lens' EphemerisCommonContent Word8 ephemerisCommonContent_ura :: Lens' EphemerisCommonContent Double ephemerisCommonContent_toe :: Lens' EphemerisCommonContent GpsTimeSec ephemerisCommonContent_sid :: Lens' EphemerisCommonContent GnssSignal16 ephemerisCommonContent_health_bits :: Lens' EphemerisCommonContent Word8 ephemerisCommonContent_fit_interval :: Lens' EphemerisCommonContent Word32 data EphemerisCommonContentDepA EphemerisCommonContentDepA :: !GnssSignal -> !GpsTime -> !Double -> !Word32 -> !Word8 -> !Word8 -> EphemerisCommonContentDepA -- | GNSS signal identifier [_ephemerisCommonContentDepA_sid] :: EphemerisCommonContentDepA -> !GnssSignal -- | Time of Ephemerides [_ephemerisCommonContentDepA_toe] :: EphemerisCommonContentDepA -> !GpsTime -- | User Range Accuracy [_ephemerisCommonContentDepA_ura] :: EphemerisCommonContentDepA -> !Double -- | Curve fit interval [_ephemerisCommonContentDepA_fit_interval] :: EphemerisCommonContentDepA -> !Word32 -- | Status of ephemeris, 1 = valid, 0 = invalid [_ephemerisCommonContentDepA_valid] :: EphemerisCommonContentDepA -> !Word8 -- | Satellite health status. GPS: ICD-GPS-200, chapter 20.3.3.3.1.4 SBAS: -- 0 = valid, non-zero = invalid GLO: 0 = valid, non-zero = invalid [_ephemerisCommonContentDepA_health_bits] :: EphemerisCommonContentDepA -> !Word8 ephemerisCommonContentDepA_valid :: Lens' EphemerisCommonContentDepA Word8 ephemerisCommonContentDepA_ura :: Lens' EphemerisCommonContentDepA Double ephemerisCommonContentDepA_toe :: Lens' EphemerisCommonContentDepA GpsTime ephemerisCommonContentDepA_sid :: Lens' EphemerisCommonContentDepA GnssSignal ephemerisCommonContentDepA_health_bits :: Lens' EphemerisCommonContentDepA Word8 ephemerisCommonContentDepA_fit_interval :: Lens' EphemerisCommonContentDepA Word32 msgEphemerisGpsDepE :: Word16 -- | SBP class for message MSG_EPHEMERIS_GPS_DEP_E (0x0081). -- -- The ephemeris message returns a set of satellite orbit parameters that -- is used to calculate GPS satellite position, velocity, and clock -- offset. Please see the Navstar GPS Space Segment/Navigation user -- interfaces (ICD-GPS-200, Table 20-III) for more details. data MsgEphemerisGpsDepE MsgEphemerisGpsDepE :: !EphemerisCommonContentDepA -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !GpsTime -> !Word8 -> !Word16 -> MsgEphemerisGpsDepE -- | Values common for all ephemeris types [_msgEphemerisGpsDepE_common] :: MsgEphemerisGpsDepE -> !EphemerisCommonContentDepA -- | Group delay differential between L1 and L2 [_msgEphemerisGpsDepE_tgd] :: MsgEphemerisGpsDepE -> !Double -- | Amplitude of the sine harmonic correction term to the orbit radius [_msgEphemerisGpsDepE_c_rs] :: MsgEphemerisGpsDepE -> !Double -- | Amplitude of the cosine harmonic correction term to the orbit radius [_msgEphemerisGpsDepE_c_rc] :: MsgEphemerisGpsDepE -> !Double -- | Amplitude of the cosine harmonic correction term to the argument of -- latitude [_msgEphemerisGpsDepE_c_uc] :: MsgEphemerisGpsDepE -> !Double -- | Amplitude of the sine harmonic correction term to the argument of -- latitude [_msgEphemerisGpsDepE_c_us] :: MsgEphemerisGpsDepE -> !Double -- | Amplitude of the cosine harmonic correction term to the angle of -- inclination [_msgEphemerisGpsDepE_c_ic] :: MsgEphemerisGpsDepE -> !Double -- | Amplitude of the sine harmonic correction term to the angle of -- inclination [_msgEphemerisGpsDepE_c_is] :: MsgEphemerisGpsDepE -> !Double -- | Mean motion difference [_msgEphemerisGpsDepE_dn] :: MsgEphemerisGpsDepE -> !Double -- | Mean anomaly at reference time [_msgEphemerisGpsDepE_m0] :: MsgEphemerisGpsDepE -> !Double -- | Eccentricity of satellite orbit [_msgEphemerisGpsDepE_ecc] :: MsgEphemerisGpsDepE -> !Double -- | Square root of the semi-major axis of orbit [_msgEphemerisGpsDepE_sqrta] :: MsgEphemerisGpsDepE -> !Double -- | Longitude of ascending node of orbit plane at weekly epoch [_msgEphemerisGpsDepE_omega0] :: MsgEphemerisGpsDepE -> !Double -- | Rate of right ascension [_msgEphemerisGpsDepE_omegadot] :: MsgEphemerisGpsDepE -> !Double -- | Argument of perigee [_msgEphemerisGpsDepE_w] :: MsgEphemerisGpsDepE -> !Double -- | Inclination [_msgEphemerisGpsDepE_inc] :: MsgEphemerisGpsDepE -> !Double -- | Inclination first derivative [_msgEphemerisGpsDepE_inc_dot] :: MsgEphemerisGpsDepE -> !Double -- | Polynomial clock correction coefficient (clock bias) [_msgEphemerisGpsDepE_af0] :: MsgEphemerisGpsDepE -> !Double -- | Polynomial clock correction coefficient (clock drift) [_msgEphemerisGpsDepE_af1] :: MsgEphemerisGpsDepE -> !Double -- | Polynomial clock correction coefficient (rate of clock drift) [_msgEphemerisGpsDepE_af2] :: MsgEphemerisGpsDepE -> !Double -- | Clock reference [_msgEphemerisGpsDepE_toc] :: MsgEphemerisGpsDepE -> !GpsTime -- | Issue of ephemeris data [_msgEphemerisGpsDepE_iode] :: MsgEphemerisGpsDepE -> !Word8 -- | Issue of clock data [_msgEphemerisGpsDepE_iodc] :: MsgEphemerisGpsDepE -> !Word16 msgEphemerisGpsDepE_w :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_toc :: Lens' MsgEphemerisGpsDepE GpsTime msgEphemerisGpsDepE_tgd :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_sqrta :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_omegadot :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_omega0 :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_m0 :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_iode :: Lens' MsgEphemerisGpsDepE Word8 msgEphemerisGpsDepE_iodc :: Lens' MsgEphemerisGpsDepE Word16 msgEphemerisGpsDepE_inc_dot :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_inc :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_ecc :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_dn :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_common :: Lens' MsgEphemerisGpsDepE EphemerisCommonContentDepA msgEphemerisGpsDepE_c_us :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_c_uc :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_c_rs :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_c_rc :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_c_is :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_c_ic :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_af2 :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_af1 :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGpsDepE_af0 :: Lens' MsgEphemerisGpsDepE Double msgEphemerisGps :: Word16 -- | SBP class for message MSG_EPHEMERIS_GPS (0x0086). -- -- The ephemeris message returns a set of satellite orbit parameters that -- is used to calculate GPS satellite position, velocity, and clock -- offset. Please see the Navstar GPS Space Segment/Navigation user -- interfaces (ICD-GPS-200, Table 20-III) for more details. data MsgEphemerisGps MsgEphemerisGps :: !EphemerisCommonContent -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !GpsTimeSec -> !Word8 -> !Word16 -> MsgEphemerisGps -- | Values common for all ephemeris types [_msgEphemerisGps_common] :: MsgEphemerisGps -> !EphemerisCommonContent -- | Group delay differential between L1 and L2 [_msgEphemerisGps_tgd] :: MsgEphemerisGps -> !Double -- | Amplitude of the sine harmonic correction term to the orbit radius [_msgEphemerisGps_c_rs] :: MsgEphemerisGps -> !Double -- | Amplitude of the cosine harmonic correction term to the orbit radius [_msgEphemerisGps_c_rc] :: MsgEphemerisGps -> !Double -- | Amplitude of the cosine harmonic correction term to the argument of -- latitude [_msgEphemerisGps_c_uc] :: MsgEphemerisGps -> !Double -- | Amplitude of the sine harmonic correction term to the argument of -- latitude [_msgEphemerisGps_c_us] :: MsgEphemerisGps -> !Double -- | Amplitude of the cosine harmonic correction term to the angle of -- inclination [_msgEphemerisGps_c_ic] :: MsgEphemerisGps -> !Double -- | Amplitude of the sine harmonic correction term to the angle of -- inclination [_msgEphemerisGps_c_is] :: MsgEphemerisGps -> !Double -- | Mean motion difference [_msgEphemerisGps_dn] :: MsgEphemerisGps -> !Double -- | Mean anomaly at reference time [_msgEphemerisGps_m0] :: MsgEphemerisGps -> !Double -- | Eccentricity of satellite orbit [_msgEphemerisGps_ecc] :: MsgEphemerisGps -> !Double -- | Square root of the semi-major axis of orbit [_msgEphemerisGps_sqrta] :: MsgEphemerisGps -> !Double -- | Longitude of ascending node of orbit plane at weekly epoch [_msgEphemerisGps_omega0] :: MsgEphemerisGps -> !Double -- | Rate of right ascension [_msgEphemerisGps_omegadot] :: MsgEphemerisGps -> !Double -- | Argument of perigee [_msgEphemerisGps_w] :: MsgEphemerisGps -> !Double -- | Inclination [_msgEphemerisGps_inc] :: MsgEphemerisGps -> !Double -- | Inclination first derivative [_msgEphemerisGps_inc_dot] :: MsgEphemerisGps -> !Double -- | Polynomial clock correction coefficient (clock bias) [_msgEphemerisGps_af0] :: MsgEphemerisGps -> !Double -- | Polynomial clock correction coefficient (clock drift) [_msgEphemerisGps_af1] :: MsgEphemerisGps -> !Double -- | Polynomial clock correction coefficient (rate of clock drift) [_msgEphemerisGps_af2] :: MsgEphemerisGps -> !Double -- | Clock reference [_msgEphemerisGps_toc] :: MsgEphemerisGps -> !GpsTimeSec -- | Issue of ephemeris data [_msgEphemerisGps_iode] :: MsgEphemerisGps -> !Word8 -- | Issue of clock data [_msgEphemerisGps_iodc] :: MsgEphemerisGps -> !Word16 msgEphemerisGps_w :: Lens' MsgEphemerisGps Double msgEphemerisGps_toc :: Lens' MsgEphemerisGps GpsTimeSec msgEphemerisGps_tgd :: Lens' MsgEphemerisGps Double msgEphemerisGps_sqrta :: Lens' MsgEphemerisGps Double msgEphemerisGps_omegadot :: Lens' MsgEphemerisGps Double msgEphemerisGps_omega0 :: Lens' MsgEphemerisGps Double msgEphemerisGps_m0 :: Lens' MsgEphemerisGps Double msgEphemerisGps_iode :: Lens' MsgEphemerisGps Word8 msgEphemerisGps_iodc :: Lens' MsgEphemerisGps Word16 msgEphemerisGps_inc_dot :: Lens' MsgEphemerisGps Double msgEphemerisGps_inc :: Lens' MsgEphemerisGps Double msgEphemerisGps_ecc :: Lens' MsgEphemerisGps Double msgEphemerisGps_dn :: Lens' MsgEphemerisGps Double msgEphemerisGps_common :: Lens' MsgEphemerisGps EphemerisCommonContent msgEphemerisGps_c_us :: Lens' MsgEphemerisGps Double msgEphemerisGps_c_uc :: Lens' MsgEphemerisGps Double msgEphemerisGps_c_rs :: Lens' MsgEphemerisGps Double msgEphemerisGps_c_rc :: Lens' MsgEphemerisGps Double msgEphemerisGps_c_is :: Lens' MsgEphemerisGps Double msgEphemerisGps_c_ic :: Lens' MsgEphemerisGps Double msgEphemerisGps_af2 :: Lens' MsgEphemerisGps Double msgEphemerisGps_af1 :: Lens' MsgEphemerisGps Double msgEphemerisGps_af0 :: Lens' MsgEphemerisGps Double msgEphemerisSbasDepA :: Word16 data MsgEphemerisSbasDepA MsgEphemerisSbasDepA :: !EphemerisCommonContentDepA -> ![Double] -> ![Double] -> ![Double] -> !Double -> !Double -> MsgEphemerisSbasDepA -- | Values common for all ephemeris types [_msgEphemerisSbasDepA_common] :: MsgEphemerisSbasDepA -> !EphemerisCommonContentDepA -- | Position of the GEO at time toe [_msgEphemerisSbasDepA_pos] :: MsgEphemerisSbasDepA -> ![Double] -- | Velocity of the GEO at time toe [_msgEphemerisSbasDepA_vel] :: MsgEphemerisSbasDepA -> ![Double] -- | Acceleration of the GEO at time toe [_msgEphemerisSbasDepA_acc] :: MsgEphemerisSbasDepA -> ![Double] -- | Time offset of the GEO clock w.r.t. SBAS Network Time [_msgEphemerisSbasDepA_a_gf0] :: MsgEphemerisSbasDepA -> !Double -- | Drift of the GEO clock w.r.t. SBAS Network Time [_msgEphemerisSbasDepA_a_gf1] :: MsgEphemerisSbasDepA -> !Double msgEphemerisSbasDepA_vel :: Lens' MsgEphemerisSbasDepA [Double] msgEphemerisSbasDepA_pos :: Lens' MsgEphemerisSbasDepA [Double] msgEphemerisSbasDepA_common :: Lens' MsgEphemerisSbasDepA EphemerisCommonContentDepA msgEphemerisSbasDepA_acc :: Lens' MsgEphemerisSbasDepA [Double] msgEphemerisSbasDepA_a_gf1 :: Lens' MsgEphemerisSbasDepA Double msgEphemerisSbasDepA_a_gf0 :: Lens' MsgEphemerisSbasDepA Double msgEphemerisGloDepA :: Word16 -- | SBP class for message MSG_EPHEMERIS_GLO_DEP_A (0x0083). -- -- The ephemeris message returns a set of satellite orbit parameters that -- is used to calculate GLO satellite position, velocity, and clock -- offset. Please see the GLO ICD 5.1 "Table 4.5 Characteristics of words -- of immediate information (ephemeris parameters)" for more details. data MsgEphemerisGloDepA MsgEphemerisGloDepA :: !EphemerisCommonContentDepA -> !Double -> !Double -> ![Double] -> ![Double] -> ![Double] -> MsgEphemerisGloDepA -- | Values common for all ephemeris types [_msgEphemerisGloDepA_common] :: MsgEphemerisGloDepA -> !EphemerisCommonContentDepA -- | Relative deviation of predicted carrier frequency from nominal [_msgEphemerisGloDepA_gamma] :: MsgEphemerisGloDepA -> !Double -- | Correction to the SV time [_msgEphemerisGloDepA_tau] :: MsgEphemerisGloDepA -> !Double -- | Position of the SV at tb in PZ-90.02 coordinates system [_msgEphemerisGloDepA_pos] :: MsgEphemerisGloDepA -> ![Double] -- | Velocity vector of the SV at tb in PZ-90.02 coordinates system [_msgEphemerisGloDepA_vel] :: MsgEphemerisGloDepA -> ![Double] -- | Acceleration vector of the SV at tb in PZ-90.02 coordinates sys [_msgEphemerisGloDepA_acc] :: MsgEphemerisGloDepA -> ![Double] msgEphemerisGloDepA_vel :: Lens' MsgEphemerisGloDepA [Double] msgEphemerisGloDepA_tau :: Lens' MsgEphemerisGloDepA Double msgEphemerisGloDepA_pos :: Lens' MsgEphemerisGloDepA [Double] msgEphemerisGloDepA_gamma :: Lens' MsgEphemerisGloDepA Double msgEphemerisGloDepA_common :: Lens' MsgEphemerisGloDepA EphemerisCommonContentDepA msgEphemerisGloDepA_acc :: Lens' MsgEphemerisGloDepA [Double] msgEphemerisSbas :: Word16 data MsgEphemerisSbas MsgEphemerisSbas :: !EphemerisCommonContent -> ![Double] -> ![Double] -> ![Double] -> !Double -> !Double -> MsgEphemerisSbas -- | Values common for all ephemeris types [_msgEphemerisSbas_common] :: MsgEphemerisSbas -> !EphemerisCommonContent -- | Position of the GEO at time toe [_msgEphemerisSbas_pos] :: MsgEphemerisSbas -> ![Double] -- | Velocity of the GEO at time toe [_msgEphemerisSbas_vel] :: MsgEphemerisSbas -> ![Double] -- | Acceleration of the GEO at time toe [_msgEphemerisSbas_acc] :: MsgEphemerisSbas -> ![Double] -- | Time offset of the GEO clock w.r.t. SBAS Network Time [_msgEphemerisSbas_a_gf0] :: MsgEphemerisSbas -> !Double -- | Drift of the GEO clock w.r.t. SBAS Network Time [_msgEphemerisSbas_a_gf1] :: MsgEphemerisSbas -> !Double msgEphemerisSbas_vel :: Lens' MsgEphemerisSbas [Double] msgEphemerisSbas_pos :: Lens' MsgEphemerisSbas [Double] msgEphemerisSbas_common :: Lens' MsgEphemerisSbas EphemerisCommonContent msgEphemerisSbas_acc :: Lens' MsgEphemerisSbas [Double] msgEphemerisSbas_a_gf1 :: Lens' MsgEphemerisSbas Double msgEphemerisSbas_a_gf0 :: Lens' MsgEphemerisSbas Double msgEphemerisGloDepB :: Word16 -- | SBP class for message MSG_EPHEMERIS_GLO_DEP_B (0x0085). -- -- The ephemeris message returns a set of satellite orbit parameters that -- is used to calculate GLO satellite position, velocity, and clock -- offset. Please see the GLO ICD 5.1 "Table 4.5 Characteristics of words -- of immediate information (ephemeris parameters)" for more details. data MsgEphemerisGloDepB MsgEphemerisGloDepB :: !EphemerisCommonContent -> !Double -> !Double -> ![Double] -> ![Double] -> ![Double] -> MsgEphemerisGloDepB -- | Values common for all ephemeris types [_msgEphemerisGloDepB_common] :: MsgEphemerisGloDepB -> !EphemerisCommonContent -- | Relative deviation of predicted carrier frequency from nominal [_msgEphemerisGloDepB_gamma] :: MsgEphemerisGloDepB -> !Double -- | Correction to the SV time [_msgEphemerisGloDepB_tau] :: MsgEphemerisGloDepB -> !Double -- | Position of the SV at tb in PZ-90.02 coordinates system [_msgEphemerisGloDepB_pos] :: MsgEphemerisGloDepB -> ![Double] -- | Velocity vector of the SV at tb in PZ-90.02 coordinates system [_msgEphemerisGloDepB_vel] :: MsgEphemerisGloDepB -> ![Double] -- | Acceleration vector of the SV at tb in PZ-90.02 coordinates sys [_msgEphemerisGloDepB_acc] :: MsgEphemerisGloDepB -> ![Double] msgEphemerisGloDepB_vel :: Lens' MsgEphemerisGloDepB [Double] msgEphemerisGloDepB_tau :: Lens' MsgEphemerisGloDepB Double msgEphemerisGloDepB_pos :: Lens' MsgEphemerisGloDepB [Double] msgEphemerisGloDepB_gamma :: Lens' MsgEphemerisGloDepB Double msgEphemerisGloDepB_common :: Lens' MsgEphemerisGloDepB EphemerisCommonContent msgEphemerisGloDepB_acc :: Lens' MsgEphemerisGloDepB [Double] msgEphemerisGloDepC :: Word16 -- | SBP class for message MSG_EPHEMERIS_GLO_DEP_C (0x0087). -- -- The ephemeris message returns a set of satellite orbit parameters that -- is used to calculate GLO satellite position, velocity, and clock -- offset. Please see the GLO ICD 5.1 "Table 4.5 Characteristics of words -- of immediate information (ephemeris parameters)" for more details. data MsgEphemerisGloDepC MsgEphemerisGloDepC :: !EphemerisCommonContent -> !Double -> !Double -> !Double -> ![Double] -> ![Double] -> ![Double] -> !Word8 -> MsgEphemerisGloDepC -- | Values common for all ephemeris types [_msgEphemerisGloDepC_common] :: MsgEphemerisGloDepC -> !EphemerisCommonContent -- | Relative deviation of predicted carrier frequency from nominal [_msgEphemerisGloDepC_gamma] :: MsgEphemerisGloDepC -> !Double -- | Correction to the SV time [_msgEphemerisGloDepC_tau] :: MsgEphemerisGloDepC -> !Double -- | Equipment delay between L1 and L2 [_msgEphemerisGloDepC_d_tau] :: MsgEphemerisGloDepC -> !Double -- | Position of the SV at tb in PZ-90.02 coordinates system [_msgEphemerisGloDepC_pos] :: MsgEphemerisGloDepC -> ![Double] -- | Velocity vector of the SV at tb in PZ-90.02 coordinates system [_msgEphemerisGloDepC_vel] :: MsgEphemerisGloDepC -> ![Double] -- | Acceleration vector of the SV at tb in PZ-90.02 coordinates sys [_msgEphemerisGloDepC_acc] :: MsgEphemerisGloDepC -> ![Double] -- | Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid [_msgEphemerisGloDepC_fcn] :: MsgEphemerisGloDepC -> !Word8 msgEphemerisGloDepC_vel :: Lens' MsgEphemerisGloDepC [Double] msgEphemerisGloDepC_tau :: Lens' MsgEphemerisGloDepC Double msgEphemerisGloDepC_pos :: Lens' MsgEphemerisGloDepC [Double] msgEphemerisGloDepC_gamma :: Lens' MsgEphemerisGloDepC Double msgEphemerisGloDepC_fcn :: Lens' MsgEphemerisGloDepC Word8 msgEphemerisGloDepC_d_tau :: Lens' MsgEphemerisGloDepC Double msgEphemerisGloDepC_common :: Lens' MsgEphemerisGloDepC EphemerisCommonContent msgEphemerisGloDepC_acc :: Lens' MsgEphemerisGloDepC [Double] msgEphemerisGlo :: Word16 -- | SBP class for message MSG_EPHEMERIS_GLO (0x0088). -- -- The ephemeris message returns a set of satellite orbit parameters that -- is used to calculate GLO satellite position, velocity, and clock -- offset. Please see the GLO ICD 5.1 "Table 4.5 Characteristics of words -- of immediate information (ephemeris parameters)" for more details. data MsgEphemerisGlo MsgEphemerisGlo :: !EphemerisCommonContent -> !Double -> !Double -> !Double -> ![Double] -> ![Double] -> ![Double] -> !Word8 -> !Word8 -> MsgEphemerisGlo -- | Values common for all ephemeris types [_msgEphemerisGlo_common] :: MsgEphemerisGlo -> !EphemerisCommonContent -- | Relative deviation of predicted carrier frequency from nominal [_msgEphemerisGlo_gamma] :: MsgEphemerisGlo -> !Double -- | Correction to the SV time [_msgEphemerisGlo_tau] :: MsgEphemerisGlo -> !Double -- | Equipment delay between L1 and L2 [_msgEphemerisGlo_d_tau] :: MsgEphemerisGlo -> !Double -- | Position of the SV at tb in PZ-90.02 coordinates system [_msgEphemerisGlo_pos] :: MsgEphemerisGlo -> ![Double] -- | Velocity vector of the SV at tb in PZ-90.02 coordinates system [_msgEphemerisGlo_vel] :: MsgEphemerisGlo -> ![Double] -- | Acceleration vector of the SV at tb in PZ-90.02 coordinates sys [_msgEphemerisGlo_acc] :: MsgEphemerisGlo -> ![Double] -- | Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid [_msgEphemerisGlo_fcn] :: MsgEphemerisGlo -> !Word8 -- | Issue of ephemeris data [_msgEphemerisGlo_iod] :: MsgEphemerisGlo -> !Word8 msgEphemerisGlo_vel :: Lens' MsgEphemerisGlo [Double] msgEphemerisGlo_tau :: Lens' MsgEphemerisGlo Double msgEphemerisGlo_pos :: Lens' MsgEphemerisGlo [Double] msgEphemerisGlo_iod :: Lens' MsgEphemerisGlo Word8 msgEphemerisGlo_gamma :: Lens' MsgEphemerisGlo Double msgEphemerisGlo_fcn :: Lens' MsgEphemerisGlo Word8 msgEphemerisGlo_d_tau :: Lens' MsgEphemerisGlo Double msgEphemerisGlo_common :: Lens' MsgEphemerisGlo EphemerisCommonContent msgEphemerisGlo_acc :: Lens' MsgEphemerisGlo [Double] msgEphemerisDepD :: Word16 -- | SBP class for message MSG_EPHEMERIS_DEP_D (0x0080). -- -- The ephemeris message returns a set of satellite orbit parameters that -- is used to calculate GPS satellite position, velocity, and clock -- offset. Please see the Navstar GPS Space Segment/Navigation user -- interfaces (ICD-GPS-200, Table 20-III) for more details. data MsgEphemerisDepD MsgEphemerisDepD :: !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Word16 -> !Double -> !Word16 -> !Word8 -> !Word8 -> !GnssSignal -> !Word8 -> !Word16 -> !Word32 -> MsgEphemerisDepD -- | Group delay differential between L1 and L2 [_msgEphemerisDepD_tgd] :: MsgEphemerisDepD -> !Double -- | Amplitude of the sine harmonic correction term to the orbit radius [_msgEphemerisDepD_c_rs] :: MsgEphemerisDepD -> !Double -- | Amplitude of the cosine harmonic correction term to the orbit radius [_msgEphemerisDepD_c_rc] :: MsgEphemerisDepD -> !Double -- | Amplitude of the cosine harmonic correction term to the argument of -- latitude [_msgEphemerisDepD_c_uc] :: MsgEphemerisDepD -> !Double -- | Amplitude of the sine harmonic correction term to the argument of -- latitude [_msgEphemerisDepD_c_us] :: MsgEphemerisDepD -> !Double -- | Amplitude of the cosine harmonic correction term to the angle of -- inclination [_msgEphemerisDepD_c_ic] :: MsgEphemerisDepD -> !Double -- | Amplitude of the sine harmonic correction term to the angle of -- inclination [_msgEphemerisDepD_c_is] :: MsgEphemerisDepD -> !Double -- | Mean motion difference [_msgEphemerisDepD_dn] :: MsgEphemerisDepD -> !Double -- | Mean anomaly at reference time [_msgEphemerisDepD_m0] :: MsgEphemerisDepD -> !Double -- | Eccentricity of satellite orbit [_msgEphemerisDepD_ecc] :: MsgEphemerisDepD -> !Double -- | Square root of the semi-major axis of orbit [_msgEphemerisDepD_sqrta] :: MsgEphemerisDepD -> !Double -- | Longitude of ascending node of orbit plane at weekly epoch [_msgEphemerisDepD_omega0] :: MsgEphemerisDepD -> !Double -- | Rate of right ascension [_msgEphemerisDepD_omegadot] :: MsgEphemerisDepD -> !Double -- | Argument of perigee [_msgEphemerisDepD_w] :: MsgEphemerisDepD -> !Double -- | Inclination [_msgEphemerisDepD_inc] :: MsgEphemerisDepD -> !Double -- | Inclination first derivative [_msgEphemerisDepD_inc_dot] :: MsgEphemerisDepD -> !Double -- | Polynomial clock correction coefficient (clock bias) [_msgEphemerisDepD_af0] :: MsgEphemerisDepD -> !Double -- | Polynomial clock correction coefficient (clock drift) [_msgEphemerisDepD_af1] :: MsgEphemerisDepD -> !Double -- | Polynomial clock correction coefficient (rate of clock drift) [_msgEphemerisDepD_af2] :: MsgEphemerisDepD -> !Double -- | Time of week [_msgEphemerisDepD_toe_tow] :: MsgEphemerisDepD -> !Double -- | Week number [_msgEphemerisDepD_toe_wn] :: MsgEphemerisDepD -> !Word16 -- | Clock reference time of week [_msgEphemerisDepD_toc_tow] :: MsgEphemerisDepD -> !Double -- | Clock reference week number [_msgEphemerisDepD_toc_wn] :: MsgEphemerisDepD -> !Word16 -- | Is valid? [_msgEphemerisDepD_valid] :: MsgEphemerisDepD -> !Word8 -- | Satellite is healthy? [_msgEphemerisDepD_healthy] :: MsgEphemerisDepD -> !Word8 -- | GNSS signal identifier [_msgEphemerisDepD_sid] :: MsgEphemerisDepD -> !GnssSignal -- | Issue of ephemeris data [_msgEphemerisDepD_iode] :: MsgEphemerisDepD -> !Word8 -- | Issue of clock data [_msgEphemerisDepD_iodc] :: MsgEphemerisDepD -> !Word16 -- | Reserved field [_msgEphemerisDepD_reserved] :: MsgEphemerisDepD -> !Word32 msgEphemerisDepD_w :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_valid :: Lens' MsgEphemerisDepD Word8 msgEphemerisDepD_toe_wn :: Lens' MsgEphemerisDepD Word16 msgEphemerisDepD_toe_tow :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_toc_wn :: Lens' MsgEphemerisDepD Word16 msgEphemerisDepD_toc_tow :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_tgd :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_sqrta :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_sid :: Lens' MsgEphemerisDepD GnssSignal msgEphemerisDepD_reserved :: Lens' MsgEphemerisDepD Word32 msgEphemerisDepD_omegadot :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_omega0 :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_m0 :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_iode :: Lens' MsgEphemerisDepD Word8 msgEphemerisDepD_iodc :: Lens' MsgEphemerisDepD Word16 msgEphemerisDepD_inc_dot :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_inc :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_healthy :: Lens' MsgEphemerisDepD Word8 msgEphemerisDepD_ecc :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_dn :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_c_us :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_c_uc :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_c_rs :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_c_rc :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_c_is :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_c_ic :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_af2 :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_af1 :: Lens' MsgEphemerisDepD Double msgEphemerisDepD_af0 :: Lens' MsgEphemerisDepD Double msgEphemerisDepA :: Word16 -- | SBP class for message MSG_EPHEMERIS_DEP_A (0x001A). -- -- Deprecated. data MsgEphemerisDepA MsgEphemerisDepA :: !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Word16 -> !Double -> !Word16 -> !Word8 -> !Word8 -> !Word8 -> MsgEphemerisDepA -- | Group delay differential between L1 and L2 [_msgEphemerisDepA_tgd] :: MsgEphemerisDepA -> !Double -- | Amplitude of the sine harmonic correction term to the orbit radius [_msgEphemerisDepA_c_rs] :: MsgEphemerisDepA -> !Double -- | Amplitude of the cosine harmonic correction term to the orbit radius [_msgEphemerisDepA_c_rc] :: MsgEphemerisDepA -> !Double -- | Amplitude of the cosine harmonic correction term to the argument of -- latitude [_msgEphemerisDepA_c_uc] :: MsgEphemerisDepA -> !Double -- | Amplitude of the sine harmonic correction term to the argument of -- latitude [_msgEphemerisDepA_c_us] :: MsgEphemerisDepA -> !Double -- | Amplitude of the cosine harmonic correction term to the angle of -- inclination [_msgEphemerisDepA_c_ic] :: MsgEphemerisDepA -> !Double -- | Amplitude of the sine harmonic correction term to the angle of -- inclination [_msgEphemerisDepA_c_is] :: MsgEphemerisDepA -> !Double -- | Mean motion difference [_msgEphemerisDepA_dn] :: MsgEphemerisDepA -> !Double -- | Mean anomaly at reference time [_msgEphemerisDepA_m0] :: MsgEphemerisDepA -> !Double -- | Eccentricity of satellite orbit [_msgEphemerisDepA_ecc] :: MsgEphemerisDepA -> !Double -- | Square root of the semi-major axis of orbit [_msgEphemerisDepA_sqrta] :: MsgEphemerisDepA -> !Double -- | Longitude of ascending node of orbit plane at weekly epoch [_msgEphemerisDepA_omega0] :: MsgEphemerisDepA -> !Double -- | Rate of right ascension [_msgEphemerisDepA_omegadot] :: MsgEphemerisDepA -> !Double -- | Argument of perigee [_msgEphemerisDepA_w] :: MsgEphemerisDepA -> !Double -- | Inclination [_msgEphemerisDepA_inc] :: MsgEphemerisDepA -> !Double -- | Inclination first derivative [_msgEphemerisDepA_inc_dot] :: MsgEphemerisDepA -> !Double -- | Polynomial clock correction coefficient (clock bias) [_msgEphemerisDepA_af0] :: MsgEphemerisDepA -> !Double -- | Polynomial clock correction coefficient (clock drift) [_msgEphemerisDepA_af1] :: MsgEphemerisDepA -> !Double -- | Polynomial clock correction coefficient (rate of clock drift) [_msgEphemerisDepA_af2] :: MsgEphemerisDepA -> !Double -- | Time of week [_msgEphemerisDepA_toe_tow] :: MsgEphemerisDepA -> !Double -- | Week number [_msgEphemerisDepA_toe_wn] :: MsgEphemerisDepA -> !Word16 -- | Clock reference time of week [_msgEphemerisDepA_toc_tow] :: MsgEphemerisDepA -> !Double -- | Clock reference week number [_msgEphemerisDepA_toc_wn] :: MsgEphemerisDepA -> !Word16 -- | Is valid? [_msgEphemerisDepA_valid] :: MsgEphemerisDepA -> !Word8 -- | Satellite is healthy? [_msgEphemerisDepA_healthy] :: MsgEphemerisDepA -> !Word8 -- | PRN being tracked [_msgEphemerisDepA_prn] :: MsgEphemerisDepA -> !Word8 msgEphemerisDepA_w :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_valid :: Lens' MsgEphemerisDepA Word8 msgEphemerisDepA_toe_wn :: Lens' MsgEphemerisDepA Word16 msgEphemerisDepA_toe_tow :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_toc_wn :: Lens' MsgEphemerisDepA Word16 msgEphemerisDepA_toc_tow :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_tgd :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_sqrta :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_prn :: Lens' MsgEphemerisDepA Word8 msgEphemerisDepA_omegadot :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_omega0 :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_m0 :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_inc_dot :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_inc :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_healthy :: Lens' MsgEphemerisDepA Word8 msgEphemerisDepA_ecc :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_dn :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_c_us :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_c_uc :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_c_rs :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_c_rc :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_c_is :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_c_ic :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_af2 :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_af1 :: Lens' MsgEphemerisDepA Double msgEphemerisDepA_af0 :: Lens' MsgEphemerisDepA Double msgEphemerisDepB :: Word16 -- | SBP class for message MSG_EPHEMERIS_DEP_B (0x0046). -- -- Deprecated. data MsgEphemerisDepB MsgEphemerisDepB :: !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Word16 -> !Double -> !Word16 -> !Word8 -> !Word8 -> !Word8 -> !Word8 -> MsgEphemerisDepB -- | Group delay differential between L1 and L2 [_msgEphemerisDepB_tgd] :: MsgEphemerisDepB -> !Double -- | Amplitude of the sine harmonic correction term to the orbit radius [_msgEphemerisDepB_c_rs] :: MsgEphemerisDepB -> !Double -- | Amplitude of the cosine harmonic correction term to the orbit radius [_msgEphemerisDepB_c_rc] :: MsgEphemerisDepB -> !Double -- | Amplitude of the cosine harmonic correction term to the argument of -- latitude [_msgEphemerisDepB_c_uc] :: MsgEphemerisDepB -> !Double -- | Amplitude of the sine harmonic correction term to the argument of -- latitude [_msgEphemerisDepB_c_us] :: MsgEphemerisDepB -> !Double -- | Amplitude of the cosine harmonic correction term to the angle of -- inclination [_msgEphemerisDepB_c_ic] :: MsgEphemerisDepB -> !Double -- | Amplitude of the sine harmonic correction term to the angle of -- inclination [_msgEphemerisDepB_c_is] :: MsgEphemerisDepB -> !Double -- | Mean motion difference [_msgEphemerisDepB_dn] :: MsgEphemerisDepB -> !Double -- | Mean anomaly at reference time [_msgEphemerisDepB_m0] :: MsgEphemerisDepB -> !Double -- | Eccentricity of satellite orbit [_msgEphemerisDepB_ecc] :: MsgEphemerisDepB -> !Double -- | Square root of the semi-major axis of orbit [_msgEphemerisDepB_sqrta] :: MsgEphemerisDepB -> !Double -- | Longitude of ascending node of orbit plane at weekly epoch [_msgEphemerisDepB_omega0] :: MsgEphemerisDepB -> !Double -- | Rate of right ascension [_msgEphemerisDepB_omegadot] :: MsgEphemerisDepB -> !Double -- | Argument of perigee [_msgEphemerisDepB_w] :: MsgEphemerisDepB -> !Double -- | Inclination [_msgEphemerisDepB_inc] :: MsgEphemerisDepB -> !Double -- | Inclination first derivative [_msgEphemerisDepB_inc_dot] :: MsgEphemerisDepB -> !Double -- | Polynomial clock correction coefficient (clock bias) [_msgEphemerisDepB_af0] :: MsgEphemerisDepB -> !Double -- | Polynomial clock correction coefficient (clock drift) [_msgEphemerisDepB_af1] :: MsgEphemerisDepB -> !Double -- | Polynomial clock correction coefficient (rate of clock drift) [_msgEphemerisDepB_af2] :: MsgEphemerisDepB -> !Double -- | Time of week [_msgEphemerisDepB_toe_tow] :: MsgEphemerisDepB -> !Double -- | Week number [_msgEphemerisDepB_toe_wn] :: MsgEphemerisDepB -> !Word16 -- | Clock reference time of week [_msgEphemerisDepB_toc_tow] :: MsgEphemerisDepB -> !Double -- | Clock reference week number [_msgEphemerisDepB_toc_wn] :: MsgEphemerisDepB -> !Word16 -- | Is valid? [_msgEphemerisDepB_valid] :: MsgEphemerisDepB -> !Word8 -- | Satellite is healthy? [_msgEphemerisDepB_healthy] :: MsgEphemerisDepB -> !Word8 -- | PRN being tracked [_msgEphemerisDepB_prn] :: MsgEphemerisDepB -> !Word8 -- | Issue of ephemeris data [_msgEphemerisDepB_iode] :: MsgEphemerisDepB -> !Word8 msgEphemerisDepB_w :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_valid :: Lens' MsgEphemerisDepB Word8 msgEphemerisDepB_toe_wn :: Lens' MsgEphemerisDepB Word16 msgEphemerisDepB_toe_tow :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_toc_wn :: Lens' MsgEphemerisDepB Word16 msgEphemerisDepB_toc_tow :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_tgd :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_sqrta :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_prn :: Lens' MsgEphemerisDepB Word8 msgEphemerisDepB_omegadot :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_omega0 :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_m0 :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_iode :: Lens' MsgEphemerisDepB Word8 msgEphemerisDepB_inc_dot :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_inc :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_healthy :: Lens' MsgEphemerisDepB Word8 msgEphemerisDepB_ecc :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_dn :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_c_us :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_c_uc :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_c_rs :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_c_rc :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_c_is :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_c_ic :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_af2 :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_af1 :: Lens' MsgEphemerisDepB Double msgEphemerisDepB_af0 :: Lens' MsgEphemerisDepB Double msgEphemerisDepC :: Word16 -- | SBP class for message MSG_EPHEMERIS_DEP_C (0x0047). -- -- The ephemeris message returns a set of satellite orbit parameters that -- is used to calculate GPS satellite position, velocity, and clock -- offset. Please see the Navstar GPS Space Segment/Navigation user -- interfaces (ICD-GPS-200, Table 20-III) for more details. data MsgEphemerisDepC MsgEphemerisDepC :: !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Word16 -> !Double -> !Word16 -> !Word8 -> !Word8 -> !GnssSignal -> !Word8 -> !Word16 -> !Word32 -> MsgEphemerisDepC -- | Group delay differential between L1 and L2 [_msgEphemerisDepC_tgd] :: MsgEphemerisDepC -> !Double -- | Amplitude of the sine harmonic correction term to the orbit radius [_msgEphemerisDepC_c_rs] :: MsgEphemerisDepC -> !Double -- | Amplitude of the cosine harmonic correction term to the orbit radius [_msgEphemerisDepC_c_rc] :: MsgEphemerisDepC -> !Double -- | Amplitude of the cosine harmonic correction term to the argument of -- latitude [_msgEphemerisDepC_c_uc] :: MsgEphemerisDepC -> !Double -- | Amplitude of the sine harmonic correction term to the argument of -- latitude [_msgEphemerisDepC_c_us] :: MsgEphemerisDepC -> !Double -- | Amplitude of the cosine harmonic correction term to the angle of -- inclination [_msgEphemerisDepC_c_ic] :: MsgEphemerisDepC -> !Double -- | Amplitude of the sine harmonic correction term to the angle of -- inclination [_msgEphemerisDepC_c_is] :: MsgEphemerisDepC -> !Double -- | Mean motion difference [_msgEphemerisDepC_dn] :: MsgEphemerisDepC -> !Double -- | Mean anomaly at reference time [_msgEphemerisDepC_m0] :: MsgEphemerisDepC -> !Double -- | Eccentricity of satellite orbit [_msgEphemerisDepC_ecc] :: MsgEphemerisDepC -> !Double -- | Square root of the semi-major axis of orbit [_msgEphemerisDepC_sqrta] :: MsgEphemerisDepC -> !Double -- | Longitude of ascending node of orbit plane at weekly epoch [_msgEphemerisDepC_omega0] :: MsgEphemerisDepC -> !Double -- | Rate of right ascension [_msgEphemerisDepC_omegadot] :: MsgEphemerisDepC -> !Double -- | Argument of perigee [_msgEphemerisDepC_w] :: MsgEphemerisDepC -> !Double -- | Inclination [_msgEphemerisDepC_inc] :: MsgEphemerisDepC -> !Double -- | Inclination first derivative [_msgEphemerisDepC_inc_dot] :: MsgEphemerisDepC -> !Double -- | Polynomial clock correction coefficient (clock bias) [_msgEphemerisDepC_af0] :: MsgEphemerisDepC -> !Double -- | Polynomial clock correction coefficient (clock drift) [_msgEphemerisDepC_af1] :: MsgEphemerisDepC -> !Double -- | Polynomial clock correction coefficient (rate of clock drift) [_msgEphemerisDepC_af2] :: MsgEphemerisDepC -> !Double -- | Time of week [_msgEphemerisDepC_toe_tow] :: MsgEphemerisDepC -> !Double -- | Week number [_msgEphemerisDepC_toe_wn] :: MsgEphemerisDepC -> !Word16 -- | Clock reference time of week [_msgEphemerisDepC_toc_tow] :: MsgEphemerisDepC -> !Double -- | Clock reference week number [_msgEphemerisDepC_toc_wn] :: MsgEphemerisDepC -> !Word16 -- | Is valid? [_msgEphemerisDepC_valid] :: MsgEphemerisDepC -> !Word8 -- | Satellite is healthy? [_msgEphemerisDepC_healthy] :: MsgEphemerisDepC -> !Word8 -- | GNSS signal identifier [_msgEphemerisDepC_sid] :: MsgEphemerisDepC -> !GnssSignal -- | Issue of ephemeris data [_msgEphemerisDepC_iode] :: MsgEphemerisDepC -> !Word8 -- | Issue of clock data [_msgEphemerisDepC_iodc] :: MsgEphemerisDepC -> !Word16 -- | Reserved field [_msgEphemerisDepC_reserved] :: MsgEphemerisDepC -> !Word32 msgEphemerisDepC_w :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_valid :: Lens' MsgEphemerisDepC Word8 msgEphemerisDepC_toe_wn :: Lens' MsgEphemerisDepC Word16 msgEphemerisDepC_toe_tow :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_toc_wn :: Lens' MsgEphemerisDepC Word16 msgEphemerisDepC_toc_tow :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_tgd :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_sqrta :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_sid :: Lens' MsgEphemerisDepC GnssSignal msgEphemerisDepC_reserved :: Lens' MsgEphemerisDepC Word32 msgEphemerisDepC_omegadot :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_omega0 :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_m0 :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_iode :: Lens' MsgEphemerisDepC Word8 msgEphemerisDepC_iodc :: Lens' MsgEphemerisDepC Word16 msgEphemerisDepC_inc_dot :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_inc :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_healthy :: Lens' MsgEphemerisDepC Word8 msgEphemerisDepC_ecc :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_dn :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_c_us :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_c_uc :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_c_rs :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_c_rc :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_c_is :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_c_ic :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_af2 :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_af1 :: Lens' MsgEphemerisDepC Double msgEphemerisDepC_af0 :: Lens' MsgEphemerisDepC Double -- | ObservationHeaderDep. -- -- Header of a GPS observation message. data ObservationHeaderDep ObservationHeaderDep :: !GpsTime -> !Word8 -> ObservationHeaderDep -- | GPS time of this observation [_observationHeaderDep_t] :: ObservationHeaderDep -> !GpsTime -- | Total number of observations. First nibble is the size of the sequence -- (n), second nibble is the zero-indexed counter (ith packet of n) [_observationHeaderDep_n_obs] :: ObservationHeaderDep -> !Word8 observationHeaderDep_t :: Lens' ObservationHeaderDep GpsTime observationHeaderDep_n_obs :: Lens' ObservationHeaderDep Word8 -- | CarrierPhaseDepA. -- -- Carrier phase measurement in cycles represented as a 40-bit fixed -- point number with Q32.8 layout, i.e. 32-bits of whole cycles and -- 8-bits of fractional cycles. This has the opposite sign convention -- than a typical GPS receiver and the phase has the opposite sign as the -- pseudorange. data CarrierPhaseDepA CarrierPhaseDepA :: !Int32 -> !Word8 -> CarrierPhaseDepA -- | Carrier phase whole cycles [_carrierPhaseDepA_i] :: CarrierPhaseDepA -> !Int32 -- | Carrier phase fractional part [_carrierPhaseDepA_f] :: CarrierPhaseDepA -> !Word8 carrierPhaseDepA_i :: Lens' CarrierPhaseDepA Int32 carrierPhaseDepA_f :: Lens' CarrierPhaseDepA Word8 -- | PackedObsContentDepA. -- -- Deprecated. data PackedObsContentDepA PackedObsContentDepA :: !Word32 -> !CarrierPhaseDepA -> !Word8 -> !Word16 -> !Word8 -> PackedObsContentDepA -- | Pseudorange observation [_packedObsContentDepA_P] :: PackedObsContentDepA -> !Word32 -- | Carrier phase observation with opposite sign from typical convention [_packedObsContentDepA_L] :: PackedObsContentDepA -> !CarrierPhaseDepA -- | Carrier-to-Noise density [_packedObsContentDepA_cn0] :: PackedObsContentDepA -> !Word8 -- | Lock indicator. This value changes whenever a satellite signal has -- lost and regained lock, indicating that the carrier phase ambiguity -- may have changed. [_packedObsContentDepA_lock] :: PackedObsContentDepA -> !Word16 -- | PRN-1 identifier of the satellite signal [_packedObsContentDepA_prn] :: PackedObsContentDepA -> !Word8 packedObsContentDepA_prn :: Lens' PackedObsContentDepA Word8 packedObsContentDepA_lock :: Lens' PackedObsContentDepA Word16 packedObsContentDepA_cn0 :: Lens' PackedObsContentDepA Word8 packedObsContentDepA_P :: Lens' PackedObsContentDepA Word32 packedObsContentDepA_L :: Lens' PackedObsContentDepA CarrierPhaseDepA -- | PackedObsContentDepB. -- -- Pseudorange and carrier phase observation for a satellite being -- tracked. Pseudoranges are referenced to a nominal pseudorange. data PackedObsContentDepB PackedObsContentDepB :: !Word32 -> !CarrierPhaseDepA -> !Word8 -> !Word16 -> !GnssSignal -> PackedObsContentDepB -- | Pseudorange observation [_packedObsContentDepB_P] :: PackedObsContentDepB -> !Word32 -- | Carrier phase observation with opposite sign from typical convention. [_packedObsContentDepB_L] :: PackedObsContentDepB -> !CarrierPhaseDepA -- | Carrier-to-Noise density [_packedObsContentDepB_cn0] :: PackedObsContentDepB -> !Word8 -- | Lock indicator. This value changes whenever a satellite signal has -- lost and regained lock, indicating that the carrier phase ambiguity -- may have changed. [_packedObsContentDepB_lock] :: PackedObsContentDepB -> !Word16 -- | GNSS signal identifier [_packedObsContentDepB_sid] :: PackedObsContentDepB -> !GnssSignal packedObsContentDepB_sid :: Lens' PackedObsContentDepB GnssSignal packedObsContentDepB_lock :: Lens' PackedObsContentDepB Word16 packedObsContentDepB_cn0 :: Lens' PackedObsContentDepB Word8 packedObsContentDepB_P :: Lens' PackedObsContentDepB Word32 packedObsContentDepB_L :: Lens' PackedObsContentDepB CarrierPhaseDepA -- | PackedObsContentDepC. -- -- Pseudorange and carrier phase observation for a satellite being -- tracked. The observations are be interoperable with 3rd party -- receivers and conform with typical RTCMv3 GNSS observations. data PackedObsContentDepC PackedObsContentDepC :: !Word32 -> !CarrierPhase -> !Word8 -> !Word16 -> !GnssSignal -> PackedObsContentDepC -- | Pseudorange observation [_packedObsContentDepC_P] :: PackedObsContentDepC -> !Word32 -- | Carrier phase observation with typical sign convention. [_packedObsContentDepC_L] :: PackedObsContentDepC -> !CarrierPhase -- | Carrier-to-Noise density [_packedObsContentDepC_cn0] :: PackedObsContentDepC -> !Word8 -- | Lock indicator. This value changes whenever a satellite signal has -- lost and regained lock, indicating that the carrier phase ambiguity -- may have changed. [_packedObsContentDepC_lock] :: PackedObsContentDepC -> !Word16 -- | GNSS signal identifier [_packedObsContentDepC_sid] :: PackedObsContentDepC -> !GnssSignal packedObsContentDepC_sid :: Lens' PackedObsContentDepC GnssSignal packedObsContentDepC_lock :: Lens' PackedObsContentDepC Word16 packedObsContentDepC_cn0 :: Lens' PackedObsContentDepC Word8 packedObsContentDepC_P :: Lens' PackedObsContentDepC Word32 packedObsContentDepC_L :: Lens' PackedObsContentDepC CarrierPhase msgObsDepA :: Word16 -- | SBP class for message MSG_OBS_DEP_A (0x0045). -- -- Deprecated. data MsgObsDepA MsgObsDepA :: !ObservationHeaderDep -> ![PackedObsContentDepA] -> MsgObsDepA -- | Header of a GPS observation message [_msgObsDepA_header] :: MsgObsDepA -> !ObservationHeaderDep -- | Pseudorange and carrier phase observation for a satellite being -- tracked. [_msgObsDepA_obs] :: MsgObsDepA -> ![PackedObsContentDepA] msgObsDepA_obs :: Lens' MsgObsDepA [PackedObsContentDepA] msgObsDepA_header :: Lens' MsgObsDepA ObservationHeaderDep msgObsDepB :: Word16 -- | SBP class for message MSG_OBS_DEP_B (0x0043). -- -- This observation message has been deprecated in favor of observations -- that are more interoperable. This message should be used for -- observations referenced to a nominal pseudorange which are not -- interoperable with most 3rd party GNSS receievers or typical RTCMv3 -- observations. data MsgObsDepB MsgObsDepB :: !ObservationHeaderDep -> ![PackedObsContentDepB] -> MsgObsDepB -- | Header of a GPS observation message [_msgObsDepB_header] :: MsgObsDepB -> !ObservationHeaderDep -- | Pseudorange and carrier phase observation for a satellite being -- tracked. [_msgObsDepB_obs] :: MsgObsDepB -> ![PackedObsContentDepB] msgObsDepB_obs :: Lens' MsgObsDepB [PackedObsContentDepB] msgObsDepB_header :: Lens' MsgObsDepB ObservationHeaderDep msgObsDepC :: Word16 -- | SBP class for message MSG_OBS_DEP_C (0x0049). -- -- The GPS observations message reports all the raw pseudorange and -- carrier phase observations for the satellites being tracked by the -- device. Carrier phase observation here is represented as a 40-bit -- fixed point number with Q32.8 layout (i.e. 32-bits of whole cycles and -- 8-bits of fractional cycles). The observations are interoperable with -- 3rd party receivers and conform with typical RTCMv3 GNSS observations. data MsgObsDepC MsgObsDepC :: !ObservationHeaderDep -> ![PackedObsContentDepC] -> MsgObsDepC -- | Header of a GPS observation message [_msgObsDepC_header] :: MsgObsDepC -> !ObservationHeaderDep -- | Pseudorange and carrier phase observation for a satellite being -- tracked. [_msgObsDepC_obs] :: MsgObsDepC -> ![PackedObsContentDepC] msgObsDepC_obs :: Lens' MsgObsDepC [PackedObsContentDepC] msgObsDepC_header :: Lens' MsgObsDepC ObservationHeaderDep msgIono :: Word16 -- | SBP class for message MSG_IONO (0x0090). -- -- The ionospheric parameters which allow the "L1 only" or "L2 only" user -- to utilize the ionospheric model for computation of the ionospheric -- delay. Please see ICD-GPS-200 (Chapter 20.3.3.5.1.7) for more details. data MsgIono MsgIono :: !GpsTimeSec -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> MsgIono -- | Navigation Message Correction Table Valitidy Time [_msgIono_t_nmct] :: MsgIono -> !GpsTimeSec [_msgIono_a0] :: MsgIono -> !Double [_msgIono_a1] :: MsgIono -> !Double [_msgIono_a2] :: MsgIono -> !Double [_msgIono_a3] :: MsgIono -> !Double [_msgIono_b0] :: MsgIono -> !Double [_msgIono_b1] :: MsgIono -> !Double [_msgIono_b2] :: MsgIono -> !Double [_msgIono_b3] :: MsgIono -> !Double msgIono_t_nmct :: Lens' MsgIono GpsTimeSec msgIono_b3 :: Lens' MsgIono Double msgIono_b2 :: Lens' MsgIono Double msgIono_b1 :: Lens' MsgIono Double msgIono_b0 :: Lens' MsgIono Double msgIono_a3 :: Lens' MsgIono Double msgIono_a2 :: Lens' MsgIono Double msgIono_a1 :: Lens' MsgIono Double msgIono_a0 :: Lens' MsgIono Double msgSvConfigurationGps :: Word16 -- | SBP class for message MSG_SV_CONFIGURATION_GPS (0x0091). -- -- Please see ICD-GPS-200 (Chapter 20.3.3.5.1.4) for more details. data MsgSvConfigurationGps MsgSvConfigurationGps :: !GpsTimeSec -> !Word32 -> MsgSvConfigurationGps -- | Navigation Message Correction Table Valitidy Time [_msgSvConfigurationGps_t_nmct] :: MsgSvConfigurationGps -> !GpsTimeSec -- | L2C capability mask, SV32 bit being MSB, SV1 bit being LSB [_msgSvConfigurationGps_l2c_mask] :: MsgSvConfigurationGps -> !Word32 msgSvConfigurationGps_t_nmct :: Lens' MsgSvConfigurationGps GpsTimeSec msgSvConfigurationGps_l2c_mask :: Lens' MsgSvConfigurationGps Word32 msgGroupDelayDepA :: Word16 -- | SBP class for message MSG_GROUP_DELAY_DEP_A (0x0092). -- -- Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. data MsgGroupDelayDepA MsgGroupDelayDepA :: !GpsTime -> !Word8 -> !Word8 -> !Int16 -> !Int16 -> !Int16 -> MsgGroupDelayDepA -- | Data Predict Time of Week [_msgGroupDelayDepA_t_op] :: MsgGroupDelayDepA -> !GpsTime -- | Satellite number [_msgGroupDelayDepA_prn] :: MsgGroupDelayDepA -> !Word8 -- | bit-field indicating validity of the values, LSB indicating tgd -- validity etc. 1 = value is valid, 0 = value is not valid. [_msgGroupDelayDepA_valid] :: MsgGroupDelayDepA -> !Word8 [_msgGroupDelayDepA_tgd] :: MsgGroupDelayDepA -> !Int16 [_msgGroupDelayDepA_isc_l1ca] :: MsgGroupDelayDepA -> !Int16 [_msgGroupDelayDepA_isc_l2c] :: MsgGroupDelayDepA -> !Int16 msgGroupDelayDepA_valid :: Lens' MsgGroupDelayDepA Word8 msgGroupDelayDepA_tgd :: Lens' MsgGroupDelayDepA Int16 msgGroupDelayDepA_t_op :: Lens' MsgGroupDelayDepA GpsTime msgGroupDelayDepA_prn :: Lens' MsgGroupDelayDepA Word8 msgGroupDelayDepA_isc_l2c :: Lens' MsgGroupDelayDepA Int16 msgGroupDelayDepA_isc_l1ca :: Lens' MsgGroupDelayDepA Int16 msgGroupDelay :: Word16 -- | SBP class for message MSG_GROUP_DELAY (0x0093). -- -- Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. data MsgGroupDelay MsgGroupDelay :: !GpsTimeSec -> !GnssSignal -> !Word8 -> !Int16 -> !Int16 -> !Int16 -> MsgGroupDelay -- | Data Predict Time of Week [_msgGroupDelay_t_op] :: MsgGroupDelay -> !GpsTimeSec -- | GNSS signal identifier [_msgGroupDelay_sid] :: MsgGroupDelay -> !GnssSignal -- | bit-field indicating validity of the values, LSB indicating tgd -- validity etc. 1 = value is valid, 0 = value is not valid. [_msgGroupDelay_valid] :: MsgGroupDelay -> !Word8 [_msgGroupDelay_tgd] :: MsgGroupDelay -> !Int16 [_msgGroupDelay_isc_l1ca] :: MsgGroupDelay -> !Int16 [_msgGroupDelay_isc_l2c] :: MsgGroupDelay -> !Int16 msgGroupDelay_valid :: Lens' MsgGroupDelay Word8 msgGroupDelay_tgd :: Lens' MsgGroupDelay Int16 msgGroupDelay_t_op :: Lens' MsgGroupDelay GpsTimeSec msgGroupDelay_sid :: Lens' MsgGroupDelay GnssSignal msgGroupDelay_isc_l2c :: Lens' MsgGroupDelay Int16 msgGroupDelay_isc_l1ca :: Lens' MsgGroupDelay Int16 data AlmanacCommonContent AlmanacCommonContent :: !GnssSignal -> !GpsTimeSec -> !Double -> !Word32 -> !Word8 -> !Word8 -> AlmanacCommonContent -- | GNSS signal identifier [_almanacCommonContent_sid] :: AlmanacCommonContent -> !GnssSignal -- | Reference time of almanac [_almanacCommonContent_toa] :: AlmanacCommonContent -> !GpsTimeSec -- | User Range Accuracy [_almanacCommonContent_ura] :: AlmanacCommonContent -> !Double -- | Curve fit interval [_almanacCommonContent_fit_interval] :: AlmanacCommonContent -> !Word32 -- | Status of almanac, 1 = valid, 0 = invalid [_almanacCommonContent_valid] :: AlmanacCommonContent -> !Word8 -- | Satellite health status for GPS: - bits 5-7: NAV data health status. -- See IS-GPS-200H Table 20-VII: NAV Data Health Indications. - bits 0-4: -- Signal health status. See IS-GPS-200H Table 20-VIII. Codes for Health -- of SV Signal Components. Satellite health status for GLO: See GLO ICD -- 5.1 table 5.1 for details - bit 0: C(n), "unhealthy" flag that is -- transmitted within non-immediate data and indicates overall -- constellation status at the moment of almanac uploading. '0' indicates -- malfunction of n-satellite. '1' indicates that n-satellite is -- operational. - bit 1: Bn(ln), '0' indicates the satellite is -- operational and suitable for navigation. [_almanacCommonContent_health_bits] :: AlmanacCommonContent -> !Word8 almanacCommonContent_valid :: Lens' AlmanacCommonContent Word8 almanacCommonContent_ura :: Lens' AlmanacCommonContent Double almanacCommonContent_toa :: Lens' AlmanacCommonContent GpsTimeSec almanacCommonContent_sid :: Lens' AlmanacCommonContent GnssSignal almanacCommonContent_health_bits :: Lens' AlmanacCommonContent Word8 almanacCommonContent_fit_interval :: Lens' AlmanacCommonContent Word32 msgAlmanacGps :: Word16 -- | SBP class for message MSG_ALMANAC_GPS (0x0070). -- -- The almanac message returns a set of satellite orbit parameters. -- Almanac data is not very precise and is considered valid for up to -- several months. Please see the Navstar GPS Space Segment/Navigation -- user interfaces (ICD- GPS-200, Chapter 20.3.3.5.1.2 Almanac Data) for -- more details. data MsgAlmanacGps MsgAlmanacGps :: !AlmanacCommonContent -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> MsgAlmanacGps -- | Values common for all almanac types [_msgAlmanacGps_common] :: MsgAlmanacGps -> !AlmanacCommonContent -- | Mean anomaly at reference time [_msgAlmanacGps_m0] :: MsgAlmanacGps -> !Double -- | Eccentricity of satellite orbit [_msgAlmanacGps_ecc] :: MsgAlmanacGps -> !Double -- | Square root of the semi-major axis of orbit [_msgAlmanacGps_sqrta] :: MsgAlmanacGps -> !Double -- | Longitude of ascending node of orbit plane at weekly epoch [_msgAlmanacGps_omega0] :: MsgAlmanacGps -> !Double -- | Rate of right ascension [_msgAlmanacGps_omegadot] :: MsgAlmanacGps -> !Double -- | Argument of perigee [_msgAlmanacGps_w] :: MsgAlmanacGps -> !Double -- | Inclination [_msgAlmanacGps_inc] :: MsgAlmanacGps -> !Double -- | Polynomial clock correction coefficient (clock bias) [_msgAlmanacGps_af0] :: MsgAlmanacGps -> !Double -- | Polynomial clock correction coefficient (clock drift) [_msgAlmanacGps_af1] :: MsgAlmanacGps -> !Double msgAlmanacGps_w :: Lens' MsgAlmanacGps Double msgAlmanacGps_sqrta :: Lens' MsgAlmanacGps Double msgAlmanacGps_omegadot :: Lens' MsgAlmanacGps Double msgAlmanacGps_omega0 :: Lens' MsgAlmanacGps Double msgAlmanacGps_m0 :: Lens' MsgAlmanacGps Double msgAlmanacGps_inc :: Lens' MsgAlmanacGps Double msgAlmanacGps_ecc :: Lens' MsgAlmanacGps Double msgAlmanacGps_common :: Lens' MsgAlmanacGps AlmanacCommonContent msgAlmanacGps_af1 :: Lens' MsgAlmanacGps Double msgAlmanacGps_af0 :: Lens' MsgAlmanacGps Double msgAlmanacGlo :: Word16 -- | SBP class for message MSG_ALMANAC_GLO (0x0071). -- -- The almanac message returns a set of satellite orbit parameters. -- Almanac data is not very precise and is considered valid for up to -- several months. Please see the GLO ICD 5.1 "Chapter 4.5 Non-immediate -- information and almanac" for details. data MsgAlmanacGlo MsgAlmanacGlo :: !AlmanacCommonContent -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> !Double -> MsgAlmanacGlo -- | Values common for all almanac types [_msgAlmanacGlo_common] :: MsgAlmanacGlo -> !AlmanacCommonContent -- | Longitude of the first ascending node of the orbit in PZ-90.02 -- coordinate system [_msgAlmanacGlo_lambda_na] :: MsgAlmanacGlo -> !Double -- | Time of the first ascending node passage [_msgAlmanacGlo_t_lambda_na] :: MsgAlmanacGlo -> !Double -- | Value of inclination at instant of t_lambda [_msgAlmanacGlo_i] :: MsgAlmanacGlo -> !Double -- | Value of Draconian period at instant of t_lambda [_msgAlmanacGlo_t] :: MsgAlmanacGlo -> !Double -- | Rate of change of the Draconian period [_msgAlmanacGlo_t_dot] :: MsgAlmanacGlo -> !Double -- | Eccentricity at instant of t_lambda [_msgAlmanacGlo_epsilon] :: MsgAlmanacGlo -> !Double -- | Argument of perigee at instant of t_lambda [_msgAlmanacGlo_omega] :: MsgAlmanacGlo -> !Double msgAlmanacGlo_t_lambda_na :: Lens' MsgAlmanacGlo Double msgAlmanacGlo_t_dot :: Lens' MsgAlmanacGlo Double msgAlmanacGlo_t :: Lens' MsgAlmanacGlo Double msgAlmanacGlo_omega :: Lens' MsgAlmanacGlo Double msgAlmanacGlo_lambda_na :: Lens' MsgAlmanacGlo Double msgAlmanacGlo_i :: Lens' MsgAlmanacGlo Double msgAlmanacGlo_epsilon :: Lens' MsgAlmanacGlo Double msgAlmanacGlo_common :: Lens' MsgAlmanacGlo AlmanacCommonContent msgFcnsGlo :: Word16 -- | SBP class for message MSG_FCNS_GLO (0x0072). -- -- The message reports mapping information regarding GLONASS SV orbital -- and frequency slots. Mapped as follow: index (SV orbital slot) -- fcns[index] 0 0xFF 1 FCN for SV orbital slot 1 ... ... 28 FCN for SV -- orbital slot 28 29 0xFF 30 0xFF 31 0xFF data MsgFcnsGlo MsgFcnsGlo :: !Word16 -> !Word32 -> ![Word8] -> MsgFcnsGlo -- | GPS Week number [_msgFcnsGlo_wn] :: MsgFcnsGlo -> !Word16 -- | GPS Time of week [_msgFcnsGlo_tow_ms] :: MsgFcnsGlo -> !Word32 -- | GLONASS fequency number per orbital slot [_msgFcnsGlo_fcns] :: MsgFcnsGlo -> ![Word8] msgFcnsGlo_wn :: Lens' MsgFcnsGlo Word16 msgFcnsGlo_tow_ms :: Lens' MsgFcnsGlo Word32 msgFcnsGlo_fcns :: Lens' MsgFcnsGlo [Word8] msgAlmanac :: Word16 -- | SBP class for message MSG_ALMANAC (0x0069). -- -- This is a legacy message for sending and loading a satellite alamanac -- onto the Piksi's flash memory from the host. data MsgAlmanac MsgAlmanac :: MsgAlmanac msgSetTime :: Word16 -- | SBP class for message MSG_SET_TIME (0x0068). -- -- This message sets up timing functionality using a coarse GPS time -- estimate sent by the host. data MsgSetTime MsgSetTime :: MsgSetTime msgReset :: Word16 -- | SBP class for message MSG_RESET (0x00B6). -- -- This message from the host resets the Piksi back into the bootloader. data MsgReset MsgReset :: !Word32 -> MsgReset -- | Reset flags [_msgReset_flags] :: MsgReset -> !Word32 msgReset_flags :: Iso' MsgReset Word32 msgResetDep :: Word16 -- | SBP class for message MSG_RESET_DEP (0x00B2). -- -- This message from the host resets the Piksi back into the bootloader. data MsgResetDep MsgResetDep :: MsgResetDep msgCwResults :: Word16 -- | SBP class for message MSG_CW_RESULTS (0x00C0). -- -- This is an unused legacy message for result reporting from the CW -- interference channel on the SwiftNAP. This message will be removed in -- a future release. data MsgCwResults MsgCwResults :: MsgCwResults msgCwStart :: Word16 -- | SBP class for message MSG_CW_START (0x00C1). -- -- This is an unused legacy message from the host for starting the CW -- interference channel on the SwiftNAP. This message will be removed in -- a future release. data MsgCwStart MsgCwStart :: MsgCwStart msgResetFilters :: Word16 -- | SBP class for message MSG_RESET_FILTERS (0x0022). -- -- This message resets either the DGNSS Kalman filters or Integer -- Ambiguity Resolution (IAR) process. data MsgResetFilters MsgResetFilters :: !Word8 -> MsgResetFilters -- | Filter flags [_msgResetFilters_filter] :: MsgResetFilters -> !Word8 msgResetFilters_filter :: Iso' MsgResetFilters Word8 msgInitBase :: Word16 -- | SBP class for message MSG_INIT_BASE (0x0023). -- -- This message initializes the integer ambiguity resolution (IAR) -- process on the Piksi to use an assumed baseline position between the -- base station and rover receivers. Warns via MSG_PRINT if there aren't -- a shared minimum number (4) of satellite observations between the two. data MsgInitBase MsgInitBase :: MsgInitBase msgThreadState :: Word16 -- | SBP class for message MSG_THREAD_STATE (0x0017). -- -- The thread usage message from the device reports real-time operating -- system (RTOS) thread usage statistics for the named thread. The -- reported percentage values must be normalized. data MsgThreadState MsgThreadState :: !Text -> !Word16 -> !Word32 -> MsgThreadState -- | Thread name (NULL terminated) [_msgThreadState_name] :: MsgThreadState -> !Text -- | Percentage cpu use for this thread. Values range from 0 - 1000 and -- needs to be renormalized to 100 [_msgThreadState_cpu] :: MsgThreadState -> !Word16 -- | Free stack space for this thread [_msgThreadState_stack_free] :: MsgThreadState -> !Word32 msgThreadState_stack_free :: Lens' MsgThreadState Word32 msgThreadState_name :: Lens' MsgThreadState Text msgThreadState_cpu :: Lens' MsgThreadState Word16 -- | UARTChannel. -- -- Throughput, utilization, and error counts on the RX/TX buffers of this -- UART channel. The reported percentage values must be normalized. data UARTChannel UARTChannel :: !Float -> !Float -> !Word16 -> !Word16 -> !Word8 -> !Word8 -> UARTChannel -- | UART transmit throughput [_uARTChannel_tx_throughput] :: UARTChannel -> !Float -- | UART receive throughput [_uARTChannel_rx_throughput] :: UARTChannel -> !Float -- | UART CRC error count [_uARTChannel_crc_error_count] :: UARTChannel -> !Word16 -- | UART IO error count [_uARTChannel_io_error_count] :: UARTChannel -> !Word16 -- | UART transmit buffer percentage utilization (ranges from 0 to 255) [_uARTChannel_tx_buffer_level] :: UARTChannel -> !Word8 -- | UART receive buffer percentage utilization (ranges from 0 to 255) [_uARTChannel_rx_buffer_level] :: UARTChannel -> !Word8 uARTChannel_tx_throughput :: Lens' UARTChannel Float uARTChannel_tx_buffer_level :: Lens' UARTChannel Word8 uARTChannel_rx_throughput :: Lens' UARTChannel Float uARTChannel_rx_buffer_level :: Lens' UARTChannel Word8 uARTChannel_io_error_count :: Lens' UARTChannel Word16 uARTChannel_crc_error_count :: Lens' UARTChannel Word16 -- | Period. -- -- Statistics on the period of observations received from the base -- station. As complete observation sets are received, their time of -- reception is compared with the prior set''s time of reception. This -- measurement provides a proxy for link quality as incomplete or missing -- sets will increase the period. Long periods can cause momentary RTK -- solution outages. data Period Period :: !Int32 -> !Int32 -> !Int32 -> !Int32 -> Period -- | Average period [_period_avg] :: Period -> !Int32 -- | Minimum period [_period_pmin] :: Period -> !Int32 -- | Maximum period [_period_pmax] :: Period -> !Int32 -- | Smoothed estimate of the current period [_period_current] :: Period -> !Int32 period_pmin :: Lens' Period Int32 period_pmax :: Lens' Period Int32 period_current :: Lens' Period Int32 period_avg :: Lens' Period Int32 -- | Latency. -- -- Statistics on the latency of observations received from the base -- station. As observation packets are received their GPS time is -- compared to the current GPS time calculated locally by the receiver to -- give a precise measurement of the end-to-end communication latency in -- the system. data Latency Latency :: !Int32 -> !Int32 -> !Int32 -> !Int32 -> Latency -- | Average latency [_latency_avg] :: Latency -> !Int32 -- | Minimum latency [_latency_lmin] :: Latency -> !Int32 -- | Maximum latency [_latency_lmax] :: Latency -> !Int32 -- | Smoothed estimate of the current latency [_latency_current] :: Latency -> !Int32 latency_lmin :: Lens' Latency Int32 latency_lmax :: Lens' Latency Int32 latency_current :: Lens' Latency Int32 latency_avg :: Lens' Latency Int32 msgUartState :: Word16 -- | SBP class for message MSG_UART_STATE (0x001D). -- -- The UART message reports data latency and throughput of the UART -- channels providing SBP I/O. On the default Piksi configuration, UARTs -- A and B are used for telemetry radios, but can also be host access -- ports for embedded hosts, or other interfaces in future. The reported -- percentage values must be normalized. Observations latency and period -- can be used to assess the health of the differential corrections link. -- Latency provides the timeliness of received base observations while -- the period indicates their likelihood of transmission. data MsgUartState MsgUartState :: !UARTChannel -> !UARTChannel -> !UARTChannel -> !Latency -> !Period -> MsgUartState -- | State of UART A [_msgUartState_uart_a] :: MsgUartState -> !UARTChannel -- | State of UART B [_msgUartState_uart_b] :: MsgUartState -> !UARTChannel -- | State of UART FTDI (USB logger) [_msgUartState_uart_ftdi] :: MsgUartState -> !UARTChannel -- | UART communication latency [_msgUartState_latency] :: MsgUartState -> !Latency -- | Observation receipt period [_msgUartState_obs_period] :: MsgUartState -> !Period msgUartState_uart_ftdi :: Lens' MsgUartState UARTChannel msgUartState_uart_b :: Lens' MsgUartState UARTChannel msgUartState_uart_a :: Lens' MsgUartState UARTChannel msgUartState_obs_period :: Lens' MsgUartState Period msgUartState_latency :: Lens' MsgUartState Latency msgUartStateDepa :: Word16 -- | SBP class for message MSG_UART_STATE_DEPA (0x0018). -- -- Deprecated data MsgUartStateDepa MsgUartStateDepa :: !UARTChannel -> !UARTChannel -> !UARTChannel -> !Latency -> MsgUartStateDepa -- | State of UART A [_msgUartStateDepa_uart_a] :: MsgUartStateDepa -> !UARTChannel -- | State of UART B [_msgUartStateDepa_uart_b] :: MsgUartStateDepa -> !UARTChannel -- | State of UART FTDI (USB logger) [_msgUartStateDepa_uart_ftdi] :: MsgUartStateDepa -> !UARTChannel -- | UART communication latency [_msgUartStateDepa_latency] :: MsgUartStateDepa -> !Latency msgUartStateDepa_uart_ftdi :: Lens' MsgUartStateDepa UARTChannel msgUartStateDepa_uart_b :: Lens' MsgUartStateDepa UARTChannel msgUartStateDepa_uart_a :: Lens' MsgUartStateDepa UARTChannel msgUartStateDepa_latency :: Lens' MsgUartStateDepa Latency msgIarState :: Word16 -- | SBP class for message MSG_IAR_STATE (0x0019). -- -- This message reports the state of the Integer Ambiguity Resolution -- (IAR) process, which resolves unknown integer ambiguities from -- double-differenced carrier-phase measurements from satellite -- observations. data MsgIarState MsgIarState :: !Word32 -> MsgIarState -- | Number of integer ambiguity hypotheses remaining [_msgIarState_num_hyps] :: MsgIarState -> !Word32 msgIarState_num_hyps :: Iso' MsgIarState Word32 msgMaskSatellite :: Word16 -- | SBP class for message MSG_MASK_SATELLITE (0x001B). -- -- This message allows setting a mask to prevent a particular satellite -- from being used in various Piksi subsystems. data MsgMaskSatellite MsgMaskSatellite :: !Word8 -> !GnssSignal -> MsgMaskSatellite -- | Mask of systems that should ignore this satellite. [_msgMaskSatellite_mask] :: MsgMaskSatellite -> !Word8 -- | GNSS signal for which the mask is applied [_msgMaskSatellite_sid] :: MsgMaskSatellite -> !GnssSignal msgMaskSatellite_sid :: Lens' MsgMaskSatellite GnssSignal msgMaskSatellite_mask :: Lens' MsgMaskSatellite Word8 msgDeviceMonitor :: Word16 -- | SBP class for message MSG_DEVICE_MONITOR (0x00B5). -- -- This message contains temperature and voltage level measurements from -- the processor's monitoring system and the RF frontend die temperature -- if available. data MsgDeviceMonitor MsgDeviceMonitor :: !Int16 -> !Int16 -> !Int16 -> !Int16 -> !Int16 -> MsgDeviceMonitor -- | Device V_in [_msgDeviceMonitor_dev_vin] :: MsgDeviceMonitor -> !Int16 -- | Processor V_int [_msgDeviceMonitor_cpu_vint] :: MsgDeviceMonitor -> !Int16 -- | Processor V_aux [_msgDeviceMonitor_cpu_vaux] :: MsgDeviceMonitor -> !Int16 -- | Processor temperature [_msgDeviceMonitor_cpu_temperature] :: MsgDeviceMonitor -> !Int16 -- | Frontend temperature (if available) [_msgDeviceMonitor_fe_temperature] :: MsgDeviceMonitor -> !Int16 msgDeviceMonitor_fe_temperature :: Lens' MsgDeviceMonitor Int16 msgDeviceMonitor_dev_vin :: Lens' MsgDeviceMonitor Int16 msgDeviceMonitor_cpu_vint :: Lens' MsgDeviceMonitor Int16 msgDeviceMonitor_cpu_vaux :: Lens' MsgDeviceMonitor Int16 msgDeviceMonitor_cpu_temperature :: Lens' MsgDeviceMonitor Int16 msgCommandReq :: Word16 -- | SBP class for message MSG_COMMAND_REQ (0x00B8). -- -- Request the recipient to execute an command. Output will be sent in -- MSG_LOG messages, and the exit code will be returned with -- MSG_COMMAND_RESP. data MsgCommandReq MsgCommandReq :: !Word32 -> !Text -> MsgCommandReq -- | Sequence number [_msgCommandReq_sequence] :: MsgCommandReq -> !Word32 -- | Command line to execute [_msgCommandReq_command] :: MsgCommandReq -> !Text msgCommandReq_sequence :: Lens' MsgCommandReq Word32 msgCommandReq_command :: Lens' MsgCommandReq Text msgCommandResp :: Word16 -- | SBP class for message MSG_COMMAND_RESP (0x00B9). -- -- The response to MSG_COMMAND_REQ with the return code of the command. A -- return code of zero indicates success. data MsgCommandResp MsgCommandResp :: !Word32 -> !Int32 -> MsgCommandResp -- | Sequence number [_msgCommandResp_sequence] :: MsgCommandResp -> !Word32 -- | Exit code [_msgCommandResp_code] :: MsgCommandResp -> !Int32 msgCommandResp_sequence :: Lens' MsgCommandResp Word32 msgCommandResp_code :: Lens' MsgCommandResp Int32 msgCommandOutput :: Word16 -- | SBP class for message MSG_COMMAND_OUTPUT (0x00BC). -- -- Returns the standard output and standard error of the command -- requested by MSG_COMMAND_REQ. The sequence number can be used to -- filter for filtering the correct command. data MsgCommandOutput MsgCommandOutput :: !Word32 -> !Text -> MsgCommandOutput -- | Sequence number [_msgCommandOutput_sequence] :: MsgCommandOutput -> !Word32 -- | Line of standard output or standard error [_msgCommandOutput_line] :: MsgCommandOutput -> !Text msgCommandOutput_sequence :: Lens' MsgCommandOutput Word32 msgCommandOutput_line :: Lens' MsgCommandOutput Text msgNetworkStateReq :: Word16 -- | SBP class for message MSG_NETWORK_STATE_REQ (0x00BA). -- -- Request state of Piksi network interfaces. Output will be sent in -- MSG_NETWORK_STATE_RESP messages data MsgNetworkStateReq MsgNetworkStateReq :: MsgNetworkStateReq msgNetworkStateResp :: Word16 -- | SBP class for message MSG_NETWORK_STATE_RESP (0x00BB). -- -- The state of a network interface on the Piksi. Data is made to reflect -- output of ifaddrs struct returned by getifaddrs in c. data MsgNetworkStateResp MsgNetworkStateResp :: ![Word8] -> !Word8 -> ![Word8] -> !Word8 -> !Word32 -> !Word32 -> !Text -> !Word32 -> MsgNetworkStateResp -- | IPv4 address (all zero when unavailable) [_msgNetworkStateResp_ipv4_address] :: MsgNetworkStateResp -> ![Word8] -- | IPv4 netmask CIDR notation [_msgNetworkStateResp_ipv4_mask_size] :: MsgNetworkStateResp -> !Word8 -- | IPv6 address (all zero when unavailable) [_msgNetworkStateResp_ipv6_address] :: MsgNetworkStateResp -> ![Word8] -- | IPv6 netmask CIDR notation [_msgNetworkStateResp_ipv6_mask_size] :: MsgNetworkStateResp -> !Word8 -- | Number of Rx bytes [_msgNetworkStateResp_rx_bytes] :: MsgNetworkStateResp -> !Word32 -- | Number of Tx bytes [_msgNetworkStateResp_tx_bytes] :: MsgNetworkStateResp -> !Word32 -- | Interface Name [_msgNetworkStateResp_interface_name] :: MsgNetworkStateResp -> !Text -- | Interface flags from SIOCGIFFLAGS [_msgNetworkStateResp_flags] :: MsgNetworkStateResp -> !Word32 msgNetworkStateResp_tx_bytes :: Lens' MsgNetworkStateResp Word32 msgNetworkStateResp_rx_bytes :: Lens' MsgNetworkStateResp Word32 msgNetworkStateResp_ipv6_mask_size :: Lens' MsgNetworkStateResp Word8 msgNetworkStateResp_ipv6_address :: Lens' MsgNetworkStateResp [Word8] msgNetworkStateResp_ipv4_mask_size :: Lens' MsgNetworkStateResp Word8 msgNetworkStateResp_ipv4_address :: Lens' MsgNetworkStateResp [Word8] msgNetworkStateResp_interface_name :: Lens' MsgNetworkStateResp Text msgNetworkStateResp_flags :: Lens' MsgNetworkStateResp Word32 msgSpecan :: Word16 -- | SBP class for message MSG_SPECAN (0x0050). -- -- Spectrum analyzer packet. data MsgSpecan MsgSpecan :: !Word16 -> !GpsTime -> !Float -> !Float -> !Float -> !Float -> ![Word8] -> MsgSpecan -- | Channel ID [_msgSpecan_channel_tag] :: MsgSpecan -> !Word16 -- | Receiver time of this observation [_msgSpecan_t] :: MsgSpecan -> !GpsTime -- | Reference frequency of this packet [_msgSpecan_freq_ref] :: MsgSpecan -> !Float -- | Frequency step of points in this packet [_msgSpecan_freq_step] :: MsgSpecan -> !Float -- | Reference amplitude of this packet [_msgSpecan_amplitude_ref] :: MsgSpecan -> !Float -- | Amplitude unit value of points in this packet [_msgSpecan_amplitude_unit] :: MsgSpecan -> !Float -- | Amplitude values (in the above units) of points in this packet [_msgSpecan_amplitude_value] :: MsgSpecan -> ![Word8] msgSpecan_t :: Lens' MsgSpecan GpsTime msgSpecan_freq_step :: Lens' MsgSpecan Float msgSpecan_freq_ref :: Lens' MsgSpecan Float msgSpecan_channel_tag :: Lens' MsgSpecan Word16 msgSpecan_amplitude_value :: Lens' MsgSpecan [Word8] msgSpecan_amplitude_unit :: Lens' MsgSpecan Float msgSpecan_amplitude_ref :: Lens' MsgSpecan Float msgSettingsSave :: Word16 -- | SBP class for message MSG_SETTINGS_SAVE (0x00A1). -- -- The save settings message persists the device's current settings -- configuration to its onboard flash memory file system. data MsgSettingsSave MsgSettingsSave :: MsgSettingsSave msgSettingsWrite :: Word16 -- | SBP class for message MSG_SETTINGS_WRITE (0x00A0). -- -- The setting message writes the device configuration. data MsgSettingsWrite MsgSettingsWrite :: !Text -> MsgSettingsWrite -- | A NULL-terminated and delimited string with contents [SECTION_SETTING, -- SETTING, VALUE]. A device will only process to this message when it is -- received from sender ID 0x42. [_msgSettingsWrite_setting] :: MsgSettingsWrite -> !Text msgSettingsWrite_setting :: Iso' MsgSettingsWrite Text msgSettingsReadReq :: Word16 -- | SBP class for message MSG_SETTINGS_READ_REQ (0x00A4). -- -- The setting message reads the device configuration. data MsgSettingsReadReq MsgSettingsReadReq :: !Text -> MsgSettingsReadReq -- | A NULL-terminated and delimited string with contents [SECTION_SETTING, -- SETTING]. A device will only respond to this message when it is -- received from sender ID 0x42. [_msgSettingsReadReq_setting] :: MsgSettingsReadReq -> !Text msgSettingsReadReq_setting :: Iso' MsgSettingsReadReq Text msgSettingsReadResp :: Word16 -- | SBP class for message MSG_SETTINGS_READ_RESP (0x00A5). -- -- The setting message reads the device configuration. data MsgSettingsReadResp MsgSettingsReadResp :: !Text -> MsgSettingsReadResp -- | A NULL-terminated and delimited string with contents [SECTION_SETTING, -- SETTING, VALUE]. [_msgSettingsReadResp_setting] :: MsgSettingsReadResp -> !Text msgSettingsReadResp_setting :: Iso' MsgSettingsReadResp Text msgSettingsReadByIndexReq :: Word16 -- | SBP class for message MSG_SETTINGS_READ_BY_INDEX_REQ (0x00A2). -- -- The settings message for iterating through the settings values. It -- will read the setting at an index, returning a NULL-terminated and -- delimited string with contents [SECTION_SETTING, SETTING, VALUE]. A -- device will only respond to this message when it is received from -- sender ID 0x42. data MsgSettingsReadByIndexReq MsgSettingsReadByIndexReq :: !Word16 -> MsgSettingsReadByIndexReq -- | An index into the device settings, with values ranging from 0 to -- length(settings) [_msgSettingsReadByIndexReq_index] :: MsgSettingsReadByIndexReq -> !Word16 msgSettingsReadByIndexReq_index :: Iso' MsgSettingsReadByIndexReq Word16 msgSettingsReadByIndexResp :: Word16 -- | SBP class for message MSG_SETTINGS_READ_BY_INDEX_RESP (0x00A7). -- -- The settings message for iterating through the settings values. It -- will read the setting at an index, returning a NULL-terminated and -- delimited string with contents [SECTION_SETTING, SETTING, VALUE]. data MsgSettingsReadByIndexResp MsgSettingsReadByIndexResp :: !Word16 -> !Text -> MsgSettingsReadByIndexResp -- | An index into the device settings, with values ranging from 0 to -- length(settings) [_msgSettingsReadByIndexResp_index] :: MsgSettingsReadByIndexResp -> !Word16 -- | A NULL-terminated and delimited string with contents [SECTION_SETTING, -- SETTING, VALUE]. [_msgSettingsReadByIndexResp_setting] :: MsgSettingsReadByIndexResp -> !Text msgSettingsReadByIndexResp_setting :: Lens' MsgSettingsReadByIndexResp Text msgSettingsReadByIndexResp_index :: Lens' MsgSettingsReadByIndexResp Word16 msgSettingsReadByIndexDone :: Word16 -- | SBP class for message MSG_SETTINGS_READ_BY_INDEX_DONE (0x00A6). -- -- The settings message for indicating end of the settings values. data MsgSettingsReadByIndexDone MsgSettingsReadByIndexDone :: MsgSettingsReadByIndexDone msgSettingsRegister :: Word16 -- | SBP class for message MSG_SETTINGS_REGISTER (0x00AE). -- -- This message registers the presence and default value of a setting -- with a settings daemon. The host should reply with MSG_SETTINGS_WRITE -- for this setting to set the initial value. data MsgSettingsRegister MsgSettingsRegister :: !Text -> MsgSettingsRegister -- | A NULL-terminated and delimited string with contents [SECTION_SETTING, -- SETTING, VALUE]. [_msgSettingsRegister_setting] :: MsgSettingsRegister -> !Text msgSettingsRegister_setting :: Iso' MsgSettingsRegister Text msgStartup :: Word16 -- | SBP class for message MSG_STARTUP (0xFF00). -- -- The system start-up message is sent once on system start-up. It -- notifies the host or other attached devices that the system has -- started and is now ready to respond to commands or configuration -- requests. data MsgStartup MsgStartup :: !Word8 -> !Word8 -> !Word16 -> MsgStartup -- | Cause of startup [_msgStartup_cause] :: MsgStartup -> !Word8 -- | Startup type [_msgStartup_startup_type] :: MsgStartup -> !Word8 -- | Reserved [_msgStartup_reserved] :: MsgStartup -> !Word16 msgStartup_startup_type :: Lens' MsgStartup Word8 msgStartup_reserved :: Lens' MsgStartup Word16 msgStartup_cause :: Lens' MsgStartup Word8 msgDgnssStatus :: Word16 -- | SBP class for message MSG_DGNSS_STATUS (0xFF02). -- -- This message provides information about the receipt of Differential -- corrections. It is expected to be sent with each receipt of a complete -- corrections packet. data MsgDgnssStatus MsgDgnssStatus :: !Word8 -> !Word16 -> !Word8 -> !Text -> MsgDgnssStatus -- | Status flags [_msgDgnssStatus_flags] :: MsgDgnssStatus -> !Word8 -- | Latency of observation receipt [_msgDgnssStatus_latency] :: MsgDgnssStatus -> !Word16 -- | Number of signals from base station [_msgDgnssStatus_num_signals] :: MsgDgnssStatus -> !Word8 -- | Corrections source string [_msgDgnssStatus_source] :: MsgDgnssStatus -> !Text msgDgnssStatus_source :: Lens' MsgDgnssStatus Text msgDgnssStatus_num_signals :: Lens' MsgDgnssStatus Word8 msgDgnssStatus_latency :: Lens' MsgDgnssStatus Word16 msgDgnssStatus_flags :: Lens' MsgDgnssStatus Word8 msgHeartbeat :: Word16 -- | SBP class for message MSG_HEARTBEAT (0xFFFF). -- -- The heartbeat message is sent periodically to inform the host or other -- attached devices that the system is running. It is used to monitor -- system malfunctions. It also contains status flags that indicate to -- the host the status of the system and whether it is operating -- correctly. Currently, the expected heartbeat interval is 1 sec. The -- system error flag is used to indicate that an error has occurred in -- the system. To determine the source of the error, the remaining error -- flags should be inspected. data MsgHeartbeat MsgHeartbeat :: !Word32 -> MsgHeartbeat -- | Status flags [_msgHeartbeat_flags] :: MsgHeartbeat -> !Word32 msgHeartbeat_flags :: Iso' MsgHeartbeat Word32 msgTrackingStateDetailed :: Word16 -- | SBP class for message MSG_TRACKING_STATE_DETAILED (0x0011). -- -- The tracking message returns a set tracking channel parameters for a -- single tracking channel useful for debugging issues. data MsgTrackingStateDetailed MsgTrackingStateDetailed :: !Word64 -> !GpsTime -> !Word32 -> !Word16 -> !CarrierPhase -> !Word8 -> !Word16 -> !GnssSignal -> !Int32 -> !Word16 -> !Word32 -> !Int16 -> !Int16 -> !Word16 -> !Int8 -> !Word8 -> !Word8 -> !Word8 -> !Word8 -> !Word8 -> !Word8 -> MsgTrackingStateDetailed -- | Receiver clock time. [_msgTrackingStateDetailed_recv_time] :: MsgTrackingStateDetailed -> !Word64 -- | Time of transmission of signal from satellite. TOW only valid when TOW -- status is decoded or propagated. WN only valid when week number valid -- flag is set. [_msgTrackingStateDetailed_tot] :: MsgTrackingStateDetailed -> !GpsTime -- | Pseudorange observation. Valid only when pseudorange valid flag is -- set. [_msgTrackingStateDetailed_P] :: MsgTrackingStateDetailed -> !Word32 -- | Pseudorange observation standard deviation. Valid only when -- pseudorange valid flag is set. [_msgTrackingStateDetailed_P_std] :: MsgTrackingStateDetailed -> !Word16 -- | Carrier phase observation with typical sign convention. Valid only -- when PLL pessimistic lock is achieved. [_msgTrackingStateDetailed_L] :: MsgTrackingStateDetailed -> !CarrierPhase -- | Carrier-to-Noise density [_msgTrackingStateDetailed_cn0] :: MsgTrackingStateDetailed -> !Word8 -- | Lock time. It is encoded according to DF402 from the RTCM 10403.2 -- Amendment 2 specification. Valid values range from 0 to 15. [_msgTrackingStateDetailed_lock] :: MsgTrackingStateDetailed -> !Word16 -- | GNSS signal identifier. [_msgTrackingStateDetailed_sid] :: MsgTrackingStateDetailed -> !GnssSignal -- | Carrier Doppler frequency. [_msgTrackingStateDetailed_doppler] :: MsgTrackingStateDetailed -> !Int32 -- | Carrier Doppler frequency standard deviation. [_msgTrackingStateDetailed_doppler_std] :: MsgTrackingStateDetailed -> !Word16 -- | Number of seconds of continuous tracking. Specifies how much time -- signal is in continuous track. [_msgTrackingStateDetailed_uptime] :: MsgTrackingStateDetailed -> !Word32 -- | TCXO clock offset. Valid only when valid clock valid flag is set. [_msgTrackingStateDetailed_clock_offset] :: MsgTrackingStateDetailed -> !Int16 -- | TCXO clock drift. Valid only when valid clock valid flag is set. [_msgTrackingStateDetailed_clock_drift] :: MsgTrackingStateDetailed -> !Int16 -- | Early-Prompt (EP) and Prompt-Late (PL) correlators spacing. [_msgTrackingStateDetailed_corr_spacing] :: MsgTrackingStateDetailed -> !Word16 -- | Acceleration. Valid only when acceleration valid flag is set. [_msgTrackingStateDetailed_acceleration] :: MsgTrackingStateDetailed -> !Int8 -- | Synchronization status flags. [_msgTrackingStateDetailed_sync_flags] :: MsgTrackingStateDetailed -> !Word8 -- | TOW status flags. [_msgTrackingStateDetailed_tow_flags] :: MsgTrackingStateDetailed -> !Word8 -- | Tracking loop status flags. [_msgTrackingStateDetailed_track_flags] :: MsgTrackingStateDetailed -> !Word8 -- | Navigation data status flags. [_msgTrackingStateDetailed_nav_flags] :: MsgTrackingStateDetailed -> !Word8 -- | Parameters sets flags. [_msgTrackingStateDetailed_pset_flags] :: MsgTrackingStateDetailed -> !Word8 -- | Miscellaneous flags. [_msgTrackingStateDetailed_misc_flags] :: MsgTrackingStateDetailed -> !Word8 msgTrackingStateDetailed_uptime :: Lens' MsgTrackingStateDetailed Word32 msgTrackingStateDetailed_track_flags :: Lens' MsgTrackingStateDetailed Word8 msgTrackingStateDetailed_tow_flags :: Lens' MsgTrackingStateDetailed Word8 msgTrackingStateDetailed_tot :: Lens' MsgTrackingStateDetailed GpsTime msgTrackingStateDetailed_sync_flags :: Lens' MsgTrackingStateDetailed Word8 msgTrackingStateDetailed_sid :: Lens' MsgTrackingStateDetailed GnssSignal msgTrackingStateDetailed_recv_time :: Lens' MsgTrackingStateDetailed Word64 msgTrackingStateDetailed_pset_flags :: Lens' MsgTrackingStateDetailed Word8 msgTrackingStateDetailed_nav_flags :: Lens' MsgTrackingStateDetailed Word8 msgTrackingStateDetailed_misc_flags :: Lens' MsgTrackingStateDetailed Word8 msgTrackingStateDetailed_lock :: Lens' MsgTrackingStateDetailed Word16 msgTrackingStateDetailed_doppler_std :: Lens' MsgTrackingStateDetailed Word16 msgTrackingStateDetailed_doppler :: Lens' MsgTrackingStateDetailed Int32 msgTrackingStateDetailed_corr_spacing :: Lens' MsgTrackingStateDetailed Word16 msgTrackingStateDetailed_cn0 :: Lens' MsgTrackingStateDetailed Word8 msgTrackingStateDetailed_clock_offset :: Lens' MsgTrackingStateDetailed Int16 msgTrackingStateDetailed_clock_drift :: Lens' MsgTrackingStateDetailed Int16 msgTrackingStateDetailed_acceleration :: Lens' MsgTrackingStateDetailed Int8 msgTrackingStateDetailed_P_std :: Lens' MsgTrackingStateDetailed Word16 msgTrackingStateDetailed_P :: Lens' MsgTrackingStateDetailed Word32 msgTrackingStateDetailed_L :: Lens' MsgTrackingStateDetailed CarrierPhase -- | TrackingChannelState. -- -- Tracking channel state for a specific satellite signal and measured -- signal power. data TrackingChannelState TrackingChannelState :: !GnssSignal16 -> !Word8 -> !Word8 -> TrackingChannelState -- | GNSS signal being tracked [_trackingChannelState_sid] :: TrackingChannelState -> !GnssSignal16 -- | Frequency channel number (GLONASS only) [_trackingChannelState_fcn] :: TrackingChannelState -> !Word8 -- | Carrier-to-Noise density. Zero implies invalid cn0. [_trackingChannelState_cn0] :: TrackingChannelState -> !Word8 trackingChannelState_sid :: Lens' TrackingChannelState GnssSignal16 trackingChannelState_fcn :: Lens' TrackingChannelState Word8 trackingChannelState_cn0 :: Lens' TrackingChannelState Word8 msgTrackingState :: Word16 -- | SBP class for message MSG_TRACKING_STATE (0x0041). -- -- The tracking message returns a variable-length array of tracking -- channel states. It reports status and carrier-to-noise density -- measurements for all tracked satellites. data MsgTrackingState MsgTrackingState :: ![TrackingChannelState] -> MsgTrackingState -- | Signal tracking channel state [_msgTrackingState_states] :: MsgTrackingState -> ![TrackingChannelState] msgTrackingState_states :: Iso' MsgTrackingState [TrackingChannelState] -- | TrackingChannelCorrelation. -- -- Structure containing in-phase and quadrature correlation components. data TrackingChannelCorrelation TrackingChannelCorrelation :: !Int32 -> !Int32 -> TrackingChannelCorrelation -- | In-phase correlation [_trackingChannelCorrelation_I] :: TrackingChannelCorrelation -> !Int32 -- | Quadrature correlation [_trackingChannelCorrelation_Q] :: TrackingChannelCorrelation -> !Int32 trackingChannelCorrelation_Q :: Lens' TrackingChannelCorrelation Int32 trackingChannelCorrelation_I :: Lens' TrackingChannelCorrelation Int32 msgTrackingIq :: Word16 -- | SBP class for message MSG_TRACKING_IQ (0x001C). -- -- When enabled, a tracking channel can output the correlations at each -- update interval. data MsgTrackingIq MsgTrackingIq :: !Word8 -> !GnssSignal -> ![TrackingChannelCorrelation] -> MsgTrackingIq -- | Tracking channel of origin [_msgTrackingIq_channel] :: MsgTrackingIq -> !Word8 -- | GNSS signal identifier [_msgTrackingIq_sid] :: MsgTrackingIq -> !GnssSignal -- | Early, Prompt and Late correlations [_msgTrackingIq_corrs] :: MsgTrackingIq -> ![TrackingChannelCorrelation] msgTrackingIq_sid :: Lens' MsgTrackingIq GnssSignal msgTrackingIq_corrs :: Lens' MsgTrackingIq [TrackingChannelCorrelation] msgTrackingIq_channel :: Lens' MsgTrackingIq Word8 -- | TrackingChannelStateDepA. -- -- Deprecated. data TrackingChannelStateDepA TrackingChannelStateDepA :: !Word8 -> !Word8 -> !Float -> TrackingChannelStateDepA -- | Status of tracking channel [_trackingChannelStateDepA_state] :: TrackingChannelStateDepA -> !Word8 -- | PRN-1 being tracked [_trackingChannelStateDepA_prn] :: TrackingChannelStateDepA -> !Word8 -- | Carrier-to-noise density [_trackingChannelStateDepA_cn0] :: TrackingChannelStateDepA -> !Float trackingChannelStateDepA_state :: Lens' TrackingChannelStateDepA Word8 trackingChannelStateDepA_prn :: Lens' TrackingChannelStateDepA Word8 trackingChannelStateDepA_cn0 :: Lens' TrackingChannelStateDepA Float msgTrackingStateDepA :: Word16 -- | SBP class for message MSG_TRACKING_STATE_DEP_A (0x0016). -- -- Deprecated. data MsgTrackingStateDepA MsgTrackingStateDepA :: ![TrackingChannelStateDepA] -> MsgTrackingStateDepA -- | Satellite tracking channel state [_msgTrackingStateDepA_states] :: MsgTrackingStateDepA -> ![TrackingChannelStateDepA] msgTrackingStateDepA_states :: Iso' MsgTrackingStateDepA [TrackingChannelStateDepA] -- | TrackingChannelStateDepB. -- -- Deprecated. data TrackingChannelStateDepB TrackingChannelStateDepB :: !Word8 -> !GnssSignal -> !Float -> TrackingChannelStateDepB -- | Status of tracking channel [_trackingChannelStateDepB_state] :: TrackingChannelStateDepB -> !Word8 -- | GNSS signal being tracked [_trackingChannelStateDepB_sid] :: TrackingChannelStateDepB -> !GnssSignal -- | Carrier-to-noise density [_trackingChannelStateDepB_cn0] :: TrackingChannelStateDepB -> !Float trackingChannelStateDepB_state :: Lens' TrackingChannelStateDepB Word8 trackingChannelStateDepB_sid :: Lens' TrackingChannelStateDepB GnssSignal trackingChannelStateDepB_cn0 :: Lens' TrackingChannelStateDepB Float msgTrackingStateDepB :: Word16 -- | SBP class for message MSG_TRACKING_STATE_DEP_B (0x0013). -- -- Deprecated. data MsgTrackingStateDepB MsgTrackingStateDepB :: ![TrackingChannelStateDepB] -> MsgTrackingStateDepB -- | Signal tracking channel state [_msgTrackingStateDepB_states] :: MsgTrackingStateDepB -> ![TrackingChannelStateDepB] msgTrackingStateDepB_states :: Iso' MsgTrackingStateDepB [TrackingChannelStateDepB] msgUserData :: Word16 -- | SBP class for message MSG_USER_DATA (0x0800). -- -- This message can contain any application specific user data up to a -- maximum length of 255 bytes per message. data MsgUserData MsgUserData :: ![Word8] -> MsgUserData -- | User data payload [_msgUserData_contents] :: MsgUserData -> ![Word8] msgUserData_contents :: Iso' MsgUserData [Word8]