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(1) Reserved1 = U1(2) RefStationId = U2(3) iTOW = U4(4) RelPosN = I4(5) RelPosE = I4(6) RelPosD = I4(7) RelPosLength = I4(8) RelPosHeading = I4(9) Reserved2 = U4(10) RelPosHPN = I1(11) RelPosHPE = I1(12) RelPosHPD = I1(13) relPosHPLength = I1(14) accN = U4(15) accE = U4(16) accD = U4(17) accLength = U4(18) accHeading = U4(19) Reserved3 = U4(20) flags = X4(21, allowed={ 0: 'gnssFixOK', 1: 'diffSoln', 2: 'relPosValid', 3: 'carrSoln1', 4: 'carrSoln2', 5: 'isMoving', 6: 'refPosMiss', 7: 'refObsMiss', 8: 'relPosHeadingValid', 9: 'relPosNormalized' })
class Repeated: gnssId = U1(1) svId = U1(2) cno = U1(3) elev = I1(4) azim = I2(5) prRes = I2(5) flags = X4(6)
class Repeated: gnssId = U1(6) svId = U1(7) cno = U1(8) elev = I1(9) azim = I2(10) prRes = I2(11) flags = X4(12)
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: 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) # 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 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: filterFlags = X1(1) nmeaVersion = U1(2) numSV = U1(3) flags = X1(4) gnssToFilter = X4(5) svNumbering = U1(6) mainTalkerId = U1(7) gsvTalkerId = U1(8) version = U1(9) bdsTalkerId_1 = U1(10) bdsTalkerId_2 = U1(11) reserved1_1 = U1(12) reserved1_2 = U1(13) reserved1_3 = U1(14) reserved1_4 = U1(15) reserved1_5 = U1(16) reserved1_6 = U1(17)
class Repeated: data = X4(1)
class Repeated: patchInfo = X4(1) comparatorNumber = U4(2) patchAddress = U4(3) patchData = U4(4)