-- 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 0.52.2 -- | Encoding utilities. module SwiftNav.SBP.Encoding instance Data.Aeson.Types.Class.ToJSON Data.ByteString.Internal.ByteString instance Data.Aeson.Types.Class.FromJSON Data.ByteString.Internal.ByteString -- | Error detection functions. module SwiftNav.CRC16 -- | Calculate CCITT 16-bit Cyclical Redundancy Check (CRC16). crc16 :: ByteString -> Word16 -- | Common SBP type requirements, containers, and serialization utilities. module SwiftNav.SBP.Types -- | 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_alNH where msgSBPCrc = (.) msg msgSBPCrc msgSBPLen = (.) msg msgSBPLen msgSBPPayload = (.) msg msgSBPPayload msgSBPSender = (.) msg msgSBPSender msgSBPType = (.) msg msgSBPType msg :: HasMsg c_alNH => Lens' c_alNH Msg msgSBPCrc :: HasMsg c_alNH => Lens' c_alNH Word16 msgSBPLen :: HasMsg c_alNH => Lens' c_alNH Word8 msgSBPPayload :: HasMsg c_alNH => Lens' c_alNH ByteString msgSBPSender :: HasMsg c_alNH => Lens' c_alNH Word16 msgSBPType :: HasMsg c_alNH => Lens' c_alNH 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 instance SwiftNav.SBP.Types.HasMsg SwiftNav.SBP.Types.Msg instance Data.Binary.Class.Binary SwiftNav.SBP.Types.Msg instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Types.Msg instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Types.Msg instance GHC.Classes.Eq SwiftNav.SBP.Types.Msg instance GHC.Read.Read SwiftNav.SBP.Types.Msg instance GHC.Show.Show SwiftNav.SBP.Types.Msg -- | Messages for the bootloading configuration on the device. Note that -- some of these messages share the same message type ID for both the -- host request and the device response. module SwiftNav.SBP.Bootload 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 -> ByteString -> MsgBootloaderHandshakeResp -- | Bootloader flags [_msgBootloaderHandshakeResp_flags] :: MsgBootloaderHandshakeResp -> Word32 -- | Bootloader version number [_msgBootloaderHandshakeResp_version] :: MsgBootloaderHandshakeResp -> ByteString msgBootloaderHandshakeResp_version :: Lens' MsgBootloaderHandshakeResp ByteString 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] instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Bootload.MsgBootloaderHandshakeDepA instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Bootload.MsgBootloaderHandshakeDepA instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Bootload.MsgBootloaderHandshakeDepA instance GHC.Classes.Eq SwiftNav.SBP.Bootload.MsgBootloaderHandshakeDepA instance GHC.Read.Read SwiftNav.SBP.Bootload.MsgBootloaderHandshakeDepA instance GHC.Show.Show SwiftNav.SBP.Bootload.MsgBootloaderHandshakeDepA instance Data.Binary.Class.Binary SwiftNav.SBP.Bootload.MsgBootloaderHandshakeDepA instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Bootload.MsgNapDeviceDnaResp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Bootload.MsgNapDeviceDnaResp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Bootload.MsgNapDeviceDnaResp instance GHC.Classes.Eq SwiftNav.SBP.Bootload.MsgNapDeviceDnaResp instance GHC.Read.Read SwiftNav.SBP.Bootload.MsgNapDeviceDnaResp instance GHC.Show.Show SwiftNav.SBP.Bootload.MsgNapDeviceDnaResp instance Data.Binary.Class.Binary SwiftNav.SBP.Bootload.MsgNapDeviceDnaResp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Bootload.MsgNapDeviceDnaReq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Bootload.MsgNapDeviceDnaReq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Bootload.MsgNapDeviceDnaReq instance GHC.Classes.Eq SwiftNav.SBP.Bootload.MsgNapDeviceDnaReq instance GHC.Read.Read SwiftNav.SBP.Bootload.MsgNapDeviceDnaReq instance GHC.Show.Show SwiftNav.SBP.Bootload.MsgNapDeviceDnaReq instance Data.Binary.Class.Binary SwiftNav.SBP.Bootload.MsgNapDeviceDnaReq instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Bootload.MsgBootloaderJumpToApp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Bootload.MsgBootloaderJumpToApp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Bootload.MsgBootloaderJumpToApp instance GHC.Classes.Eq SwiftNav.SBP.Bootload.MsgBootloaderJumpToApp instance GHC.Read.Read SwiftNav.SBP.Bootload.MsgBootloaderJumpToApp instance GHC.Show.Show SwiftNav.SBP.Bootload.MsgBootloaderJumpToApp instance Data.Binary.Class.Binary SwiftNav.SBP.Bootload.MsgBootloaderJumpToApp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Bootload.MsgBootloaderHandshakeResp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Bootload.MsgBootloaderHandshakeResp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Bootload.MsgBootloaderHandshakeResp instance GHC.Classes.Eq SwiftNav.SBP.Bootload.MsgBootloaderHandshakeResp instance GHC.Read.Read SwiftNav.SBP.Bootload.MsgBootloaderHandshakeResp instance GHC.Show.Show SwiftNav.SBP.Bootload.MsgBootloaderHandshakeResp instance Data.Binary.Class.Binary SwiftNav.SBP.Bootload.MsgBootloaderHandshakeResp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Bootload.MsgBootloaderHandshakeReq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Bootload.MsgBootloaderHandshakeReq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Bootload.MsgBootloaderHandshakeReq instance GHC.Classes.Eq SwiftNav.SBP.Bootload.MsgBootloaderHandshakeReq instance GHC.Read.Read SwiftNav.SBP.Bootload.MsgBootloaderHandshakeReq instance GHC.Show.Show SwiftNav.SBP.Bootload.MsgBootloaderHandshakeReq instance Data.Binary.Class.Binary SwiftNav.SBP.Bootload.MsgBootloaderHandshakeReq -- | Messages reporting accurately-timestamped external events, e.g. camera -- shutter time. module SwiftNav.SBP.ExtEvents 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] :: 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 :: Lens' MsgExtEvent Int32 msgExtEvent_flags :: Lens' MsgExtEvent Word8 instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.ExtEvents.MsgExtEvent instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.ExtEvents.MsgExtEvent instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.ExtEvents.MsgExtEvent instance GHC.Classes.Eq SwiftNav.SBP.ExtEvents.MsgExtEvent instance GHC.Read.Read SwiftNav.SBP.ExtEvents.MsgExtEvent instance GHC.Show.Show SwiftNav.SBP.ExtEvents.MsgExtEvent instance Data.Binary.Class.Binary SwiftNav.SBP.ExtEvents.MsgExtEvent -- | Messages for using device's onboard flash filesystem functionality. -- This allows data to be stored persistently in the device's program -- flash with wear-levelling using a simple filesystem interface. The -- file system interface (CFS) defines an abstract API for reading -- directories and for reading and writing files. Note that some of these -- messages share the same message type ID for both the host request and -- the device response. module SwiftNav.SBP.FileIo 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 -> ByteString -> 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 -> ByteString msgFileioReadReq_sequence :: Lens' MsgFileioReadReq Word32 msgFileioReadReq_offset :: Lens' MsgFileioReadReq Word32 msgFileioReadReq_filename :: Lens' MsgFileioReadReq ByteString 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 -> ByteString -> 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 -> ByteString msgFileioReadDirReq_sequence :: Lens' MsgFileioReadDirReq Word32 msgFileioReadDirReq_offset :: Lens' MsgFileioReadDirReq Word32 msgFileioReadDirReq_dirname :: Lens' MsgFileioReadDirReq ByteString 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 :: ByteString -> MsgFileioRemove -- | Name of the file to delete [_msgFileioRemove_filename] :: MsgFileioRemove -> ByteString msgFileioRemove_filename :: Iso' MsgFileioRemove ByteString 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 -> ByteString -> [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 -> ByteString -- | 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 ByteString 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 instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.FileIo.MsgFileioWriteResp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.FileIo.MsgFileioWriteResp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.FileIo.MsgFileioWriteResp instance GHC.Classes.Eq SwiftNav.SBP.FileIo.MsgFileioWriteResp instance GHC.Read.Read SwiftNav.SBP.FileIo.MsgFileioWriteResp instance GHC.Show.Show SwiftNav.SBP.FileIo.MsgFileioWriteResp instance Data.Binary.Class.Binary SwiftNav.SBP.FileIo.MsgFileioWriteResp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.FileIo.MsgFileioWriteReq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.FileIo.MsgFileioWriteReq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.FileIo.MsgFileioWriteReq instance GHC.Classes.Eq SwiftNav.SBP.FileIo.MsgFileioWriteReq instance GHC.Read.Read SwiftNav.SBP.FileIo.MsgFileioWriteReq instance GHC.Show.Show SwiftNav.SBP.FileIo.MsgFileioWriteReq instance Data.Binary.Class.Binary SwiftNav.SBP.FileIo.MsgFileioWriteReq instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.FileIo.MsgFileioRemove instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.FileIo.MsgFileioRemove instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.FileIo.MsgFileioRemove instance GHC.Classes.Eq SwiftNav.SBP.FileIo.MsgFileioRemove instance GHC.Read.Read SwiftNav.SBP.FileIo.MsgFileioRemove instance GHC.Show.Show SwiftNav.SBP.FileIo.MsgFileioRemove instance Data.Binary.Class.Binary SwiftNav.SBP.FileIo.MsgFileioRemove instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.FileIo.MsgFileioReadDirResp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.FileIo.MsgFileioReadDirResp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.FileIo.MsgFileioReadDirResp instance GHC.Classes.Eq SwiftNav.SBP.FileIo.MsgFileioReadDirResp instance GHC.Read.Read SwiftNav.SBP.FileIo.MsgFileioReadDirResp instance GHC.Show.Show SwiftNav.SBP.FileIo.MsgFileioReadDirResp instance Data.Binary.Class.Binary SwiftNav.SBP.FileIo.MsgFileioReadDirResp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.FileIo.MsgFileioReadDirReq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.FileIo.MsgFileioReadDirReq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.FileIo.MsgFileioReadDirReq instance GHC.Classes.Eq SwiftNav.SBP.FileIo.MsgFileioReadDirReq instance GHC.Read.Read SwiftNav.SBP.FileIo.MsgFileioReadDirReq instance GHC.Show.Show SwiftNav.SBP.FileIo.MsgFileioReadDirReq instance Data.Binary.Class.Binary SwiftNav.SBP.FileIo.MsgFileioReadDirReq instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.FileIo.MsgFileioReadResp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.FileIo.MsgFileioReadResp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.FileIo.MsgFileioReadResp instance GHC.Classes.Eq SwiftNav.SBP.FileIo.MsgFileioReadResp instance GHC.Read.Read SwiftNav.SBP.FileIo.MsgFileioReadResp instance GHC.Show.Show SwiftNav.SBP.FileIo.MsgFileioReadResp instance Data.Binary.Class.Binary SwiftNav.SBP.FileIo.MsgFileioReadResp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.FileIo.MsgFileioReadReq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.FileIo.MsgFileioReadReq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.FileIo.MsgFileioReadReq instance GHC.Classes.Eq SwiftNav.SBP.FileIo.MsgFileioReadReq instance GHC.Read.Read SwiftNav.SBP.FileIo.MsgFileioReadReq instance GHC.Show.Show SwiftNav.SBP.FileIo.MsgFileioReadReq instance Data.Binary.Class.Binary SwiftNav.SBP.FileIo.MsgFileioReadReq -- | Messages for reading/writing the device's onboard flash memory. Many -- of these messages target specific flash memory peripherals used in -- Swift Navigation devices: the STM32 flash and the M25Pxx FPGA -- configuration flash. module SwiftNav.SBP.Flash 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] instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgM25FlashWriteStatus instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgM25FlashWriteStatus instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgM25FlashWriteStatus instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgM25FlashWriteStatus instance GHC.Read.Read SwiftNav.SBP.Flash.MsgM25FlashWriteStatus instance GHC.Show.Show SwiftNav.SBP.Flash.MsgM25FlashWriteStatus instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgM25FlashWriteStatus instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgStmUniqueIdResp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgStmUniqueIdResp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgStmUniqueIdResp instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgStmUniqueIdResp instance GHC.Read.Read SwiftNav.SBP.Flash.MsgStmUniqueIdResp instance GHC.Show.Show SwiftNav.SBP.Flash.MsgStmUniqueIdResp instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgStmUniqueIdResp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgStmUniqueIdReq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgStmUniqueIdReq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgStmUniqueIdReq instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgStmUniqueIdReq instance GHC.Read.Read SwiftNav.SBP.Flash.MsgStmUniqueIdReq instance GHC.Show.Show SwiftNav.SBP.Flash.MsgStmUniqueIdReq instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgStmUniqueIdReq instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgStmFlashUnlockSector instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgStmFlashUnlockSector instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgStmFlashUnlockSector instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgStmFlashUnlockSector instance GHC.Read.Read SwiftNav.SBP.Flash.MsgStmFlashUnlockSector instance GHC.Show.Show SwiftNav.SBP.Flash.MsgStmFlashUnlockSector instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgStmFlashUnlockSector instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgStmFlashLockSector instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgStmFlashLockSector instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgStmFlashLockSector instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgStmFlashLockSector instance GHC.Read.Read SwiftNav.SBP.Flash.MsgStmFlashLockSector instance GHC.Show.Show SwiftNav.SBP.Flash.MsgStmFlashLockSector instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgStmFlashLockSector instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgFlashErase instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgFlashErase instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgFlashErase instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgFlashErase instance GHC.Read.Read SwiftNav.SBP.Flash.MsgFlashErase instance GHC.Show.Show SwiftNav.SBP.Flash.MsgFlashErase instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgFlashErase instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgFlashReadResp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgFlashReadResp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgFlashReadResp instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgFlashReadResp instance GHC.Read.Read SwiftNav.SBP.Flash.MsgFlashReadResp instance GHC.Show.Show SwiftNav.SBP.Flash.MsgFlashReadResp instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgFlashReadResp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgFlashReadReq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgFlashReadReq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgFlashReadReq instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgFlashReadReq instance GHC.Read.Read SwiftNav.SBP.Flash.MsgFlashReadReq instance GHC.Show.Show SwiftNav.SBP.Flash.MsgFlashReadReq instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgFlashReadReq instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgFlashDone instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgFlashDone instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgFlashDone instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgFlashDone instance GHC.Read.Read SwiftNav.SBP.Flash.MsgFlashDone instance GHC.Show.Show SwiftNav.SBP.Flash.MsgFlashDone instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgFlashDone instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Flash.MsgFlashProgram instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Flash.MsgFlashProgram instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Flash.MsgFlashProgram instance GHC.Classes.Eq SwiftNav.SBP.Flash.MsgFlashProgram instance GHC.Read.Read SwiftNav.SBP.Flash.MsgFlashProgram instance GHC.Show.Show SwiftNav.SBP.Flash.MsgFlashProgram instance Data.Binary.Class.Binary SwiftNav.SBP.Flash.MsgFlashProgram -- | Struct to represent a signal (constellation, band, satellite -- identifier) module SwiftNav.SBP.GnssSignal -- | GnssSignal. -- -- Signal identifier containing constellation, band, and satellite -- identifier data GnssSignal GnssSignal :: Word16 -> Word8 -> Word8 -> GnssSignal -- | Constellation-specific satellite identifier [_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 instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.GnssSignal.GnssSignal instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.GnssSignal.GnssSignal instance GHC.Classes.Eq SwiftNav.SBP.GnssSignal.GnssSignal instance GHC.Read.Read SwiftNav.SBP.GnssSignal.GnssSignal instance GHC.Show.Show SwiftNav.SBP.GnssSignal.GnssSignal instance Data.Binary.Class.Binary SwiftNav.SBP.GnssSignal.GnssSignal -- | Satellite acquisition messages from the device. module SwiftNav.SBP.Acquisition msgAcqResult :: Word16 -- | SBP class for message MSG_ACQ_RESULT (0x0014). -- -- 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 signal-to-noise (SNR) ratio. data MsgAcqResult MsgAcqResult :: Float -> Float -> Float -> GnssSignal -> MsgAcqResult -- | SNR of best point. Currently in arbitrary SNR points, but will be in -- units of dB Hz in a later revision of this message. [_msgAcqResult_snr] :: 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_snr :: Lens' MsgAcqResult Float msgAcqResult_sid :: Lens' MsgAcqResult GnssSignal msgAcqResult_cp :: Lens' MsgAcqResult Float msgAcqResult_cf :: Lens' MsgAcqResult 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 instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Acquisition.MsgAcqResultDepA instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Acquisition.MsgAcqResultDepA instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Acquisition.MsgAcqResultDepA instance GHC.Classes.Eq SwiftNav.SBP.Acquisition.MsgAcqResultDepA instance GHC.Read.Read SwiftNav.SBP.Acquisition.MsgAcqResultDepA instance GHC.Show.Show SwiftNav.SBP.Acquisition.MsgAcqResultDepA instance Data.Binary.Class.Binary SwiftNav.SBP.Acquisition.MsgAcqResultDepA instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Acquisition.MsgAcqResult instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Acquisition.MsgAcqResult instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Acquisition.MsgAcqResult instance GHC.Classes.Eq SwiftNav.SBP.Acquisition.MsgAcqResult instance GHC.Read.Read SwiftNav.SBP.Acquisition.MsgAcqResult instance GHC.Show.Show SwiftNav.SBP.Acquisition.MsgAcqResult instance Data.Binary.Class.Binary SwiftNav.SBP.Acquisition.MsgAcqResult -- | Logging and debugging messages from the device. module SwiftNav.SBP.Logging 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 -> ByteString -> MsgLog -- | Logging level [_msgLog_level] :: MsgLog -> Word8 -- | Human-readable string [_msgLog_text] :: MsgLog -> ByteString msgLog_text :: Lens' MsgLog ByteString msgLog_level :: Lens' MsgLog Word8 msgTweet :: Word16 -- | SBP class for message MSG_TWEET (0x0012). -- -- All the news fit to tweet. data MsgTweet MsgTweet :: ByteString -> MsgTweet -- | Human-readable string [_msgTweet_tweet] :: MsgTweet -> ByteString msgTweet_tweet :: Iso' MsgTweet ByteString msgPrintDep :: Word16 -- | SBP class for message MSG_PRINT_DEP (0x0010). -- -- Deprecated. data MsgPrintDep MsgPrintDep :: ByteString -> MsgPrintDep -- | Human-readable string [_msgPrintDep_text] :: MsgPrintDep -> ByteString msgPrintDep_text :: Iso' MsgPrintDep ByteString instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Logging.MsgPrintDep instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Logging.MsgPrintDep instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Logging.MsgPrintDep instance GHC.Classes.Eq SwiftNav.SBP.Logging.MsgPrintDep instance GHC.Read.Read SwiftNav.SBP.Logging.MsgPrintDep instance GHC.Show.Show SwiftNav.SBP.Logging.MsgPrintDep instance Data.Binary.Class.Binary SwiftNav.SBP.Logging.MsgPrintDep instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Logging.MsgTweet instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Logging.MsgTweet instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Logging.MsgTweet instance GHC.Classes.Eq SwiftNav.SBP.Logging.MsgTweet instance GHC.Read.Read SwiftNav.SBP.Logging.MsgTweet instance GHC.Show.Show SwiftNav.SBP.Logging.MsgTweet instance Data.Binary.Class.Binary SwiftNav.SBP.Logging.MsgTweet instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Logging.MsgLog instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Logging.MsgLog instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Logging.MsgLog instance GHC.Classes.Eq SwiftNav.SBP.Logging.MsgLog instance GHC.Read.Read SwiftNav.SBP.Logging.MsgLog instance GHC.Show.Show SwiftNav.SBP.Logging.MsgLog instance Data.Binary.Class.Binary SwiftNav.SBP.Logging.MsgLog -- | Geodetic navigation messages reporting GPS time, position, velocity, -- and baseline position solutions. For position solutions, these -- messages define several different position solutions: single-point -- (SPP), RTK, and pseudo- absolute position solutions. The SPP is the -- standalone, absolute GPS position solution using only a single -- receiver. The RTK solution is the differential GPS solution, which can -- use either a fixed/integer or floating carrier phase ambiguity. The -- pseudo-absolute position solution uses a user- provided, well-surveyed -- base station position (if available) and the RTK solution in tandem. module SwiftNav.SBP.Navigation msgGpsTime :: Word16 -- | SBP class for message MSG_GPS_TIME (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 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] :: MsgGpsTime -> Int32 -- | Status flags (reserved) [_msgGpsTime_flags] :: MsgGpsTime -> Word8 msgGpsTime_wn :: Lens' MsgGpsTime Word16 msgGpsTime_tow :: Lens' MsgGpsTime Word32 msgGpsTime_ns :: Lens' MsgGpsTime Int32 msgGpsTime_flags :: Lens' MsgGpsTime Word8 msgDops :: Word16 -- | SBP class for message MSG_DOPS (0x0206). -- -- This dilution of precision (DOP) message describes the effect of -- navigation satellite geometry on positional measurement precision. data MsgDops MsgDops :: Word32 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> 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 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 msgPosEcef :: Word16 -- | SBP class for message MSG_POS_ECEF (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 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 (not implemented). Defaults to 0. [_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 (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 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 [_msgPosLlh_height] :: MsgPosLlh -> Double -- | Horizontal position accuracy estimate (not implemented). Defaults to -- 0. [_msgPosLlh_h_accuracy] :: MsgPosLlh -> Word16 -- | Vertical position accuracy estimate (not implemented). Defaults to 0. [_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 (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 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 (not implemented). Defaults to 0. [_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 (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 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 (not implemented). Defaults to -- 0. [_msgBaselineNed_h_accuracy] :: MsgBaselineNed -> Word16 -- | Vertical position accuracy estimate (not implemented). Defaults to 0. [_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 (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 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 (not implemented). Defaults to 0. [_msgVelEcef_accuracy] :: MsgVelEcef -> Word16 -- | Number of satellites used in solution [_msgVelEcef_n_sats] :: MsgVelEcef -> Word8 -- | Status flags (reserved) [_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 (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 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 (not implemented). Defaults to -- 0. [_msgVelNed_h_accuracy] :: MsgVelNed -> Word16 -- | Vertical velocity accuracy estimate (not implemented). Defaults to 0. [_msgVelNed_v_accuracy] :: MsgVelNed -> Word16 -- | Number of satellites used in solution [_msgVelNed_n_sats] :: MsgVelNed -> Word8 -- | Status flags (reserved) [_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 (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 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 instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Navigation.MsgBaselineHeading instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Navigation.MsgBaselineHeading instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Navigation.MsgBaselineHeading instance GHC.Classes.Eq SwiftNav.SBP.Navigation.MsgBaselineHeading instance GHC.Read.Read SwiftNav.SBP.Navigation.MsgBaselineHeading instance GHC.Show.Show SwiftNav.SBP.Navigation.MsgBaselineHeading instance Data.Binary.Class.Binary SwiftNav.SBP.Navigation.MsgBaselineHeading instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Navigation.MsgVelNed instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Navigation.MsgVelNed instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Navigation.MsgVelNed instance GHC.Classes.Eq SwiftNav.SBP.Navigation.MsgVelNed instance GHC.Read.Read SwiftNav.SBP.Navigation.MsgVelNed instance GHC.Show.Show SwiftNav.SBP.Navigation.MsgVelNed instance Data.Binary.Class.Binary SwiftNav.SBP.Navigation.MsgVelNed instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Navigation.MsgVelEcef instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Navigation.MsgVelEcef instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Navigation.MsgVelEcef instance GHC.Classes.Eq SwiftNav.SBP.Navigation.MsgVelEcef instance GHC.Read.Read SwiftNav.SBP.Navigation.MsgVelEcef instance GHC.Show.Show SwiftNav.SBP.Navigation.MsgVelEcef instance Data.Binary.Class.Binary SwiftNav.SBP.Navigation.MsgVelEcef instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Navigation.MsgBaselineNed instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Navigation.MsgBaselineNed instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Navigation.MsgBaselineNed instance GHC.Classes.Eq SwiftNav.SBP.Navigation.MsgBaselineNed instance GHC.Read.Read SwiftNav.SBP.Navigation.MsgBaselineNed instance GHC.Show.Show SwiftNav.SBP.Navigation.MsgBaselineNed instance Data.Binary.Class.Binary SwiftNav.SBP.Navigation.MsgBaselineNed instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Navigation.MsgBaselineEcef instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Navigation.MsgBaselineEcef instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Navigation.MsgBaselineEcef instance GHC.Classes.Eq SwiftNav.SBP.Navigation.MsgBaselineEcef instance GHC.Read.Read SwiftNav.SBP.Navigation.MsgBaselineEcef instance GHC.Show.Show SwiftNav.SBP.Navigation.MsgBaselineEcef instance Data.Binary.Class.Binary SwiftNav.SBP.Navigation.MsgBaselineEcef instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Navigation.MsgPosLlh instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Navigation.MsgPosLlh instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Navigation.MsgPosLlh instance GHC.Classes.Eq SwiftNav.SBP.Navigation.MsgPosLlh instance GHC.Read.Read SwiftNav.SBP.Navigation.MsgPosLlh instance GHC.Show.Show SwiftNav.SBP.Navigation.MsgPosLlh instance Data.Binary.Class.Binary SwiftNav.SBP.Navigation.MsgPosLlh instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Navigation.MsgPosEcef instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Navigation.MsgPosEcef instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Navigation.MsgPosEcef instance GHC.Classes.Eq SwiftNav.SBP.Navigation.MsgPosEcef instance GHC.Read.Read SwiftNav.SBP.Navigation.MsgPosEcef instance GHC.Show.Show SwiftNav.SBP.Navigation.MsgPosEcef instance Data.Binary.Class.Binary SwiftNav.SBP.Navigation.MsgPosEcef instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Navigation.MsgDops instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Navigation.MsgDops instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Navigation.MsgDops instance GHC.Classes.Eq SwiftNav.SBP.Navigation.MsgDops instance GHC.Read.Read SwiftNav.SBP.Navigation.MsgDops instance GHC.Show.Show SwiftNav.SBP.Navigation.MsgDops instance Data.Binary.Class.Binary SwiftNav.SBP.Navigation.MsgDops instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Navigation.MsgGpsTime instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Navigation.MsgGpsTime instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Navigation.MsgGpsTime instance GHC.Classes.Eq SwiftNav.SBP.Navigation.MsgGpsTime instance GHC.Read.Read SwiftNav.SBP.Navigation.MsgGpsTime instance GHC.Show.Show SwiftNav.SBP.Navigation.MsgGpsTime instance Data.Binary.Class.Binary SwiftNav.SBP.Navigation.MsgGpsTime -- | Satellite observation messages from the device. module SwiftNav.SBP.Observation -- | ObsGPSTime. -- -- A wire-appropriate GPS time, defined as the number of milliseconds -- since beginning of the week on the Saturday/Sunday transition. data ObsGPSTime ObsGPSTime :: Word32 -> Word16 -> ObsGPSTime -- | Milliseconds since start of GPS week [_obsGPSTime_tow] :: ObsGPSTime -> Word32 -- | GPS week number [_obsGPSTime_wn] :: ObsGPSTime -> Word16 obsGPSTime_wn :: Lens' ObsGPSTime Word16 obsGPSTime_tow :: Lens' ObsGPSTime Word32 -- | 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. 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 -- | ObservationHeader. -- -- Header of a GPS observation message. data ObservationHeader ObservationHeader :: ObsGPSTime -> Word8 -> ObservationHeader -- | GPS time of this observation [_observationHeader_t] :: ObservationHeader -> ObsGPSTime -- | 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 ObsGPSTime observationHeader_n_obs :: Lens' ObservationHeader Word8 -- | PackedObsContent. -- -- Pseudorange and carrier phase observation for a satellite being -- tracked. data PackedObsContent PackedObsContent :: Word32 -> CarrierPhase -> Word8 -> Word16 -> GnssSignal -> PackedObsContent -- | Pseudorange observation [_packedObsContent_P] :: PackedObsContent -> Word32 -- | Carrier phase observation [_packedObsContent_L] :: PackedObsContent -> CarrierPhase -- | Carrier-to-Noise density [_packedObsContent_cn0] :: PackedObsContent -> Word8 -- | Lock indicator. This value changes whenever a satellite signal has -- lost and regained lock, indicating that the carrier phase ambiguity -- may have changed. [_packedObsContent_lock] :: PackedObsContent -> Word16 -- | GNSS signal identifier [_packedObsContent_sid] :: PackedObsContent -> GnssSignal packedObsContent_sid :: Lens' PackedObsContent GnssSignal packedObsContent_lock :: Lens' PackedObsContent Word16 packedObsContent_cn0 :: Lens' PackedObsContent Word8 packedObsContent_P :: Lens' PackedObsContent Word32 packedObsContent_L :: Lens' PackedObsContent CarrierPhase msgObs :: Word16 -- | SBP class for message MSG_OBS (0x0043). -- -- 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). 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 msgEphemeris :: Word16 -- | SBP class for message MSG_EPHEMERIS (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 MsgEphemeris MsgEphemeris :: 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 -> MsgEphemeris -- | Group delay differential between L1 and L2 [_msgEphemeris_tgd] :: MsgEphemeris -> Double -- | Amplitude of the sine harmonic correction term to the orbit radius [_msgEphemeris_c_rs] :: MsgEphemeris -> Double -- | Amplitude of the cosine harmonic correction term to the orbit radius [_msgEphemeris_c_rc] :: MsgEphemeris -> Double -- | Amplitude of the cosine harmonic correction term to the argument of -- latitude [_msgEphemeris_c_uc] :: MsgEphemeris -> Double -- | Amplitude of the sine harmonic correction term to the argument of -- latitude [_msgEphemeris_c_us] :: MsgEphemeris -> Double -- | Amplitude of the cosine harmonic correction term to the angle of -- inclination [_msgEphemeris_c_ic] :: MsgEphemeris -> Double -- | Amplitude of the sine harmonic correction term to the angle of -- inclination [_msgEphemeris_c_is] :: MsgEphemeris -> Double -- | Mean motion difference [_msgEphemeris_dn] :: MsgEphemeris -> Double -- | Mean anomaly at reference time [_msgEphemeris_m0] :: MsgEphemeris -> Double -- | Eccentricity of satellite orbit [_msgEphemeris_ecc] :: MsgEphemeris -> Double -- | Square root of the semi-major axis of orbit [_msgEphemeris_sqrta] :: MsgEphemeris -> Double -- | Longitude of ascending node of orbit plane at weekly epoch [_msgEphemeris_omega0] :: MsgEphemeris -> Double -- | Rate of right ascension [_msgEphemeris_omegadot] :: MsgEphemeris -> Double -- | Argument of perigee [_msgEphemeris_w] :: MsgEphemeris -> Double -- | Inclination [_msgEphemeris_inc] :: MsgEphemeris -> Double -- | Inclination first derivative [_msgEphemeris_inc_dot] :: MsgEphemeris -> Double -- | Polynomial clock correction coefficient (clock bias) [_msgEphemeris_af0] :: MsgEphemeris -> Double -- | Polynomial clock correction coefficient (clock drift) [_msgEphemeris_af1] :: MsgEphemeris -> Double -- | Polynomial clock correction coefficient (rate of clock drift) [_msgEphemeris_af2] :: MsgEphemeris -> Double -- | Time of week [_msgEphemeris_toe_tow] :: MsgEphemeris -> Double -- | Week number [_msgEphemeris_toe_wn] :: MsgEphemeris -> Word16 -- | Clock reference time of week [_msgEphemeris_toc_tow] :: MsgEphemeris -> Double -- | Clock reference week number [_msgEphemeris_toc_wn] :: MsgEphemeris -> Word16 -- | Is valid? [_msgEphemeris_valid] :: MsgEphemeris -> Word8 -- | Satellite is healthy? [_msgEphemeris_healthy] :: MsgEphemeris -> Word8 -- | GNSS signal identifier [_msgEphemeris_sid] :: MsgEphemeris -> GnssSignal -- | Issue of ephemeris data [_msgEphemeris_iode] :: MsgEphemeris -> Word8 -- | Issue of clock data [_msgEphemeris_iodc] :: MsgEphemeris -> Word16 -- | Reserved field [_msgEphemeris_reserved] :: MsgEphemeris -> Word32 msgEphemeris_w :: Lens' MsgEphemeris Double msgEphemeris_valid :: Lens' MsgEphemeris Word8 msgEphemeris_toe_wn :: Lens' MsgEphemeris Word16 msgEphemeris_toe_tow :: Lens' MsgEphemeris Double msgEphemeris_toc_wn :: Lens' MsgEphemeris Word16 msgEphemeris_toc_tow :: Lens' MsgEphemeris Double msgEphemeris_tgd :: Lens' MsgEphemeris Double msgEphemeris_sqrta :: Lens' MsgEphemeris Double msgEphemeris_sid :: Lens' MsgEphemeris GnssSignal msgEphemeris_reserved :: Lens' MsgEphemeris Word32 msgEphemeris_omegadot :: Lens' MsgEphemeris Double msgEphemeris_omega0 :: Lens' MsgEphemeris Double msgEphemeris_m0 :: Lens' MsgEphemeris Double msgEphemeris_iode :: Lens' MsgEphemeris Word8 msgEphemeris_iodc :: Lens' MsgEphemeris Word16 msgEphemeris_inc_dot :: Lens' MsgEphemeris Double msgEphemeris_inc :: Lens' MsgEphemeris Double msgEphemeris_healthy :: Lens' MsgEphemeris Word8 msgEphemeris_ecc :: Lens' MsgEphemeris Double msgEphemeris_dn :: Lens' MsgEphemeris Double msgEphemeris_c_us :: Lens' MsgEphemeris Double msgEphemeris_c_uc :: Lens' MsgEphemeris Double msgEphemeris_c_rs :: Lens' MsgEphemeris Double msgEphemeris_c_rc :: Lens' MsgEphemeris Double msgEphemeris_c_is :: Lens' MsgEphemeris Double msgEphemeris_c_ic :: Lens' MsgEphemeris Double msgEphemeris_af2 :: Lens' MsgEphemeris Double msgEphemeris_af1 :: Lens' MsgEphemeris Double msgEphemeris_af0 :: Lens' MsgEphemeris 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 -- | PackedObsContentDepA. -- -- Deprecated. data PackedObsContentDepA PackedObsContentDepA :: Word32 -> CarrierPhase -> Word8 -> Word16 -> Word8 -> PackedObsContentDepA -- | Pseudorange observation [_packedObsContentDepA_P] :: PackedObsContentDepA -> Word32 -- | Carrier phase observation [_packedObsContentDepA_L] :: PackedObsContentDepA -> CarrierPhase -- | 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 CarrierPhase msgObsDepA :: Word16 -- | SBP class for message MSG_OBS_DEP_A (0x0045). -- -- Deprecated. data MsgObsDepA MsgObsDepA :: ObservationHeader -> [PackedObsContentDepA] -> MsgObsDepA -- | Header of a GPS observation message [_msgObsDepA_header] :: MsgObsDepA -> ObservationHeader -- | Pseudorange and carrier phase observation for a satellite being -- tracked. [_msgObsDepA_obs] :: MsgObsDepA -> [PackedObsContentDepA] msgObsDepA_obs :: Lens' MsgObsDepA [PackedObsContentDepA] msgObsDepA_header :: Lens' MsgObsDepA ObservationHeader instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.MsgObsDepA instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.MsgObsDepA instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Observation.MsgObsDepA instance GHC.Classes.Eq SwiftNav.SBP.Observation.MsgObsDepA instance GHC.Read.Read SwiftNav.SBP.Observation.MsgObsDepA instance GHC.Show.Show SwiftNav.SBP.Observation.MsgObsDepA instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.MsgObsDepA instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.PackedObsContentDepA instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.PackedObsContentDepA instance GHC.Classes.Eq SwiftNav.SBP.Observation.PackedObsContentDepA instance GHC.Read.Read SwiftNav.SBP.Observation.PackedObsContentDepA instance GHC.Show.Show SwiftNav.SBP.Observation.PackedObsContentDepA instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.PackedObsContentDepA instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.MsgEphemerisDepB instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.MsgEphemerisDepB instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Observation.MsgEphemerisDepB instance GHC.Classes.Eq SwiftNav.SBP.Observation.MsgEphemerisDepB instance GHC.Read.Read SwiftNav.SBP.Observation.MsgEphemerisDepB instance GHC.Show.Show SwiftNav.SBP.Observation.MsgEphemerisDepB instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.MsgEphemerisDepB instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.MsgEphemerisDepA instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.MsgEphemerisDepA instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Observation.MsgEphemerisDepA instance GHC.Classes.Eq SwiftNav.SBP.Observation.MsgEphemerisDepA instance GHC.Read.Read SwiftNav.SBP.Observation.MsgEphemerisDepA instance GHC.Show.Show SwiftNav.SBP.Observation.MsgEphemerisDepA instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.MsgEphemerisDepA instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.MsgEphemeris instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.MsgEphemeris instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Observation.MsgEphemeris instance GHC.Classes.Eq SwiftNav.SBP.Observation.MsgEphemeris instance GHC.Read.Read SwiftNav.SBP.Observation.MsgEphemeris instance GHC.Show.Show SwiftNav.SBP.Observation.MsgEphemeris instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.MsgEphemeris instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.MsgBasePosEcef instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.MsgBasePosEcef instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Observation.MsgBasePosEcef instance GHC.Classes.Eq SwiftNav.SBP.Observation.MsgBasePosEcef instance GHC.Read.Read SwiftNav.SBP.Observation.MsgBasePosEcef instance GHC.Show.Show SwiftNav.SBP.Observation.MsgBasePosEcef instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.MsgBasePosEcef instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.MsgBasePosLlh instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.MsgBasePosLlh instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Observation.MsgBasePosLlh instance GHC.Classes.Eq SwiftNav.SBP.Observation.MsgBasePosLlh instance GHC.Read.Read SwiftNav.SBP.Observation.MsgBasePosLlh instance GHC.Show.Show SwiftNav.SBP.Observation.MsgBasePosLlh instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.MsgBasePosLlh instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.MsgObs instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.MsgObs instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Observation.MsgObs instance GHC.Classes.Eq SwiftNav.SBP.Observation.MsgObs instance GHC.Read.Read SwiftNav.SBP.Observation.MsgObs instance GHC.Show.Show SwiftNav.SBP.Observation.MsgObs instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.MsgObs instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.PackedObsContent instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.PackedObsContent instance GHC.Classes.Eq SwiftNav.SBP.Observation.PackedObsContent instance GHC.Read.Read SwiftNav.SBP.Observation.PackedObsContent instance GHC.Show.Show SwiftNav.SBP.Observation.PackedObsContent instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.PackedObsContent instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.ObservationHeader instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.ObservationHeader instance GHC.Classes.Eq SwiftNav.SBP.Observation.ObservationHeader instance GHC.Read.Read SwiftNav.SBP.Observation.ObservationHeader instance GHC.Show.Show SwiftNav.SBP.Observation.ObservationHeader instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.ObservationHeader instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.CarrierPhase instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.CarrierPhase instance GHC.Classes.Eq SwiftNav.SBP.Observation.CarrierPhase instance GHC.Read.Read SwiftNav.SBP.Observation.CarrierPhase instance GHC.Show.Show SwiftNav.SBP.Observation.CarrierPhase instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.CarrierPhase instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Observation.ObsGPSTime instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Observation.ObsGPSTime instance GHC.Classes.Eq SwiftNav.SBP.Observation.ObsGPSTime instance GHC.Read.Read SwiftNav.SBP.Observation.ObsGPSTime instance GHC.Show.Show SwiftNav.SBP.Observation.ObsGPSTime instance Data.Binary.Class.Binary SwiftNav.SBP.Observation.ObsGPSTime -- | System health, configuration, and diagnostic messages specific to the -- Piksi L1 receiver, including a variety of legacy messages that may no -- longer be used. module SwiftNav.SBP.Piksi 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 (0x00B2). -- -- This message from the host resets the Piksi back into the bootloader. data MsgReset MsgReset :: MsgReset 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 :: ByteString -> Word16 -> Word32 -> MsgThreadState -- | Thread name (NULL terminated) [_msgThreadState_name] :: MsgThreadState -> ByteString -- | 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 ByteString 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 -- | 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 (0x0018). -- -- 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. data MsgUartState MsgUartState :: UARTChannel -> UARTChannel -> UARTChannel -> Latency -> 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 msgUartState_uart_ftdi :: Lens' MsgUartState UARTChannel msgUartState_uart_b :: Lens' MsgUartState UARTChannel msgUartState_uart_a :: Lens' MsgUartState UARTChannel msgUartState_latency :: Lens' MsgUartState 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 instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgMaskSatellite instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgMaskSatellite instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgMaskSatellite instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgMaskSatellite instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgMaskSatellite instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgMaskSatellite instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgMaskSatellite instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgIarState instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgIarState instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgIarState instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgIarState instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgIarState instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgIarState instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgIarState instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgUartState instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgUartState instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgUartState instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgUartState instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgUartState instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgUartState instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgUartState instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.Latency instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.Latency instance GHC.Classes.Eq SwiftNav.SBP.Piksi.Latency instance GHC.Read.Read SwiftNav.SBP.Piksi.Latency instance GHC.Show.Show SwiftNav.SBP.Piksi.Latency instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.Latency instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.UARTChannel instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.UARTChannel instance GHC.Classes.Eq SwiftNav.SBP.Piksi.UARTChannel instance GHC.Read.Read SwiftNav.SBP.Piksi.UARTChannel instance GHC.Show.Show SwiftNav.SBP.Piksi.UARTChannel instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.UARTChannel instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgThreadState instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgThreadState instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgThreadState instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgThreadState instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgThreadState instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgThreadState instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgThreadState instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgInitBase instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgInitBase instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgInitBase instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgInitBase instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgInitBase instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgInitBase instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgInitBase instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgResetFilters instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgResetFilters instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgResetFilters instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgResetFilters instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgResetFilters instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgResetFilters instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgResetFilters instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgCwStart instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgCwStart instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgCwStart instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgCwStart instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgCwStart instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgCwStart instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgCwStart instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgCwResults instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgCwResults instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgCwResults instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgCwResults instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgCwResults instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgCwResults instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgCwResults instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgReset instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgReset instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgReset instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgReset instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgReset instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgReset instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgReset instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgSetTime instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgSetTime instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgSetTime instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgSetTime instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgSetTime instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgSetTime instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgSetTime instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Piksi.MsgAlmanac instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Piksi.MsgAlmanac instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Piksi.MsgAlmanac instance GHC.Classes.Eq SwiftNav.SBP.Piksi.MsgAlmanac instance GHC.Read.Read SwiftNav.SBP.Piksi.MsgAlmanac instance GHC.Show.Show SwiftNav.SBP.Piksi.MsgAlmanac instance Data.Binary.Class.Binary SwiftNav.SBP.Piksi.MsgAlmanac -- | Messages for reading and writing the device's device settings. Note -- that some of these messages share the same message type ID for both -- the host request and the device response. See the accompanying -- document for descriptions of settings configurations and examples: -- https://github.com -- swift-navpiksi_firmwareblobmasterdocssettings.pdf module SwiftNav.SBP.Settings 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 :: ByteString -> 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 -> ByteString msgSettingsWrite_setting :: Iso' MsgSettingsWrite ByteString msgSettingsReadReq :: Word16 -- | SBP class for message MSG_SETTINGS_READ_REQ (0x00A4). -- -- The setting message reads the device configuration. data MsgSettingsReadReq MsgSettingsReadReq :: ByteString -> 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 -> ByteString msgSettingsReadReq_setting :: Iso' MsgSettingsReadReq ByteString msgSettingsReadResp :: Word16 -- | SBP class for message MSG_SETTINGS_READ_RESP (0x00A5). -- -- The setting message reads the device configuration. data MsgSettingsReadResp MsgSettingsReadResp :: ByteString -> MsgSettingsReadResp -- | A NULL-terminated and delimited string with contents [SECTION_SETTING, -- SETTING, VALUE]. [_msgSettingsReadResp_setting] :: MsgSettingsReadResp -> ByteString msgSettingsReadResp_setting :: Iso' MsgSettingsReadResp ByteString 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 -> ByteString -> 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 -> ByteString msgSettingsReadByIndexResp_setting :: Lens' MsgSettingsReadByIndexResp ByteString 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 instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Settings.MsgSettingsReadByIndexDone instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Settings.MsgSettingsReadByIndexDone instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Settings.MsgSettingsReadByIndexDone instance GHC.Classes.Eq SwiftNav.SBP.Settings.MsgSettingsReadByIndexDone instance GHC.Read.Read SwiftNav.SBP.Settings.MsgSettingsReadByIndexDone instance GHC.Show.Show SwiftNav.SBP.Settings.MsgSettingsReadByIndexDone instance Data.Binary.Class.Binary SwiftNav.SBP.Settings.MsgSettingsReadByIndexDone instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Settings.MsgSettingsReadByIndexResp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Settings.MsgSettingsReadByIndexResp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Settings.MsgSettingsReadByIndexResp instance GHC.Classes.Eq SwiftNav.SBP.Settings.MsgSettingsReadByIndexResp instance GHC.Read.Read SwiftNav.SBP.Settings.MsgSettingsReadByIndexResp instance GHC.Show.Show SwiftNav.SBP.Settings.MsgSettingsReadByIndexResp instance Data.Binary.Class.Binary SwiftNav.SBP.Settings.MsgSettingsReadByIndexResp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Settings.MsgSettingsReadByIndexReq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Settings.MsgSettingsReadByIndexReq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Settings.MsgSettingsReadByIndexReq instance GHC.Classes.Eq SwiftNav.SBP.Settings.MsgSettingsReadByIndexReq instance GHC.Read.Read SwiftNav.SBP.Settings.MsgSettingsReadByIndexReq instance GHC.Show.Show SwiftNav.SBP.Settings.MsgSettingsReadByIndexReq instance Data.Binary.Class.Binary SwiftNav.SBP.Settings.MsgSettingsReadByIndexReq instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Settings.MsgSettingsReadResp instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Settings.MsgSettingsReadResp instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Settings.MsgSettingsReadResp instance GHC.Classes.Eq SwiftNav.SBP.Settings.MsgSettingsReadResp instance GHC.Read.Read SwiftNav.SBP.Settings.MsgSettingsReadResp instance GHC.Show.Show SwiftNav.SBP.Settings.MsgSettingsReadResp instance Data.Binary.Class.Binary SwiftNav.SBP.Settings.MsgSettingsReadResp instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Settings.MsgSettingsReadReq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Settings.MsgSettingsReadReq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Settings.MsgSettingsReadReq instance GHC.Classes.Eq SwiftNav.SBP.Settings.MsgSettingsReadReq instance GHC.Read.Read SwiftNav.SBP.Settings.MsgSettingsReadReq instance GHC.Show.Show SwiftNav.SBP.Settings.MsgSettingsReadReq instance Data.Binary.Class.Binary SwiftNav.SBP.Settings.MsgSettingsReadReq instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Settings.MsgSettingsWrite instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Settings.MsgSettingsWrite instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Settings.MsgSettingsWrite instance GHC.Classes.Eq SwiftNav.SBP.Settings.MsgSettingsWrite instance GHC.Read.Read SwiftNav.SBP.Settings.MsgSettingsWrite instance GHC.Show.Show SwiftNav.SBP.Settings.MsgSettingsWrite instance Data.Binary.Class.Binary SwiftNav.SBP.Settings.MsgSettingsWrite instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Settings.MsgSettingsSave instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Settings.MsgSettingsSave instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Settings.MsgSettingsSave instance GHC.Classes.Eq SwiftNav.SBP.Settings.MsgSettingsSave instance GHC.Read.Read SwiftNav.SBP.Settings.MsgSettingsSave instance GHC.Show.Show SwiftNav.SBP.Settings.MsgSettingsSave instance Data.Binary.Class.Binary SwiftNav.SBP.Settings.MsgSettingsSave -- | Standardized system messages from Swift Navigation devices. module SwiftNav.SBP.System 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 :: Word32 -> MsgStartup -- | Reserved [_msgStartup_reserved] :: MsgStartup -> Word32 msgStartup_reserved :: Iso' MsgStartup Word32 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 instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.System.MsgHeartbeat instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.System.MsgHeartbeat instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.System.MsgHeartbeat instance GHC.Classes.Eq SwiftNav.SBP.System.MsgHeartbeat instance GHC.Read.Read SwiftNav.SBP.System.MsgHeartbeat instance GHC.Show.Show SwiftNav.SBP.System.MsgHeartbeat instance Data.Binary.Class.Binary SwiftNav.SBP.System.MsgHeartbeat instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.System.MsgStartup instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.System.MsgStartup instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.System.MsgStartup instance GHC.Classes.Eq SwiftNav.SBP.System.MsgStartup instance GHC.Read.Read SwiftNav.SBP.System.MsgStartup instance GHC.Show.Show SwiftNav.SBP.System.MsgStartup instance Data.Binary.Class.Binary SwiftNav.SBP.System.MsgStartup -- | Satellite code and carrier-phase tracking messages from the device. module SwiftNav.SBP.Tracking -- | TrackingChannelState. -- -- Tracking channel state for a specific satellite signal and measured -- signal power. data TrackingChannelState TrackingChannelState :: Word8 -> GnssSignal -> Float -> TrackingChannelState -- | Status of tracking channel [_trackingChannelState_state] :: TrackingChannelState -> Word8 -- | GNSS signal being tracked [_trackingChannelState_sid] :: TrackingChannelState -> GnssSignal -- | Carrier-to-noise density [_trackingChannelState_cn0] :: TrackingChannelState -> Float trackingChannelState_state :: Lens' TrackingChannelState Word8 trackingChannelState_sid :: Lens' TrackingChannelState GnssSignal trackingChannelState_cn0 :: Lens' TrackingChannelState Float msgTrackingState :: Word16 -- | SBP class for message MSG_TRACKING_STATE (0x0013). -- -- 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 -- | Satellite 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] instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Tracking.MsgTrackingStateDepA instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Tracking.MsgTrackingStateDepA instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Tracking.MsgTrackingStateDepA instance GHC.Classes.Eq SwiftNav.SBP.Tracking.MsgTrackingStateDepA instance GHC.Read.Read SwiftNav.SBP.Tracking.MsgTrackingStateDepA instance GHC.Show.Show SwiftNav.SBP.Tracking.MsgTrackingStateDepA instance Data.Binary.Class.Binary SwiftNav.SBP.Tracking.MsgTrackingStateDepA instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Tracking.TrackingChannelStateDepA instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Tracking.TrackingChannelStateDepA instance GHC.Classes.Eq SwiftNav.SBP.Tracking.TrackingChannelStateDepA instance GHC.Read.Read SwiftNav.SBP.Tracking.TrackingChannelStateDepA instance GHC.Show.Show SwiftNav.SBP.Tracking.TrackingChannelStateDepA instance Data.Binary.Class.Binary SwiftNav.SBP.Tracking.TrackingChannelStateDepA instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Tracking.MsgTrackingIq instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Tracking.MsgTrackingIq instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Tracking.MsgTrackingIq instance GHC.Classes.Eq SwiftNav.SBP.Tracking.MsgTrackingIq instance GHC.Read.Read SwiftNav.SBP.Tracking.MsgTrackingIq instance GHC.Show.Show SwiftNav.SBP.Tracking.MsgTrackingIq instance Data.Binary.Class.Binary SwiftNav.SBP.Tracking.MsgTrackingIq instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Tracking.TrackingChannelCorrelation instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Tracking.TrackingChannelCorrelation instance GHC.Classes.Eq SwiftNav.SBP.Tracking.TrackingChannelCorrelation instance GHC.Read.Read SwiftNav.SBP.Tracking.TrackingChannelCorrelation instance GHC.Show.Show SwiftNav.SBP.Tracking.TrackingChannelCorrelation instance Data.Binary.Class.Binary SwiftNav.SBP.Tracking.TrackingChannelCorrelation instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Tracking.MsgTrackingState instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Tracking.MsgTrackingState instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.Tracking.MsgTrackingState instance GHC.Classes.Eq SwiftNav.SBP.Tracking.MsgTrackingState instance GHC.Read.Read SwiftNav.SBP.Tracking.MsgTrackingState instance GHC.Show.Show SwiftNav.SBP.Tracking.MsgTrackingState instance Data.Binary.Class.Binary SwiftNav.SBP.Tracking.MsgTrackingState instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.Tracking.TrackingChannelState instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.Tracking.TrackingChannelState instance GHC.Classes.Eq SwiftNav.SBP.Tracking.TrackingChannelState instance GHC.Read.Read SwiftNav.SBP.Tracking.TrackingChannelState instance GHC.Show.Show SwiftNav.SBP.Tracking.TrackingChannelState instance Data.Binary.Class.Binary SwiftNav.SBP.Tracking.TrackingChannelState -- | Messages reserved for use by the user. module SwiftNav.SBP.User 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] instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.User.MsgUserData instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.User.MsgUserData instance SwiftNav.SBP.Types.ToSBP SwiftNav.SBP.User.MsgUserData instance GHC.Classes.Eq SwiftNav.SBP.User.MsgUserData instance GHC.Read.Read SwiftNav.SBP.User.MsgUserData instance GHC.Show.Show SwiftNav.SBP.User.MsgUserData instance Data.Binary.Class.Binary SwiftNav.SBP.User.MsgUserData -- | 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 SBPMsgAlmanac :: MsgAlmanac -> Msg -> SBPMsg SBPMsgBasePosEcef :: MsgBasePosEcef -> Msg -> SBPMsg SBPMsgBasePosLlh :: MsgBasePosLlh -> Msg -> SBPMsg SBPMsgBaselineEcef :: MsgBaselineEcef -> Msg -> SBPMsg SBPMsgBaselineHeading :: MsgBaselineHeading -> Msg -> SBPMsg SBPMsgBaselineNed :: MsgBaselineNed -> Msg -> SBPMsg SBPMsgBootloaderHandshakeDepA :: MsgBootloaderHandshakeDepA -> Msg -> SBPMsg SBPMsgBootloaderHandshakeReq :: MsgBootloaderHandshakeReq -> Msg -> SBPMsg SBPMsgBootloaderHandshakeResp :: MsgBootloaderHandshakeResp -> Msg -> SBPMsg SBPMsgBootloaderJumpToApp :: MsgBootloaderJumpToApp -> Msg -> SBPMsg SBPMsgCwResults :: MsgCwResults -> Msg -> SBPMsg SBPMsgCwStart :: MsgCwStart -> Msg -> SBPMsg SBPMsgDops :: MsgDops -> Msg -> SBPMsg SBPMsgEphemeris :: MsgEphemeris -> Msg -> SBPMsg SBPMsgEphemerisDepA :: MsgEphemerisDepA -> Msg -> SBPMsg SBPMsgEphemerisDepB :: MsgEphemerisDepB -> Msg -> SBPMsg SBPMsgExtEvent :: MsgExtEvent -> 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 SBPMsgGpsTime :: MsgGpsTime -> Msg -> SBPMsg SBPMsgHeartbeat :: MsgHeartbeat -> Msg -> SBPMsg SBPMsgIarState :: MsgIarState -> Msg -> SBPMsg SBPMsgInitBase :: MsgInitBase -> Msg -> SBPMsg SBPMsgLog :: MsgLog -> Msg -> SBPMsg SBPMsgM25FlashWriteStatus :: MsgM25FlashWriteStatus -> Msg -> SBPMsg SBPMsgMaskSatellite :: MsgMaskSatellite -> Msg -> SBPMsg SBPMsgNapDeviceDnaReq :: MsgNapDeviceDnaReq -> Msg -> SBPMsg SBPMsgNapDeviceDnaResp :: MsgNapDeviceDnaResp -> Msg -> SBPMsg SBPMsgObs :: MsgObs -> Msg -> SBPMsg SBPMsgObsDepA :: MsgObsDepA -> Msg -> SBPMsg SBPMsgPosEcef :: MsgPosEcef -> Msg -> SBPMsg SBPMsgPosLlh :: MsgPosLlh -> Msg -> SBPMsg SBPMsgPrintDep :: MsgPrintDep -> Msg -> SBPMsg SBPMsgReset :: MsgReset -> 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 SBPMsgSettingsSave :: MsgSettingsSave -> Msg -> SBPMsg SBPMsgSettingsWrite :: MsgSettingsWrite -> Msg -> SBPMsg SBPMsgStartup :: MsgStartup -> Msg -> SBPMsg SBPMsgStmFlashLockSector :: MsgStmFlashLockSector -> Msg -> SBPMsg SBPMsgStmFlashUnlockSector :: MsgStmFlashUnlockSector -> Msg -> SBPMsg SBPMsgStmUniqueIdReq :: MsgStmUniqueIdReq -> Msg -> SBPMsg SBPMsgStmUniqueIdResp :: MsgStmUniqueIdResp -> Msg -> SBPMsg SBPMsgThreadState :: MsgThreadState -> Msg -> SBPMsg SBPMsgTrackingIq :: MsgTrackingIq -> Msg -> SBPMsg SBPMsgTrackingState :: MsgTrackingState -> Msg -> SBPMsg SBPMsgTrackingStateDepA :: MsgTrackingStateDepA -> Msg -> SBPMsg SBPMsgTweet :: MsgTweet -> Msg -> SBPMsg SBPMsgUartState :: MsgUartState -> Msg -> SBPMsg SBPMsgUserData :: MsgUserData -> Msg -> SBPMsg SBPMsgVelEcef :: MsgVelEcef -> Msg -> SBPMsg SBPMsgVelNed :: MsgVelNed -> Msg -> SBPMsg SBPMsgBadCrc :: Msg -> SBPMsg SBPMsgUnknown :: Msg -> SBPMsg instance Data.Binary.Class.Binary SwiftNav.SBP.SBPMsg instance Data.Aeson.Types.Class.FromJSON SwiftNav.SBP.SBPMsg instance Data.Aeson.Types.Class.ToJSON SwiftNav.SBP.SBPMsg instance SwiftNav.SBP.Types.HasMsg SwiftNav.SBP.SBPMsg instance GHC.Classes.Eq SwiftNav.SBP.SBPMsg instance GHC.Read.Read SwiftNav.SBP.SBPMsg instance GHC.Show.Show SwiftNav.SBP.SBPMsg