packages feed

sbp 2.3.12 → 2.3.13

raw patch · 22 files changed

+828/−828 lines, 22 files

Files

sbp.cabal view
@@ -1,5 +1,5 @@ name:                  sbp-version:               2.3.12+version:               2.3.13 synopsis:              SwiftNav's SBP Library homepage:              https://github.com/swift-nav/libsbp license:               LGPL-3
src/SwiftNav/SBP/Acquisition.hs view
@@ -46,13 +46,13 @@ -- contains the parameters of the point in the acquisition search space with -- the best carrier-to-noise (CN/0) ratio. data MsgAcqResult = MsgAcqResult-  { _msgAcqResult_cn0 :: !float+  { _msgAcqResult_cn0 :: !Float     -- ^ CN/0 of best point-  , _msgAcqResult_cp :: !float+  , _msgAcqResult_cp :: !Float     -- ^ Code phase of best point-  , _msgAcqResult_cf :: !float+  , _msgAcqResult_cf :: !Float     -- ^ Carrier frequency of best point-  , _msgAcqResult_sid :: !gnss.GnssSignal+  , _msgAcqResult_sid :: !GnssSignal     -- ^ GNSS signal for which acquisition was attempted   } deriving ( Show, Read, Eq ) @@ -81,11 +81,11 @@ -- -- Deprecated. data MsgAcqResultDepC = MsgAcqResultDepC-  { _msgAcqResultDepC_cn0 :: !float+  { _msgAcqResultDepC_cn0 :: !Float     -- ^ CN/0 of best point-  , _msgAcqResultDepC_cp :: !float+  , _msgAcqResultDepC_cp :: !Float     -- ^ Code phase of best point-  , _msgAcqResultDepC_cf :: !float+  , _msgAcqResultDepC_cf :: !Float     -- ^ Carrier frequency of best point   , _msgAcqResultDepC_sid :: !GnssSignalDep     -- ^ GNSS signal for which acquisition was attempted@@ -116,12 +116,12 @@ -- -- Deprecated. data MsgAcqResultDepB = MsgAcqResultDepB-  { _msgAcqResultDepB_snr :: !float+  { _msgAcqResultDepB_snr :: !Float     -- ^ SNR of best point. Currently in arbitrary SNR points, but will be in     -- units of dB Hz in a later revision of this message.-  , _msgAcqResultDepB_cp :: !float+  , _msgAcqResultDepB_cp :: !Float     -- ^ Code phase of best point-  , _msgAcqResultDepB_cf :: !float+  , _msgAcqResultDepB_cf :: !Float     -- ^ Carrier frequency of best point   , _msgAcqResultDepB_sid :: !GnssSignalDep     -- ^ GNSS signal for which acquisition was attempted@@ -152,14 +152,14 @@ -- -- Deprecated. data MsgAcqResultDepA = MsgAcqResultDepA-  { _msgAcqResultDepA_snr :: !float+  { _msgAcqResultDepA_snr :: !Float     -- ^ SNR of best point. Currently dimensonless, but will have units of dB Hz     -- in the revision of this message.-  , _msgAcqResultDepA_cp :: !float+  , _msgAcqResultDepA_cp :: !Float     -- ^ Code phase of best point-  , _msgAcqResultDepA_cf :: !float+  , _msgAcqResultDepA_cf :: !Float     -- ^ Carrier frequency of best point-  , _msgAcqResultDepA_prn :: !uint32+  , _msgAcqResultDepA_prn :: !Word8     -- ^ PRN-1 identifier of the satellite signal for which acquisition was     -- attempted   } deriving ( Show, Read, Eq )@@ -188,29 +188,29 @@ -- profile during acquisition time. The message is used to debug and measure -- the performance. data AcqSvProfile = AcqSvProfile-  { _acqSvProfile_job_type :: !uint32+  { _acqSvProfile_job_type :: !Word8     -- ^ SV search job type (deep, fallback, etc)-  , _acqSvProfile_status   :: !uint32+  , _acqSvProfile_status   :: !Word8     -- ^ Acquisition status 1 is Success, 0 is Failure-  , _acqSvProfile_cn0      :: !uint32+  , _acqSvProfile_cn0      :: !Word16     -- ^ CN0 value. Only valid if status is '1'-  , _acqSvProfile_int_time :: !uint32+  , _acqSvProfile_int_time :: !Word8     -- ^ Acquisition integration time-  , _acqSvProfile_sid      :: !gnss.GnssSignal+  , _acqSvProfile_sid      :: !GnssSignal     -- ^ GNSS signal for which acquisition was attempted-  , _acqSvProfile_bin_width :: !uint32+  , _acqSvProfile_bin_width :: !Word16     -- ^ Acq frequency bin width-  , _acqSvProfile_timestamp :: !uint32+  , _acqSvProfile_timestamp :: !Word32     -- ^ Timestamp of the job complete event-  , _acqSvProfile_time_spent :: !uint32+  , _acqSvProfile_time_spent :: !Word32     -- ^ Time spent to search for sid.code-  , _acqSvProfile_cf_min   :: !sint32+  , _acqSvProfile_cf_min   :: !Int32     -- ^ Doppler range lowest frequency-  , _acqSvProfile_cf_max   :: !sint32+  , _acqSvProfile_cf_max   :: !Int32     -- ^ Doppler range highest frequency-  , _acqSvProfile_cf       :: !sint32+  , _acqSvProfile_cf       :: !Int32     -- ^ Doppler value of detected peak. Only valid if status is '1'-  , _acqSvProfile_cp       :: !uint32+  , _acqSvProfile_cp       :: !Word32     -- ^ Codephase of detected peak. Only valid if status is '1'   } deriving ( Show, Read, Eq ) @@ -251,29 +251,29 @@ -- -- Deprecated. data AcqSvProfileDep = AcqSvProfileDep-  { _acqSvProfileDep_job_type :: !uint32+  { _acqSvProfileDep_job_type :: !Word8     -- ^ SV search job type (deep, fallback, etc)-  , _acqSvProfileDep_status   :: !uint32+  , _acqSvProfileDep_status   :: !Word8     -- ^ Acquisition status 1 is Success, 0 is Failure-  , _acqSvProfileDep_cn0      :: !uint32+  , _acqSvProfileDep_cn0      :: !Word16     -- ^ CN0 value. Only valid if status is '1'-  , _acqSvProfileDep_int_time :: !uint32+  , _acqSvProfileDep_int_time :: !Word8     -- ^ Acquisition integration time   , _acqSvProfileDep_sid      :: !GnssSignalDep     -- ^ GNSS signal for which acquisition was attempted-  , _acqSvProfileDep_bin_width :: !uint32+  , _acqSvProfileDep_bin_width :: !Word16     -- ^ Acq frequency bin width-  , _acqSvProfileDep_timestamp :: !uint32+  , _acqSvProfileDep_timestamp :: !Word32     -- ^ Timestamp of the job complete event-  , _acqSvProfileDep_time_spent :: !uint32+  , _acqSvProfileDep_time_spent :: !Word32     -- ^ Time spent to search for sid.code-  , _acqSvProfileDep_cf_min   :: !sint32+  , _acqSvProfileDep_cf_min   :: !Int32     -- ^ Doppler range lowest frequency-  , _acqSvProfileDep_cf_max   :: !sint32+  , _acqSvProfileDep_cf_max   :: !Int32     -- ^ Doppler range highest frequency-  , _acqSvProfileDep_cf       :: !sint32+  , _acqSvProfileDep_cf       :: !Int32     -- ^ Doppler value of detected peak. Only valid if status is '1'-  , _acqSvProfileDep_cp       :: !uint32+  , _acqSvProfileDep_cp       :: !Word32     -- ^ Codephase of detected peak. Only valid if status is '1'   } deriving ( Show, Read, Eq ) @@ -318,7 +318,7 @@ -- The message describes all SV profiles during acquisition time. The message -- is used to debug and measure the performance. data MsgAcqSvProfile = MsgAcqSvProfile-  { _msgAcqSvProfile_acq_sv_profile :: !repeated AcqSvProfile+  { _msgAcqSvProfile_acq_sv_profile :: ![AcqSvProfile]     -- ^ SV profiles during acquisition time   } deriving ( Show, Read, Eq ) @@ -341,7 +341,7 @@ -- -- Deprecated. data MsgAcqSvProfileDep = MsgAcqSvProfileDep-  { _msgAcqSvProfileDep_acq_sv_profile :: !repeated AcqSvProfileDep+  { _msgAcqSvProfileDep_acq_sv_profile :: ![AcqSvProfileDep]     -- ^ SV profiles during acquisition time   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Bootload.hs view
@@ -68,9 +68,9 @@ -- MSG_BOOTLOADER_HANDSHAKE_REQ.  The payload contains the bootloader version -- number and the SBP protocol version number. data MsgBootloaderHandshakeResp = MsgBootloaderHandshakeResp-  { _msgBootloaderHandshakeResp_flags :: !uint32+  { _msgBootloaderHandshakeResp_flags :: !Word32     -- ^ Bootloader flags-  , _msgBootloaderHandshakeResp_version :: !string+  , _msgBootloaderHandshakeResp_version :: !Text     -- ^ Bootloader version number   } deriving ( Show, Read, Eq ) @@ -95,7 +95,7 @@ -- -- The host initiates the bootloader to jump to the application. data MsgBootloaderJumpToApp = MsgBootloaderJumpToApp-  { _msgBootloaderJumpToApp_jump :: !uint32+  { _msgBootloaderJumpToApp_jump :: !Word8     -- ^ Ignored by the device   } deriving ( Show, Read, Eq ) @@ -146,7 +146,7 @@ -- that this ID is tied to the FPGA, and not related to the Piksi's serial -- number. data MsgNapDeviceDnaResp = MsgNapDeviceDnaResp-  { _msgNapDeviceDnaResp_dna :: !repeated uint32+  { _msgNapDeviceDnaResp_dna :: ![Word8]     -- ^ 57-bit SwiftNAP FPGA Device ID. Remaining bits are padded on the right.   } deriving ( Show, Read, Eq ) @@ -169,7 +169,7 @@ -- -- Deprecated. data MsgBootloaderHandshakeDepA = MsgBootloaderHandshakeDepA-  { _msgBootloaderHandshakeDepA_handshake :: !repeated uint32+  { _msgBootloaderHandshakeDepA_handshake :: ![Word8]     -- ^ Version number string (not NULL terminated)   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/ExtEvents.hs view
@@ -44,16 +44,16 @@ -- 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-  { _msgExtEvent_wn        :: !uint32+  { _msgExtEvent_wn        :: !Word16     -- ^ GPS week number-  , _msgExtEvent_tow       :: !uint32+  , _msgExtEvent_tow       :: !Word32     -- ^ GPS time of week rounded to the nearest millisecond-  , _msgExtEvent_ns_residual :: !sint32+  , _msgExtEvent_ns_residual :: !Int32     -- ^ Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to     -- 500000)-  , _msgExtEvent_flags     :: !uint32+  , _msgExtEvent_flags     :: !Word8     -- ^ Flags-  , _msgExtEvent_pin       :: !uint32+  , _msgExtEvent_pin       :: !Word8     -- ^ Pin number.  0..9 = DEBUG0..9.   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/FileIo.hs view
@@ -53,13 +53,13 @@ -- fileio read message". A device will only respond to this message when it is -- received from sender ID 0x42. data MsgFileioReadReq = MsgFileioReadReq-  { _msgFileioReadReq_sequence :: !uint32+  { _msgFileioReadReq_sequence :: !Word32     -- ^ Read sequence number-  , _msgFileioReadReq_offset   :: !uint32+  , _msgFileioReadReq_offset   :: !Word32     -- ^ File offset-  , _msgFileioReadReq_chunk_size :: !uint32+  , _msgFileioReadReq_chunk_size :: !Word8     -- ^ Chunk size to read-  , _msgFileioReadReq_filename :: !string+  , _msgFileioReadReq_filename :: !Text     -- ^ Name of the file to read from   } deriving ( Show, Read, Eq ) @@ -91,9 +91,9 @@ -- length field indicates how many bytes were succesfully read. The sequence -- number in the response is preserved from the request. data MsgFileioReadResp = MsgFileioReadResp-  { _msgFileioReadResp_sequence :: !uint32+  { _msgFileioReadResp_sequence :: !Word32     -- ^ Read sequence number-  , _msgFileioReadResp_contents :: !repeated uint32+  , _msgFileioReadResp_contents :: ![Word8]     -- ^ Contents of read file   } deriving ( Show, Read, Eq ) @@ -125,11 +125,11 @@ -- 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-  { _msgFileioReadDirReq_sequence :: !uint32+  { _msgFileioReadDirReq_sequence :: !Word32     -- ^ Read sequence number-  , _msgFileioReadDirReq_offset :: !uint32+  , _msgFileioReadDirReq_offset :: !Word32     -- ^ The offset to skip the first n elements of the file list-  , _msgFileioReadDirReq_dirname :: !string+  , _msgFileioReadDirReq_dirname :: !Text     -- ^ Name of the directory to list   } deriving ( Show, Read, Eq ) @@ -160,9 +160,9 @@ -- 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-  { _msgFileioReadDirResp_sequence :: !uint32+  { _msgFileioReadDirResp_sequence :: !Word32     -- ^ Read sequence number-  , _msgFileioReadDirResp_contents :: !repeated uint32+  , _msgFileioReadDirResp_contents :: ![Word8]     -- ^ Contents of read directory   } deriving ( Show, Read, Eq ) @@ -190,7 +190,7 @@ -- message". A device will only process this message when it is received from -- sender ID 0x42. data MsgFileioRemove = MsgFileioRemove-  { _msgFileioRemove_filename :: !string+  { _msgFileioRemove_filename :: !Text     -- ^ Name of the file to delete   } deriving ( Show, Read, Eq ) @@ -219,13 +219,13 @@ -- message". A device will only  process this message when it is received from -- sender ID 0x42. data MsgFileioWriteReq = MsgFileioWriteReq-  { _msgFileioWriteReq_sequence :: !uint32+  { _msgFileioWriteReq_sequence :: !Word32     -- ^ Write sequence number-  , _msgFileioWriteReq_offset :: !uint32+  , _msgFileioWriteReq_offset :: !Word32     -- ^ Offset into the file at which to start writing in bytes-  , _msgFileioWriteReq_filename :: !string+  , _msgFileioWriteReq_filename :: !Text     -- ^ Name of the file to write to-  , _msgFileioWriteReq_data   :: !repeated uint32+  , _msgFileioWriteReq_data   :: ![Word8]     -- ^ Variable-length array of data to write   } deriving ( Show, Read, Eq ) @@ -257,7 +257,7 @@ -- 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-  { _msgFileioWriteResp_sequence :: !uint32+  { _msgFileioWriteResp_sequence :: !Word32     -- ^ Write sequence number   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Flash.hs view
@@ -49,13 +49,13 @@ -- if the maximum write size is exceeded. Note that the sector-containing -- addresses must be erased before addresses can be programmed. data MsgFlashProgram = MsgFlashProgram-  { _msgFlashProgram_target   :: !uint32+  { _msgFlashProgram_target   :: !Word8     -- ^ Target flags-  , _msgFlashProgram_addr_start :: !repeated uint32+  , _msgFlashProgram_addr_start :: ![Word8]     -- ^ Starting address offset to program-  , _msgFlashProgram_addr_len :: !uint32+  , _msgFlashProgram_addr_len :: !Word8     -- ^ Length of set of addresses to program, counting up from starting address-  , _msgFlashProgram_data     :: !repeated uint32+  , _msgFlashProgram_data     :: ![Word8]     -- ^ Data to program addresses with, with length N=addr_len   } deriving ( Show, Read, Eq ) @@ -87,7 +87,7 @@ -- MSG_FLASH_READ_REQ, or MSG_FLASH_PROGRAM, may return this message on -- failure. data MsgFlashDone = MsgFlashDone-  { _msgFlashDone_response :: !uint32+  { _msgFlashDone_response :: !Word8     -- ^ Response flags   } deriving ( Show, Read, Eq ) @@ -115,11 +115,11 @@ -- exceeded or FLASH_INVALID_ADDR (3) if the address is outside of the allowed -- range. data MsgFlashReadReq = MsgFlashReadReq-  { _msgFlashReadReq_target   :: !uint32+  { _msgFlashReadReq_target   :: !Word8     -- ^ Target flags-  , _msgFlashReadReq_addr_start :: !repeated uint32+  , _msgFlashReadReq_addr_start :: ![Word8]     -- ^ Starting address offset to read from-  , _msgFlashReadReq_addr_len :: !uint32+  , _msgFlashReadReq_addr_len :: !Word8     -- ^ Length of set of addresses to read, counting up from starting address   } deriving ( Show, Read, Eq ) @@ -151,11 +151,11 @@ -- exceeded or FLASH_INVALID_ADDR (3) if the address is outside of the allowed -- range. data MsgFlashReadResp = MsgFlashReadResp-  { _msgFlashReadResp_target   :: !uint32+  { _msgFlashReadResp_target   :: !Word8     -- ^ Target flags-  , _msgFlashReadResp_addr_start :: !repeated uint32+  , _msgFlashReadResp_addr_start :: ![Word8]     -- ^ Starting address offset to read from-  , _msgFlashReadResp_addr_len :: !uint32+  , _msgFlashReadResp_addr_len :: !Word8     -- ^ Length of set of addresses to read, counting up from starting address   } deriving ( Show, Read, Eq ) @@ -185,9 +185,9 @@ -- message containing the return code - FLASH_OK (0) on success or -- FLASH_INVALID_FLASH (1) if the flash specified is invalid. data MsgFlashErase = MsgFlashErase-  { _msgFlashErase_target   :: !uint32+  { _msgFlashErase_target   :: !Word8     -- ^ Target flags-  , _msgFlashErase_sector_num :: !uint32+  , _msgFlashErase_sector_num :: !Word32     -- ^ Flash sector number to erase (0-11 for the STM, 0-15 for the M25)   } deriving ( Show, Read, Eq ) @@ -213,7 +213,7 @@ -- The flash lock message locks a sector of the STM flash memory. The device -- replies with a MSG_FLASH_DONE message. data MsgStmFlashLockSector = MsgStmFlashLockSector-  { _msgStmFlashLockSector_sector :: !uint32+  { _msgStmFlashLockSector_sector :: !Word32     -- ^ Flash sector number to lock   } deriving ( Show, Read, Eq ) @@ -237,7 +237,7 @@ -- The flash unlock message unlocks a sector of the STM flash memory. The -- device replies with a MSG_FLASH_DONE message. data MsgStmFlashUnlockSector = MsgStmFlashUnlockSector-  { _msgStmFlashUnlockSector_sector :: !uint32+  { _msgStmFlashUnlockSector_sector :: !Word32     -- ^ Flash sector number to unlock   } deriving ( Show, Read, Eq ) @@ -283,7 +283,7 @@ -- 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-  { _msgStmUniqueIdResp_stm_id :: !repeated uint32+  { _msgStmUniqueIdResp_stm_id :: ![Word8]     -- ^ Device unique ID   } deriving ( Show, Read, Eq ) @@ -307,7 +307,7 @@ -- 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-  { _msgM25FlashWriteStatus_status :: !repeated uint32+  { _msgM25FlashWriteStatus_status :: ![Word8]     -- ^ Byte to write to the M25 flash status register   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Gnss.hs view
@@ -39,9 +39,9 @@ -- -- Signal identifier containing constellation, band, and satellite identifier data GnssSignal = GnssSignal-  { _gnssSignal_sat :: !uint32+  { _gnssSignal_sat :: !Word8     -- ^ Constellation-specific satellite identifier-  , _gnssSignal_code :: !uint32+  , _gnssSignal_code :: !Word8     -- ^ Signal constellation, band and code   } deriving ( Show, Read, Eq ) @@ -62,13 +62,13 @@ -- -- Deprecated. data GnssSignalDep = GnssSignalDep-  { _gnssSignalDep_sat    :: !uint32+  { _gnssSignalDep_sat    :: !Word16     -- ^ Constellation-specific satellite identifier.  Note: unlike GnssSignal,     -- GPS satellites are encoded as (PRN - 1). Other constellations do not     -- have this offset.-  , _gnssSignalDep_code   :: !uint32+  , _gnssSignalDep_code   :: !Word8     -- ^ Signal constellation, band and code-  , _gnssSignalDep_reserved :: !uint32+  , _gnssSignalDep_reserved :: !Word8     -- ^ Reserved   } deriving ( Show, Read, Eq ) @@ -92,9 +92,9 @@ -- A wire-appropriate GPS time, defined as the number of milliseconds since -- beginning of the week on the Saturday/Sunday transition. data GpsTimeDep = GpsTimeDep-  { _gpsTimeDep_tow :: !uint32+  { _gpsTimeDep_tow :: !Word32     -- ^ Milliseconds since start of GPS week-  , _gpsTimeDep_wn :: !uint32+  , _gpsTimeDep_wn :: !Word16     -- ^ GPS week number   } deriving ( Show, Read, Eq ) @@ -116,9 +116,9 @@ -- A GPS time, defined as the number of seconds since beginning of the week on -- the Saturday/Sunday transition. data GpsTimeSec = GpsTimeSec-  { _gpsTimeSec_tow :: !uint32+  { _gpsTimeSec_tow :: !Word32     -- ^ Seconds since start of GPS week-  , _gpsTimeSec_wn :: !uint32+  , _gpsTimeSec_wn :: !Word16     -- ^ GPS week number   } deriving ( Show, Read, Eq ) @@ -141,12 +141,12 @@ -- beginning of the week on the Saturday/Sunday transition. In most cases, -- observations are epoch aligned so ns field will be 0. data GpsTime = GpsTime-  { _gpsTime_tow       :: !uint32+  { _gpsTime_tow       :: !Word32     -- ^ Milliseconds since start of GPS week-  , _gpsTime_ns_residual :: !sint32+  , _gpsTime_ns_residual :: !Int32     -- ^ Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to     -- 500000)-  , _gpsTime_wn        :: !uint32+  , _gpsTime_wn        :: !Word16     -- ^ GPS week number   } deriving ( Show, Read, Eq ) @@ -171,9 +171,9 @@ -- number with Q32.8 layout, i.e. 32-bits of whole cycles and 8-bits of -- fractional cycles. This phase has the same sign as the pseudorange. data CarrierPhase = CarrierPhase-  { _carrierPhase_i :: !sint32+  { _carrierPhase_i :: !Int32     -- ^ Carrier phase whole cycles-  , _carrierPhase_f :: !uint32+  , _carrierPhase_f :: !Word8     -- ^ Carrier phase fractional part   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Imu.hs view
@@ -44,22 +44,22 @@ -- gyroscope readings. The sense of the measurements are to be aligned with -- the indications on the device itself. data MsgImuRaw = MsgImuRaw-  { _msgImuRaw_tow :: !uint32+  { _msgImuRaw_tow :: !Word32     -- ^ Milliseconds since start of GPS week. If the high bit is set, the time     -- is unknown or invalid.-  , _msgImuRaw_tow_f :: !uint32+  , _msgImuRaw_tow_f :: !Word8     -- ^ Milliseconds since start of GPS week, fractional part-  , _msgImuRaw_acc_x :: !sint32+  , _msgImuRaw_acc_x :: !Int16     -- ^ Acceleration in the IMU frame X axis-  , _msgImuRaw_acc_y :: !sint32+  , _msgImuRaw_acc_y :: !Int16     -- ^ Acceleration in the IMU frame Y axis-  , _msgImuRaw_acc_z :: !sint32+  , _msgImuRaw_acc_z :: !Int16     -- ^ Acceleration in the IMU frame Z axis-  , _msgImuRaw_gyr_x :: !sint32+  , _msgImuRaw_gyr_x :: !Int16     -- ^ Angular rate around IMU frame X axis-  , _msgImuRaw_gyr_y :: !sint32+  , _msgImuRaw_gyr_y :: !Int16     -- ^ Angular rate around IMU frame Y axis-  , _msgImuRaw_gyr_z :: !sint32+  , _msgImuRaw_gyr_z :: !Int16     -- ^ Angular rate around IMU frame Z axis   } deriving ( Show, Read, Eq ) @@ -98,11 +98,11 @@ -- always be consistent but the rest of the payload is device specific and -- depends on the value of `imu_type`. data MsgImuAux = MsgImuAux-  { _msgImuAux_imu_type :: !uint32+  { _msgImuAux_imu_type :: !Word8     -- ^ IMU type-  , _msgImuAux_temp   :: !sint32+  , _msgImuAux_temp   :: !Int16     -- ^ Raw IMU temperature-  , _msgImuAux_imu_conf :: !uint32+  , _msgImuAux_imu_conf :: !Word8     -- ^ IMU configuration   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Logging.hs view
@@ -44,9 +44,9 @@ -- containing errors, warnings and informational messages at ERROR, WARNING, -- DEBUG, INFO logging levels. data MsgLog = MsgLog-  { _msgLog_level :: !uint32+  { _msgLog_level :: !Word8     -- ^ Logging level-  , _msgLog_text :: !string+  , _msgLog_text :: !Text     -- ^ Human-readable string   } deriving ( Show, Read, Eq ) @@ -77,11 +77,11 @@ -- Protocol 0 represents SBP and the remaining values are implementation -- defined. data MsgFwd = MsgFwd-  { _msgFwd_source    :: !uint32+  { _msgFwd_source    :: !Word8     -- ^ source identifier-  , _msgFwd_protocol  :: !uint32+  , _msgFwd_protocol  :: !Word8     -- ^ protocol identifier-  , _msgFwd_fwd_payload :: !string+  , _msgFwd_fwd_payload :: !Text     -- ^ variable length wrapped binary message   } deriving ( Show, Read, Eq ) @@ -108,7 +108,7 @@ -- -- All the news fit to tweet. data MsgTweet = MsgTweet-  { _msgTweet_tweet :: !string+  { _msgTweet_tweet :: !Text     -- ^ Human-readable string   } deriving ( Show, Read, Eq ) @@ -131,7 +131,7 @@ -- -- Deprecated. data MsgPrintDep = MsgPrintDep-  { _msgPrintDep_text :: !string+  { _msgPrintDep_text :: !Text     -- ^ Human-readable string   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Mag.hs view
@@ -42,16 +42,16 @@ -- -- Raw data from the magnetometer. data MsgMagRaw = MsgMagRaw-  { _msgMagRaw_tow :: !uint32+  { _msgMagRaw_tow :: !Word32     -- ^ Milliseconds since start of GPS week. If the high bit is set, the time     -- is unknown or invalid.-  , _msgMagRaw_tow_f :: !uint32+  , _msgMagRaw_tow_f :: !Word8     -- ^ Milliseconds since start of GPS week, fractional part-  , _msgMagRaw_mag_x :: !sint32+  , _msgMagRaw_mag_x :: !Int16     -- ^ Magnetic field in the body frame X axis-  , _msgMagRaw_mag_y :: !sint32+  , _msgMagRaw_mag_y :: !Int16     -- ^ Magnetic field in the body frame Y axis-  , _msgMagRaw_mag_z :: !sint32+  , _msgMagRaw_mag_z :: !Int16     -- ^ Magnetic field in the body frame Z axis   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Navigation.hs view
@@ -63,14 +63,14 @@ -- 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-  { _msgGpsTime_wn        :: !uint32+  { _msgGpsTime_wn        :: !Word16     -- ^ GPS week number-  , _msgGpsTime_tow       :: !uint32+  , _msgGpsTime_tow       :: !Word32     -- ^ GPS time of week rounded to the nearest millisecond-  , _msgGpsTime_ns_residual :: !sint32+  , _msgGpsTime_ns_residual :: !Int32     -- ^ Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to     -- 500000)-  , _msgGpsTime_flags     :: !uint32+  , _msgGpsTime_flags     :: !Word8     -- ^ Status flags (reserved)   } deriving ( Show, Read, Eq ) @@ -101,23 +101,23 @@ -- which indicate the source of the UTC offset value and source of the time -- fix. data MsgUtcTime = MsgUtcTime-  { _msgUtcTime_flags :: !uint32+  { _msgUtcTime_flags :: !Word8     -- ^ Indicates source and time validity-  , _msgUtcTime_tow   :: !uint32+  , _msgUtcTime_tow   :: !Word32     -- ^ GPS time of week rounded to the nearest millisecond-  , _msgUtcTime_year  :: !uint32+  , _msgUtcTime_year  :: !Word16     -- ^ Year-  , _msgUtcTime_month :: !uint32+  , _msgUtcTime_month :: !Word8     -- ^ Month (range 1 .. 12)-  , _msgUtcTime_day   :: !uint32+  , _msgUtcTime_day   :: !Word8     -- ^ days in the month (range 1-31)-  , _msgUtcTime_hours :: !uint32+  , _msgUtcTime_hours :: !Word8     -- ^ hours of day (range 0-23)-  , _msgUtcTime_minutes :: !uint32+  , _msgUtcTime_minutes :: !Word8     -- ^ minutes of hour (range 0-59)-  , _msgUtcTime_seconds :: !uint32+  , _msgUtcTime_seconds :: !Word8     -- ^ seconds of minute (range 0-60) rounded down-  , _msgUtcTime_ns    :: !uint32+  , _msgUtcTime_ns    :: !Word32     -- ^ nanoseconds of second (range 0-999999999)   } deriving ( Show, Read, Eq ) @@ -159,19 +159,19 @@ -- indicated whether the DOP reported corresponds to differential or SPP -- solution. data MsgDops = MsgDops-  { _msgDops_tow :: !uint32+  { _msgDops_tow :: !Word32     -- ^ GPS Time of Week-  , _msgDops_gdop :: !uint32+  , _msgDops_gdop :: !Word16     -- ^ Geometric Dilution of Precision-  , _msgDops_pdop :: !uint32+  , _msgDops_pdop :: !Word16     -- ^ Position Dilution of Precision-  , _msgDops_tdop :: !uint32+  , _msgDops_tdop :: !Word16     -- ^ Time Dilution of Precision-  , _msgDops_hdop :: !uint32+  , _msgDops_hdop :: !Word16     -- ^ Horizontal Dilution of Precision-  , _msgDops_vdop :: !uint32+  , _msgDops_vdop :: !Word16     -- ^ Vertical Dilution of Precision-  , _msgDops_flags :: !uint32+  , _msgDops_flags :: !Word8     -- ^ Indicates the position solution with which the DOPS message corresponds   } deriving ( Show, Read, Eq ) @@ -212,19 +212,19 @@ -- baseline vector. The full GPS time is given by the preceding MSG_GPS_TIME -- with the matching time-of-week (tow). data MsgPosEcef = MsgPosEcef-  { _msgPosEcef_tow    :: !uint32+  { _msgPosEcef_tow    :: !Word32     -- ^ GPS Time of Week-  , _msgPosEcef_x      :: !double+  , _msgPosEcef_x      :: !Double     -- ^ ECEF X coordinate-  , _msgPosEcef_y      :: !double+  , _msgPosEcef_y      :: !Double     -- ^ ECEF Y coordinate-  , _msgPosEcef_z      :: !double+  , _msgPosEcef_z      :: !Double     -- ^ ECEF Z coordinate-  , _msgPosEcef_accuracy :: !uint32+  , _msgPosEcef_accuracy :: !Word16     -- ^ Position estimated standard deviation-  , _msgPosEcef_n_sats :: !uint32+  , _msgPosEcef_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgPosEcef_flags  :: !uint32+  , _msgPosEcef_flags  :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -266,29 +266,29 @@ -- baseline vector. The full GPS time is given by the preceding MSG_GPS_TIME -- with the matching time-of-week (tow). data MsgPosEcefCov = MsgPosEcefCov-  { _msgPosEcefCov_tow   :: !uint32+  { _msgPosEcefCov_tow   :: !Word32     -- ^ GPS Time of Week-  , _msgPosEcefCov_x     :: !double+  , _msgPosEcefCov_x     :: !Double     -- ^ ECEF X coordinate-  , _msgPosEcefCov_y     :: !double+  , _msgPosEcefCov_y     :: !Double     -- ^ ECEF Y coordinate-  , _msgPosEcefCov_z     :: !double+  , _msgPosEcefCov_z     :: !Double     -- ^ ECEF Z coordinate-  , _msgPosEcefCov_cov_x_x :: !float+  , _msgPosEcefCov_cov_x_x :: !Float     -- ^ Estimated variance of x-  , _msgPosEcefCov_cov_x_y :: !float+  , _msgPosEcefCov_cov_x_y :: !Float     -- ^ Estimated covariance of x and y-  , _msgPosEcefCov_cov_x_z :: !float+  , _msgPosEcefCov_cov_x_z :: !Float     -- ^ Estimated covariance of x and z-  , _msgPosEcefCov_cov_y_y :: !float+  , _msgPosEcefCov_cov_y_y :: !Float     -- ^ Estimated variance of y-  , _msgPosEcefCov_cov_y_z :: !float+  , _msgPosEcefCov_cov_y_z :: !Float     -- ^ Estimated covariance of y and z-  , _msgPosEcefCov_cov_z_z :: !float+  , _msgPosEcefCov_cov_z_z :: !Float     -- ^ Estimated variance of z-  , _msgPosEcefCov_n_sats :: !uint32+  , _msgPosEcefCov_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgPosEcefCov_flags :: !uint32+  , _msgPosEcefCov_flags :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -339,21 +339,21 @@ -- time is given by the preceding MSG_GPS_TIME with the matching time-of-week -- (tow). data MsgPosLlh = MsgPosLlh-  { _msgPosLlh_tow      :: !uint32+  { _msgPosLlh_tow      :: !Word32     -- ^ GPS Time of Week-  , _msgPosLlh_lat      :: !double+  , _msgPosLlh_lat      :: !Double     -- ^ Latitude-  , _msgPosLlh_lon      :: !double+  , _msgPosLlh_lon      :: !Double     -- ^ Longitude-  , _msgPosLlh_height   :: !double+  , _msgPosLlh_height   :: !Double     -- ^ Height above WGS84 ellipsoid-  , _msgPosLlh_h_accuracy :: !uint32+  , _msgPosLlh_h_accuracy :: !Word16     -- ^ Horizontal position estimated standard deviation-  , _msgPosLlh_v_accuracy :: !uint32+  , _msgPosLlh_v_accuracy :: !Word16     -- ^ Vertical position estimated standard deviation-  , _msgPosLlh_n_sats   :: !uint32+  , _msgPosLlh_n_sats   :: !Word8     -- ^ Number of satellites used in solution.-  , _msgPosLlh_flags    :: !uint32+  , _msgPosLlh_flags    :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -397,29 +397,29 @@ -- are reported against the "downward" measurement and care should be taken -- with the sign convention. data MsgPosLlhCov = MsgPosLlhCov-  { _msgPosLlhCov_tow   :: !uint32+  { _msgPosLlhCov_tow   :: !Word32     -- ^ GPS Time of Week-  , _msgPosLlhCov_lat   :: !double+  , _msgPosLlhCov_lat   :: !Double     -- ^ Latitude-  , _msgPosLlhCov_lon   :: !double+  , _msgPosLlhCov_lon   :: !Double     -- ^ Longitude-  , _msgPosLlhCov_height :: !double+  , _msgPosLlhCov_height :: !Double     -- ^ Height above WGS84 ellipsoid-  , _msgPosLlhCov_cov_n_n :: !float+  , _msgPosLlhCov_cov_n_n :: !Float     -- ^ Estimated variance of northing-  , _msgPosLlhCov_cov_n_e :: !float+  , _msgPosLlhCov_cov_n_e :: !Float     -- ^ Covariance of northing and easting-  , _msgPosLlhCov_cov_n_d :: !float+  , _msgPosLlhCov_cov_n_d :: !Float     -- ^ Covariance of northing and downward measurement-  , _msgPosLlhCov_cov_e_e :: !float+  , _msgPosLlhCov_cov_e_e :: !Float     -- ^ Estimated variance of easting-  , _msgPosLlhCov_cov_e_d :: !float+  , _msgPosLlhCov_cov_e_d :: !Float     -- ^ Covariance of easting and downward measurement-  , _msgPosLlhCov_cov_d_d :: !float+  , _msgPosLlhCov_cov_d_d :: !Float     -- ^ Estimated variance of downward measurement-  , _msgPosLlhCov_n_sats :: !uint32+  , _msgPosLlhCov_n_sats :: !Word8     -- ^ Number of satellites used in solution.-  , _msgPosLlhCov_flags :: !uint32+  , _msgPosLlhCov_flags :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -467,19 +467,19 @@ -- 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-  { _msgBaselineEcef_tow    :: !uint32+  { _msgBaselineEcef_tow    :: !Word32     -- ^ GPS Time of Week-  , _msgBaselineEcef_x      :: !sint32+  , _msgBaselineEcef_x      :: !Int32     -- ^ Baseline ECEF X coordinate-  , _msgBaselineEcef_y      :: !sint32+  , _msgBaselineEcef_y      :: !Int32     -- ^ Baseline ECEF Y coordinate-  , _msgBaselineEcef_z      :: !sint32+  , _msgBaselineEcef_z      :: !Int32     -- ^ Baseline ECEF Z coordinate-  , _msgBaselineEcef_accuracy :: !uint32+  , _msgBaselineEcef_accuracy :: !Word16     -- ^ Position estimated standard deviation-  , _msgBaselineEcef_n_sats :: !uint32+  , _msgBaselineEcef_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgBaselineEcef_flags  :: !uint32+  , _msgBaselineEcef_flags  :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -519,21 +519,21 @@ -- GPS time is given by the preceding MSG_GPS_TIME with the matching time-of- -- week (tow). data MsgBaselineNed = MsgBaselineNed-  { _msgBaselineNed_tow      :: !uint32+  { _msgBaselineNed_tow      :: !Word32     -- ^ GPS Time of Week-  , _msgBaselineNed_n        :: !sint32+  , _msgBaselineNed_n        :: !Int32     -- ^ Baseline North coordinate-  , _msgBaselineNed_e        :: !sint32+  , _msgBaselineNed_e        :: !Int32     -- ^ Baseline East coordinate-  , _msgBaselineNed_d        :: !sint32+  , _msgBaselineNed_d        :: !Int32     -- ^ Baseline Down coordinate-  , _msgBaselineNed_h_accuracy :: !uint32+  , _msgBaselineNed_h_accuracy :: !Word16     -- ^ Horizontal position estimated standard deviation-  , _msgBaselineNed_v_accuracy :: !uint32+  , _msgBaselineNed_v_accuracy :: !Word16     -- ^ Vertical position estimated standard deviation-  , _msgBaselineNed_n_sats   :: !uint32+  , _msgBaselineNed_n_sats   :: !Word8     -- ^ Number of satellites used in solution-  , _msgBaselineNed_flags    :: !uint32+  , _msgBaselineNed_flags    :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -572,19 +572,19 @@ -- coordinates. The full GPS time is given by the preceding MSG_GPS_TIME with -- the matching time-of-week (tow). data MsgVelEcef = MsgVelEcef-  { _msgVelEcef_tow    :: !uint32+  { _msgVelEcef_tow    :: !Word32     -- ^ GPS Time of Week-  , _msgVelEcef_x      :: !sint32+  , _msgVelEcef_x      :: !Int32     -- ^ Velocity ECEF X coordinate-  , _msgVelEcef_y      :: !sint32+  , _msgVelEcef_y      :: !Int32     -- ^ Velocity ECEF Y coordinate-  , _msgVelEcef_z      :: !sint32+  , _msgVelEcef_z      :: !Int32     -- ^ Velocity ECEF Z coordinate-  , _msgVelEcef_accuracy :: !uint32+  , _msgVelEcef_accuracy :: !Word16     -- ^ Velocity estimated standard deviation-  , _msgVelEcef_n_sats :: !uint32+  , _msgVelEcef_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgVelEcef_flags  :: !uint32+  , _msgVelEcef_flags  :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -621,29 +621,29 @@ -- coordinates. The full GPS time is given by the preceding MSG_GPS_TIME with -- the matching time-of-week (tow). data MsgVelEcefCov = MsgVelEcefCov-  { _msgVelEcefCov_tow   :: !uint32+  { _msgVelEcefCov_tow   :: !Word32     -- ^ GPS Time of Week-  , _msgVelEcefCov_x     :: !sint32+  , _msgVelEcefCov_x     :: !Int32     -- ^ Velocity ECEF X coordinate-  , _msgVelEcefCov_y     :: !sint32+  , _msgVelEcefCov_y     :: !Int32     -- ^ Velocity ECEF Y coordinate-  , _msgVelEcefCov_z     :: !sint32+  , _msgVelEcefCov_z     :: !Int32     -- ^ Velocity ECEF Z coordinate-  , _msgVelEcefCov_cov_x_x :: !float+  , _msgVelEcefCov_cov_x_x :: !Float     -- ^ Estimated variance of x-  , _msgVelEcefCov_cov_x_y :: !float+  , _msgVelEcefCov_cov_x_y :: !Float     -- ^ Estimated covariance of x and y-  , _msgVelEcefCov_cov_x_z :: !float+  , _msgVelEcefCov_cov_x_z :: !Float     -- ^ Estimated covariance of x and z-  , _msgVelEcefCov_cov_y_y :: !float+  , _msgVelEcefCov_cov_y_y :: !Float     -- ^ Estimated variance of y-  , _msgVelEcefCov_cov_y_z :: !float+  , _msgVelEcefCov_cov_y_z :: !Float     -- ^ Estimated covariance of y and z-  , _msgVelEcefCov_cov_z_z :: !float+  , _msgVelEcefCov_cov_z_z :: !Float     -- ^ Estimated variance of z-  , _msgVelEcefCov_n_sats :: !uint32+  , _msgVelEcefCov_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgVelEcefCov_flags :: !uint32+  , _msgVelEcefCov_flags :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -691,21 +691,21 @@ -- 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-  { _msgVelNed_tow      :: !uint32+  { _msgVelNed_tow      :: !Word32     -- ^ GPS Time of Week-  , _msgVelNed_n        :: !sint32+  , _msgVelNed_n        :: !Int32     -- ^ Velocity North coordinate-  , _msgVelNed_e        :: !sint32+  , _msgVelNed_e        :: !Int32     -- ^ Velocity East coordinate-  , _msgVelNed_d        :: !sint32+  , _msgVelNed_d        :: !Int32     -- ^ Velocity Down coordinate-  , _msgVelNed_h_accuracy :: !uint32+  , _msgVelNed_h_accuracy :: !Word16     -- ^ Horizontal velocity estimated standard deviation-  , _msgVelNed_v_accuracy :: !uint32+  , _msgVelNed_v_accuracy :: !Word16     -- ^ Vertical velocity estimated standard deviation-  , _msgVelNed_n_sats   :: !uint32+  , _msgVelNed_n_sats   :: !Word8     -- ^ Number of satellites used in solution-  , _msgVelNed_flags    :: !uint32+  , _msgVelNed_flags    :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -747,29 +747,29 @@ -- similar to the MSG_VEL_NED, but it includes the upper triangular portion of -- the 3x3 covariance matrix. data MsgVelNedCov = MsgVelNedCov-  { _msgVelNedCov_tow   :: !uint32+  { _msgVelNedCov_tow   :: !Word32     -- ^ GPS Time of Week-  , _msgVelNedCov_n     :: !sint32+  , _msgVelNedCov_n     :: !Int32     -- ^ Velocity North coordinate-  , _msgVelNedCov_e     :: !sint32+  , _msgVelNedCov_e     :: !Int32     -- ^ Velocity East coordinate-  , _msgVelNedCov_d     :: !sint32+  , _msgVelNedCov_d     :: !Int32     -- ^ Velocity Down coordinate-  , _msgVelNedCov_cov_n_n :: !float+  , _msgVelNedCov_cov_n_n :: !Float     -- ^ Estimated variance of northward measurement-  , _msgVelNedCov_cov_n_e :: !float+  , _msgVelNedCov_cov_n_e :: !Float     -- ^ Covariance of northward and eastward measurement-  , _msgVelNedCov_cov_n_d :: !float+  , _msgVelNedCov_cov_n_d :: !Float     -- ^ Covariance of northward and downward measurement-  , _msgVelNedCov_cov_e_e :: !float+  , _msgVelNedCov_cov_e_e :: !Float     -- ^ Estimated variance of eastward measurement-  , _msgVelNedCov_cov_e_d :: !float+  , _msgVelNedCov_cov_e_d :: !Float     -- ^ Covariance of eastward and downward measurement-  , _msgVelNedCov_cov_d_d :: !float+  , _msgVelNedCov_cov_d_d :: !Float     -- ^ Estimated variance of downward measurement-  , _msgVelNedCov_n_sats :: !uint32+  , _msgVelNedCov_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgVelNedCov_flags :: !uint32+  , _msgVelNedCov_flags :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -820,29 +820,29 @@ -- are specified via the device settings. The full GPS time is given by the -- preceding MSG_GPS_TIME with the matching time-of-week (tow). data MsgVelBody = MsgVelBody-  { _msgVelBody_tow   :: !uint32+  { _msgVelBody_tow   :: !Word32     -- ^ GPS Time of Week-  , _msgVelBody_x     :: !sint32+  , _msgVelBody_x     :: !Int32     -- ^ Velocity in x direction-  , _msgVelBody_y     :: !sint32+  , _msgVelBody_y     :: !Int32     -- ^ Velocity in y direction-  , _msgVelBody_z     :: !sint32+  , _msgVelBody_z     :: !Int32     -- ^ Velocity in z direction-  , _msgVelBody_cov_x_x :: !float+  , _msgVelBody_cov_x_x :: !Float     -- ^ Estimated variance of x-  , _msgVelBody_cov_x_y :: !float+  , _msgVelBody_cov_x_y :: !Float     -- ^ Covariance of x and y-  , _msgVelBody_cov_x_z :: !float+  , _msgVelBody_cov_x_z :: !Float     -- ^ Covariance of x and z-  , _msgVelBody_cov_y_y :: !float+  , _msgVelBody_cov_y_y :: !Float     -- ^ Estimated variance of y-  , _msgVelBody_cov_y_z :: !float+  , _msgVelBody_cov_y_z :: !Float     -- ^ Covariance of y and z-  , _msgVelBody_cov_z_z :: !float+  , _msgVelBody_cov_z_z :: !Float     -- ^ Estimated variance of z-  , _msgVelBody_n_sats :: !uint32+  , _msgVelBody_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgVelBody_flags :: !uint32+  , _msgVelBody_flags :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -888,9 +888,9 @@ -- This message reports the Age of the corrections used for the current -- Differential solution data MsgAgeCorrections = MsgAgeCorrections-  { _msgAgeCorrections_tow :: !uint32+  { _msgAgeCorrections_tow :: !Word32     -- ^ GPS Time of Week-  , _msgAgeCorrections_age :: !uint32+  , _msgAgeCorrections_age :: !Word16     -- ^ Age of the corrections (0xFFFF indicates invalid)   } deriving ( Show, Read, Eq ) @@ -923,14 +923,14 @@ -- other navigation messages referenced to the same time (but lacking the ns -- field) and indicates a more precise time of these messages. data MsgGpsTimeDepA = MsgGpsTimeDepA-  { _msgGpsTimeDepA_wn        :: !uint32+  { _msgGpsTimeDepA_wn        :: !Word16     -- ^ GPS week number-  , _msgGpsTimeDepA_tow       :: !uint32+  , _msgGpsTimeDepA_tow       :: !Word32     -- ^ GPS time of week rounded to the nearest millisecond-  , _msgGpsTimeDepA_ns_residual :: !sint32+  , _msgGpsTimeDepA_ns_residual :: !Int32     -- ^ Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to     -- 500000)-  , _msgGpsTimeDepA_flags     :: !uint32+  , _msgGpsTimeDepA_flags     :: !Word8     -- ^ Status flags (reserved)   } deriving ( Show, Read, Eq ) @@ -960,17 +960,17 @@ -- This dilution of precision (DOP) message describes the effect of navigation -- satellite geometry on positional measurement precision. data MsgDopsDepA = MsgDopsDepA-  { _msgDopsDepA_tow :: !uint32+  { _msgDopsDepA_tow :: !Word32     -- ^ GPS Time of Week-  , _msgDopsDepA_gdop :: !uint32+  , _msgDopsDepA_gdop :: !Word16     -- ^ Geometric Dilution of Precision-  , _msgDopsDepA_pdop :: !uint32+  , _msgDopsDepA_pdop :: !Word16     -- ^ Position Dilution of Precision-  , _msgDopsDepA_tdop :: !uint32+  , _msgDopsDepA_tdop :: !Word16     -- ^ Time Dilution of Precision-  , _msgDopsDepA_hdop :: !uint32+  , _msgDopsDepA_hdop :: !Word16     -- ^ Horizontal Dilution of Precision-  , _msgDopsDepA_vdop :: !uint32+  , _msgDopsDepA_vdop :: !Word16     -- ^ Vertical Dilution of Precision   } deriving ( Show, Read, Eq ) @@ -1009,19 +1009,19 @@ -- baseline vector. The full GPS time is given by the preceding MSG_GPS_TIME -- with the matching time-of-week (tow). data MsgPosEcefDepA = MsgPosEcefDepA-  { _msgPosEcefDepA_tow    :: !uint32+  { _msgPosEcefDepA_tow    :: !Word32     -- ^ GPS Time of Week-  , _msgPosEcefDepA_x      :: !double+  , _msgPosEcefDepA_x      :: !Double     -- ^ ECEF X coordinate-  , _msgPosEcefDepA_y      :: !double+  , _msgPosEcefDepA_y      :: !Double     -- ^ ECEF Y coordinate-  , _msgPosEcefDepA_z      :: !double+  , _msgPosEcefDepA_z      :: !Double     -- ^ ECEF Z coordinate-  , _msgPosEcefDepA_accuracy :: !uint32+  , _msgPosEcefDepA_accuracy :: !Word16     -- ^ Position accuracy estimate (not implemented). Defaults to 0.-  , _msgPosEcefDepA_n_sats :: !uint32+  , _msgPosEcefDepA_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgPosEcefDepA_flags  :: !uint32+  , _msgPosEcefDepA_flags  :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -1062,21 +1062,21 @@ -- time is given by the preceding MSG_GPS_TIME with the matching time-of-week -- (tow). data MsgPosLlhDepA = MsgPosLlhDepA-  { _msgPosLlhDepA_tow      :: !uint32+  { _msgPosLlhDepA_tow      :: !Word32     -- ^ GPS Time of Week-  , _msgPosLlhDepA_lat      :: !double+  , _msgPosLlhDepA_lat      :: !Double     -- ^ Latitude-  , _msgPosLlhDepA_lon      :: !double+  , _msgPosLlhDepA_lon      :: !Double     -- ^ Longitude-  , _msgPosLlhDepA_height   :: !double+  , _msgPosLlhDepA_height   :: !Double     -- ^ Height-  , _msgPosLlhDepA_h_accuracy :: !uint32+  , _msgPosLlhDepA_h_accuracy :: !Word16     -- ^ Horizontal position accuracy estimate (not implemented). Defaults to 0.-  , _msgPosLlhDepA_v_accuracy :: !uint32+  , _msgPosLlhDepA_v_accuracy :: !Word16     -- ^ Vertical position accuracy estimate (not implemented). Defaults to 0.-  , _msgPosLlhDepA_n_sats   :: !uint32+  , _msgPosLlhDepA_n_sats   :: !Word8     -- ^ Number of satellites used in solution.-  , _msgPosLlhDepA_flags    :: !uint32+  , _msgPosLlhDepA_flags    :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -1116,19 +1116,19 @@ -- base station to the rover receiver. The full GPS time is given by the -- preceding MSG_GPS_TIME with the matching time-of-week (tow). data MsgBaselineEcefDepA = MsgBaselineEcefDepA-  { _msgBaselineEcefDepA_tow    :: !uint32+  { _msgBaselineEcefDepA_tow    :: !Word32     -- ^ GPS Time of Week-  , _msgBaselineEcefDepA_x      :: !sint32+  , _msgBaselineEcefDepA_x      :: !Int32     -- ^ Baseline ECEF X coordinate-  , _msgBaselineEcefDepA_y      :: !sint32+  , _msgBaselineEcefDepA_y      :: !Int32     -- ^ Baseline ECEF Y coordinate-  , _msgBaselineEcefDepA_z      :: !sint32+  , _msgBaselineEcefDepA_z      :: !Int32     -- ^ Baseline ECEF Z coordinate-  , _msgBaselineEcefDepA_accuracy :: !uint32+  , _msgBaselineEcefDepA_accuracy :: !Word16     -- ^ Position accuracy estimate-  , _msgBaselineEcefDepA_n_sats :: !uint32+  , _msgBaselineEcefDepA_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgBaselineEcefDepA_flags  :: !uint32+  , _msgBaselineEcefDepA_flags  :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -1168,21 +1168,21 @@ -- GPS time is given by the preceding MSG_GPS_TIME with the matching time-of- -- week (tow). data MsgBaselineNedDepA = MsgBaselineNedDepA-  { _msgBaselineNedDepA_tow      :: !uint32+  { _msgBaselineNedDepA_tow      :: !Word32     -- ^ GPS Time of Week-  , _msgBaselineNedDepA_n        :: !sint32+  , _msgBaselineNedDepA_n        :: !Int32     -- ^ Baseline North coordinate-  , _msgBaselineNedDepA_e        :: !sint32+  , _msgBaselineNedDepA_e        :: !Int32     -- ^ Baseline East coordinate-  , _msgBaselineNedDepA_d        :: !sint32+  , _msgBaselineNedDepA_d        :: !Int32     -- ^ Baseline Down coordinate-  , _msgBaselineNedDepA_h_accuracy :: !uint32+  , _msgBaselineNedDepA_h_accuracy :: !Word16     -- ^ Horizontal position accuracy estimate (not implemented). Defaults to 0.-  , _msgBaselineNedDepA_v_accuracy :: !uint32+  , _msgBaselineNedDepA_v_accuracy :: !Word16     -- ^ Vertical position accuracy estimate (not implemented). Defaults to 0.-  , _msgBaselineNedDepA_n_sats   :: !uint32+  , _msgBaselineNedDepA_n_sats   :: !Word8     -- ^ Number of satellites used in solution-  , _msgBaselineNedDepA_flags    :: !uint32+  , _msgBaselineNedDepA_flags    :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -1221,19 +1221,19 @@ -- coordinates. The full GPS time is given by the preceding MSG_GPS_TIME with -- the matching time-of-week (tow). data MsgVelEcefDepA = MsgVelEcefDepA-  { _msgVelEcefDepA_tow    :: !uint32+  { _msgVelEcefDepA_tow    :: !Word32     -- ^ GPS Time of Week-  , _msgVelEcefDepA_x      :: !sint32+  , _msgVelEcefDepA_x      :: !Int32     -- ^ Velocity ECEF X coordinate-  , _msgVelEcefDepA_y      :: !sint32+  , _msgVelEcefDepA_y      :: !Int32     -- ^ Velocity ECEF Y coordinate-  , _msgVelEcefDepA_z      :: !sint32+  , _msgVelEcefDepA_z      :: !Int32     -- ^ Velocity ECEF Z coordinate-  , _msgVelEcefDepA_accuracy :: !uint32+  , _msgVelEcefDepA_accuracy :: !Word16     -- ^ Velocity accuracy estimate (not implemented). Defaults to 0.-  , _msgVelEcefDepA_n_sats :: !uint32+  , _msgVelEcefDepA_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgVelEcefDepA_flags  :: !uint32+  , _msgVelEcefDepA_flags  :: !Word8     -- ^ Status flags (reserved)   } deriving ( Show, Read, Eq ) @@ -1271,21 +1271,21 @@ -- plane centered at the current position. The full GPS time is given by the -- preceding MSG_GPS_TIME with the matching time-of-week (tow). data MsgVelNedDepA = MsgVelNedDepA-  { _msgVelNedDepA_tow      :: !uint32+  { _msgVelNedDepA_tow      :: !Word32     -- ^ GPS Time of Week-  , _msgVelNedDepA_n        :: !sint32+  , _msgVelNedDepA_n        :: !Int32     -- ^ Velocity North coordinate-  , _msgVelNedDepA_e        :: !sint32+  , _msgVelNedDepA_e        :: !Int32     -- ^ Velocity East coordinate-  , _msgVelNedDepA_d        :: !sint32+  , _msgVelNedDepA_d        :: !Int32     -- ^ Velocity Down coordinate-  , _msgVelNedDepA_h_accuracy :: !uint32+  , _msgVelNedDepA_h_accuracy :: !Word16     -- ^ Horizontal velocity accuracy estimate (not implemented). Defaults to 0.-  , _msgVelNedDepA_v_accuracy :: !uint32+  , _msgVelNedDepA_v_accuracy :: !Word16     -- ^ Vertical velocity accuracy estimate (not implemented). Defaults to 0.-  , _msgVelNedDepA_n_sats   :: !uint32+  , _msgVelNedDepA_n_sats   :: !Word8     -- ^ Number of satellites used in solution-  , _msgVelNedDepA_flags    :: !uint32+  , _msgVelNedDepA_flags    :: !Word8     -- ^ Status flags (reserved)   } deriving ( Show, Read, Eq ) @@ -1324,13 +1324,13 @@ -- the rover relative to True North. The full GPS time is given by the -- preceding MSG_GPS_TIME with the matching time-of-week (tow). data MsgBaselineHeadingDepA = MsgBaselineHeadingDepA-  { _msgBaselineHeadingDepA_tow   :: !uint32+  { _msgBaselineHeadingDepA_tow   :: !Word32     -- ^ GPS Time of Week-  , _msgBaselineHeadingDepA_heading :: !uint32+  , _msgBaselineHeadingDepA_heading :: !Word32     -- ^ Heading-  , _msgBaselineHeadingDepA_n_sats :: !uint32+  , _msgBaselineHeadingDepA_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgBaselineHeadingDepA_flags :: !uint32+  , _msgBaselineHeadingDepA_flags :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Ndb.hs view
@@ -44,25 +44,25 @@ -- This message is sent out when an object is stored into NDB. If needed -- message could also be sent out when fetching an object from NDB. data MsgNdbEvent = MsgNdbEvent-  { _msgNdbEvent_recv_time     :: !uint64+  { _msgNdbEvent_recv_time     :: !Word64     -- ^ HW time in milliseconds.-  , _msgNdbEvent_event         :: !uint32+  , _msgNdbEvent_event         :: !Word8     -- ^ Event type.-  , _msgNdbEvent_object_type   :: !uint32+  , _msgNdbEvent_object_type   :: !Word8     -- ^ Event object type.-  , _msgNdbEvent_result        :: !uint32+  , _msgNdbEvent_result        :: !Word8     -- ^ Event result.-  , _msgNdbEvent_data_source   :: !uint32+  , _msgNdbEvent_data_source   :: !Word8     -- ^ Data source for STORE event, reserved for other events.-  , _msgNdbEvent_object_sid    :: !gnss.GnssSignal+  , _msgNdbEvent_object_sid    :: !GnssSignal     -- ^ GNSS signal identifier, If object_type is Ephemeris OR Almanac, sid     -- indicates for which signal the object belongs to. Reserved in other     -- cases.-  , _msgNdbEvent_src_sid       :: !gnss.GnssSignal+  , _msgNdbEvent_src_sid       :: !GnssSignal     -- ^ GNSS signal identifier, If object_type is Almanac, Almanac WN, Iono OR     -- L2C capabilities AND data_source is NDB_DS_RECEIVER sid indicates from     -- which SV data was decoded. Reserved in other cases.-  , _msgNdbEvent_original_sender :: !uint32+  , _msgNdbEvent_original_sender :: !Word16     -- ^ A unique identifier of the sending hardware. For v1.0, set to the 2     -- least significant bytes of the device serial number, valid only if     -- data_source is NDB_DS_SBP. Reserved in case of other data_source.
src/SwiftNav/SBP/Observation.hs view
@@ -40,9 +40,9 @@ -- -- Header of a GNSS observation message. data ObservationHeader = ObservationHeader-  { _observationHeader_t   :: !gnss.GpsTime+  { _observationHeader_t   :: !GpsTime     -- ^ GNSS time of this observation-  , _observationHeader_n_obs :: !uint32+  , _observationHeader_n_obs :: !Word8     -- ^ Total number of observations. First nibble is the size of the sequence     -- (n), second nibble is the zero-indexed counter (ith packet of n)   } deriving ( Show, Read, Eq )@@ -66,9 +66,9 @@ -- Q16.8 layout, i.e. 16-bits of whole doppler and 8-bits of fractional -- doppler. This doppler is defined as positive for approaching satellites. data Doppler = Doppler-  { _doppler_i :: !sint32+  { _doppler_i :: !Int16     -- ^ Doppler whole Hz-  , _doppler_f :: !uint32+  , _doppler_f :: !Word8     -- ^ Doppler fractional part   } deriving ( Show, Read, Eq ) @@ -91,26 +91,26 @@ -- observations are interoperable with 3rd party receivers and conform with -- typical RTCMv3 GNSS observations. data PackedObsContent = PackedObsContent-  { _packedObsContent_P   :: !uint32+  { _packedObsContent_P   :: !Word32     -- ^ Pseudorange observation-  , _packedObsContent_L   :: !gnss.CarrierPhase+  , _packedObsContent_L   :: !CarrierPhase     -- ^ Carrier phase observation with typical sign convention.   , _packedObsContent_D   :: !Doppler     -- ^ Doppler observation with typical sign convention.-  , _packedObsContent_cn0 :: !uint32+  , _packedObsContent_cn0 :: !Word8     -- ^ Carrier-to-Noise density.  Zero implies invalid cn0.-  , _packedObsContent_lock :: !uint32+  , _packedObsContent_lock :: !Word8     -- ^ Lock timer. This value gives an indication of the time for which a     -- signal has maintained continuous phase lock. Whenever a signal has lost     -- and regained lock, this value is reset to zero. It is encoded according     -- to DF402 from the RTCM 10403.2 Amendment 2 specification.  Valid values     -- range from 0 to 15 and the most significant nibble is reserved for     -- future use.-  , _packedObsContent_flags :: !uint32+  , _packedObsContent_flags :: !Word8     -- ^ Measurement status flags. A bit field of flags providing the status of     -- this observation.  If this field is 0 it means only the Cn0 estimate for     -- the signal is valid.-  , _packedObsContent_sid :: !gnss.GnssSignal+  , _packedObsContent_sid :: !GnssSignal     -- ^ GNSS signal identifier (16 bit)   } deriving ( Show, Read, Eq ) @@ -151,7 +151,7 @@ data MsgObs = MsgObs   { _msgObs_header :: !ObservationHeader     -- ^ Header of a GPS observation message-  , _msgObs_obs  :: !repeated PackedObsContent+  , _msgObs_obs  :: ![PackedObsContent]     -- ^ Pseudorange and carrier phase observation for a satellite being tracked.   } deriving ( Show, Read, Eq ) @@ -179,11 +179,11 @@ -- 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-  { _msgBasePosLlh_lat  :: !double+  { _msgBasePosLlh_lat  :: !Double     -- ^ Latitude-  , _msgBasePosLlh_lon  :: !double+  , _msgBasePosLlh_lon  :: !Double     -- ^ Longitude-  , _msgBasePosLlh_height :: !double+  , _msgBasePosLlh_height :: !Double     -- ^ Height   } deriving ( Show, Read, Eq ) @@ -214,11 +214,11 @@ -- accuracy surveyed location of the base station. Any error here will result -- in an error in the pseudo-absolute position output. data MsgBasePosEcef = MsgBasePosEcef-  { _msgBasePosEcef_x :: !double+  { _msgBasePosEcef_x :: !Double     -- ^ ECEF X coodinate-  , _msgBasePosEcef_y :: !double+  , _msgBasePosEcef_y :: !Double     -- ^ ECEF Y coordinate-  , _msgBasePosEcef_z :: !double+  , _msgBasePosEcef_z :: !Double     -- ^ ECEF Z coordinate   } deriving ( Show, Read, Eq ) @@ -239,17 +239,17 @@ $(makeLenses ''MsgBasePosEcef)  data EphemerisCommonContent = EphemerisCommonContent-  { _ephemerisCommonContent_sid        :: !gnss.GnssSignal+  { _ephemerisCommonContent_sid        :: !GnssSignal     -- ^ GNSS signal identifier (16 bit)-  , _ephemerisCommonContent_toe        :: !gnss.GpsTimeSec+  , _ephemerisCommonContent_toe        :: !GpsTimeSec     -- ^ Time of Ephemerides-  , _ephemerisCommonContent_ura        :: !double+  , _ephemerisCommonContent_ura        :: !Double     -- ^ User Range Accuracy-  , _ephemerisCommonContent_fit_interval :: !uint32+  , _ephemerisCommonContent_fit_interval :: !Word32     -- ^ Curve fit interval-  , _ephemerisCommonContent_valid      :: !uint32+  , _ephemerisCommonContent_valid      :: !Word8     -- ^ Status of ephemeris, 1 = valid, 0 = invalid-  , _ephemerisCommonContent_health_bits :: !uint32+  , _ephemerisCommonContent_health_bits :: !Word8     -- ^ Satellite health status. GPS: ICD-GPS-200, chapter 20.3.3.3.1.4 SBAS: 0     -- = valid, non-zero = invalid GLO: 0 = valid, non-zero = invalid   } deriving ( Show, Read, Eq )@@ -280,13 +280,13 @@     -- ^ GNSS signal identifier   , _ephemerisCommonContentDepA_toe        :: !GpsTimeDep     -- ^ Time of Ephemerides-  , _ephemerisCommonContentDepA_ura        :: !double+  , _ephemerisCommonContentDepA_ura        :: !Double     -- ^ User Range Accuracy-  , _ephemerisCommonContentDepA_fit_interval :: !uint32+  , _ephemerisCommonContentDepA_fit_interval :: !Word32     -- ^ Curve fit interval-  , _ephemerisCommonContentDepA_valid      :: !uint32+  , _ephemerisCommonContentDepA_valid      :: !Word8     -- ^ Status of ephemeris, 1 = valid, 0 = invalid-  , _ephemerisCommonContentDepA_health_bits :: !uint32+  , _ephemerisCommonContentDepA_health_bits :: !Word8     -- ^ Satellite health status. GPS: ICD-GPS-200, chapter 20.3.3.3.1.4 SBAS: 0     -- = valid, non-zero = invalid GLO: 0 = valid, non-zero = invalid   } deriving ( Show, Read, Eq )@@ -324,53 +324,53 @@ data MsgEphemerisGpsDepE = MsgEphemerisGpsDepE   { _msgEphemerisGpsDepE_common :: !EphemerisCommonContentDepA     -- ^ Values common for all ephemeris types-  , _msgEphemerisGpsDepE_tgd    :: !double+  , _msgEphemerisGpsDepE_tgd    :: !Double     -- ^ Group delay differential between L1 and L2-  , _msgEphemerisGpsDepE_c_rs   :: !double+  , _msgEphemerisGpsDepE_c_rs   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the orbit radius-  , _msgEphemerisGpsDepE_c_rc   :: !double+  , _msgEphemerisGpsDepE_c_rc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the orbit radius-  , _msgEphemerisGpsDepE_c_uc   :: !double+  , _msgEphemerisGpsDepE_c_uc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisGpsDepE_c_us   :: !double+  , _msgEphemerisGpsDepE_c_us   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisGpsDepE_c_ic   :: !double+  , _msgEphemerisGpsDepE_c_ic   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisGpsDepE_c_is   :: !double+  , _msgEphemerisGpsDepE_c_is   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisGpsDepE_dn     :: !double+  , _msgEphemerisGpsDepE_dn     :: !Double     -- ^ Mean motion difference-  , _msgEphemerisGpsDepE_m0     :: !double+  , _msgEphemerisGpsDepE_m0     :: !Double     -- ^ Mean anomaly at reference time-  , _msgEphemerisGpsDepE_ecc    :: !double+  , _msgEphemerisGpsDepE_ecc    :: !Double     -- ^ Eccentricity of satellite orbit-  , _msgEphemerisGpsDepE_sqrta  :: !double+  , _msgEphemerisGpsDepE_sqrta  :: !Double     -- ^ Square root of the semi-major axis of orbit-  , _msgEphemerisGpsDepE_omega0 :: !double+  , _msgEphemerisGpsDepE_omega0 :: !Double     -- ^ Longitude of ascending node of orbit plane at weekly epoch-  , _msgEphemerisGpsDepE_omegadot :: !double+  , _msgEphemerisGpsDepE_omegadot :: !Double     -- ^ Rate of right ascension-  , _msgEphemerisGpsDepE_w      :: !double+  , _msgEphemerisGpsDepE_w      :: !Double     -- ^ Argument of perigee-  , _msgEphemerisGpsDepE_inc    :: !double+  , _msgEphemerisGpsDepE_inc    :: !Double     -- ^ Inclination-  , _msgEphemerisGpsDepE_inc_dot :: !double+  , _msgEphemerisGpsDepE_inc_dot :: !Double     -- ^ Inclination first derivative-  , _msgEphemerisGpsDepE_af0    :: !double+  , _msgEphemerisGpsDepE_af0    :: !Double     -- ^ Polynomial clock correction coefficient (clock bias)-  , _msgEphemerisGpsDepE_af1    :: !double+  , _msgEphemerisGpsDepE_af1    :: !Double     -- ^ Polynomial clock correction coefficient (clock drift)-  , _msgEphemerisGpsDepE_af2    :: !double+  , _msgEphemerisGpsDepE_af2    :: !Double     -- ^ Polynomial clock correction coefficient (rate of clock drift)   , _msgEphemerisGpsDepE_toc    :: !GpsTimeDep     -- ^ Clock reference-  , _msgEphemerisGpsDepE_iode   :: !uint32+  , _msgEphemerisGpsDepE_iode   :: !Word8     -- ^ Issue of ephemeris data-  , _msgEphemerisGpsDepE_iodc   :: !uint32+  , _msgEphemerisGpsDepE_iodc   :: !Word16     -- ^ Issue of clock data   } deriving ( Show, Read, Eq ) @@ -442,53 +442,53 @@ data MsgEphemerisGps = MsgEphemerisGps   { _msgEphemerisGps_common :: !EphemerisCommonContent     -- ^ Values common for all ephemeris types-  , _msgEphemerisGps_tgd    :: !double+  , _msgEphemerisGps_tgd    :: !Double     -- ^ Group delay differential between L1 and L2-  , _msgEphemerisGps_c_rs   :: !double+  , _msgEphemerisGps_c_rs   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the orbit radius-  , _msgEphemerisGps_c_rc   :: !double+  , _msgEphemerisGps_c_rc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the orbit radius-  , _msgEphemerisGps_c_uc   :: !double+  , _msgEphemerisGps_c_uc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisGps_c_us   :: !double+  , _msgEphemerisGps_c_us   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisGps_c_ic   :: !double+  , _msgEphemerisGps_c_ic   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisGps_c_is   :: !double+  , _msgEphemerisGps_c_is   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisGps_dn     :: !double+  , _msgEphemerisGps_dn     :: !Double     -- ^ Mean motion difference-  , _msgEphemerisGps_m0     :: !double+  , _msgEphemerisGps_m0     :: !Double     -- ^ Mean anomaly at reference time-  , _msgEphemerisGps_ecc    :: !double+  , _msgEphemerisGps_ecc    :: !Double     -- ^ Eccentricity of satellite orbit-  , _msgEphemerisGps_sqrta  :: !double+  , _msgEphemerisGps_sqrta  :: !Double     -- ^ Square root of the semi-major axis of orbit-  , _msgEphemerisGps_omega0 :: !double+  , _msgEphemerisGps_omega0 :: !Double     -- ^ Longitude of ascending node of orbit plane at weekly epoch-  , _msgEphemerisGps_omegadot :: !double+  , _msgEphemerisGps_omegadot :: !Double     -- ^ Rate of right ascension-  , _msgEphemerisGps_w      :: !double+  , _msgEphemerisGps_w      :: !Double     -- ^ Argument of perigee-  , _msgEphemerisGps_inc    :: !double+  , _msgEphemerisGps_inc    :: !Double     -- ^ Inclination-  , _msgEphemerisGps_inc_dot :: !double+  , _msgEphemerisGps_inc_dot :: !Double     -- ^ Inclination first derivative-  , _msgEphemerisGps_af0    :: !double+  , _msgEphemerisGps_af0    :: !Double     -- ^ Polynomial clock correction coefficient (clock bias)-  , _msgEphemerisGps_af1    :: !double+  , _msgEphemerisGps_af1    :: !Double     -- ^ Polynomial clock correction coefficient (clock drift)-  , _msgEphemerisGps_af2    :: !double+  , _msgEphemerisGps_af2    :: !Double     -- ^ Polynomial clock correction coefficient (rate of clock drift)-  , _msgEphemerisGps_toc    :: !gnss.GpsTimeSec+  , _msgEphemerisGps_toc    :: !GpsTimeSec     -- ^ Clock reference-  , _msgEphemerisGps_iode   :: !uint32+  , _msgEphemerisGps_iode   :: !Word8     -- ^ Issue of ephemeris data-  , _msgEphemerisGps_iodc   :: !uint32+  , _msgEphemerisGps_iodc   :: !Word16     -- ^ Issue of clock data   } deriving ( Show, Read, Eq ) @@ -554,15 +554,15 @@ data MsgEphemerisSbasDepA = MsgEphemerisSbasDepA   { _msgEphemerisSbasDepA_common :: !EphemerisCommonContentDepA     -- ^ Values common for all ephemeris types-  , _msgEphemerisSbasDepA_pos  :: !repeated double+  , _msgEphemerisSbasDepA_pos  :: ![Double]     -- ^ Position of the GEO at time toe-  , _msgEphemerisSbasDepA_vel  :: !repeated double+  , _msgEphemerisSbasDepA_vel  :: ![Double]     -- ^ Velocity of the GEO at time toe-  , _msgEphemerisSbasDepA_acc  :: !repeated double+  , _msgEphemerisSbasDepA_acc  :: ![Double]     -- ^ Acceleration of the GEO at time toe-  , _msgEphemerisSbasDepA_a_gf0 :: !double+  , _msgEphemerisSbasDepA_a_gf0 :: !Double     -- ^ Time offset of the GEO clock w.r.t. SBAS Network Time-  , _msgEphemerisSbasDepA_a_gf1 :: !double+  , _msgEphemerisSbasDepA_a_gf1 :: !Double     -- ^ Drift of the GEO clock w.r.t. SBAS Network Time   } deriving ( Show, Read, Eq ) @@ -600,15 +600,15 @@ data MsgEphemerisGloDepA = MsgEphemerisGloDepA   { _msgEphemerisGloDepA_common :: !EphemerisCommonContentDepA     -- ^ Values common for all ephemeris types-  , _msgEphemerisGloDepA_gamma :: !double+  , _msgEphemerisGloDepA_gamma :: !Double     -- ^ Relative deviation of predicted carrier frequency from nominal-  , _msgEphemerisGloDepA_tau  :: !double+  , _msgEphemerisGloDepA_tau  :: !Double     -- ^ Correction to the SV time-  , _msgEphemerisGloDepA_pos  :: !repeated double+  , _msgEphemerisGloDepA_pos  :: ![Double]     -- ^ Position of the SV at tb in PZ-90.02 coordinates system-  , _msgEphemerisGloDepA_vel  :: !repeated double+  , _msgEphemerisGloDepA_vel  :: ![Double]     -- ^ Velocity vector of the SV at tb in PZ-90.02 coordinates system-  , _msgEphemerisGloDepA_acc  :: !repeated double+  , _msgEphemerisGloDepA_acc  :: ![Double]     -- ^ Acceleration vector of the SV at tb in PZ-90.02 coordinates sys   } deriving ( Show, Read, Eq ) @@ -640,15 +640,15 @@ data MsgEphemerisSbas = MsgEphemerisSbas   { _msgEphemerisSbas_common :: !EphemerisCommonContent     -- ^ Values common for all ephemeris types-  , _msgEphemerisSbas_pos  :: !repeated double+  , _msgEphemerisSbas_pos  :: ![Double]     -- ^ Position of the GEO at time toe-  , _msgEphemerisSbas_vel  :: !repeated double+  , _msgEphemerisSbas_vel  :: ![Double]     -- ^ Velocity of the GEO at time toe-  , _msgEphemerisSbas_acc  :: !repeated double+  , _msgEphemerisSbas_acc  :: ![Double]     -- ^ Acceleration of the GEO at time toe-  , _msgEphemerisSbas_a_gf0 :: !double+  , _msgEphemerisSbas_a_gf0 :: !Double     -- ^ Time offset of the GEO clock w.r.t. SBAS Network Time-  , _msgEphemerisSbas_a_gf1 :: !double+  , _msgEphemerisSbas_a_gf1 :: !Double     -- ^ Drift of the GEO clock w.r.t. SBAS Network Time   } deriving ( Show, Read, Eq ) @@ -686,15 +686,15 @@ data MsgEphemerisGloDepB = MsgEphemerisGloDepB   { _msgEphemerisGloDepB_common :: !EphemerisCommonContent     -- ^ Values common for all ephemeris types-  , _msgEphemerisGloDepB_gamma :: !double+  , _msgEphemerisGloDepB_gamma :: !Double     -- ^ Relative deviation of predicted carrier frequency from nominal-  , _msgEphemerisGloDepB_tau  :: !double+  , _msgEphemerisGloDepB_tau  :: !Double     -- ^ Correction to the SV time-  , _msgEphemerisGloDepB_pos  :: !repeated double+  , _msgEphemerisGloDepB_pos  :: ![Double]     -- ^ Position of the SV at tb in PZ-90.02 coordinates system-  , _msgEphemerisGloDepB_vel  :: !repeated double+  , _msgEphemerisGloDepB_vel  :: ![Double]     -- ^ Velocity vector of the SV at tb in PZ-90.02 coordinates system-  , _msgEphemerisGloDepB_acc  :: !repeated double+  , _msgEphemerisGloDepB_acc  :: ![Double]     -- ^ Acceleration vector of the SV at tb in PZ-90.02 coordinates sys   } deriving ( Show, Read, Eq ) @@ -732,19 +732,19 @@ data MsgEphemerisGloDepC = MsgEphemerisGloDepC   { _msgEphemerisGloDepC_common :: !EphemerisCommonContent     -- ^ Values common for all ephemeris types-  , _msgEphemerisGloDepC_gamma :: !double+  , _msgEphemerisGloDepC_gamma :: !Double     -- ^ Relative deviation of predicted carrier frequency from nominal-  , _msgEphemerisGloDepC_tau  :: !double+  , _msgEphemerisGloDepC_tau  :: !Double     -- ^ Correction to the SV time-  , _msgEphemerisGloDepC_d_tau :: !double+  , _msgEphemerisGloDepC_d_tau :: !Double     -- ^ Equipment delay between L1 and L2-  , _msgEphemerisGloDepC_pos  :: !repeated double+  , _msgEphemerisGloDepC_pos  :: ![Double]     -- ^ Position of the SV at tb in PZ-90.02 coordinates system-  , _msgEphemerisGloDepC_vel  :: !repeated double+  , _msgEphemerisGloDepC_vel  :: ![Double]     -- ^ Velocity vector of the SV at tb in PZ-90.02 coordinates system-  , _msgEphemerisGloDepC_acc  :: !repeated double+  , _msgEphemerisGloDepC_acc  :: ![Double]     -- ^ Acceleration vector of the SV at tb in PZ-90.02 coordinates sys-  , _msgEphemerisGloDepC_fcn  :: !uint32+  , _msgEphemerisGloDepC_fcn  :: !Word8     -- ^ Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid   } deriving ( Show, Read, Eq ) @@ -786,21 +786,21 @@ data MsgEphemerisGlo = MsgEphemerisGlo   { _msgEphemerisGlo_common :: !EphemerisCommonContent     -- ^ Values common for all ephemeris types-  , _msgEphemerisGlo_gamma :: !double+  , _msgEphemerisGlo_gamma :: !Double     -- ^ Relative deviation of predicted carrier frequency from nominal-  , _msgEphemerisGlo_tau  :: !double+  , _msgEphemerisGlo_tau  :: !Double     -- ^ Correction to the SV time-  , _msgEphemerisGlo_d_tau :: !double+  , _msgEphemerisGlo_d_tau :: !Double     -- ^ Equipment delay between L1 and L2-  , _msgEphemerisGlo_pos  :: !repeated double+  , _msgEphemerisGlo_pos  :: ![Double]     -- ^ Position of the SV at tb in PZ-90.02 coordinates system-  , _msgEphemerisGlo_vel  :: !repeated double+  , _msgEphemerisGlo_vel  :: ![Double]     -- ^ Velocity vector of the SV at tb in PZ-90.02 coordinates system-  , _msgEphemerisGlo_acc  :: !repeated double+  , _msgEphemerisGlo_acc  :: ![Double]     -- ^ Acceleration vector of the SV at tb in PZ-90.02 coordinates sys-  , _msgEphemerisGlo_fcn  :: !uint32+  , _msgEphemerisGlo_fcn  :: !Word8     -- ^ Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid-  , _msgEphemerisGlo_iod  :: !uint32+  , _msgEphemerisGlo_iod  :: !Word8     -- ^ Issue of ephemeris data   } deriving ( Show, Read, Eq ) @@ -842,67 +842,67 @@ -- see the Navstar GPS Space Segment/Navigation user interfaces (ICD-GPS-200, -- Table 20-III) for more details. data MsgEphemerisDepD = MsgEphemerisDepD-  { _msgEphemerisDepD_tgd    :: !double+  { _msgEphemerisDepD_tgd    :: !Double     -- ^ Group delay differential between L1 and L2-  , _msgEphemerisDepD_c_rs   :: !double+  , _msgEphemerisDepD_c_rs   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the orbit radius-  , _msgEphemerisDepD_c_rc   :: !double+  , _msgEphemerisDepD_c_rc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the orbit radius-  , _msgEphemerisDepD_c_uc   :: !double+  , _msgEphemerisDepD_c_uc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisDepD_c_us   :: !double+  , _msgEphemerisDepD_c_us   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisDepD_c_ic   :: !double+  , _msgEphemerisDepD_c_ic   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisDepD_c_is   :: !double+  , _msgEphemerisDepD_c_is   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisDepD_dn     :: !double+  , _msgEphemerisDepD_dn     :: !Double     -- ^ Mean motion difference-  , _msgEphemerisDepD_m0     :: !double+  , _msgEphemerisDepD_m0     :: !Double     -- ^ Mean anomaly at reference time-  , _msgEphemerisDepD_ecc    :: !double+  , _msgEphemerisDepD_ecc    :: !Double     -- ^ Eccentricity of satellite orbit-  , _msgEphemerisDepD_sqrta  :: !double+  , _msgEphemerisDepD_sqrta  :: !Double     -- ^ Square root of the semi-major axis of orbit-  , _msgEphemerisDepD_omega0 :: !double+  , _msgEphemerisDepD_omega0 :: !Double     -- ^ Longitude of ascending node of orbit plane at weekly epoch-  , _msgEphemerisDepD_omegadot :: !double+  , _msgEphemerisDepD_omegadot :: !Double     -- ^ Rate of right ascension-  , _msgEphemerisDepD_w      :: !double+  , _msgEphemerisDepD_w      :: !Double     -- ^ Argument of perigee-  , _msgEphemerisDepD_inc    :: !double+  , _msgEphemerisDepD_inc    :: !Double     -- ^ Inclination-  , _msgEphemerisDepD_inc_dot :: !double+  , _msgEphemerisDepD_inc_dot :: !Double     -- ^ Inclination first derivative-  , _msgEphemerisDepD_af0    :: !double+  , _msgEphemerisDepD_af0    :: !Double     -- ^ Polynomial clock correction coefficient (clock bias)-  , _msgEphemerisDepD_af1    :: !double+  , _msgEphemerisDepD_af1    :: !Double     -- ^ Polynomial clock correction coefficient (clock drift)-  , _msgEphemerisDepD_af2    :: !double+  , _msgEphemerisDepD_af2    :: !Double     -- ^ Polynomial clock correction coefficient (rate of clock drift)-  , _msgEphemerisDepD_toe_tow :: !double+  , _msgEphemerisDepD_toe_tow :: !Double     -- ^ Time of week-  , _msgEphemerisDepD_toe_wn :: !uint32+  , _msgEphemerisDepD_toe_wn :: !Word16     -- ^ Week number-  , _msgEphemerisDepD_toc_tow :: !double+  , _msgEphemerisDepD_toc_tow :: !Double     -- ^ Clock reference time of week-  , _msgEphemerisDepD_toc_wn :: !uint32+  , _msgEphemerisDepD_toc_wn :: !Word16     -- ^ Clock reference week number-  , _msgEphemerisDepD_valid  :: !uint32+  , _msgEphemerisDepD_valid  :: !Word8     -- ^ Is valid?-  , _msgEphemerisDepD_healthy :: !uint32+  , _msgEphemerisDepD_healthy :: !Word8     -- ^ Satellite is healthy?   , _msgEphemerisDepD_sid    :: !GnssSignalDep     -- ^ GNSS signal identifier-  , _msgEphemerisDepD_iode   :: !uint32+  , _msgEphemerisDepD_iode   :: !Word8     -- ^ Issue of ephemeris data-  , _msgEphemerisDepD_iodc   :: !uint32+  , _msgEphemerisDepD_iodc   :: !Word16     -- ^ Issue of clock data-  , _msgEphemerisDepD_reserved :: !uint32+  , _msgEphemerisDepD_reserved :: !Word32     -- ^ Reserved field   } deriving ( Show, Read, Eq ) @@ -981,61 +981,61 @@ -- -- Deprecated. data MsgEphemerisDepA = MsgEphemerisDepA-  { _msgEphemerisDepA_tgd    :: !double+  { _msgEphemerisDepA_tgd    :: !Double     -- ^ Group delay differential between L1 and L2-  , _msgEphemerisDepA_c_rs   :: !double+  , _msgEphemerisDepA_c_rs   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the orbit radius-  , _msgEphemerisDepA_c_rc   :: !double+  , _msgEphemerisDepA_c_rc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the orbit radius-  , _msgEphemerisDepA_c_uc   :: !double+  , _msgEphemerisDepA_c_uc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisDepA_c_us   :: !double+  , _msgEphemerisDepA_c_us   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisDepA_c_ic   :: !double+  , _msgEphemerisDepA_c_ic   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisDepA_c_is   :: !double+  , _msgEphemerisDepA_c_is   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisDepA_dn     :: !double+  , _msgEphemerisDepA_dn     :: !Double     -- ^ Mean motion difference-  , _msgEphemerisDepA_m0     :: !double+  , _msgEphemerisDepA_m0     :: !Double     -- ^ Mean anomaly at reference time-  , _msgEphemerisDepA_ecc    :: !double+  , _msgEphemerisDepA_ecc    :: !Double     -- ^ Eccentricity of satellite orbit-  , _msgEphemerisDepA_sqrta  :: !double+  , _msgEphemerisDepA_sqrta  :: !Double     -- ^ Square root of the semi-major axis of orbit-  , _msgEphemerisDepA_omega0 :: !double+  , _msgEphemerisDepA_omega0 :: !Double     -- ^ Longitude of ascending node of orbit plane at weekly epoch-  , _msgEphemerisDepA_omegadot :: !double+  , _msgEphemerisDepA_omegadot :: !Double     -- ^ Rate of right ascension-  , _msgEphemerisDepA_w      :: !double+  , _msgEphemerisDepA_w      :: !Double     -- ^ Argument of perigee-  , _msgEphemerisDepA_inc    :: !double+  , _msgEphemerisDepA_inc    :: !Double     -- ^ Inclination-  , _msgEphemerisDepA_inc_dot :: !double+  , _msgEphemerisDepA_inc_dot :: !Double     -- ^ Inclination first derivative-  , _msgEphemerisDepA_af0    :: !double+  , _msgEphemerisDepA_af0    :: !Double     -- ^ Polynomial clock correction coefficient (clock bias)-  , _msgEphemerisDepA_af1    :: !double+  , _msgEphemerisDepA_af1    :: !Double     -- ^ Polynomial clock correction coefficient (clock drift)-  , _msgEphemerisDepA_af2    :: !double+  , _msgEphemerisDepA_af2    :: !Double     -- ^ Polynomial clock correction coefficient (rate of clock drift)-  , _msgEphemerisDepA_toe_tow :: !double+  , _msgEphemerisDepA_toe_tow :: !Double     -- ^ Time of week-  , _msgEphemerisDepA_toe_wn :: !uint32+  , _msgEphemerisDepA_toe_wn :: !Word16     -- ^ Week number-  , _msgEphemerisDepA_toc_tow :: !double+  , _msgEphemerisDepA_toc_tow :: !Double     -- ^ Clock reference time of week-  , _msgEphemerisDepA_toc_wn :: !uint32+  , _msgEphemerisDepA_toc_wn :: !Word16     -- ^ Clock reference week number-  , _msgEphemerisDepA_valid  :: !uint32+  , _msgEphemerisDepA_valid  :: !Word8     -- ^ Is valid?-  , _msgEphemerisDepA_healthy :: !uint32+  , _msgEphemerisDepA_healthy :: !Word8     -- ^ Satellite is healthy?-  , _msgEphemerisDepA_prn    :: !uint32+  , _msgEphemerisDepA_prn    :: !Word8     -- ^ PRN being tracked   } deriving ( Show, Read, Eq ) @@ -1108,63 +1108,63 @@ -- -- Deprecated. data MsgEphemerisDepB = MsgEphemerisDepB-  { _msgEphemerisDepB_tgd    :: !double+  { _msgEphemerisDepB_tgd    :: !Double     -- ^ Group delay differential between L1 and L2-  , _msgEphemerisDepB_c_rs   :: !double+  , _msgEphemerisDepB_c_rs   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the orbit radius-  , _msgEphemerisDepB_c_rc   :: !double+  , _msgEphemerisDepB_c_rc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the orbit radius-  , _msgEphemerisDepB_c_uc   :: !double+  , _msgEphemerisDepB_c_uc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisDepB_c_us   :: !double+  , _msgEphemerisDepB_c_us   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisDepB_c_ic   :: !double+  , _msgEphemerisDepB_c_ic   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisDepB_c_is   :: !double+  , _msgEphemerisDepB_c_is   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisDepB_dn     :: !double+  , _msgEphemerisDepB_dn     :: !Double     -- ^ Mean motion difference-  , _msgEphemerisDepB_m0     :: !double+  , _msgEphemerisDepB_m0     :: !Double     -- ^ Mean anomaly at reference time-  , _msgEphemerisDepB_ecc    :: !double+  , _msgEphemerisDepB_ecc    :: !Double     -- ^ Eccentricity of satellite orbit-  , _msgEphemerisDepB_sqrta  :: !double+  , _msgEphemerisDepB_sqrta  :: !Double     -- ^ Square root of the semi-major axis of orbit-  , _msgEphemerisDepB_omega0 :: !double+  , _msgEphemerisDepB_omega0 :: !Double     -- ^ Longitude of ascending node of orbit plane at weekly epoch-  , _msgEphemerisDepB_omegadot :: !double+  , _msgEphemerisDepB_omegadot :: !Double     -- ^ Rate of right ascension-  , _msgEphemerisDepB_w      :: !double+  , _msgEphemerisDepB_w      :: !Double     -- ^ Argument of perigee-  , _msgEphemerisDepB_inc    :: !double+  , _msgEphemerisDepB_inc    :: !Double     -- ^ Inclination-  , _msgEphemerisDepB_inc_dot :: !double+  , _msgEphemerisDepB_inc_dot :: !Double     -- ^ Inclination first derivative-  , _msgEphemerisDepB_af0    :: !double+  , _msgEphemerisDepB_af0    :: !Double     -- ^ Polynomial clock correction coefficient (clock bias)-  , _msgEphemerisDepB_af1    :: !double+  , _msgEphemerisDepB_af1    :: !Double     -- ^ Polynomial clock correction coefficient (clock drift)-  , _msgEphemerisDepB_af2    :: !double+  , _msgEphemerisDepB_af2    :: !Double     -- ^ Polynomial clock correction coefficient (rate of clock drift)-  , _msgEphemerisDepB_toe_tow :: !double+  , _msgEphemerisDepB_toe_tow :: !Double     -- ^ Time of week-  , _msgEphemerisDepB_toe_wn :: !uint32+  , _msgEphemerisDepB_toe_wn :: !Word16     -- ^ Week number-  , _msgEphemerisDepB_toc_tow :: !double+  , _msgEphemerisDepB_toc_tow :: !Double     -- ^ Clock reference time of week-  , _msgEphemerisDepB_toc_wn :: !uint32+  , _msgEphemerisDepB_toc_wn :: !Word16     -- ^ Clock reference week number-  , _msgEphemerisDepB_valid  :: !uint32+  , _msgEphemerisDepB_valid  :: !Word8     -- ^ Is valid?-  , _msgEphemerisDepB_healthy :: !uint32+  , _msgEphemerisDepB_healthy :: !Word8     -- ^ Satellite is healthy?-  , _msgEphemerisDepB_prn    :: !uint32+  , _msgEphemerisDepB_prn    :: !Word8     -- ^ PRN being tracked-  , _msgEphemerisDepB_iode   :: !uint32+  , _msgEphemerisDepB_iode   :: !Word8     -- ^ Issue of ephemeris data   } deriving ( Show, Read, Eq ) @@ -1242,67 +1242,67 @@ -- see the Navstar GPS Space Segment/Navigation user interfaces (ICD-GPS-200, -- Table 20-III) for more details. data MsgEphemerisDepC = MsgEphemerisDepC-  { _msgEphemerisDepC_tgd    :: !double+  { _msgEphemerisDepC_tgd    :: !Double     -- ^ Group delay differential between L1 and L2-  , _msgEphemerisDepC_c_rs   :: !double+  , _msgEphemerisDepC_c_rs   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the orbit radius-  , _msgEphemerisDepC_c_rc   :: !double+  , _msgEphemerisDepC_c_rc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the orbit radius-  , _msgEphemerisDepC_c_uc   :: !double+  , _msgEphemerisDepC_c_uc   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisDepC_c_us   :: !double+  , _msgEphemerisDepC_c_us   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the argument of     -- latitude-  , _msgEphemerisDepC_c_ic   :: !double+  , _msgEphemerisDepC_c_ic   :: !Double     -- ^ Amplitude of the cosine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisDepC_c_is   :: !double+  , _msgEphemerisDepC_c_is   :: !Double     -- ^ Amplitude of the sine harmonic correction term to the angle of     -- inclination-  , _msgEphemerisDepC_dn     :: !double+  , _msgEphemerisDepC_dn     :: !Double     -- ^ Mean motion difference-  , _msgEphemerisDepC_m0     :: !double+  , _msgEphemerisDepC_m0     :: !Double     -- ^ Mean anomaly at reference time-  , _msgEphemerisDepC_ecc    :: !double+  , _msgEphemerisDepC_ecc    :: !Double     -- ^ Eccentricity of satellite orbit-  , _msgEphemerisDepC_sqrta  :: !double+  , _msgEphemerisDepC_sqrta  :: !Double     -- ^ Square root of the semi-major axis of orbit-  , _msgEphemerisDepC_omega0 :: !double+  , _msgEphemerisDepC_omega0 :: !Double     -- ^ Longitude of ascending node of orbit plane at weekly epoch-  , _msgEphemerisDepC_omegadot :: !double+  , _msgEphemerisDepC_omegadot :: !Double     -- ^ Rate of right ascension-  , _msgEphemerisDepC_w      :: !double+  , _msgEphemerisDepC_w      :: !Double     -- ^ Argument of perigee-  , _msgEphemerisDepC_inc    :: !double+  , _msgEphemerisDepC_inc    :: !Double     -- ^ Inclination-  , _msgEphemerisDepC_inc_dot :: !double+  , _msgEphemerisDepC_inc_dot :: !Double     -- ^ Inclination first derivative-  , _msgEphemerisDepC_af0    :: !double+  , _msgEphemerisDepC_af0    :: !Double     -- ^ Polynomial clock correction coefficient (clock bias)-  , _msgEphemerisDepC_af1    :: !double+  , _msgEphemerisDepC_af1    :: !Double     -- ^ Polynomial clock correction coefficient (clock drift)-  , _msgEphemerisDepC_af2    :: !double+  , _msgEphemerisDepC_af2    :: !Double     -- ^ Polynomial clock correction coefficient (rate of clock drift)-  , _msgEphemerisDepC_toe_tow :: !double+  , _msgEphemerisDepC_toe_tow :: !Double     -- ^ Time of week-  , _msgEphemerisDepC_toe_wn :: !uint32+  , _msgEphemerisDepC_toe_wn :: !Word16     -- ^ Week number-  , _msgEphemerisDepC_toc_tow :: !double+  , _msgEphemerisDepC_toc_tow :: !Double     -- ^ Clock reference time of week-  , _msgEphemerisDepC_toc_wn :: !uint32+  , _msgEphemerisDepC_toc_wn :: !Word16     -- ^ Clock reference week number-  , _msgEphemerisDepC_valid  :: !uint32+  , _msgEphemerisDepC_valid  :: !Word8     -- ^ Is valid?-  , _msgEphemerisDepC_healthy :: !uint32+  , _msgEphemerisDepC_healthy :: !Word8     -- ^ Satellite is healthy?   , _msgEphemerisDepC_sid    :: !GnssSignalDep     -- ^ GNSS signal identifier-  , _msgEphemerisDepC_iode   :: !uint32+  , _msgEphemerisDepC_iode   :: !Word8     -- ^ Issue of ephemeris data-  , _msgEphemerisDepC_iodc   :: !uint32+  , _msgEphemerisDepC_iodc   :: !Word16     -- ^ Issue of clock data-  , _msgEphemerisDepC_reserved :: !uint32+  , _msgEphemerisDepC_reserved :: !Word32     -- ^ Reserved field   } deriving ( Show, Read, Eq ) @@ -1380,7 +1380,7 @@ data ObservationHeaderDep = ObservationHeaderDep   { _observationHeaderDep_t   :: !GpsTimeDep     -- ^ GPS time of this observation-  , _observationHeaderDep_n_obs :: !uint32+  , _observationHeaderDep_n_obs :: !Word8     -- ^ Total number of observations. First nibble is the size of the sequence     -- (n), second nibble is the zero-indexed counter (ith packet of n)   } deriving ( Show, Read, Eq )@@ -1405,9 +1405,9 @@ -- fractional cycles. This has the opposite sign convention than a typical GPS -- receiver and the phase has the opposite sign as the pseudorange. data CarrierPhaseDepA = CarrierPhaseDepA-  { _carrierPhaseDepA_i :: !sint32+  { _carrierPhaseDepA_i :: !Int32     -- ^ Carrier phase whole cycles-  , _carrierPhaseDepA_f :: !uint32+  , _carrierPhaseDepA_f :: !Word8     -- ^ Carrier phase fractional part   } deriving ( Show, Read, Eq ) @@ -1428,17 +1428,17 @@ -- -- Deprecated. data PackedObsContentDepA = PackedObsContentDepA-  { _packedObsContentDepA_P  :: !uint32+  { _packedObsContentDepA_P  :: !Word32     -- ^ Pseudorange observation   , _packedObsContentDepA_L  :: !CarrierPhaseDepA     -- ^ Carrier phase observation with opposite sign from typical convention-  , _packedObsContentDepA_cn0 :: !uint32+  , _packedObsContentDepA_cn0 :: !Word8     -- ^ Carrier-to-Noise density-  , _packedObsContentDepA_lock :: !uint32+  , _packedObsContentDepA_lock :: !Word16     -- ^ Lock indicator. This value changes whenever a satellite signal has lost     -- and regained lock, indicating that the carrier phase ambiguity may have     -- changed.-  , _packedObsContentDepA_prn :: !uint32+  , _packedObsContentDepA_prn :: !Word8     -- ^ PRN-1 identifier of the satellite signal   } deriving ( Show, Read, Eq ) @@ -1466,13 +1466,13 @@ -- Pseudorange and carrier phase observation for a satellite being tracked. -- Pseudoranges are referenced to a nominal pseudorange. data PackedObsContentDepB = PackedObsContentDepB-  { _packedObsContentDepB_P  :: !uint32+  { _packedObsContentDepB_P  :: !Word32     -- ^ Pseudorange observation   , _packedObsContentDepB_L  :: !CarrierPhaseDepA     -- ^ Carrier phase observation with opposite sign from typical convention.-  , _packedObsContentDepB_cn0 :: !uint32+  , _packedObsContentDepB_cn0 :: !Word8     -- ^ Carrier-to-Noise density-  , _packedObsContentDepB_lock :: !uint32+  , _packedObsContentDepB_lock :: !Word16     -- ^ Lock indicator. This value changes whenever a satellite signal has lost     -- and regained lock, indicating that the carrier phase ambiguity may have     -- changed.@@ -1505,13 +1505,13 @@ -- observations are be interoperable with 3rd party receivers and conform with -- typical RTCMv3 GNSS observations. data PackedObsContentDepC = PackedObsContentDepC-  { _packedObsContentDepC_P  :: !uint32+  { _packedObsContentDepC_P  :: !Word32     -- ^ Pseudorange observation-  , _packedObsContentDepC_L  :: !gnss.CarrierPhase+  , _packedObsContentDepC_L  :: !CarrierPhase     -- ^ Carrier phase observation with typical sign convention.-  , _packedObsContentDepC_cn0 :: !uint32+  , _packedObsContentDepC_cn0 :: !Word8     -- ^ Carrier-to-Noise density-  , _packedObsContentDepC_lock :: !uint32+  , _packedObsContentDepC_lock :: !Word16     -- ^ Lock indicator. This value changes whenever a satellite signal has lost     -- and regained lock, indicating that the carrier phase ambiguity may have     -- changed.@@ -1547,7 +1547,7 @@ data MsgObsDepA = MsgObsDepA   { _msgObsDepA_header :: !ObservationHeaderDep     -- ^ Header of a GPS observation message-  , _msgObsDepA_obs  :: !repeated PackedObsContentDepA+  , _msgObsDepA_obs  :: ![PackedObsContentDepA]     -- ^ Pseudorange and carrier phase observation for a satellite being tracked.   } deriving ( Show, Read, Eq ) @@ -1577,7 +1577,7 @@ data MsgObsDepB = MsgObsDepB   { _msgObsDepB_header :: !ObservationHeaderDep     -- ^ Header of a GPS observation message-  , _msgObsDepB_obs  :: !repeated PackedObsContentDepB+  , _msgObsDepB_obs  :: ![PackedObsContentDepB]     -- ^ Pseudorange and carrier phase observation for a satellite being tracked.   } deriving ( Show, Read, Eq ) @@ -1609,7 +1609,7 @@ data MsgObsDepC = MsgObsDepC   { _msgObsDepC_header :: !ObservationHeaderDep     -- ^ Header of a GPS observation message-  , _msgObsDepC_obs  :: !repeated PackedObsContentDepC+  , _msgObsDepC_obs  :: ![PackedObsContentDepC]     -- ^ Pseudorange and carrier phase observation for a satellite being tracked.   } deriving ( Show, Read, Eq ) @@ -1636,16 +1636,16 @@ -- utilize the ionospheric model for computation of the ionospheric delay. -- Please see ICD-GPS-200 (Chapter 20.3.3.5.1.7) for more details. data MsgIono = MsgIono-  { _msgIono_t_nmct :: !gnss.GpsTimeSec+  { _msgIono_t_nmct :: !GpsTimeSec     -- ^ Navigation Message Correction Table Valitidy Time-  , _msgIono_a0   :: !double-  , _msgIono_a1   :: !double-  , _msgIono_a2   :: !double-  , _msgIono_a3   :: !double-  , _msgIono_b0   :: !double-  , _msgIono_b1   :: !double-  , _msgIono_b2   :: !double-  , _msgIono_b3   :: !double+  , _msgIono_a0   :: !Double+  , _msgIono_a1   :: !Double+  , _msgIono_a2   :: !Double+  , _msgIono_a3   :: !Double+  , _msgIono_b0   :: !Double+  , _msgIono_b1   :: !Double+  , _msgIono_b2   :: !Double+  , _msgIono_b3   :: !Double   } deriving ( Show, Read, Eq )  instance Binary MsgIono where@@ -1683,9 +1683,9 @@ -- -- Please see ICD-GPS-200 (Chapter 20.3.3.5.1.4) for more details. data MsgSvConfigurationGps = MsgSvConfigurationGps-  { _msgSvConfigurationGps_t_nmct :: !gnss.GpsTimeSec+  { _msgSvConfigurationGps_t_nmct :: !GpsTimeSec     -- ^ Navigation Message Correction Table Valitidy Time-  , _msgSvConfigurationGps_l2c_mask :: !uint32+  , _msgSvConfigurationGps_l2c_mask :: !Word32     -- ^ L2C capability mask, SV32 bit being MSB, SV1 bit being LSB   } deriving ( Show, Read, Eq ) @@ -1712,14 +1712,14 @@ data MsgGroupDelayDepA = MsgGroupDelayDepA   { _msgGroupDelayDepA_t_op   :: !GpsTimeDep     -- ^ Data Predict Time of Week-  , _msgGroupDelayDepA_prn    :: !uint32+  , _msgGroupDelayDepA_prn    :: !Word8     -- ^ Satellite number-  , _msgGroupDelayDepA_valid  :: !uint32+  , _msgGroupDelayDepA_valid  :: !Word8     -- ^ bit-field indicating validity of the values, LSB indicating tgd validity     -- etc. 1 = value is valid, 0 = value is not valid.-  , _msgGroupDelayDepA_tgd    :: !sint32-  , _msgGroupDelayDepA_isc_l1ca :: !sint32-  , _msgGroupDelayDepA_isc_l2c :: !sint32+  , _msgGroupDelayDepA_tgd    :: !Int16+  , _msgGroupDelayDepA_isc_l1ca :: !Int16+  , _msgGroupDelayDepA_isc_l2c :: !Int16   } deriving ( Show, Read, Eq )  instance Binary MsgGroupDelayDepA where@@ -1751,16 +1751,16 @@ -- -- Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. data MsgGroupDelayDepB = MsgGroupDelayDepB-  { _msgGroupDelayDepB_t_op   :: !gnss.GpsTimeSec+  { _msgGroupDelayDepB_t_op   :: !GpsTimeSec     -- ^ Data Predict Time of Week   , _msgGroupDelayDepB_sid    :: !GnssSignalDep     -- ^ GNSS signal identifier-  , _msgGroupDelayDepB_valid  :: !uint32+  , _msgGroupDelayDepB_valid  :: !Word8     -- ^ bit-field indicating validity of the values, LSB indicating tgd validity     -- etc. 1 = value is valid, 0 = value is not valid.-  , _msgGroupDelayDepB_tgd    :: !sint32-  , _msgGroupDelayDepB_isc_l1ca :: !sint32-  , _msgGroupDelayDepB_isc_l2c :: !sint32+  , _msgGroupDelayDepB_tgd    :: !Int16+  , _msgGroupDelayDepB_isc_l1ca :: !Int16+  , _msgGroupDelayDepB_isc_l2c :: !Int16   } deriving ( Show, Read, Eq )  instance Binary MsgGroupDelayDepB where@@ -1792,16 +1792,16 @@ -- -- Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. data MsgGroupDelay = MsgGroupDelay-  { _msgGroupDelay_t_op   :: !gnss.GpsTimeSec+  { _msgGroupDelay_t_op   :: !GpsTimeSec     -- ^ Data Predict Time of Week-  , _msgGroupDelay_sid    :: !gnss.GnssSignal+  , _msgGroupDelay_sid    :: !GnssSignal     -- ^ GNSS signal identifier-  , _msgGroupDelay_valid  :: !uint32+  , _msgGroupDelay_valid  :: !Word8     -- ^ bit-field indicating validity of the values, LSB indicating tgd validity     -- etc. 1 = value is valid, 0 = value is not valid.-  , _msgGroupDelay_tgd    :: !sint32-  , _msgGroupDelay_isc_l1ca :: !sint32-  , _msgGroupDelay_isc_l2c :: !sint32+  , _msgGroupDelay_tgd    :: !Int16+  , _msgGroupDelay_isc_l1ca :: !Int16+  , _msgGroupDelay_isc_l2c :: !Int16   } deriving ( Show, Read, Eq )  instance Binary MsgGroupDelay where@@ -1827,17 +1827,17 @@ $(makeLenses ''MsgGroupDelay)  data AlmanacCommonContent = AlmanacCommonContent-  { _almanacCommonContent_sid        :: !gnss.GnssSignal+  { _almanacCommonContent_sid        :: !GnssSignal     -- ^ GNSS signal identifier-  , _almanacCommonContent_toa        :: !gnss.GpsTimeSec+  , _almanacCommonContent_toa        :: !GpsTimeSec     -- ^ Reference time of almanac-  , _almanacCommonContent_ura        :: !double+  , _almanacCommonContent_ura        :: !Double     -- ^ User Range Accuracy-  , _almanacCommonContent_fit_interval :: !uint32+  , _almanacCommonContent_fit_interval :: !Word32     -- ^ Curve fit interval-  , _almanacCommonContent_valid      :: !uint32+  , _almanacCommonContent_valid      :: !Word8     -- ^ Status of almanac, 1 = valid, 0 = invalid-  , _almanacCommonContent_health_bits :: !uint32+  , _almanacCommonContent_health_bits :: !Word8     -- ^ Satellite health status for GPS:   - bits 5-7: NAV data health status.     -- See IS-GPS-200H     Table 20-VII: NAV Data Health Indications.   - bits     -- 0-4: Signal health status. See IS-GPS-200H     Table 20-VIII. Codes for@@ -1874,15 +1874,15 @@ data AlmanacCommonContentDep = AlmanacCommonContentDep   { _almanacCommonContentDep_sid        :: !GnssSignalDep     -- ^ GNSS signal identifier-  , _almanacCommonContentDep_toa        :: !gnss.GpsTimeSec+  , _almanacCommonContentDep_toa        :: !GpsTimeSec     -- ^ Reference time of almanac-  , _almanacCommonContentDep_ura        :: !double+  , _almanacCommonContentDep_ura        :: !Double     -- ^ User Range Accuracy-  , _almanacCommonContentDep_fit_interval :: !uint32+  , _almanacCommonContentDep_fit_interval :: !Word32     -- ^ Curve fit interval-  , _almanacCommonContentDep_valid      :: !uint32+  , _almanacCommonContentDep_valid      :: !Word8     -- ^ Status of almanac, 1 = valid, 0 = invalid-  , _almanacCommonContentDep_health_bits :: !uint32+  , _almanacCommonContentDep_health_bits :: !Word8     -- ^ Satellite health status for GPS:   - bits 5-7: NAV data health status.     -- See IS-GPS-200H     Table 20-VII: NAV Data Health Indications.   - bits     -- 0-4: Signal health status. See IS-GPS-200H     Table 20-VIII. Codes for@@ -1928,23 +1928,23 @@ data MsgAlmanacGpsDep = MsgAlmanacGpsDep   { _msgAlmanacGpsDep_common :: !AlmanacCommonContentDep     -- ^ Values common for all almanac types-  , _msgAlmanacGpsDep_m0     :: !double+  , _msgAlmanacGpsDep_m0     :: !Double     -- ^ Mean anomaly at reference time-  , _msgAlmanacGpsDep_ecc    :: !double+  , _msgAlmanacGpsDep_ecc    :: !Double     -- ^ Eccentricity of satellite orbit-  , _msgAlmanacGpsDep_sqrta  :: !double+  , _msgAlmanacGpsDep_sqrta  :: !Double     -- ^ Square root of the semi-major axis of orbit-  , _msgAlmanacGpsDep_omega0 :: !double+  , _msgAlmanacGpsDep_omega0 :: !Double     -- ^ Longitude of ascending node of orbit plane at weekly epoch-  , _msgAlmanacGpsDep_omegadot :: !double+  , _msgAlmanacGpsDep_omegadot :: !Double     -- ^ Rate of right ascension-  , _msgAlmanacGpsDep_w      :: !double+  , _msgAlmanacGpsDep_w      :: !Double     -- ^ Argument of perigee-  , _msgAlmanacGpsDep_inc    :: !double+  , _msgAlmanacGpsDep_inc    :: !Double     -- ^ Inclination-  , _msgAlmanacGpsDep_af0    :: !double+  , _msgAlmanacGpsDep_af0    :: !Double     -- ^ Polynomial clock correction coefficient (clock bias)-  , _msgAlmanacGpsDep_af1    :: !double+  , _msgAlmanacGpsDep_af1    :: !Double     -- ^ Polynomial clock correction coefficient (clock drift)   } deriving ( Show, Read, Eq ) @@ -1990,23 +1990,23 @@ data MsgAlmanacGps = MsgAlmanacGps   { _msgAlmanacGps_common :: !AlmanacCommonContent     -- ^ Values common for all almanac types-  , _msgAlmanacGps_m0     :: !double+  , _msgAlmanacGps_m0     :: !Double     -- ^ Mean anomaly at reference time-  , _msgAlmanacGps_ecc    :: !double+  , _msgAlmanacGps_ecc    :: !Double     -- ^ Eccentricity of satellite orbit-  , _msgAlmanacGps_sqrta  :: !double+  , _msgAlmanacGps_sqrta  :: !Double     -- ^ Square root of the semi-major axis of orbit-  , _msgAlmanacGps_omega0 :: !double+  , _msgAlmanacGps_omega0 :: !Double     -- ^ Longitude of ascending node of orbit plane at weekly epoch-  , _msgAlmanacGps_omegadot :: !double+  , _msgAlmanacGps_omegadot :: !Double     -- ^ Rate of right ascension-  , _msgAlmanacGps_w      :: !double+  , _msgAlmanacGps_w      :: !Double     -- ^ Argument of perigee-  , _msgAlmanacGps_inc    :: !double+  , _msgAlmanacGps_inc    :: !Double     -- ^ Inclination-  , _msgAlmanacGps_af0    :: !double+  , _msgAlmanacGps_af0    :: !Double     -- ^ Polynomial clock correction coefficient (clock bias)-  , _msgAlmanacGps_af1    :: !double+  , _msgAlmanacGps_af1    :: !Double     -- ^ Polynomial clock correction coefficient (clock drift)   } deriving ( Show, Read, Eq ) @@ -2052,20 +2052,20 @@ data MsgAlmanacGloDep = MsgAlmanacGloDep   { _msgAlmanacGloDep_common    :: !AlmanacCommonContentDep     -- ^ Values common for all almanac types-  , _msgAlmanacGloDep_lambda_na :: !double+  , _msgAlmanacGloDep_lambda_na :: !Double     -- ^ Longitude of the first ascending node of the orbit in PZ-90.02     -- coordinate system-  , _msgAlmanacGloDep_t_lambda_na :: !double+  , _msgAlmanacGloDep_t_lambda_na :: !Double     -- ^ Time of the first ascending node passage-  , _msgAlmanacGloDep_i         :: !double+  , _msgAlmanacGloDep_i         :: !Double     -- ^ Value of inclination at instant of t_lambda-  , _msgAlmanacGloDep_t         :: !double+  , _msgAlmanacGloDep_t         :: !Double     -- ^ Value of Draconian period at instant of t_lambda-  , _msgAlmanacGloDep_t_dot     :: !double+  , _msgAlmanacGloDep_t_dot     :: !Double     -- ^ Rate of change of the Draconian period-  , _msgAlmanacGloDep_epsilon   :: !double+  , _msgAlmanacGloDep_epsilon   :: !Double     -- ^ Eccentricity at instant of t_lambda-  , _msgAlmanacGloDep_omega     :: !double+  , _msgAlmanacGloDep_omega     :: !Double     -- ^ Argument of perigee at instant of t_lambda   } deriving ( Show, Read, Eq ) @@ -2107,20 +2107,20 @@ data MsgAlmanacGlo = MsgAlmanacGlo   { _msgAlmanacGlo_common    :: !AlmanacCommonContent     -- ^ Values common for all almanac types-  , _msgAlmanacGlo_lambda_na :: !double+  , _msgAlmanacGlo_lambda_na :: !Double     -- ^ Longitude of the first ascending node of the orbit in PZ-90.02     -- coordinate system-  , _msgAlmanacGlo_t_lambda_na :: !double+  , _msgAlmanacGlo_t_lambda_na :: !Double     -- ^ Time of the first ascending node passage-  , _msgAlmanacGlo_i         :: !double+  , _msgAlmanacGlo_i         :: !Double     -- ^ Value of inclination at instant of t_lambda-  , _msgAlmanacGlo_t         :: !double+  , _msgAlmanacGlo_t         :: !Double     -- ^ Value of Draconian period at instant of t_lambda-  , _msgAlmanacGlo_t_dot     :: !double+  , _msgAlmanacGlo_t_dot     :: !Double     -- ^ Rate of change of the Draconian period-  , _msgAlmanacGlo_epsilon   :: !double+  , _msgAlmanacGlo_epsilon   :: !Double     -- ^ Eccentricity at instant of t_lambda-  , _msgAlmanacGlo_omega     :: !double+  , _msgAlmanacGlo_omega     :: !Double     -- ^ Argument of perigee at instant of t_lambda   } deriving ( Show, Read, Eq ) @@ -2159,15 +2159,15 @@ -- ambiguity resolution for baselines with mixed receiver types (e.g. receiver -- of different manufacturers) data MsgGloBiases = MsgGloBiases-  { _msgGloBiases_mask    :: !uint32+  { _msgGloBiases_mask    :: !Word8     -- ^ GLONASS FDMA signals mask-  , _msgGloBiases_l1ca_bias :: !sint32+  , _msgGloBiases_l1ca_bias :: !Int16     -- ^ GLONASS L1 C/A Code-Phase Bias-  , _msgGloBiases_l1p_bias :: !sint32+  , _msgGloBiases_l1p_bias :: !Int16     -- ^ GLONASS L1 P Code-Phase Bias-  , _msgGloBiases_l2ca_bias :: !sint32+  , _msgGloBiases_l2ca_bias :: !Int16     -- ^ GLONASS L2 C/A Code-Phase Bias-  , _msgGloBiases_l2p_bias :: !sint32+  , _msgGloBiases_l2p_bias :: !Int16     -- ^ GLONASS L2 P Code-Phase Bias   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Orientation.hs view
@@ -44,13 +44,13 @@ -- preceding MSG_GPS_TIME with the matching time-of-week (tow). It is intended -- that time-matched RTK mode is used when the base station is moving. data MsgBaselineHeading = MsgBaselineHeading-  { _msgBaselineHeading_tow   :: !uint32+  { _msgBaselineHeading_tow   :: !Word32     -- ^ GPS Time of Week-  , _msgBaselineHeading_heading :: !uint32+  , _msgBaselineHeading_heading :: !Word32     -- ^ Heading-  , _msgBaselineHeading_n_sats :: !uint32+  , _msgBaselineHeading_n_sats :: !Word8     -- ^ Number of satellites used in solution-  , _msgBaselineHeading_flags :: !uint32+  , _msgBaselineHeading_flags :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -82,25 +82,25 @@ -- of the vector should sum to a unit vector assuming that the LSB of each -- component as a value of 2^-31. data MsgOrientQuat = MsgOrientQuat-  { _msgOrientQuat_tow :: !uint32+  { _msgOrientQuat_tow :: !Word32     -- ^ GPS Time of Week-  , _msgOrientQuat_w   :: !sint32+  , _msgOrientQuat_w   :: !Int32     -- ^ Real component-  , _msgOrientQuat_x   :: !sint32+  , _msgOrientQuat_x   :: !Int32     -- ^ 1st imaginary component-  , _msgOrientQuat_y   :: !sint32+  , _msgOrientQuat_y   :: !Int32     -- ^ 2nd imaginary component-  , _msgOrientQuat_z   :: !sint32+  , _msgOrientQuat_z   :: !Int32     -- ^ 3rd imaginary component-  , _msgOrientQuat_acc_w :: !float+  , _msgOrientQuat_acc_w :: !Float     -- ^ Estimated standard deviation of w-  , _msgOrientQuat_acc_x :: !float+  , _msgOrientQuat_acc_x :: !Float     -- ^ Estimated standard deviation of x-  , _msgOrientQuat_acc_y :: !float+  , _msgOrientQuat_acc_y :: !Float     -- ^ Estimated standard deviation of y-  , _msgOrientQuat_acc_z :: !float+  , _msgOrientQuat_acc_z :: !Float     -- ^ Estimated standard deviation of z-  , _msgOrientQuat_flags :: !uint32+  , _msgOrientQuat_flags :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -144,21 +144,21 @@ -- and roll  in order to rotate the from a frame aligned with the local-level -- NED frame  to the vehicle body frame. data MsgOrientEuler = MsgOrientEuler-  { _msgOrientEuler_tow     :: !uint32+  { _msgOrientEuler_tow     :: !Word32     -- ^ GPS Time of Week-  , _msgOrientEuler_roll    :: !sint32+  , _msgOrientEuler_roll    :: !Int32     -- ^ rotation about the forward axis of the vehicle-  , _msgOrientEuler_pitch   :: !sint32+  , _msgOrientEuler_pitch   :: !Int32     -- ^ rotation about the rightward axis of the vehicle-  , _msgOrientEuler_yaw     :: !sint32+  , _msgOrientEuler_yaw     :: !Int32     -- ^ rotation about the downward axis of the vehicle-  , _msgOrientEuler_var_roll :: !float+  , _msgOrientEuler_var_roll :: !Float     -- ^ Estimated standard deviation of roll-  , _msgOrientEuler_var_pitch :: !float+  , _msgOrientEuler_var_pitch :: !Float     -- ^ Estimated standard deviation of pitch-  , _msgOrientEuler_var_yaw :: !float+  , _msgOrientEuler_var_yaw :: !Float     -- ^ Estimated standard deviation of yaw-  , _msgOrientEuler_flags   :: !uint32+  , _msgOrientEuler_flags   :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -201,15 +201,15 @@ -- direction, while the vehicle y-axis is expected to be aligned with the right -- direction, and the vehicle z-axis should be aligned with the down direction. data MsgAngularRate = MsgAngularRate-  { _msgAngularRate_tow :: !uint32+  { _msgAngularRate_tow :: !Word32     -- ^ GPS Time of Week-  , _msgAngularRate_x   :: !sint32+  , _msgAngularRate_x   :: !Int32     -- ^ angular rate about x axis-  , _msgAngularRate_y   :: !sint32+  , _msgAngularRate_y   :: !Int32     -- ^ angular rate about y axis-  , _msgAngularRate_z   :: !sint32+  , _msgAngularRate_z   :: !Int32     -- ^ angular rate about z axis-  , _msgAngularRate_flags :: !uint32+  , _msgAngularRate_flags :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Piksi.hs view
@@ -85,7 +85,7 @@ -- -- This message from the host resets the Piksi back into the bootloader. data MsgReset = MsgReset-  { _msgReset_flags :: !uint32+  { _msgReset_flags :: !Word32     -- ^ Reset flags   } deriving ( Show, Read, Eq ) @@ -170,7 +170,7 @@ -- This message resets either the DGNSS Kalman filters or Integer Ambiguity -- Resolution (IAR) process. data MsgResetFilters = MsgResetFilters-  { _msgResetFilters_filter :: !uint32+  { _msgResetFilters_filter :: !Word8     -- ^ Filter flags   } deriving ( Show, Read, Eq ) @@ -217,12 +217,12 @@ -- (RTOS) thread usage statistics for the named thread. The reported percentage -- values must be normalized. data MsgThreadState = MsgThreadState-  { _msgThreadState_name     :: !string+  { _msgThreadState_name     :: !Text     -- ^ Thread name (NULL terminated)-  , _msgThreadState_cpu      :: !uint32+  , _msgThreadState_cpu      :: !Word16     -- ^ Percentage cpu use for this thread. Values range from 0 - 1000 and needs     -- to be renormalized to 100-  , _msgThreadState_stack_free :: !uint32+  , _msgThreadState_stack_free :: !Word32     -- ^ Free stack space for this thread   } deriving ( Show, Read, Eq ) @@ -247,17 +247,17 @@ -- Throughput, utilization, and error counts on the RX/TX buffers of this UART -- channel. The reported percentage values must be normalized. data UARTChannel = UARTChannel-  { _uARTChannel_tx_throughput :: !float+  { _uARTChannel_tx_throughput :: !Float     -- ^ UART transmit throughput-  , _uARTChannel_rx_throughput :: !float+  , _uARTChannel_rx_throughput :: !Float     -- ^ UART receive throughput-  , _uARTChannel_crc_error_count :: !uint32+  , _uARTChannel_crc_error_count :: !Word16     -- ^ UART CRC error count-  , _uARTChannel_io_error_count :: !uint32+  , _uARTChannel_io_error_count :: !Word16     -- ^ UART IO error count-  , _uARTChannel_tx_buffer_level :: !uint32+  , _uARTChannel_tx_buffer_level :: !Word8     -- ^ UART transmit buffer percentage utilization (ranges from 0 to 255)-  , _uARTChannel_rx_buffer_level :: !uint32+  , _uARTChannel_rx_buffer_level :: !Word8     -- ^ UART receive buffer percentage utilization (ranges from 0 to 255)   } deriving ( Show, Read, Eq ) @@ -290,13 +290,13 @@ -- for link quality as incomplete or missing sets will increase the period. -- Long periods can cause momentary RTK solution outages. data Period = Period-  { _period_avg   :: !sint32+  { _period_avg   :: !Int32     -- ^ Average period-  , _period_pmin  :: !sint32+  , _period_pmin  :: !Int32     -- ^ Minimum period-  , _period_pmax  :: !sint32+  , _period_pmax  :: !Int32     -- ^ Maximum period-  , _period_current :: !sint32+  , _period_current :: !Int32     -- ^ Smoothed estimate of the current period   } deriving ( Show, Read, Eq ) @@ -324,13 +324,13 @@ -- 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-  { _latency_avg   :: !sint32+  { _latency_avg   :: !Int32     -- ^ Average latency-  , _latency_lmin  :: !sint32+  , _latency_lmin  :: !Int32     -- ^ Minimum latency-  , _latency_lmax  :: !sint32+  , _latency_lmax  :: !Int32     -- ^ Maximum latency-  , _latency_current :: !sint32+  , _latency_current :: !Int32     -- ^ Smoothed estimate of the current latency   } deriving ( Show, Read, Eq ) @@ -441,7 +441,7 @@ -- process, which resolves unknown integer ambiguities from double-differenced -- carrier-phase measurements from satellite observations. data MsgIarState = MsgIarState-  { _msgIarState_num_hyps :: !uint32+  { _msgIarState_num_hyps :: !Word32     -- ^ Number of integer ambiguity hypotheses remaining   } deriving ( Show, Read, Eq ) @@ -465,9 +465,9 @@ -- This message allows setting a mask to prevent a particular satellite from -- being used in various Piksi subsystems. data MsgMaskSatellite = MsgMaskSatellite-  { _msgMaskSatellite_mask :: !uint32+  { _msgMaskSatellite_mask :: !Word8     -- ^ Mask of systems that should ignore this satellite.-  , _msgMaskSatellite_sid :: !gnss.GnssSignal+  , _msgMaskSatellite_sid :: !GnssSignal     -- ^ GNSS signal for which the mask is applied   } deriving ( Show, Read, Eq ) @@ -492,7 +492,7 @@ -- -- Deprecated. data MsgMaskSatelliteDep = MsgMaskSatelliteDep-  { _msgMaskSatelliteDep_mask :: !uint32+  { _msgMaskSatelliteDep_mask :: !Word8     -- ^ Mask of systems that should ignore this satellite.   , _msgMaskSatelliteDep_sid :: !GnssSignalDep     -- ^ GNSS signal for which the mask is applied@@ -521,15 +521,15 @@ -- processor's monitoring system and the RF frontend die temperature if -- available. data MsgDeviceMonitor = MsgDeviceMonitor-  { _msgDeviceMonitor_dev_vin       :: !sint32+  { _msgDeviceMonitor_dev_vin       :: !Int16     -- ^ Device V_in-  , _msgDeviceMonitor_cpu_vint      :: !sint32+  , _msgDeviceMonitor_cpu_vint      :: !Int16     -- ^ Processor V_int-  , _msgDeviceMonitor_cpu_vaux      :: !sint32+  , _msgDeviceMonitor_cpu_vaux      :: !Int16     -- ^ Processor V_aux-  , _msgDeviceMonitor_cpu_temperature :: !sint32+  , _msgDeviceMonitor_cpu_temperature :: !Int16     -- ^ Processor temperature-  , _msgDeviceMonitor_fe_temperature :: !sint32+  , _msgDeviceMonitor_fe_temperature :: !Int16     -- ^ Frontend temperature (if available)   } deriving ( Show, Read, Eq ) @@ -561,9 +561,9 @@ -- Request the recipient to execute an command. Output will be sent in MSG_LOG -- messages, and the exit code will be returned with MSG_COMMAND_RESP. data MsgCommandReq = MsgCommandReq-  { _msgCommandReq_sequence :: !uint32+  { _msgCommandReq_sequence :: !Word32     -- ^ Sequence number-  , _msgCommandReq_command :: !string+  , _msgCommandReq_command :: !Text     -- ^ Command line to execute   } deriving ( Show, Read, Eq ) @@ -589,9 +589,9 @@ -- The response to MSG_COMMAND_REQ with the return code of the command.  A -- return code of zero indicates success. data MsgCommandResp = MsgCommandResp-  { _msgCommandResp_sequence :: !uint32+  { _msgCommandResp_sequence :: !Word32     -- ^ Sequence number-  , _msgCommandResp_code   :: !sint32+  , _msgCommandResp_code   :: !Int32     -- ^ Exit code   } deriving ( Show, Read, Eq ) @@ -618,9 +618,9 @@ -- MSG_COMMAND_REQ. The sequence number can be used to filter for filtering the -- correct command. data MsgCommandOutput = MsgCommandOutput-  { _msgCommandOutput_sequence :: !uint32+  { _msgCommandOutput_sequence :: !Word32     -- ^ Sequence number-  , _msgCommandOutput_line   :: !string+  , _msgCommandOutput_line   :: !Text     -- ^ Line of standard output or standard error   } deriving ( Show, Read, Eq ) @@ -666,21 +666,21 @@ -- The state of a network interface on the Piksi. Data is made to reflect -- output of ifaddrs struct returned by getifaddrs in c. data MsgNetworkStateResp = MsgNetworkStateResp-  { _msgNetworkStateResp_ipv4_address :: !repeated uint32+  { _msgNetworkStateResp_ipv4_address :: ![Word8]     -- ^ IPv4 address (all zero when unavailable)-  , _msgNetworkStateResp_ipv4_mask_size :: !uint32+  , _msgNetworkStateResp_ipv4_mask_size :: !Word8     -- ^ IPv4 netmask CIDR notation-  , _msgNetworkStateResp_ipv6_address :: !repeated uint32+  , _msgNetworkStateResp_ipv6_address :: ![Word8]     -- ^ IPv6 address (all zero when unavailable)-  , _msgNetworkStateResp_ipv6_mask_size :: !uint32+  , _msgNetworkStateResp_ipv6_mask_size :: !Word8     -- ^ IPv6 netmask CIDR notation-  , _msgNetworkStateResp_rx_bytes     :: !uint32+  , _msgNetworkStateResp_rx_bytes     :: !Word32     -- ^ Number of Rx bytes-  , _msgNetworkStateResp_tx_bytes     :: !uint32+  , _msgNetworkStateResp_tx_bytes     :: !Word32     -- ^ Number of Tx bytes-  , _msgNetworkStateResp_interface_name :: !string+  , _msgNetworkStateResp_interface_name :: !Text     -- ^ Interface Name-  , _msgNetworkStateResp_flags        :: !uint32+  , _msgNetworkStateResp_flags        :: !Word32     -- ^ Interface flags from SIOCGIFFLAGS   } deriving ( Show, Read, Eq ) @@ -718,15 +718,15 @@ -- may vary, both a timestamp and period field is provided, though may not -- necessarily be populated with a value. data NetworkUsage = NetworkUsage-  { _networkUsage_duration     :: !uint64+  { _networkUsage_duration     :: !Word64     -- ^ Duration over which the measurement was collected-  , _networkUsage_total_bytes  :: !uint64+  , _networkUsage_total_bytes  :: !Word64     -- ^ Number of bytes handled in total within period-  , _networkUsage_rx_bytes     :: !uint32+  , _networkUsage_rx_bytes     :: !Word32     -- ^ Number of bytes transmitted within period-  , _networkUsage_tx_bytes     :: !uint32+  , _networkUsage_tx_bytes     :: !Word32     -- ^ Number of bytes received within period-  , _networkUsage_interface_name :: !string+  , _networkUsage_interface_name :: !Text     -- ^ Interface Name   } deriving ( Show, Read, Eq ) @@ -756,7 +756,7 @@ -- -- The bandwidth usage, a list of usage by interface. data MsgNetworkBandwidthUsage = MsgNetworkBandwidthUsage-  { _msgNetworkBandwidthUsage_interfaces :: !repeated NetworkUsage+  { _msgNetworkBandwidthUsage_interfaces :: ![NetworkUsage]     -- ^ Usage measurement array   } deriving ( Show, Read, Eq ) @@ -779,19 +779,19 @@ -- -- Deprecated. data MsgSpecanDep = MsgSpecanDep-  { _msgSpecanDep_channel_tag   :: !uint32+  { _msgSpecanDep_channel_tag   :: !Word16     -- ^ Channel ID   , _msgSpecanDep_t             :: !GpsTimeDep     -- ^ Receiver time of this observation-  , _msgSpecanDep_freq_ref      :: !float+  , _msgSpecanDep_freq_ref      :: !Float     -- ^ Reference frequency of this packet-  , _msgSpecanDep_freq_step     :: !float+  , _msgSpecanDep_freq_step     :: !Float     -- ^ Frequency step of points in this packet-  , _msgSpecanDep_amplitude_ref :: !float+  , _msgSpecanDep_amplitude_ref :: !Float     -- ^ Reference amplitude of this packet-  , _msgSpecanDep_amplitude_unit :: !float+  , _msgSpecanDep_amplitude_unit :: !Float     -- ^ Amplitude unit value of points in this packet-  , _msgSpecanDep_amplitude_value :: !repeated uint32+  , _msgSpecanDep_amplitude_value :: ![Word8]     -- ^ Amplitude values (in the above units) of points in this packet   } deriving ( Show, Read, Eq ) @@ -826,19 +826,19 @@ -- -- Spectrum analyzer packet. data MsgSpecan = MsgSpecan-  { _msgSpecan_channel_tag   :: !uint32+  { _msgSpecan_channel_tag   :: !Word16     -- ^ Channel ID-  , _msgSpecan_t             :: !gnss.GpsTime+  , _msgSpecan_t             :: !GpsTime     -- ^ Receiver time of this observation-  , _msgSpecan_freq_ref      :: !float+  , _msgSpecan_freq_ref      :: !Float     -- ^ Reference frequency of this packet-  , _msgSpecan_freq_step     :: !float+  , _msgSpecan_freq_step     :: !Float     -- ^ Frequency step of points in this packet-  , _msgSpecan_amplitude_ref :: !float+  , _msgSpecan_amplitude_ref :: !Float     -- ^ Reference amplitude of this packet-  , _msgSpecan_amplitude_unit :: !float+  , _msgSpecan_amplitude_unit :: !Float     -- ^ Amplitude unit value of points in this packet-  , _msgSpecan_amplitude_value :: !repeated uint32+  , _msgSpecan_amplitude_value :: ![Word8]     -- ^ Amplitude values (in the above units) of points in this packet   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Sbas.hs view
@@ -43,13 +43,13 @@ -- This message is sent once per second per SBAS satellite. ME checks the -- parity of the data block and sends only blocks that pass the check. data MsgSbasRaw = MsgSbasRaw-  { _msgSbasRaw_sid        :: !gnss.GnssSignal+  { _msgSbasRaw_sid        :: !GnssSignal     -- ^ GNSS signal identifier.-  , _msgSbasRaw_tow        :: !uint32+  , _msgSbasRaw_tow        :: !Word32     -- ^ GPS time-of-week at the start of the data block.-  , _msgSbasRaw_message_type :: !uint32+  , _msgSbasRaw_message_type :: !Word8     -- ^ SBAS message type (0-63)-  , _msgSbasRaw_data       :: !repeated uint32+  , _msgSbasRaw_data       :: ![Word8]     -- ^ Raw SBAS data field of 212 bits (last byte padded with zeros).   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Settings.hs view
@@ -88,7 +88,7 @@ -- process to this message when it is received from sender ID 0x42. An example -- string that could be sent to a device is "solution\0soln_freq\010\0". data MsgSettingsWrite = MsgSettingsWrite-  { _msgSettingsWrite_setting :: !string+  { _msgSettingsWrite_setting :: !Text     -- ^ A NULL-terminated and NULL-delimited string with contents     -- "SECTION_SETTING\0SETTING\0VALUE\0"   } deriving ( Show, Read, Eq )@@ -117,9 +117,9 @@ -- the NULL character and where quotation marks are omitted. An example string -- that could be sent from device is "solution\0soln_freq\010\0". data MsgSettingsWriteResp = MsgSettingsWriteResp-  { _msgSettingsWriteResp_status :: !uint32+  { _msgSettingsWriteResp_status :: !Word8     -- ^ Write status-  , _msgSettingsWriteResp_setting :: !string+  , _msgSettingsWriteResp_setting :: !Text     -- ^ A NULL-terminated and delimited string with contents     -- "SECTION_SETTING\0SETTING\0VALUE\0"   } deriving ( Show, Read, Eq )@@ -151,7 +151,7 @@ -- respond to this message when it is received from sender ID 0x42. A device -- should respond with a MSG_SETTINGS_READ_RESP message (msg_id 0x00A5). data MsgSettingsReadReq = MsgSettingsReadReq-  { _msgSettingsReadReq_setting :: !string+  { _msgSettingsReadReq_setting :: !Text     -- ^ A NULL-terminated and NULL-delimited string with contents     -- "SECTION_SETTING\0SETTING\0"   } deriving ( Show, Read, Eq )@@ -180,7 +180,7 @@ -- the NULL character and where quotation marks are omitted. An example string -- that could be sent from device is "solution\0soln_freq\010\0". data MsgSettingsReadResp = MsgSettingsReadResp-  { _msgSettingsReadResp_setting :: !string+  { _msgSettingsReadResp_setting :: !Text     -- ^ A NULL-terminated and NULL-delimited string with contents     -- "SECTION_SETTING\0SETTING\0VALUE\0"   } deriving ( Show, Read, Eq )@@ -205,7 +205,7 @@ -- The settings message for iterating through the settings values. A device -- will respond to this message with a  "MSG_SETTINGS_READ_BY_INDEX_RESP". data MsgSettingsReadByIndexReq = MsgSettingsReadByIndexReq-  { _msgSettingsReadByIndexReq_index :: !uint32+  { _msgSettingsReadByIndexReq_index :: !Word16     -- ^ An index into the device settings, with values ranging from 0 to     -- length(settings)   } deriving ( Show, Read, Eq )@@ -237,10 +237,10 @@ -- string that could be sent from the device is -- "simulator\0enabled\0True\0enum:True,False\0" data MsgSettingsReadByIndexResp = MsgSettingsReadByIndexResp-  { _msgSettingsReadByIndexResp_index :: !uint32+  { _msgSettingsReadByIndexResp_index :: !Word16     -- ^ An index into the device settings, with values ranging from 0 to     -- length(settings)-  , _msgSettingsReadByIndexResp_setting :: !string+  , _msgSettingsReadByIndexResp_setting :: !Text     -- ^ A NULL-terminated and delimited string with contents     -- "SECTION_SETTING\0SETTING\0VALUE\0FORMAT_TYPE\0"   } deriving ( Show, Read, Eq )@@ -287,7 +287,7 @@ -- settings daemon.  The host should reply with MSG_SETTINGS_WRITE for this -- setting to set the initial value. data MsgSettingsRegister = MsgSettingsRegister-  { _msgSettingsRegister_setting :: !string+  { _msgSettingsRegister_setting :: !Text     -- ^ A NULL-terminated and delimited string with contents     -- "SECTION_SETTING\0SETTING\0VALUE".   } deriving ( Show, Read, Eq )
src/SwiftNav/SBP/Ssr.hs view
@@ -41,9 +41,9 @@ -- Code biases are to be added to pseudorange. The corrections are conform with -- typical RTCMv3 MT1059 and 1065. data CodeBiasesContent = CodeBiasesContent-  { _codeBiasesContent_code :: !uint32+  { _codeBiasesContent_code :: !Word8     -- ^ Signal constellation, band and code-  , _codeBiasesContent_value :: !sint32+  , _codeBiasesContent_value :: !Int16     -- ^ Code bias value   } deriving ( Show, Read, Eq ) @@ -65,16 +65,16 @@ -- Phase biases are to be added to carrier phase measurements. The corrections -- are conform with typical RTCMv3 MT1059 and 1065. data PhaseBiasesContent = PhaseBiasesContent-  { _phaseBiasesContent_code                     :: !uint32+  { _phaseBiasesContent_code                     :: !Word8     -- ^ Signal constellation, band and code-  , _phaseBiasesContent_integer_indicator        :: !uint32+  , _phaseBiasesContent_integer_indicator        :: !Word8     -- ^ Indicator for integer property-  , _phaseBiasesContent_widelane_integer_indicator :: !uint32+  , _phaseBiasesContent_widelane_integer_indicator :: !Word8     -- ^ Indicator for two groups of Wide-Lane(s) integer property-  , _phaseBiasesContent_discontinuity_counter    :: !uint32+  , _phaseBiasesContent_discontinuity_counter    :: !Word8     -- ^ Signal phase discontinuity counter.  Increased for every discontinuity     -- in phase.-  , _phaseBiasesContent_bias                     :: !sint32+  , _phaseBiasesContent_bias                     :: !Int32     -- ^ Phase bias for specified signal   } deriving ( Show, Read, Eq ) @@ -106,34 +106,34 @@ -- correction to broadcast  ephemeris and is typically an equivalent to the -- 1060 and 1066 RTCM message types data MsgSsrOrbitClock = MsgSsrOrbitClock-  { _msgSsrOrbitClock_time          :: !gnss.GpsTimeSec+  { _msgSsrOrbitClock_time          :: !GpsTimeSec     -- ^ GNSS reference time of the correction-  , _msgSsrOrbitClock_sid           :: !gnss.GnssSignal+  , _msgSsrOrbitClock_sid           :: !GnssSignal     -- ^ GNSS signal identifier (16 bit)-  , _msgSsrOrbitClock_update_interval :: !uint32+  , _msgSsrOrbitClock_update_interval :: !Word8     -- ^ Update interval between consecutive corrections-  , _msgSsrOrbitClock_iod_ssr       :: !uint32+  , _msgSsrOrbitClock_iod_ssr       :: !Word8     -- ^ IOD of the SSR correction. A change of Issue Of Data SSR is used to     -- indicate a change in the SSR  generating configuration-  , _msgSsrOrbitClock_iod           :: !uint32+  , _msgSsrOrbitClock_iod           :: !Word8     -- ^ Issue of broadcast ephemeris data-  , _msgSsrOrbitClock_radial        :: !sint32+  , _msgSsrOrbitClock_radial        :: !Int32     -- ^ Orbit radial delta correction-  , _msgSsrOrbitClock_along         :: !sint32+  , _msgSsrOrbitClock_along         :: !Int32     -- ^ Orbit along delta correction-  , _msgSsrOrbitClock_cross         :: !sint32+  , _msgSsrOrbitClock_cross         :: !Int32     -- ^ Orbit along delta correction-  , _msgSsrOrbitClock_dot_radial    :: !sint32+  , _msgSsrOrbitClock_dot_radial    :: !Int32     -- ^ Velocity of orbit radial delta correction-  , _msgSsrOrbitClock_dot_along     :: !sint32+  , _msgSsrOrbitClock_dot_along     :: !Int32     -- ^ Velocity of orbit along delta correction-  , _msgSsrOrbitClock_dot_cross     :: !sint32+  , _msgSsrOrbitClock_dot_cross     :: !Int32     -- ^ Velocity of orbit cross delta correction-  , _msgSsrOrbitClock_c0            :: !sint32+  , _msgSsrOrbitClock_c0            :: !Int32     -- ^ C0 polynomial coefficient for correction of broadcast satellite clock-  , _msgSsrOrbitClock_c1            :: !sint32+  , _msgSsrOrbitClock_c1            :: !Int32     -- ^ C1 polynomial coefficient for correction of broadcast satellite clock-  , _msgSsrOrbitClock_c2            :: !sint32+  , _msgSsrOrbitClock_c2            :: !Int32     -- ^ C2 polynomial coefficient for correction of broadcast satellite clock   } deriving ( Show, Read, Eq ) @@ -184,16 +184,16 @@ -- corresponding signal to get corrected pseudorange. It is typically  an -- equivalent to the 1059 and 1065 RTCM message types data MsgSsrCodeBiases = MsgSsrCodeBiases-  { _msgSsrCodeBiases_time          :: !gnss.GpsTimeSec+  { _msgSsrCodeBiases_time          :: !GpsTimeSec     -- ^ GNSS reference time of the correction-  , _msgSsrCodeBiases_sid           :: !gnss.GnssSignal+  , _msgSsrCodeBiases_sid           :: !GnssSignal     -- ^ GNSS signal identifier (16 bit)-  , _msgSsrCodeBiases_update_interval :: !uint32+  , _msgSsrCodeBiases_update_interval :: !Word8     -- ^ Update interval between consecutive corrections-  , _msgSsrCodeBiases_iod_ssr       :: !uint32+  , _msgSsrCodeBiases_iod_ssr       :: !Word8     -- ^ IOD of the SSR correction. A change of Issue Of Data SSR is used to     -- indicate a change in the SSR  generating configuration-  , _msgSsrCodeBiases_biases        :: !repeated CodeBiasesContent+  , _msgSsrCodeBiases_biases        :: ![CodeBiasesContent]     -- ^ Code biases for the different satellite signals   } deriving ( Show, Read, Eq ) @@ -228,24 +228,24 @@ -- the phase wind-up correction.  It is typically an equivalent to the 1265 -- RTCM message types data MsgSsrPhaseBiases = MsgSsrPhaseBiases-  { _msgSsrPhaseBiases_time          :: !gnss.GpsTimeSec+  { _msgSsrPhaseBiases_time          :: !GpsTimeSec     -- ^ GNSS reference time of the correction-  , _msgSsrPhaseBiases_sid           :: !gnss.GnssSignal+  , _msgSsrPhaseBiases_sid           :: !GnssSignal     -- ^ GNSS signal identifier (16 bit)-  , _msgSsrPhaseBiases_update_interval :: !uint32+  , _msgSsrPhaseBiases_update_interval :: !Word8     -- ^ Update interval between consecutive corrections-  , _msgSsrPhaseBiases_iod_ssr       :: !uint32+  , _msgSsrPhaseBiases_iod_ssr       :: !Word8     -- ^ IOD of the SSR correction. A change of Issue Of Data SSR is used to     -- indicate a change in the SSR  generating configuration-  , _msgSsrPhaseBiases_dispersive_bias :: !uint32+  , _msgSsrPhaseBiases_dispersive_bias :: !Word8     -- ^ Indicator for the dispersive phase biases property.-  , _msgSsrPhaseBiases_mw_consistency :: !uint32+  , _msgSsrPhaseBiases_mw_consistency :: !Word8     -- ^ Consistency indicator for Melbourne-Wubbena linear combinations-  , _msgSsrPhaseBiases_yaw           :: !uint32+  , _msgSsrPhaseBiases_yaw           :: !Word16     -- ^ Satellite yaw angle-  , _msgSsrPhaseBiases_yaw_rate      :: !sint32+  , _msgSsrPhaseBiases_yaw_rate      :: !Int8     -- ^ Satellite yaw angle rate-  , _msgSsrPhaseBiases_biases        :: !repeated PhaseBiasesContent+  , _msgSsrPhaseBiases_biases        :: ![PhaseBiasesContent]     -- ^ Phase biases corrections for a satellite being tracked.   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/System.hs view
@@ -44,11 +44,11 @@ -- host or other attached devices that the system has started and is now ready -- to respond to commands or configuration requests. data MsgStartup = MsgStartup-  { _msgStartup_cause      :: !uint32+  { _msgStartup_cause      :: !Word8     -- ^ Cause of startup-  , _msgStartup_startup_type :: !uint32+  , _msgStartup_startup_type :: !Word8     -- ^ Startup type-  , _msgStartup_reserved   :: !uint32+  , _msgStartup_reserved   :: !Word16     -- ^ Reserved   } deriving ( Show, Read, Eq ) @@ -77,13 +77,13 @@ -- corrections.  It is expected to be sent with each receipt of a complete -- corrections packet. data MsgDgnssStatus = MsgDgnssStatus-  { _msgDgnssStatus_flags     :: !uint32+  { _msgDgnssStatus_flags     :: !Word8     -- ^ Status flags-  , _msgDgnssStatus_latency   :: !uint32+  , _msgDgnssStatus_latency   :: !Word16     -- ^ Latency of observation receipt-  , _msgDgnssStatus_num_signals :: !uint32+  , _msgDgnssStatus_num_signals :: !Word8     -- ^ Number of signals from base station-  , _msgDgnssStatus_source    :: !string+  , _msgDgnssStatus_source    :: !Text     -- ^ Corrections source string   } deriving ( Show, Read, Eq ) @@ -118,7 +118,7 @@ -- 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-  { _msgHeartbeat_flags :: !uint32+  { _msgHeartbeat_flags :: !Word32     -- ^ Status flags   } deriving ( Show, Read, Eq ) @@ -142,7 +142,7 @@ -- The INS status message describes the state of the operation and -- initialization of the inertial navigation system. data MsgInsStatus = MsgInsStatus-  { _msgInsStatus_flags :: !uint32+  { _msgInsStatus_flags :: !Word32     -- ^ Status flags   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Tracking.hs view
@@ -44,53 +44,53 @@ -- The tracking message returns a set tracking channel parameters for a single -- tracking channel useful for debugging issues. data MsgTrackingStateDetailedDepA = MsgTrackingStateDetailedDepA-  { _msgTrackingStateDetailedDepA_recv_time  :: !uint64+  { _msgTrackingStateDetailedDepA_recv_time  :: !Word64     -- ^ Receiver clock time.-  , _msgTrackingStateDetailedDepA_tot        :: !gnss.GpsTime+  , _msgTrackingStateDetailedDepA_tot        :: !GpsTime     -- ^ Time of transmission of signal from satellite. TOW only valid when TOW     -- status is decoded or propagated. WN only valid when week number valid     -- flag is set.-  , _msgTrackingStateDetailedDepA_P          :: !uint32+  , _msgTrackingStateDetailedDepA_P          :: !Word32     -- ^ Pseudorange observation. Valid only when pseudorange valid flag is set.-  , _msgTrackingStateDetailedDepA_P_std      :: !uint32+  , _msgTrackingStateDetailedDepA_P_std      :: !Word16     -- ^ Pseudorange observation standard deviation. Valid only when pseudorange     -- valid flag is set.-  , _msgTrackingStateDetailedDepA_L          :: !gnss.CarrierPhase+  , _msgTrackingStateDetailedDepA_L          :: !CarrierPhase     -- ^ Carrier phase observation with typical sign convention. Valid only when     -- PLL pessimistic lock is achieved.-  , _msgTrackingStateDetailedDepA_cn0        :: !uint32+  , _msgTrackingStateDetailedDepA_cn0        :: !Word8     -- ^ Carrier-to-Noise density-  , _msgTrackingStateDetailedDepA_lock       :: !uint32+  , _msgTrackingStateDetailedDepA_lock       :: !Word16     -- ^ Lock time. It is encoded according to DF402 from the RTCM 10403.2     -- Amendment 2 specification. Valid values range from 0 to 15.-  , _msgTrackingStateDetailedDepA_sid        :: !gnss.GnssSignal+  , _msgTrackingStateDetailedDepA_sid        :: !GnssSignal     -- ^ GNSS signal identifier.-  , _msgTrackingStateDetailedDepA_doppler    :: !sint32+  , _msgTrackingStateDetailedDepA_doppler    :: !Int32     -- ^ Carrier Doppler frequency.-  , _msgTrackingStateDetailedDepA_doppler_std :: !uint32+  , _msgTrackingStateDetailedDepA_doppler_std :: !Word16     -- ^ Carrier Doppler frequency standard deviation.-  , _msgTrackingStateDetailedDepA_uptime     :: !uint32+  , _msgTrackingStateDetailedDepA_uptime     :: !Word32     -- ^ Number of seconds of continuous tracking. Specifies how much time signal     -- is in continuous track.-  , _msgTrackingStateDetailedDepA_clock_offset :: !sint32+  , _msgTrackingStateDetailedDepA_clock_offset :: !Int16     -- ^ TCXO clock offset. Valid only when valid clock valid flag is set.-  , _msgTrackingStateDetailedDepA_clock_drift :: !sint32+  , _msgTrackingStateDetailedDepA_clock_drift :: !Int16     -- ^ TCXO clock drift. Valid only when valid clock valid flag is set.-  , _msgTrackingStateDetailedDepA_corr_spacing :: !uint32+  , _msgTrackingStateDetailedDepA_corr_spacing :: !Word16     -- ^ Early-Prompt (EP) and Prompt-Late (PL) correlators spacing.-  , _msgTrackingStateDetailedDepA_acceleration :: !sint32+  , _msgTrackingStateDetailedDepA_acceleration :: !Int8     -- ^ Acceleration. Valid only when acceleration valid flag is set.-  , _msgTrackingStateDetailedDepA_sync_flags :: !uint32+  , _msgTrackingStateDetailedDepA_sync_flags :: !Word8     -- ^ Synchronization status flags.-  , _msgTrackingStateDetailedDepA_tow_flags  :: !uint32+  , _msgTrackingStateDetailedDepA_tow_flags  :: !Word8     -- ^ TOW status flags.-  , _msgTrackingStateDetailedDepA_track_flags :: !uint32+  , _msgTrackingStateDetailedDepA_track_flags :: !Word8     -- ^ Tracking loop status flags.-  , _msgTrackingStateDetailedDepA_nav_flags  :: !uint32+  , _msgTrackingStateDetailedDepA_nav_flags  :: !Word8     -- ^ Navigation data status flags.-  , _msgTrackingStateDetailedDepA_pset_flags :: !uint32+  , _msgTrackingStateDetailedDepA_pset_flags :: !Word8     -- ^ Parameters sets flags.-  , _msgTrackingStateDetailedDepA_misc_flags :: !uint32+  , _msgTrackingStateDetailedDepA_misc_flags :: !Word8     -- ^ Miscellaneous flags.   } deriving ( Show, Read, Eq ) @@ -153,53 +153,53 @@ -- -- Deprecated. data MsgTrackingStateDetailedDep = MsgTrackingStateDetailedDep-  { _msgTrackingStateDetailedDep_recv_time  :: !uint64+  { _msgTrackingStateDetailedDep_recv_time  :: !Word64     -- ^ Receiver clock time.   , _msgTrackingStateDetailedDep_tot        :: !GpsTimeDep     -- ^ Time of transmission of signal from satellite. TOW only valid when TOW     -- status is decoded or propagated. WN only valid when week number valid     -- flag is set.-  , _msgTrackingStateDetailedDep_P          :: !uint32+  , _msgTrackingStateDetailedDep_P          :: !Word32     -- ^ Pseudorange observation. Valid only when pseudorange valid flag is set.-  , _msgTrackingStateDetailedDep_P_std      :: !uint32+  , _msgTrackingStateDetailedDep_P_std      :: !Word16     -- ^ Pseudorange observation standard deviation. Valid only when pseudorange     -- valid flag is set.-  , _msgTrackingStateDetailedDep_L          :: !gnss.CarrierPhase+  , _msgTrackingStateDetailedDep_L          :: !CarrierPhase     -- ^ Carrier phase observation with typical sign convention. Valid only when     -- PLL pessimistic lock is achieved.-  , _msgTrackingStateDetailedDep_cn0        :: !uint32+  , _msgTrackingStateDetailedDep_cn0        :: !Word8     -- ^ Carrier-to-Noise density-  , _msgTrackingStateDetailedDep_lock       :: !uint32+  , _msgTrackingStateDetailedDep_lock       :: !Word16     -- ^ Lock time. It is encoded according to DF402 from the RTCM 10403.2     -- Amendment 2 specification. Valid values range from 0 to 15.   , _msgTrackingStateDetailedDep_sid        :: !GnssSignalDep     -- ^ GNSS signal identifier.-  , _msgTrackingStateDetailedDep_doppler    :: !sint32+  , _msgTrackingStateDetailedDep_doppler    :: !Int32     -- ^ Carrier Doppler frequency.-  , _msgTrackingStateDetailedDep_doppler_std :: !uint32+  , _msgTrackingStateDetailedDep_doppler_std :: !Word16     -- ^ Carrier Doppler frequency standard deviation.-  , _msgTrackingStateDetailedDep_uptime     :: !uint32+  , _msgTrackingStateDetailedDep_uptime     :: !Word32     -- ^ Number of seconds of continuous tracking. Specifies how much time signal     -- is in continuous track.-  , _msgTrackingStateDetailedDep_clock_offset :: !sint32+  , _msgTrackingStateDetailedDep_clock_offset :: !Int16     -- ^ TCXO clock offset. Valid only when valid clock valid flag is set.-  , _msgTrackingStateDetailedDep_clock_drift :: !sint32+  , _msgTrackingStateDetailedDep_clock_drift :: !Int16     -- ^ TCXO clock drift. Valid only when valid clock valid flag is set.-  , _msgTrackingStateDetailedDep_corr_spacing :: !uint32+  , _msgTrackingStateDetailedDep_corr_spacing :: !Word16     -- ^ Early-Prompt (EP) and Prompt-Late (PL) correlators spacing.-  , _msgTrackingStateDetailedDep_acceleration :: !sint32+  , _msgTrackingStateDetailedDep_acceleration :: !Int8     -- ^ Acceleration. Valid only when acceleration valid flag is set.-  , _msgTrackingStateDetailedDep_sync_flags :: !uint32+  , _msgTrackingStateDetailedDep_sync_flags :: !Word8     -- ^ Synchronization status flags.-  , _msgTrackingStateDetailedDep_tow_flags  :: !uint32+  , _msgTrackingStateDetailedDep_tow_flags  :: !Word8     -- ^ TOW status flags.-  , _msgTrackingStateDetailedDep_track_flags :: !uint32+  , _msgTrackingStateDetailedDep_track_flags :: !Word8     -- ^ Tracking loop status flags.-  , _msgTrackingStateDetailedDep_nav_flags  :: !uint32+  , _msgTrackingStateDetailedDep_nav_flags  :: !Word8     -- ^ Navigation data status flags.-  , _msgTrackingStateDetailedDep_pset_flags :: !uint32+  , _msgTrackingStateDetailedDep_pset_flags :: !Word8     -- ^ Parameters sets flags.-  , _msgTrackingStateDetailedDep_misc_flags :: !uint32+  , _msgTrackingStateDetailedDep_misc_flags :: !Word8     -- ^ Miscellaneous flags.   } deriving ( Show, Read, Eq ) @@ -260,11 +260,11 @@ -- Tracking channel state for a specific satellite signal and measured signal -- power. data TrackingChannelState = TrackingChannelState-  { _trackingChannelState_sid :: !gnss.GnssSignal+  { _trackingChannelState_sid :: !GnssSignal     -- ^ GNSS signal being tracked-  , _trackingChannelState_fcn :: !uint32+  , _trackingChannelState_fcn :: !Word8     -- ^ Frequency channel number (GLONASS only)-  , _trackingChannelState_cn0 :: !uint32+  , _trackingChannelState_cn0 :: !Word8     -- ^ Carrier-to-Noise density.  Zero implies invalid cn0.   } deriving ( Show, Read, Eq ) @@ -292,7 +292,7 @@ -- states. It reports status and carrier-to-noise density measurements for all -- tracked satellites. data MsgTrackingState = MsgTrackingState-  { _msgTrackingState_states :: !repeated TrackingChannelState+  { _msgTrackingState_states :: ![TrackingChannelState]     -- ^ Signal tracking channel state   } deriving ( Show, Read, Eq ) @@ -312,9 +312,9 @@ -- -- Structure containing in-phase and quadrature correlation components. data TrackingChannelCorrelation = TrackingChannelCorrelation-  { _trackingChannelCorrelation_I :: !sint32+  { _trackingChannelCorrelation_I :: !Int32     -- ^ In-phase correlation-  , _trackingChannelCorrelation_Q :: !sint32+  , _trackingChannelCorrelation_Q :: !Int32     -- ^ Quadrature correlation   } deriving ( Show, Read, Eq ) @@ -339,11 +339,11 @@ -- When enabled, a tracking channel can output the correlations at each update -- interval. data MsgTrackingIq = MsgTrackingIq-  { _msgTrackingIq_channel :: !uint32+  { _msgTrackingIq_channel :: !Word8     -- ^ Tracking channel of origin-  , _msgTrackingIq_sid   :: !gnss.GnssSignal+  , _msgTrackingIq_sid   :: !GnssSignal     -- ^ GNSS signal identifier-  , _msgTrackingIq_corrs :: !repeated TrackingChannelCorrelation+  , _msgTrackingIq_corrs :: ![TrackingChannelCorrelation]     -- ^ Early, Prompt and Late correlations   } deriving ( Show, Read, Eq ) @@ -370,11 +370,11 @@ -- -- Deprecated. data MsgTrackingIqDep = MsgTrackingIqDep-  { _msgTrackingIqDep_channel :: !uint32+  { _msgTrackingIqDep_channel :: !Word8     -- ^ Tracking channel of origin   , _msgTrackingIqDep_sid   :: !GnssSignalDep     -- ^ GNSS signal identifier-  , _msgTrackingIqDep_corrs :: !repeated TrackingChannelCorrelation+  , _msgTrackingIqDep_corrs :: ![TrackingChannelCorrelation]     -- ^ Early, Prompt and Late correlations   } deriving ( Show, Read, Eq ) @@ -398,11 +398,11 @@ -- -- Deprecated. data TrackingChannelStateDepA = TrackingChannelStateDepA-  { _trackingChannelStateDepA_state :: !uint32+  { _trackingChannelStateDepA_state :: !Word8     -- ^ Status of tracking channel-  , _trackingChannelStateDepA_prn :: !uint32+  , _trackingChannelStateDepA_prn :: !Word8     -- ^ PRN-1 being tracked-  , _trackingChannelStateDepA_cn0 :: !float+  , _trackingChannelStateDepA_cn0 :: !Float     -- ^ Carrier-to-noise density   } deriving ( Show, Read, Eq ) @@ -428,7 +428,7 @@ -- -- Deprecated. data MsgTrackingStateDepA = MsgTrackingStateDepA-  { _msgTrackingStateDepA_states :: !repeated TrackingChannelStateDepA+  { _msgTrackingStateDepA_states :: ![TrackingChannelStateDepA]     -- ^ Satellite tracking channel state   } deriving ( Show, Read, Eq ) @@ -448,11 +448,11 @@ -- -- Deprecated. data TrackingChannelStateDepB = TrackingChannelStateDepB-  { _trackingChannelStateDepB_state :: !uint32+  { _trackingChannelStateDepB_state :: !Word8     -- ^ Status of tracking channel   , _trackingChannelStateDepB_sid :: !GnssSignalDep     -- ^ GNSS signal being tracked-  , _trackingChannelStateDepB_cn0 :: !float+  , _trackingChannelStateDepB_cn0 :: !Float     -- ^ Carrier-to-noise density   } deriving ( Show, Read, Eq ) @@ -478,7 +478,7 @@ -- -- Deprecated. data MsgTrackingStateDepB = MsgTrackingStateDepB-  { _msgTrackingStateDepB_states :: !repeated TrackingChannelStateDepB+  { _msgTrackingStateDepB_states :: ![TrackingChannelStateDepB]     -- ^ Signal tracking channel state   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/User.hs view
@@ -43,7 +43,7 @@ -- This message can contain any application specific user data up to a maximum -- length of 255 bytes per message. data MsgUserData = MsgUserData-  { _msgUserData_contents :: !repeated uint32+  { _msgUserData_contents :: ![Word8]     -- ^ User data payload   } deriving ( Show, Read, Eq ) 
src/SwiftNav/SBP/Vehicle.hs view
@@ -46,13 +46,13 @@ -- user-defined sources of this message  which are labeled arbitrarily  source -- 0 through 3. data MsgOdometry = MsgOdometry-  { _msgOdometry_tow    :: !uint32+  { _msgOdometry_tow    :: !Word32     -- ^ Time field representing either milliseconds in the GPS Week or local CPU     -- time from the producing system in milliseconds.  See the tow_source flag     -- for the exact source of this timestamp.-  , _msgOdometry_velocity :: !sint32+  , _msgOdometry_velocity :: !Int32     -- ^ The signed forward component of vehicle velocity.-  , _msgOdometry_flags  :: !uint32+  , _msgOdometry_flags  :: !Word8     -- ^ Status flags   } deriving ( Show, Read, Eq )