pub enum SbfBlock {
Show 135 variants
MeasEpoch(MeasEpochBlock),
MeasExtra(MeasExtraBlock),
EndOfMeas(EndOfMeasBlock),
Meas3Ranges(Meas3RangesBlock),
Meas3Cn0HiRes(Meas3Cn0HiResBlock),
Meas3Doppler(Meas3DopplerBlock),
Meas3Pp(Meas3PpBlock),
Meas3Mp(Meas3MpBlock),
PvtGeodetic(PvtGeodeticBlock),
PvtCartesian(PvtCartesianBlock),
Dop(DopBlock),
PosCart(PosCartBlock),
PvtSatCartesian(PvtSatCartesianBlock),
PvtResidualsV2(PvtResidualsV2Block),
RaimStatisticsV2(RaimStatisticsV2Block),
BaseVectorCart(BaseVectorCartBlock),
BaseVectorGeod(BaseVectorGeodBlock),
PosCovCartesian(PosCovCartesianBlock),
PosCovGeodetic(PosCovGeodeticBlock),
VelCovCartesian(VelCovCartesianBlock),
VelCovGeodetic(VelCovGeodeticBlock),
GeoCorrections(GeoCorrectionsBlock),
BaseStation(BaseStationBlock),
DiffCorrIn(DiffCorrInBlock),
PvtSupport(PvtSupportBlock),
PvtSupportA(PvtSupportABlock),
PosLocal(PosLocalBlock),
PosProjected(PosProjectedBlock),
AttEuler(AttEulerBlock),
AttCovEuler(AttCovEulerBlock),
AuxAntPositions(AuxAntPositionsBlock),
EndOfAtt(EndOfAttBlock),
GpsNav(GpsNavBlock),
GpsAlm(GpsAlmBlock),
GpsIon(GpsIonBlock),
GpsUtc(GpsUtcBlock),
GpsCNav(GpsCNavBlock),
GalNav(GalNavBlock),
GalAlm(GalAlmBlock),
GalIon(GalIonBlock),
GalUtc(GalUtcBlock),
GalGstGps(GalGstGpsBlock),
GalSarRlm(GalSarRlmBlock),
GloNav(GloNavBlock),
GloAlm(GloAlmBlock),
GloTime(GloTimeBlock),
BdsIon(BdsIonBlock),
BdsNav(BdsNavBlock),
BdsAlm(BdsAlmBlock),
BdsUtc(BdsUtcBlock),
BdsCNav1(BdsCNav1Block),
BdsCNav2(BdsCNav2Block),
BdsCNav3(BdsCNav3Block),
QzsNav(QzsNavBlock),
QzsAlm(QzsAlmBlock),
GeoIonoDelay(GeoIonoDelayBlock),
GpsRawCa(GpsRawCaBlock),
GpsRawL2C(GpsRawL2CBlock),
GpsRawL5(GpsRawL5Block),
GalRawFnav(GalRawFnavBlock),
GalRawInav(GalRawInavBlock),
GalRawCnav(GalRawCnavBlock),
GeoRawL1(GeoRawL1Block),
GeoRawL5(GeoRawL5Block),
GloRawCa(GloRawCaBlock),
CmpRaw(CmpRawBlock),
BdsRawB1c(BdsRawB1cBlock),
BdsRawB2a(BdsRawB2aBlock),
IrnssRaw(IrnssRawBlock),
QzsRawL1Ca(QzsRawL1CaBlock),
QzsRawL2C(QzsRawL2CBlock),
QzsRawL5(QzsRawL5Block),
GeoMt00(GeoMt00Block),
GeoPrnMask(GeoPrnMaskBlock),
GeoFastCorr(GeoFastCorrBlock),
GeoFastCorrDegr(GeoFastCorrDegrBlock),
GeoDegrFactors(GeoDegrFactorsBlock),
GeoServiceLevel(GeoServiceLevelBlock),
GeoNav(GeoNavBlock),
GeoIntegrity(GeoIntegrityBlock),
GeoAlm(GeoAlmBlock),
GeoNetworkTime(GeoNetworkTimeBlock),
GeoIgpMask(GeoIgpMaskBlock),
GeoLongTermCorr(GeoLongTermCorrBlock),
GeoClockEphCovMatrix(GeoClockEphCovMatrixBlock),
ReceiverStatus(ReceiverStatusBlock),
TrackingStatus(ChannelStatusBlock),
ChannelStatus(ChannelStatusBlock),
SatVisibility(SatVisibilityBlock),
QualityInd(QualityIndBlock),
InputLink(InputLinkBlock),
OutputLink(OutputLinkBlock),
LBandTrackerStatus(LBandTrackerStatusBlock),
Commands(CommandsBlock),
Comment(CommentBlock),
ReceiverSetup(ReceiverSetupBlock),
BBSamples(BBSamplesBlock),
ASCIIIn(ASCIIInBlock),
NtripClientStatus(NtripClientStatusBlock),
NtripServerStatus(NtripServerStatusBlock),
RfStatus(RfStatusBlock),
RtcmDatum(RtcmDatumBlock),
LBandBeams(LBandBeamsBlock),
DynDnsStatus(DynDnsStatusBlock),
DiskStatus(DiskStatusBlock),
P2ppStatus(P2ppStatusBlock),
CosmosStatus(CosmosStatusBlock),
RxMessage(RxMessageBlock),
EncapsulatedOutput(EncapsulatedOutputBlock),
GisAction(GisActionBlock),
GisStatus(GisStatusBlock),
ReceiverTime(ReceiverTimeBlock),
PpsOffset(PpsOffsetBlock),
ExtEvent(ExtEventBlock),
ExtEventPvtCartesian(ExtEventPvtCartesianBlock),
ExtEventPvtGeodetic(ExtEventPvtGeodeticBlock),
ExtEventBaseVectGeod(ExtEventBaseVectGeodBlock),
ExtEventAttEuler(ExtEventAttEulerBlock),
EndOfPvt(EndOfPvtBlock),
IntPvCart(IntPvCartBlock),
IntPvGeod(IntPvGeodBlock),
IntPvaaGeod(IntPvaaGeodBlock),
IntAttEuler(IntAttEulerBlock),
IntPosCovCart(IntPosCovCartBlock),
IntVelCovCart(IntVelCovCartBlock),
IntPosCovGeod(IntPosCovGeodBlock),
IntVelCovGeod(IntVelCovGeodBlock),
IntAttCovEuler(IntAttCovEulerBlock),
IpStatus(IpStatusBlock),
IqCorr(IqCorrBlock),
ExtSensorMeas(ExtSensorMeasBlock),
ExtSensorStatus(ExtSensorStatusBlock),
ExtSensorSetup(ExtSensorSetupBlock),
KnownOpaque {
id: u16,
rev: u8,
data: Vec<u8>,
},
Unknown {
id: u16,
rev: u8,
data: Vec<u8>,
},
}Expand description
Parsed SBF block variants
Variants§
MeasEpoch(MeasEpochBlock)
MeasExtra(MeasExtraBlock)
EndOfMeas(EndOfMeasBlock)
Meas3Ranges(Meas3RangesBlock)
Meas3Cn0HiRes(Meas3Cn0HiResBlock)
Meas3Doppler(Meas3DopplerBlock)
Meas3Pp(Meas3PpBlock)
Meas3Mp(Meas3MpBlock)
PvtGeodetic(PvtGeodeticBlock)
PvtCartesian(PvtCartesianBlock)
Dop(DopBlock)
PosCart(PosCartBlock)
PvtSatCartesian(PvtSatCartesianBlock)
PvtResidualsV2(PvtResidualsV2Block)
RaimStatisticsV2(RaimStatisticsV2Block)
BaseVectorCart(BaseVectorCartBlock)
BaseVectorGeod(BaseVectorGeodBlock)
PosCovCartesian(PosCovCartesianBlock)
PosCovGeodetic(PosCovGeodeticBlock)
VelCovCartesian(VelCovCartesianBlock)
VelCovGeodetic(VelCovGeodeticBlock)
GeoCorrections(GeoCorrectionsBlock)
BaseStation(BaseStationBlock)
DiffCorrIn(DiffCorrInBlock)
PvtSupport(PvtSupportBlock)
PvtSupportA(PvtSupportABlock)
PosLocal(PosLocalBlock)
PosProjected(PosProjectedBlock)
AttEuler(AttEulerBlock)
AttCovEuler(AttCovEulerBlock)
AuxAntPositions(AuxAntPositionsBlock)
EndOfAtt(EndOfAttBlock)
GpsAlm(GpsAlmBlock)
GpsIon(GpsIonBlock)
GpsUtc(GpsUtcBlock)
GalAlm(GalAlmBlock)
GalIon(GalIonBlock)
GalUtc(GalUtcBlock)
GalGstGps(GalGstGpsBlock)
GalSarRlm(GalSarRlmBlock)
GloAlm(GloAlmBlock)
GloTime(GloTimeBlock)
BdsIon(BdsIonBlock)
BdsAlm(BdsAlmBlock)
BdsUtc(BdsUtcBlock)
QzsAlm(QzsAlmBlock)
GeoIonoDelay(GeoIonoDelayBlock)
GpsRawCa(GpsRawCaBlock)
GpsRawL2C(GpsRawL2CBlock)
GpsRawL5(GpsRawL5Block)
GeoRawL1(GeoRawL1Block)
GeoRawL5(GeoRawL5Block)
GloRawCa(GloRawCaBlock)
CmpRaw(CmpRawBlock)
BdsRawB1c(BdsRawB1cBlock)
BdsRawB2a(BdsRawB2aBlock)
IrnssRaw(IrnssRawBlock)
QzsRawL1Ca(QzsRawL1CaBlock)
QzsRawL2C(QzsRawL2CBlock)
QzsRawL5(QzsRawL5Block)
GeoMt00(GeoMt00Block)
GeoPrnMask(GeoPrnMaskBlock)
GeoFastCorr(GeoFastCorrBlock)
GeoFastCorrDegr(GeoFastCorrDegrBlock)
GeoDegrFactors(GeoDegrFactorsBlock)
GeoServiceLevel(GeoServiceLevelBlock)
GeoIntegrity(GeoIntegrityBlock)
GeoAlm(GeoAlmBlock)
GeoNetworkTime(GeoNetworkTimeBlock)
GeoIgpMask(GeoIgpMaskBlock)
GeoLongTermCorr(GeoLongTermCorrBlock)
GeoClockEphCovMatrix(GeoClockEphCovMatrixBlock)
ReceiverStatus(ReceiverStatusBlock)
TrackingStatus(ChannelStatusBlock)
ChannelStatus(ChannelStatusBlock)
SatVisibility(SatVisibilityBlock)
QualityInd(QualityIndBlock)
InputLink(InputLinkBlock)
OutputLink(OutputLinkBlock)
LBandTrackerStatus(LBandTrackerStatusBlock)
Commands(CommandsBlock)
Comment(CommentBlock)
ReceiverSetup(ReceiverSetupBlock)
BBSamples(BBSamplesBlock)
ASCIIIn(ASCIIInBlock)
NtripClientStatus(NtripClientStatusBlock)
NtripServerStatus(NtripServerStatusBlock)
RfStatus(RfStatusBlock)
RtcmDatum(RtcmDatumBlock)
LBandBeams(LBandBeamsBlock)
DynDnsStatus(DynDnsStatusBlock)
DiskStatus(DiskStatusBlock)
P2ppStatus(P2ppStatusBlock)
CosmosStatus(CosmosStatusBlock)
RxMessage(RxMessageBlock)
EncapsulatedOutput(EncapsulatedOutputBlock)
GisAction(GisActionBlock)
GisStatus(GisStatusBlock)
ReceiverTime(ReceiverTimeBlock)
PpsOffset(PpsOffsetBlock)
ExtEvent(ExtEventBlock)
ExtEventPvtCartesian(ExtEventPvtCartesianBlock)
ExtEventPvtGeodetic(ExtEventPvtGeodeticBlock)
ExtEventBaseVectGeod(ExtEventBaseVectGeodBlock)
ExtEventAttEuler(ExtEventAttEulerBlock)
EndOfPvt(EndOfPvtBlock)
IntPvCart(IntPvCartBlock)
IntPvGeod(IntPvGeodBlock)
IntPvaaGeod(IntPvaaGeodBlock)
IntAttEuler(IntAttEulerBlock)
IntPosCovCart(IntPosCovCartBlock)
IntVelCovCart(IntVelCovCartBlock)
IntPosCovGeod(IntPosCovGeodBlock)
IntVelCovGeod(IntVelCovGeodBlock)
IntAttCovEuler(IntAttCovEulerBlock)
IpStatus(IpStatusBlock)
IqCorr(IqCorrBlock)
ExtSensorMeas(ExtSensorMeasBlock)
ExtSensorStatus(ExtSensorStatusBlock)
ExtSensorSetup(ExtSensorSetupBlock)
KnownOpaque
Known block ID with intentionally opaque payload bytes.
Unknown
Unknown block (stores raw payload bytes).
Implementations§
Source§impl SbfBlock
impl SbfBlock
Sourcepub fn name(&self) -> &'static str
pub fn name(&self) -> &'static str
Get the block name
Examples found in repository?
examples/read_blocks.rs (line 19)
8fn main() -> Result<(), Box<dyn Error>> {
9 let path = env::args()
10 .nth(1)
11 .ok_or("usage: cargo run --example read_blocks -- <path-to-file.sbf>")?;
12
13 let file = File::open(&path)?;
14 let reader = SbfReader::new(file);
15 let mut counts = BTreeMap::<&'static str, u64>::new();
16
17 for block in reader {
18 let block = block?;
19 *counts.entry(block.name()).or_default() += 1;
20 }
21
22 for (name, count) in counts {
23 println!("{count:>8} {name}");
24 }
25
26 Ok(())
27}Sourcepub fn unsupported_payload(&self) -> Option<&[u8]>
pub fn unsupported_payload(&self) -> Option<&[u8]>
Get raw payload bytes for unsupported blocks.
Returns Some(&[u8]) for KnownOpaque and Unknown variants, otherwise None.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SbfBlock
impl RefUnwindSafe for SbfBlock
impl Send for SbfBlock
impl Sync for SbfBlock
impl Unpin for SbfBlock
impl UnsafeUnpin for SbfBlock
impl UnwindSafe for SbfBlock
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more