Documentation
¶
Index ¶
- func TwosComplementUint3(b uint8) int
- func TwosComplementUint5(b uint8) int
- type AGCState
- type Block
- func (block Block) DeserializePayload_4001() (b Block_4001, err error)
- func (block Block) DeserializePayload_4002() (b Block_4002, err error)
- func (block Block) DeserializePayload_4006() (b Block_4006, err error)
- func (block Block) DeserializePayload_4007() (b Block_4007, err error)
- func (block Block) DeserializePayload_4008() (b Block_4008, err error)
- func (block Block) DeserializePayload_4011() (b Block_4011, err error)
- func (block Block) DeserializePayload_4012() (b Block_4012, err error)
- func (block Block) DeserializePayload_4013() (b Block_4013, err error)
- func (block Block) DeserializePayload_4014() (b Block_4014, err error)
- func (block Block) DeserializePayload_4027() (b Block_4027, err error)
- func (block Block) DeserializePayload_4044() (b Block_4044, err error)
- func (block Block) DeserializePayload_4052() (b Block_4052, err error)
- func (block Block) DeserializePayload_4075() (b Block_4075, err error)
- func (block Block) DeserializePayload_5891() (b Block_5891, err error)
- func (block Block) DeserializePayload_5914() (b Block_5914, err error)
- func (block Block) GetBlockNumber() uint16
- func (block Block) GetBlockRevision() uint16
- func (block Block) SerializeToWriter(w io.Writer) (err error)
- func (block Block) ToJSON(w io.Writer) error
- type Block_4001
- type Block_4002
- type Block_4006
- type Block_4007
- type Block_4008
- type Block_4008_SatPos
- type Block_4011
- type Block_4012
- type Block_4013
- type Block_4014
- type Block_4027
- func (b Block_4027) GetClkSteering() bool
- func (b Block_4027) GetDynamics() bool
- func (b Block_4027) GetEpoch() (dt time.Time, err error)
- func (b Block_4027) GetMultipathMitigation() bool
- func (b Block_4027) GetPhaseAlign() bool
- func (b Block_4027) GetScrambling() bool
- func (b Block_4027) GetSmoothing() bool
- func (b Block_4027) SerializeGNSSEpoch() (epoch observation.Epoch, err error)
- func (block Block_4027) ToJSON(w io.Writer) error
- type Block_4027_Type1
- type Block_4027_Type2
- type Block_4044
- type Block_4052
- type Block_4075
- type Block_5891
- type Block_5914
- type ChannelSatInfo
- type ChannelStateInfo
- type DOPValues
- type ExtError
- type MiscFlags
- type RxError
- type RxState
- type SatInfo
- type SbfCode
- type Scanner
- type Slant
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func TwosComplementUint3 ¶
TwosComplementUint3 - Calculate 3-bit two's complement
func TwosComplementUint5 ¶
TwosComplementUint5 - Calculate 5-bit two's complement
Types ¶
type AGCState ¶
type AGCState struct {
FrontEndID byte // Frontend code and antenna ID bit field
Gain int8 // AGC gain in dB
SampleVar byte // Normalized variance of the IF samples
BlankingStat byte // Percentage of samples blanked by the pulse blanking unit
Padding []byte // Padding bytes
}
AGCState represents the sub-block for AGC state information.
type Block ¶
type Block struct {
// Sync1 is a 8-bit field that contains the first synchronization byte.
// The value of this field is always 0x24.
Sync1 byte
// Sync2 is a 8-bit field that contains the second synchronization byte.
// The value of this field is always 0x40.
Sync2 byte
// CRC is a 16-bit field that contains the CRC-CCITT checksum of the message.
Crc uint16
// ID is a 16-bit field that contains the message ID and the revision number.
// The message ID is the lower 13 bits, and the revision number is the upper 3 bits.
ID uint16
// The lower 13 bits of the ID field contain the message ID.
BlockNumber int
// The upper 3 bits of the ID field contain the revision number.
BlockRevision int
// Length is a 16-bit field that contains the length of the payload in bytes.
Length uint16
// Payload is a variable length field that contains the message payload.
Payload []byte `json:"-"`
}
Block - a container for an SBF block Each multi-byte binary type is transmitted as little-endian.
func Deserialize ¶
Deserialize - reads from a buffer and return an SBF block.
func (Block) DeserializePayload_4001 ¶
func (block Block) DeserializePayload_4001() (b Block_4001, err error)
DeserializePayload_4001 reads the payload bytes into a Block_4001 struct
func (Block) DeserializePayload_4002 ¶
func (block Block) DeserializePayload_4002() (b Block_4002, err error)
func (Block) DeserializePayload_4006 ¶
func (block Block) DeserializePayload_4006() (b Block_4006, err error)
func (Block) DeserializePayload_4007 ¶
func (block Block) DeserializePayload_4007() (b Block_4007, err error)
func (Block) DeserializePayload_4008 ¶
func (block Block) DeserializePayload_4008() (b Block_4008, err error)
func (Block) DeserializePayload_4011 ¶
func (block Block) DeserializePayload_4011() (b Block_4011, err error)
func (Block) DeserializePayload_4012 ¶
func (block Block) DeserializePayload_4012() (b Block_4012, err error)
func (Block) DeserializePayload_4013 ¶
func (block Block) DeserializePayload_4013() (b Block_4013, err error)
func (Block) DeserializePayload_4014 ¶
func (block Block) DeserializePayload_4014() (b Block_4014, err error)
func (Block) DeserializePayload_4027 ¶
func (block Block) DeserializePayload_4027() (b Block_4027, err error)
DeserializePayload - read structured data from block 4027
func (Block) DeserializePayload_4044 ¶
func (block Block) DeserializePayload_4044() (b Block_4044, err error)
func (Block) DeserializePayload_4052 ¶ added in v0.9.0
func (block Block) DeserializePayload_4052() (b Block_4052, err error)
DeserializePayload_4052 reads the payload bytes into a Block_4052 struct
func (Block) DeserializePayload_4075 ¶
func (block Block) DeserializePayload_4075() (b Block_4075, err error)
func (Block) DeserializePayload_5891 ¶
func (block Block) DeserializePayload_5891() (b Block_5891, err error)
func (Block) DeserializePayload_5914 ¶
func (block Block) DeserializePayload_5914() (b Block_5914, err error)
func (Block) GetBlockNumber ¶
GetBlockNumber - returns the id
func (Block) GetBlockRevision ¶
GetBlockRevision - returns the revision number of the given message
func (Block) SerializeToWriter ¶
SerializeToWriter - writes an SBF block to a buffer.
type Block_4001 ¶
type Block_4001 struct {
TOW uint32 // Time of Week
WNc uint16 // Week Number
NrSV byte // Number of satellites used in DOP computation
Reserved byte // Reserved byte for future use
PDOP uint16 // Position Dilution of Precision
TDOP uint16 // Time Dilution of Precision
HDOP uint16 // Horizontal Dilution of Precision
VDOP uint16 // Vertical Dilution of Precision
HPL float32 // Horizontal Protection Level
VPL float32 // Vertical Protection Level
}
Block_4001 - DOP
func (Block_4001) GetDOPValues ¶
func (block Block_4001) GetDOPValues() DOPValues
AdjustDOPValues converts the DOP values from their encoded format to float64 for usability.
type Block_4002 ¶
type Block_4002 struct {
// TOW (time-of-week)
// Units: 0.001s
// Do-not-use Value: 4294967295
TOW uint32
// WNc (week number)
// continuous week count
// Do-not-use Value: 65535
WNc uint16
// SvID (see 4.1.9)
SvID uint8
// Source
Source uint8
// SQRT_A
// unit: 1 m^(1/2)
Sqrt_A float64
// M_0 mean anomaly at reference time
// unit: 1 semi-circle
M_0 float64
// E Eccentricity
E float64
I_0 float64
Omega float64
Omega_0 float64
OmegaDot float32
IDot float32
Del_N float32
C_uc float32
C_us float32
C_rc float32
C_rs float32
C_ic float32
T_oe uint32
A_f2 float32
A_f1 float32
A_f0 float64
WN_Toe uint16
WN_Toc uint16
Health_OSSOL uint16
Health_PRS uint16
SISA_L1E5a uint8
SISA_L1E5b uint8
SISA_L1AE6A uint8
BGD_L1E5a float32
BGD_L1E5b float32
BGD_L1AE6A float32
CNAVenc uint8
}
Block_4002 - GALNav
func (Block_4002) Serialize ¶
func (block Block_4002) Serialize() (data []byte, err error)
func (Block_4002) SerializeWithWriter ¶
func (block Block_4002) SerializeWithWriter(w io.Writer) (err error)
type Block_4006 ¶
type Block_4006 struct {
TOW uint32 // Time of Week: Receiver time stamp in milliseconds
WNc uint16 // Week Number: GNSS week number
Mode byte // Mode: Bit field indicating the PVT mode
Error byte // PVT error code
X float64 // X coordinate in specified datum
Y float64 // Y coordinate in specified datum
Z float64 // Z coordinate in specified datum
Undulation float32 // Geoid undulation
Vx float32 // Velocity in the X direction
Vy float32 // Velocity in the Y direction
Vz float32 // Velocity in the Z direction
COG float32 // Course over ground in degrees
RxClkBias float64 // Receiver clock bias in milliseconds
RxClkDrift float32 // Receiver clock drift in parts per million
TimeSystem byte // Time system used
Datum byte // Datum in which coordinates are expressed
NrSV byte // Total number of satellites used in the PVT computation
WACorrInfo byte // Wide area correction information
ReferenceID uint16 // Reference ID of differential information used
MeanCorrAge uint16 // Mean age of differential corrections in hundredths of a second
SignalInfo uint32 // Bit field indicating the type of GNSS signals used
AlertFlag byte // Integrity related information bit field
NrBases byte // Number of base stations used in the PVT computation
PPPInfo uint16 // PPP-related information bit field
Latency uint16 // Latency in ten-thousandths of a second
HAccuracy uint16 // 2DRMS horizontal accuracy in centimeters
VAccuracy uint16 // 2-sigma vertical accuracy in centimeters
Misc byte // Miscellaneous flags
}
Block 4006: PVT Geodetic Position
type Block_4007 ¶
type Block_4007 struct {
TOW uint32 // Time of Week in milliseconds
WNc uint16 // Week Number
Mode byte // PVT mode bit field
Error byte // PVT error code
Latitude float64 // Latitude in radians
Longitude float64 // Longitude in radians
Height float64 // Ellipsoidal height in meters
Undulation float32 // Geoid undulation in meters
Vn float32 // Velocity North in m/s
Ve float32 // Velocity East in m/s
Vu float32 // Velocity Up in m/s
COG float32 // Course Over Ground in degrees
RxClkBias float64 // Receiver clock bias in milliseconds
RxClkDrift float32 // Receiver clock drift in ppm
TimeSystem byte // Time system
Datum byte // Geodetic datum
NrSV byte // Number of satellites used in solution
WACorrInfo byte // Wide Area Correction information
ReferenceID uint16 // Reference ID for differential data
MeanCorrAge uint16 // Mean age of corrections in deciseconds
SignalInfo uint32 // GNSS signal type information
AlertFlag byte // Integrity and alert flags
NrBases byte // Number of base stations used
PPPInfo uint16 // PPP-related information
Latency uint16 // Latency in 0.0001 seconds
HAccuracy uint16 // Horizontal accuracy in 0.01 meters
VAccuracy uint16 // Vertical accuracy in 0.01 meters
Misc byte // Miscellaneous flags
}
Block_4007 - Integrity information
type Block_4008 ¶
type Block_4008 struct {
// Time of week
TOW uint32
// Week number
WN uint16
// Number of SatPos sub-blocks
SBN uint8
// Length of one sub-block
SBLength uint8
// SatPos Subblocks
SBSatPos []Block_4008_SatPos
}
Block_4008 - PVTSatCartesian
type Block_4008_SatPos ¶
type Block_4008_SatPos struct {
SvID uint8
FreqNr uint8
IODE uint16
// Satellite coordinate
Px float64
Py float64
Pz float64
// Satellite velocity
Vx float32
Vy float32
Vz float32
// IonoMSB - [decimeter]
IonoMSB int16
// TropoMSB - [decimeter]
TropoMSB int16
// 0.1*(IonoMSB + IonoLSB/256)
IonoLSB uint8
// 0.1*(TropoMSB + TropoLSB/256)
TropoLSB uint8
// Model
IonoModel uint8
}
Block_4008_SatPos - Subblock SatPos
func (Block_4008_SatPos) GetSysSat ¶
func (b Block_4008_SatPos) GetSysSat() (sys, sat int, err error)
type Block_4011 ¶
type Block_4011 struct {
TOW uint32 // Time of Week in milliseconds
WNc uint16 // Week Number
IntegrityFlag byte // RAIM integrity flag: 0 - successful, 1 - failed, 2 - not available
Reserved1 byte // Reserved byte for future use
HERLPosition float32 // Horizontal external reliability level of the position in meters
VERLPosition float32 // Vertical external reliability level of the position in meters
HERLVelocity float32 // Horizontal external reliability level of the velocity in meters per second
VERLVelocity float32 // Vertical external reliability level of the velocity in meters per second
OverallModel uint16 // Overall model test statistic divided by the test threshold
}
type Block_4012 ¶
type Block_4012 struct {
TOW uint32 // Time of Week in milliseconds
WNc uint16 // Week Number
// N u1 Number of satellites for which information is provided in this SBF block,
// i.e. number of SatInfo sub-blocks.
NumberOfSats uint8 `struct:"sizeof=SatInfo"`
// SBLength u1 1 byte Length of one SatInfo sub-bloc
SBLength uint8
SatInfo []SatInfo
}
type Block_4013 ¶
type Block_4013 struct {
TOW uint32 // Time of Week
WNc uint16 // Week Number
N1 byte `struct:"sizeof=SatInfo"` // Number of channels
SB1Length byte // Length of a ChannelSatInfo sub-block
SB2Length byte // Length of a ChannelStateInfo sub-block
Reserved [3]byte // Reserved for future use
SatInfo []ChannelSatInfo // Satellite information for each channel
Padding []byte // Variable length padding
}
Block_4013 - ChannelStatus represents the main structure for status blocks.
type Block_4014 ¶
type Block_4014 struct {
TOW uint32 // Time of Week
WNc uint16 // Week Number
CPULoad byte // CPU load percentage
ExtError byte // External error bit field
UpTime uint32 // Uptime in seconds
RxState uint32 // Receiver state bit field
RxError uint32 // Receiver error bit field
N byte `struct:"sizeof=AGCStateSubBlocks"` // Number of AGCState sub-blocks
SBLength byte // Length of an AGCState sub-block
CmdCount byte // Command cyclic counter
Temperature byte // Receiver temperature (offset by 100)
AGCStateSubBlocks []AGCState // Array of AGCState sub-blocks
}
Block_4014 - ReceiverStatus
func (Block_4014) GetExtError ¶
func (b Block_4014) GetExtError() ExtError
func (Block_4014) GetRxError ¶
func (b Block_4014) GetRxError() RxError
func (Block_4014) GetRxState ¶
func (block Block_4014) GetRxState() RxState
func (Block_4014) GetTemperature ¶
func (b Block_4014) GetTemperature() float64
type Block_4027 ¶
type Block_4027 struct {
// Time-tag, expressed in whole milliseconds from the beginning of the
// current GPS week.
// do-not-use: 4294967295
TOW uint32
// WNc is a continuous week count. It is not affected by GPS week
// rollovers, which occur every 1024 weeks
// do-not-use: 65535
WN uint16
// Number of MeasEpochChannelType1 sub-blocks in this MeasEpoch block
N1 uint8 `struct:"sizeof=Type1"`
// Length of a MeasEpochChannelType1 sub-block, excluding the nested
// MeasEpochChannelType2 sub-blocks
SB1Length uint8
// Length of a MeasEpochChannelType2 sub-block
SB2Length uint8
// Bit field containing flags common to all measurements.
CommonFlags uint8
// Cumulative millisecond clock jumps since start-up, with an ambiguity
// of k*256 ms.
CumClkJumps uint8
// Reserved for future use, to be ignored by decoding software
Reserved uint8
// A succession of N1 MeasEpochChannelType1 sub-blocks, see definition
// below
Type1 []Block_4027_Type1
}
Block_4027 - MeasEpoch
func (Block_4027) GetClkSteering ¶
func (b Block_4027) GetClkSteering() bool
GetClkSteering - check if clock steering is enabled
func (Block_4027) GetDynamics ¶
func (b Block_4027) GetDynamics() bool
GetDynamics - check if receiver is in dynamic tracking mode
func (Block_4027) GetEpoch ¶
func (b Block_4027) GetEpoch() (dt time.Time, err error)
GetEpoch - Convert the week number and time-of-week to Golang datetime
func (Block_4027) GetMultipathMitigation ¶
func (b Block_4027) GetMultipathMitigation() bool
GetMultipathMitigation - check if multipath mitigation is enabled
func (Block_4027) GetPhaseAlign ¶
func (b Block_4027) GetPhaseAlign() bool
GetPhaseAlign - check if the phase is aligned
func (Block_4027) GetScrambling ¶
func (b Block_4027) GetScrambling() bool
GetScramblling - Galileo service
func (Block_4027) GetSmoothing ¶
func (b Block_4027) GetSmoothing() bool
GetSmoothing - check if smoothing is enabled
func (Block_4027) SerializeGNSSEpoch ¶
func (b Block_4027) SerializeGNSSEpoch() (epoch observation.Epoch, err error)
SerializeGNSSEpoch - serialize observations from block 4027 to observation.Epoch
type Block_4027_Type1 ¶
type Block_4027_Type1 struct {
// Receiver channel on which this satellite is currently tracked
RxChannel uint8
// Bit field indicating the signal type and antenna ID:
// Bits 0-4: SigIdxLo: if not 31, this is the signal number, otherwise
// the signal number can be found in the ObsInfo field below
// Bits 5-7: Antenna ID: 0 for main, 1 for Aux1 and 2 for Aux2
Type uint8
// Satellite ID
SvID uint8
// Bit field containing the MSB of the pseudorange.
// Bits 0-3: CodeMSB: MSB of the pseudorange (this is an un-signed value).
// Bits 4-7: Reserved
// The pseudorange is invalid if both CodeMSB is 0 and CodeLSB is 0
Misc uint8
// LSB of the pseudorange
// The pseudorange is invalid if both CodeMSB is 0 and CodeLSB is 0
CodeLSB uint32
// Carrier Doppler (positive for approaching satellites).
// do-not-use: −2147483648
Doppler int32
// LSB of the carrier phase relative to the pseudorange
// do-not-use: 0
CarrierLSB uint16
// MSB of the carrier phase relative to the pseudorange.
// do-not-use: -128
CarrierMSB int8
// The C/N0 in dB-Hz
// do-not-use: 255
Cn0 uint8
// Duration of continuous carrier phase
// do-not-use: 65535
LockTime uint16
// Bitfield - see docs
ObsInfo uint8
// Number of MeasEpochChannelType2 sub-blocks contained in this
// MeasEpochChannelType1 sub-block.
N2 uint8 `struct:"sizeof=Type2"`
// padding
// A succession of N2 MeasEpochChannelType2 sub-blocks, see definition below
Type2 []Block_4027_Type2
}
Block_4027_Type1 - The first subfield type in Block 4027
func (Block_4027_Type1) GetSVID ¶
func (b Block_4027_Type1) GetSVID() int
GetSVID - map SvID value to constellation specific PRNs or Slot numbers
type Block_4027_Type2 ¶
type Block_4027_Type2 struct {
// Bit field indicating the signal type and antenna ID
Type uint8
// See corresponding field in the MeasEpochChannelType1 sub-block above,
// except that the value is clipped to 254 instead of 65534
// do-not-use: 255
LockTime uint8
// The C/N0 in dB-H
// do-not-use: 255
Cn0 uint8
// Code and Doppler offsets
// do-not-use code: -4
// do-not-use dopp: -16
OffsetsMSB uint8
// MSB of the carrier phase relative to the pseudorange
// do-not-use: -128
CarrierMSB int8
// Bit field - see docs for mapping
ObsInfo uint8
// LSB of the code offset with respect to pseudorange in the
// MeasEpochChannelType1 sub-block.
// do-not-use: 0
CodeOffsetLSB uint16
// LSB of the carrier phase relative to the pseudorange.
// do-not-use: 0
CarrierLSB uint16
// LSB of the Doppler offset relative to the Doppler in the
// MeasEpochChannelType1 sub-block. To compute the Doppler
// do-not-use: 0
DopplerOffsetLSB uint16
}
Block_4027_Type2 - the second subfield type in Block 4027
type Block_4044 ¶
type Block_4044 struct {
TOW uint32 // Time of Week
WNc uint16 // Week Number
Mode uint8 // PVT mode
Error uint8 // PVT error code
X float64 // X coordinate
Y float64 // Y coordinate
Z float64 // Z coordinate
Base2RoverX float64 // X baseline component (from base to rover)
Base2RoverY float64 // Y baseline component (from base to rover)
Base2RoverZ float64 // Z baseline component (from base to rover)
Cov_xx float32 // Variance of the x estimate
Cov_yy float32 // Variance of the y estimate
Cov_zz float32 // Variance of the z estimate
Cov_xy float32 // Covariance between the x and y estimates
Cov_xz float32 // Covariance between the x and z estimates
Cov_yz float32 // Covariance between the y and z estimates
PDOP uint16 // Position Dilution of Precision
HDOP uint16 // Horizontal Dilution of Precision
VDOP uint16 // Vertical Dilution of Precision
Misc uint8 // Miscellaneous flags
Reserved3 uint8 // Reserved for future use
AlertFlag uint8 // Integrity-related information
Datum uint8 // Coordinate datum
NrSV uint8 // Number of satellites used in the PVT computation
WACorrInfo uint8 // Wide Area Correction information
ReferenceId uint16 // Reference ID of the differential information
MeanCorrAge uint16 // Mean age of the differential corrections
SignalInfo uint32 // Type of GNSS signals used in the PVT computations
}
func (Block_4044) GetMiscFlags ¶
func (b Block_4044) GetMiscFlags() MiscFlags
type Block_4052 ¶ added in v0.9.0
type Block_4052 struct {
TOW uint32 // TOW u4
WNc uint16 // WNc u2
Mode byte // Mode u1
Error byte // Error u1
Lat float64 // Lat f8
Lon float64 // Lon f8
Alt float64 // Alt f8
}
Block_4052 - ReceiverPosition
type Block_4075 ¶
type Block_4075 struct {
TOW uint32
WNc uint16
CD byte
Reserved1 [3]byte
StringLn uint16
SensorModel [20]byte
SensorType [20]byte
Reserved2 [20]byte
ASCIIString string `struct:"sizeof=StringLn"`
}
Block ID 4075 - ASCII Sensor Description
type Block_5891 ¶
type Block_5891 struct {
// TOW (time-of-week)
// Units: 0.001s
// Do-not-use Value: 4294967295
TOW uint32
// WNc (week number)
// continuous week count
// Do-not-use Value: 65535
WNc uint16
// PRN or SvID
// see 4.1.9 for mapping
SvID uint8
// reserved
Reserved uint8
// WN (week number)
// subframe 1, word 3
WN uint16
// Code(s) on L2 channel (2 bits from subframe 1, word 3)
CAorPonL2 uint8
// User Range accuracy index (4 bits from subframe 1 word 3)
URA uint8
// 6-bit health from subframe 1, word 3 (6 bits from subframe 1, word 3)
Health uint8
// Data flag for L2 P-code (1 bit from subframe 1, word 4)
L2DataFlag uint8
// Issue of data, clock (10 bits from subframe 1)
IODC uint16
// Issue of data, ephemeris (8 bits from subframe 2)
IODE2 uint8
// Issue of data, ephemeris (8 bits from subframe 3)
IODE3 uint8
// Curve Fit Interval, (1 bit from subframe 2, word 10)
FitIntFlg uint8
// Reserved
Reserved2 uint8
// Estimated group delay
T_gd float32
// clock data reference time
T_oc uint32
// clock aging
// units: 1 s/s^2
A_f2 float32
// clock drift
// uints: 1 s/s
A_f1 float32
// clock bias
// units: 1 s
A_f0 float32
// Amplitude of the sine harmonic correction term to the orbit radius
// units: 1 m
C_rs float32
// Mean motion difference from computed value
// units: 1 semi-circle / s
Del_N float32
// Mean anomaly at reference time
// units: 1 semi-circle
M_0 float64
// Amplitude of the cosine harmonic correction term to the argument of latitude
// units: 1 rad
C_uc float32
// Eccentricity
Ecc float64
// Amplitude of the sine harmonic correction term to the argument of latitude
// units: 1 rad
C_us float32
// Square root of the semi-major axis
// units: 1 m^(1/2)
Sqrt_A float64
// Reference time ephemeris
// units: 1 s
T_oe uint32
// Amplitude of the cosine harmonic correction term to the angle of inclination
// units: 1 rad
C_ic float32
// Longitude of ascending node of orbit plane at weekly epoch
// units: 1 semi-circle
Omega_0 float64
// Amplitude of the sine harmonic correction term to the angle of inclination
// units: 1 rad
C_is float32
// Inclination angle at reference time
// units: 1 semi-circle
I_0 float64
// Amplitude of the cosine harmonic correction term to the orbit radius
// units: 1 m
C_rc float32
// Argument of perigee
// units: 1 semi-circle
Omega float64
// Rate of right ascension
// units: 1 semi-circle / s
Omega_Dot float32
// Rate of inclination angle
// units: 1 semi-circle / s
I_Dot float32
// WN associated with t_oc, modulo 1024
// units: 1 w
WN_Toc uint16
// WN associated with t_oe, modulo 1024
// units: 1 w
WN_Toe uint16
}
Block_5891 - GPSNav
func (Block_5891) GetFitInterval ¶
func (block Block_5891) GetFitInterval() (float64, error)
func (Block_5891) GetToEWeek ¶
func (block Block_5891) GetToEWeek() int
func (Block_5891) GetURA ¶
func (block Block_5891) GetURA() float64
func (Block_5891) SerializeToGPSLNAV ¶
func (block Block_5891) SerializeToGPSLNAV(edid string) (ephemeris.GPSLNAVMessage, error)
type Block_5914 ¶
type Block_5914 struct {
TOW uint32
WNc uint16
UTCYear int8
UTCMonth int8
UTCDay int8
UTCHour int8
UTCMin int8
UTCSec int8
DeltaLS int8
SyncLevel uint8
}
Block_5914 Receiver Time
type ChannelSatInfo ¶
type ChannelSatInfo struct {
SVID byte // Satellite ID
Reserved1 [2]byte // Reserved for future use
AzimuthRiseSet uint16 // Bit field for azimuth and rise/set indicator
FreqNr byte // Frequency number (for GLONASS FDMA signals)
HealthStatus uint16 // Sequence of 2-bit health status fields
Elevation int8 // Elevation [-90, 90] relative to local horizontal plane
N2 uint8 `struct:"sizeof=StateInfo"` // number of ChannelStateInfo sub-blocks
RxChannel byte // Channel number
Reserved2 byte // Reserved for future use
StateInfo []ChannelStateInfo // State information for each antenna
Padding []byte // Padding bytes
}
ChannelSatInfo describes satellite-dependent information.
type ChannelStateInfo ¶
type ChannelStateInfo struct {
Antenna byte // Antenna number (0 for main antenna)
Reserved byte // Reserved for future use
TrackingStatus uint16 // Sequence of 2-bit tracking status fields
PVTStatus uint16 // Sequence of 2-bit PVT status fields
PVTInfo uint16 // Internal info
Padding []byte // Padding bytes
}
ChannelStateInfo reports tracking and PVT status for each signal type.
type RxError ¶
type RxError struct {
// Receiver error bit field
// Reserved0 bool // Bit 0: Reserved
// Reserved1 bool // Bit 1: Reserved
// Reserved2 bool // Bit 2: Reserved
SOFTWARE bool // Bit 3: Software warning or error detected
WATCHDOG bool // Bit 4: Watchdog expired
ANTENNA bool // Bit 5: Antenna overcurrent condition detected
CONGESTION bool // Bit 6: Output data congestion detected
// Reserved7 bool // Bit 7: Reserved
MISSEDEVENT bool // Bit 8: External event congestion detected
CPUOVERLOAD bool // Bit 9: CPU load is larger than 90%
INVALIDCONFIG bool // Bit 10: Invalid or absent configuration file
OUTOFGEOFENCE bool // Bit 11: Receiver is out of permitted region of operation (geofencing)
}
type RxState ¶
type RxState struct {
// Receiver state bit field
EXT_FREQ bool // Bit 2
EXT_TIME bool // Bit 3
WNSET bool // Bit 4
TOWSET bool // Bit 5
FINETIME bool // Bit 6
INTERNALDISK_ACTIVITY bool // Bit 7
INTERNALDISK_FULL bool // Bit 8
INTERNALDISK_MOUNTED bool // Bit 9
INT_ANT bool // Bit 10
REFOUT_LOCKED bool // Bit 11
LBAND_ANT bool // Bit 12
EXTERNALDISK_ACTIVITY bool // Bit 13
EXTERNALDISK_FULL bool // Bit 14
EXTERNALDISK_MOUNTED bool // Bit 15
PPS_IN_CAL bool // Bit 16
DIFFCORR_IN bool // Bit 17
INTERNET bool // Bit 18
}
type SatInfo ¶
type SatInfo struct {
// SVID u1 Satellite ID, see 4.1.9
SVID uint8
// FreqNr u1 0 For GLONASS FDMA signals, this is the frequency number, with an
// offset of 8. It ranges from 1 (corresponding to an actual frequency
// number of -7) to 21 (corresponding to an actual frequency number
// of 13). Otherwise, FreqNr is reserved and must be ignored by the
// decoding software.
FreqNr uint8
// Azimuth u2 0.01 degrees 65535 Azimuth. 0 is North, and azimuth increases towards East.
Azimuth uint16
// Elevation i2 0.01 degrees −32768 Elevation relative to local horizontal plane.
Elevation int16
// RiseSet u1 Rise/set indicator:
// 0: satellite setting
// 1: satellite rising
// 255: elevation rate unknown
RiseSet uint8
// SatelliteInfo u1 Satellite visibility info based on:
// 1: almanac
// 2: ephemeris
// 255: unknown
SatelliteInfo uint8
}