class Fields: pinSel = X4(1) # Mask of Pins Set as Peripheral/PIO pinBank = X4(2) # Mask of Pins Set as Bank A/B pinDir = X4(3) # Mask of Pins Set as Input/Output pinVal = X4(4) # Mask of Pins Value Low/High noisePerMS = U2(5) # Noise Level as measured by the GPS Core agcCnt = U2( 6) # AGC Monitor (counts SIGHI xor SIGLO, range 0 to 8191) aStatus = U1( 7 ) # Status of the Antenna Supervisor State Machine (0=INIT, 1=DONTKNOW, 2=OK, 3=SHORT, 4=OPEN) aPower = U1( 8) # Current PowerStatus of Antenna (0=OFF, 1=ON, 2=DONTKNOW) flags = X1(9) # Flags (see graphic below) reserved1 = U1(10) usedMask = X4( 11) # Mask of Pins that are used by the Virtual Pin Manager VP = CH( 12, 17) # Array of Pin Mappings for each of the 17 Physical Pins jamInd = U1( 13 ) # CW Jamming indicator, scaled (0 = no CW jamming, 255 = strong CW jamming) reserved2 = U2(14) pinIrq = X4(15) # Mask of Pins Value using the PIO Irq pullH = X4( 16) # Mask of Pins Value using the PIO Pull High Resistor pullL = X4( 17) # Mask of Pins Value using the PIO Pull Low Resistor
class Fields: version = U1(0) reserved1 = U1(1) refStationID = U2(2) iTOW = U4(3) relPosN = I4( 4 ) # WARNING: these cm values must be combined with relPosHP* to get full precision relPosE = I4(5) relPosD = I4(6) relPosLength = I4(7) relPosHeading = I4(8) # 1e-5 Deg reserved2 = U4(9) relPosHPN = I1(10) # 0.1 mm resolutionto add to the cm values relPosHPE = I1(11) relPosHPD = I1(12) relPosHPLength = I1(13) accN = U4(14) accE = U4(15) accD = U4(16) accLength = U4(17) accHeading = U4(18) reserved3 = U4(19) flags = X4( 20 ) # bits[0..7] = [gnssFixOK, diffSoln, relPosValid, carrSoln0,arrSoln1, isMoving, refPosMiss, refObsMiss]
class Repeated: chn = U1(1) svid = U1(2) flags = X1(3) quality = X1(4) cno = U1(5) elev = I1(6) axim = I2(7) prRes = I4(8)
class Fields: dur = U4(1) meanX = I4(2) meanY = I4(3) meanZ = I4(4) meanV = U4(5) obs = U4(6) valid = U1(7) active = U1(8) reserved = U2(9)
class Fields: portID = U1(1) reserved1 = U1(2) txReady = X2(3) mode = X4(4) reserved2 = U4(5) inProtoMask = X2(6) outProtoMask= X2(7) flags = X2(8) reserved3 = U2(9)
class Fields: reserved1 = U1(1) # reserved lpMode = U1( # Low Power Mode 2, allowed={ 0: "Continuous Mode", 1: "Power Save Mode", 4: "Continuous Mode" # for ver>=14 0 and 4 are the same } )
class Fields: tpIdx = U1(1) # Time pulse selection (0 = TIMEPULSE, 1 = TIMEPULSE2) version = U1(2) # Message version (0x00 for this version) reserved2 = U2(3) antCableDelay = I2(4) # Antenna cable delay rfGroupDelay = I2(5) # RF group delay freqPeriod = U4(6) # Frequency or period time, depending on setting of bit 'isFreq' freqPeriodLock = U4(7) # Frequency or period time when locked to GPS time, only used if 'lockedOtherSet' is set pulseLenRatio = U4(8) # Pulse length or duty cycle, depending on 'isLength' pulseLenRatioLock = U4(9) # Pulse length or duty cycle when locked to GPS time, only used if 'lockedOtherSet' is set userConfigDelay = I4(10) # User configurable time pulse delay flags = X4(11) # Configuration flags
class Fields: version = U1(1, allowed={0: "SPAN Message V 0" }) # Message version (Currently 0) numRfBlocks = U1(2) # Number of RF blocks included reserved0 = U(3, 2) # Reserved class Repeated: spectrum = U(1, 256) # Spectrum Bins (dB unreferenced) span = U4(2) # Spectrum span (Hz) res = U4(3) # Bin Resolution (Hz) center = U4(4) # Center of spectrum span (Hz) pga = U1(5) # PGA gain (dB) reserved1 = U(6, 3) # Reserved
class Fields: version = U1(1) # Message version (0x02 for this version) reserved1 = U1(2) # Reserved maxStartupStartupDur = U1(3) # Maximum time to spend in Acquisition state. If 0: bound disabled (see maxStartupStateDur). (not supported in protocol versions less than 17), (not supported in protocol versions 23 to 23.01) reserved2 = U1(4) # Reserved flags = X4(5) # PSM configuration flags (see graphic below) updatePeriod = U4(6) # ms Position update period. If set to 0, the receiver will never retry a fix and it will wait for external events searchPeriod = U4(7) # ms Acquisition retry period if previously failed. If set to 0, the receiver will never retry a startup (not supported in protocol versions 23 to 23.01) gridOffset = U4(8) # ms Grid offset relative to GPS start of week (not supported in protocol versions 23 to 23.01) onTime = U2(9) # s Time to stay in Tracking state (not supported in protocol versions 23 to 23.01) minAcqTime = U2(10) # s minimal search time reserved3 = U(11, 20) # Reserved extintInactivityMs = U4(12) # ms inactivity time out on EXTINT pint if enabled
class Fields: iTOW = U4(1) year = U2(2) month = U1(3) day = U1(4) hour = U1(5) min = U1(6) sec = U1(7) valid = X1(8) tAcc = U4(9) nano = I4(10) fixType = U1(11) flags = X1(12) flags2 = X1(13) numSV = U1(14) lon = I4(15) # 1e-7 deg for lon,lat lat = I4(16) height = I4(17) # mm for heights; height is above ellipsoid hMSL = I4(18) hAcc = U4(19) vAcc = U4(20) velN = I4(21) # mm/s for speeds and velocities velE = I4(22) velD = I4(23) gSpeed = I4(24) headMot = I4(25) # 1e-5 deg for heading of motion sAcc = U4(26) headAcc = U4(27) pDOP = U2(28) flags3 = X1(29) reserved1 = U1(30) reserved1x = U4(31) headVeh = I4(32) magDec = I2(33) # 1e-2 deg for Magnetic declination magAcc = U2(34)
class Repeated: spectrum = U(1, 256) # Spectrum Bins (dB unreferenced) span = U4(2) # Spectrum span (Hz) res = U4(3) # Bin Resolution (Hz) center = U4(4) # Center of spectrum span (Hz) pga = U1(5) # PGA gain (dB) reserved1 = U(6, 3) # Reserved
class Repeated: gnssId = U1( 1, allowed={ 0: 'GPS', 1: 'SBAS', 2: 'Galileo', 3: 'BeiDou', 4: 'IMES', 5: 'QZSS', 6: 'GLONASS', }) resTrkCh = U1(2) maxTrkCh = U1(3) reserved = U1(4) flags = X4(5)
class Fields: msgVer = U1(1) numTrkChHw = U1(2) numTrkChUse = U1(3) numConfigBlocks = U1(4) class Repeated: gnssId = U1( 1, allowed={ 0: 'GPS', 1: 'SBAS', 2: 'Galileo', 3: 'BeiDou', 4: 'IMES', 5: 'QZSS', 6: 'GLONASS', }) resTrkCh = U1(2) maxTrkCh = U1(3) reserved = U1(4) flags = X4(5)
class Fields: xxGNS = "1" time = "2" # [hhmmss.ss] lat = "3" # [ddmm.mmmmm] NS = "4" # single char lon = "5" # [hdddmm.mmmmm] EW = CH(6) # single char # N = No fix, # E = estimated/dead reckoning fix, # A = autonomous GNSS fix, # D = differential GNSS fix, # F = RTK float, # R = RTK fixed posMode = "7" numSV = U1(8) HDOP = R4(9) alt = R4(10) # [m] amsl sep = R4(11) # [m] diffAge = "12" # [s] null when no DGPS diffStation = "13" # basestation ID navStatus = CH(14) # always V in
class Fields: iTOW = U4(1) numCh = U1(2) globalFlags = X1(3, allowed={ 0: 'Antaris', 1: 'u-Blox 5', 2: 'u-Blox 6', 3: 'u-Blox 7', 4: 'u-Blox 8', }) reserved1 = U2(4) class Repeated: chn = U1(1) svid = U1(2) flags = X1(3) quality = X1(4) cno = U1(5) elev = I1(6) axim = I2(7) prRes = I4(8)
class Fields: tpIdx = U1(1) # Time pulse selection (0 = TIMEPULSE, 1 = TIMEPULSE2)
class Fields: clsID = U1(1) # Class ID of the Not-Acknowledged Message msgID = U1(2) # Message ID of the Not-Acknowledged Message
class Fields: version = U1(1) powerSetupValue = U1(2) period = U2(3) onTime = U2(4) reserved = U2(5)
class Fields: portID = U1(1)
class Fields: first = U1(1) second = U1(2) class Repeated: ext = U2(1)