sbp.table module

Single dispatch of available SBP messages, keyed by msg_type.

exception sbp.table.InvalidSBPMessageType[source]

Bases: exceptions.NotImplementedError

Base exception for messages with invalid message types.

sbp.table.dispatch(msg, table={512: <class 'sbp.navigation.MsgPosECEFDepA'>, 256: <class 'sbp.navigation.MsgGPSTimeDepA'>, 1026: <class 'sbp.logging.MsgFwd'>, 515: <class 'sbp.navigation.MsgBaselineNEDDepA'>, 516: <class 'sbp.navigation.MsgVelECEFDepA'>, 517: <class 'sbp.navigation.MsgVelNEDDepA'>, 518: <class 'sbp.navigation.MsgDopsDepA'>, 513: <class 'sbp.navigation.MsgPosLLHDepA'>, 520: <class 'sbp.navigation.MsgDops'>, 521: <class 'sbp.navigation.MsgPosECEF'>, 522: <class 'sbp.navigation.MsgPosLLH'>, 523: <class 'sbp.navigation.MsgBaselineECEF'>, 524: <class 'sbp.navigation.MsgBaselineNED'>, 514: <class 'sbp.navigation.MsgBaselineECEFDepA'>, 526: <class 'sbp.navigation.MsgVelNED'>, 527: <class 'sbp.orientation.MsgBaselineHeading'>, 16: <class 'sbp.logging.MsgPrintDep'>, 529: <class 'sbp.navigation.MsgPosLLHCov'>, 18: <class 'sbp.logging.MsgTweet'>, 259: <class 'sbp.navigation.MsgUtcTime'>, 20: <class 'sbp.acquisition.MsgAcqResultDepB'>, 21: <class 'sbp.acquisition.MsgAcqResultDepA'>, 22: <class 'sbp.tracking.MsgTrackingStateDepA'>, 23: <class 'sbp.piksi.MsgThreadState'>, 24: <class 'sbp.piksi.MsgUartStateDepa'>, 25: <class 'sbp.piksi.MsgIarState'>, 26: <class 'sbp.observation.MsgEphemerisDepA'>, 27: <class 'sbp.piksi.MsgMaskSatelliteDep'>, 28: <class 'sbp.tracking.MsgTrackingIqDep'>, 29: <class 'sbp.piksi.MsgUartState'>, 30: <class 'sbp.acquisition.MsgAcqSvProfileDep'>, 31: <class 'sbp.acquisition.MsgAcqResultDepC'>, 544: <class 'sbp.orientation.MsgOrientQuat'>, 33: <class 'sbp.tracking.MsgTrackingStateDetailedDepA'>, 34: <class 'sbp.piksi.MsgResetFilters'>, 35: <class 'sbp.piksi.MsgInitBase'>, 1024: <class 'sbp.ndb.MsgNdbEvent'>, 519: <class 'sbp.navigation.MsgBaselineHeadingDepA'>, 44: <class 'sbp.tracking.MsgTrackingIq'>, 46: <class 'sbp.acquisition.MsgAcqSvProfile'>, 47: <class 'sbp.acquisition.MsgAcqResult'>, 65282: <class 'sbp.system.MsgDgnssStatus'>, 19: <class 'sbp.tracking.MsgTrackingStateDepB'>, 65: <class 'sbp.tracking.MsgTrackingState'>, 67: <class 'sbp.observation.MsgObsDepB'>, 68: <class 'sbp.observation.MsgBasePosLLH'>, 69: <class 'sbp.observation.MsgObsDepA'>, 70: <class 'sbp.observation.MsgEphemerisDepB'>, 71: <class 'sbp.observation.MsgEphemerisDepC'>, 72: <class 'sbp.observation.MsgBasePosECEF'>, 73: <class 'sbp.observation.MsgObsDepC'>, 74: <class 'sbp.observation.MsgObs'>, 2304: <class 'sbp.imu.MsgImuRaw'>, 525: <class 'sbp.navigation.MsgVelECEF'>, 80: <class 'sbp.piksi.MsgSpecanDep'>, 81: <class 'sbp.piksi.MsgSpecan'>, 257: <class 'sbp.ext_events.MsgExtEvent'>, 65283: <class 'sbp.system.MsgInsStatus'>, 528: <class 'sbp.navigation.MsgAgeCorrections'>, 17: <class 'sbp.tracking.MsgTrackingStateDetailedDep'>, 104: <class 'sbp.piksi.MsgSetTime'>, 105: <class 'sbp.piksi.MsgAlmanac'>, 2305: <class 'sbp.imu.MsgImuAux'>, 530: <class 'sbp.navigation.MsgVelNEDCov'>, 112: <class 'sbp.observation.MsgAlmanacGPSDep'>, 113: <class 'sbp.observation.MsgAlmanacGloDep'>, 114: <class 'sbp.observation.MsgAlmanacGPS'>, 531: <class 'sbp.navigation.MsgVelBody'>, 117: <class 'sbp.observation.MsgGloBiases'>, 65284: <class 'sbp.system.MsgCsacTelemetry'>, 532: <class 'sbp.navigation.MsgPosECEFCov'>, 533: <class 'sbp.navigation.MsgVelECEFCov'>, 128: <class 'sbp.observation.MsgEphemerisDepD'>, 129: <class 'sbp.observation.MsgEphemerisGPSDepE'>, 130: <class 'sbp.observation.MsgEphemerisSbasDepA'>, 131: <class 'sbp.observation.MsgEphemerisGloDepA'>, 132: <class 'sbp.observation.MsgEphemerisSbasDepB'>, 133: <class 'sbp.observation.MsgEphemerisGloDepB'>, 134: <class 'sbp.observation.MsgEphemerisGPSDepF'>, 135: <class 'sbp.observation.MsgEphemerisGloDepC'>, 136: <class 'sbp.observation.MsgEphemerisGloDepD'>, 137: <class 'sbp.observation.MsgEphemerisBds'>, 138: <class 'sbp.observation.MsgEphemerisGPS'>, 139: <class 'sbp.observation.MsgEphemerisGlo'>, 140: <class 'sbp.observation.MsgEphemerisSbas'>, 144: <class 'sbp.observation.MsgIono'>, 145: <class 'sbp.observation.MsgSvConfigurationGPSDep'>, 146: <class 'sbp.observation.MsgGroupDelayDepA'>, 147: <class 'sbp.observation.MsgGroupDelayDepB'>, 148: <class 'sbp.observation.MsgGroupDelay'>, 149: <class 'sbp.observation.MsgEphemerisGal'>, 150: <class 'sbp.observation.MsgGnssCapb'>, 160: <class 'sbp.settings.MsgSettingsWrite'>, 161: <class 'sbp.settings.MsgSettingsSave'>, 162: <class 'sbp.settings.MsgSettingsReadByIndexReq'>, 163: <class 'sbp.file_io.MsgFileioReadResp'>, 164: <class 'sbp.settings.MsgSettingsReadReq'>, 165: <class 'sbp.settings.MsgSettingsReadResp'>, 166: <class 'sbp.settings.MsgSettingsReadByIndexDone'>, 167: <class 'sbp.settings.MsgSettingsReadByIndexResp'>, 168: <class 'sbp.file_io.MsgFileioReadReq'>, 169: <class 'sbp.file_io.MsgFileioReadDirReq'>, 170: <class 'sbp.file_io.MsgFileioReadDirResp'>, 171: <class 'sbp.file_io.MsgFileioWriteResp'>, 172: <class 'sbp.file_io.MsgFileioRemove'>, 173: <class 'sbp.file_io.MsgFileioWriteReq'>, 174: <class 'sbp.settings.MsgSettingsRegister'>, 175: <class 'sbp.settings.MsgSettingsWriteResp'>, 176: <class 'sbp.bootload.MsgBootloaderHandshakeDepA'>, 177: <class 'sbp.bootload.MsgBootloaderJumpToApp'>, 178: <class 'sbp.piksi.MsgResetDep'>, 179: <class 'sbp.bootload.MsgBootloaderHandshakeReq'>, 180: <class 'sbp.bootload.MsgBootloaderHandshakeResp'>, 181: <class 'sbp.piksi.MsgDeviceMonitor'>, 182: <class 'sbp.piksi.MsgReset'>, 184: <class 'sbp.piksi.MsgCommandReq'>, 185: <class 'sbp.piksi.MsgCommandResp'>, 186: <class 'sbp.piksi.MsgNetworkStateReq'>, 187: <class 'sbp.piksi.MsgNetworkStateResp'>, 188: <class 'sbp.piksi.MsgCommandOutput'>, 189: <class 'sbp.piksi.MsgNetworkBandwidthUsage'>, 190: <class 'sbp.piksi.MsgCellModemStatus'>, 192: <class 'sbp.piksi.MsgCwResults'>, 193: <class 'sbp.piksi.MsgCwStart'>, 545: <class 'sbp.orientation.MsgOrientEuler'>, 546: <class 'sbp.orientation.MsgAngularRate'>, 221: <class 'sbp.bootload.MsgNapDeviceDnaResp'>, 222: <class 'sbp.bootload.MsgNapDeviceDnaReq'>, 224: <class 'sbp.flash.MsgFlashDone'>, 225: <class 'sbp.flash.MsgFlashReadResp'>, 226: <class 'sbp.flash.MsgFlashErase'>, 227: <class 'sbp.flash.MsgStmFlashLockSector'>, 228: <class 'sbp.flash.MsgStmFlashUnlockSector'>, 229: <class 'sbp.flash.MsgStmUniqueIdResp'>, 230: <class 'sbp.flash.MsgFlashProgram'>, 231: <class 'sbp.flash.MsgFlashReadReq'>, 232: <class 'sbp.flash.MsgStmUniqueIdReq'>, 243: <class 'sbp.flash.MsgM25FlashWriteStatus'>, 32512: <class 'sbp.linux.MsgLinuxCpuState'>, 32513: <class 'sbp.linux.MsgLinuxMemState'>, 32514: <class 'sbp.linux.MsgLinuxSysState'>, 32515: <class 'sbp.linux.MsgLinuxProcessSocketCounts'>, 32516: <class 'sbp.linux.MsgLinuxProcessSocketQueues'>, 32517: <class 'sbp.linux.MsgLinuxSocketUsage'>, 32518: <class 'sbp.linux.MsgLinuxProcessFdCount'>, 32519: <class 'sbp.linux.MsgLinuxProcessFdSummary'>, 43: <class 'sbp.piksi.MsgMaskSatellite'>, 65285: <class 'sbp.system.MsgCsacTelemetryLabels'>, 2307: <class 'sbp.vehicle.MsgOdometry'>, 1025: <class 'sbp.logging.MsgLog'>, 2048: <class 'sbp.user.MsgUserData'>, 97: <class 'sbp.tracking.MsgMeasurementState'>, 258: <class 'sbp.navigation.MsgGPSTime'>, 30583: <class 'sbp.sbas.MsgSbasRaw'>, 115: <class 'sbp.observation.MsgAlmanacGlo'>, 2306: <class 'sbp.mag.MsgMagRaw'>, 1500: <class 'sbp.ssr.MsgSsrOrbitClockDepA'>, 1501: <class 'sbp.ssr.MsgSsrOrbitClock'>, 1505: <class 'sbp.ssr.MsgSsrCodeBiases'>, 1510: <class 'sbp.ssr.MsgSsrPhaseBiases'>, 65280: <class 'sbp.system.MsgStartup'>, 65535: <class 'sbp.system.MsgHeartbeat'>})[source]

Dispatch an SBP message type based on its msg_type and parse its payload.

driver
: SBP
A parsed SBP object.
table
: dict
Any table mapping unique SBP message type IDs to SBP message constructors.

SBP message with a parsed payload.