This class provides a factory that processes PackedNavBits data containing GPS CNav2 (Civil Nav on L1C) data as defined in IS-GPS-800 section 3.5. The results of the addData method (in the navOut argument) may contain any number of GPSCNav2Alm, GPSCNav2Eph, GPSCNav2Health or GPSCNav2TimeOffset objects, according to what data is fed to the method and what data is requested via the validity and type filters (see PNBNavDataFactory).
Definition at line 60 of file PNBGPSCNav2DataFactory.hpp.
#include <PNBGPSCNav2DataFactory.hpp>
Public Member Functions | |
bool | addData (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, double cadence=-1) override |
bool | processAlmOrb (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, unsigned offset=0) |
bool | processEph (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, unsigned offset=0) |
bool | processGGTOEOP (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, unsigned offset=0) |
bool | processISC (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut) |
bool | processSF3 (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, unsigned offset=0) |
bool | processUTCIono (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, unsigned offset=0) |
void | resetState () override |
Reset the state of the data accumulator (for ISCs). More... | |
![]() | |
PNBNavDataFactory () | |
virtual void | setControl (const FactoryControl &ctrl) |
virtual void | setTypeFilter (const NavMessageTypeSet &nmts) |
virtual void | setValidityFilter (NavValidityType nvt) |
Static Public Member Functions | |
static CommonTime | getSF2Time (const CommonTime ×tamp) |
static CommonTime | getSF3Time (const CommonTime ×tamp) |
Protected Types | |
typedef std::shared_ptr< GPSCNav2ISC > | GPSCNav2ISCPtr |
Quick alias for a shared_ptr to GPSCNav2ISC. More... | |
Protected Member Functions | |
GPSCNav2ISCPtr | getISCObj (const PackedNavBitsPtr &navIn, const NavSatelliteID &nsid) |
Protected Attributes | |
std::map< NavSatelliteID, GPSCNav2ISCPtr > | iscAcc |
Map signal to ISC for accumulating data between SF2 and SF3. More... | |
![]() | |
FactoryControl | factControl |
Configuration for the behavior of this factory. More... | |
NavValidityType | navValidity |
Determines how the factory should filter added data. More... | |
bool | processAlm |
If true, almanac data will be output by addData. More... | |
bool | processEph |
If true, ephemeris data will be output by addData. More... | |
bool | processHea |
If true, health data will be output by addData. More... | |
bool | processIono |
If true, ionospheric data will be output by addData. More... | |
bool | processISC |
If true, inter-signal correction data will be output by addData. More... | |
bool | processTim |
If true, time offset data will be output by addData. More... | |
|
protected |
Quick alias for a shared_ptr to GPSCNav2ISC.
Definition at line 139 of file PNBGPSCNav2DataFactory.hpp.
|
overridevirtual |
Process a PackedNavBits object, producing NavData objects as appropriate.
[in] | navIn | The PackedNavBits data to process. |
[out] | navOut | Any resulting NavData objects that were completed, usually as a result of adding navIn to the set of data. |
[in] | cadence | This value is ignored in this class. |
Implements gnsstk::PNBNavDataFactory.
Definition at line 67 of file PNBGPSCNav2DataFactory.cpp.
|
protected |
Retrieve an existing GPSCNav2ISCPtr from iscAsc or create and return a new one.
[in] | navIn | The PackedNavBits being used to construct the ISC data (for setting the time stamp). |
[in] | nsid | The satellite/signal identifier for the data contained within navIn. |
Definition at line 593 of file PNBGPSCNav2DataFactory.cpp.
|
static |
Adjust a timestamp so it matches the transmit time of subframe 2, which is going to be offset by 0.52 seconds
Definition at line 606 of file PNBGPSCNav2DataFactory.cpp.
|
static |
Adjust a timestamp so it matches the transmit time of subframe 3, which is going to be offset by 12.52 seconds
Definition at line 622 of file PNBGPSCNav2DataFactory.cpp.
bool gnsstk::PNBGPSCNav2DataFactory::processAlmOrb | ( | const PackedNavBitsPtr & | navIn, |
NavDataPtrList & | navOut, | ||
unsigned | offset = 0 |
||
) |
Process subframe 3 page 4 (midi almanac).
[in] | navIn | The PackedNavBits data containing the message. |
[out] | navOut | The GPSCNav2Alm and/or GPSCNav2Health objects generated from navIn. |
[in] | offset | The bit offset for the start of the almanac. |
Definition at line 253 of file PNBGPSCNav2DataFactory.cpp.
bool gnsstk::PNBGPSCNav2DataFactory::processEph | ( | const PackedNavBitsPtr & | navIn, |
NavDataPtrList & | navOut, | ||
unsigned | offset = 0 |
||
) |
Process ephemeris messages.
[in] | navIn | The as-broadcast ephemeris message bits. |
[out] | navOut | This will contain a GPSCNav2Eph object. |
[in] | offset | The bit offset for the start of the ephemeris. |
Definition at line 116 of file PNBGPSCNav2DataFactory.cpp.
bool gnsstk::PNBGPSCNav2DataFactory::processGGTOEOP | ( | const PackedNavBitsPtr & | navIn, |
NavDataPtrList & | navOut, | ||
unsigned | offset = 0 |
||
) |
Process subframe 3 page 2 (GGTO & EOP).
[in] | navIn | The PackedNavBits data containing the message. |
[out] | navOut | The GPSCNav2TimeOffset objects generated from navIn. |
[in] | offset | The bit offset for the start of the time offset. |
Definition at line 443 of file PNBGPSCNav2DataFactory.cpp.
bool gnsstk::PNBGPSCNav2DataFactory::processISC | ( | const PackedNavBitsPtr & | navIn, |
NavDataPtrList & | navOut | ||
) |
Definition at line 499 of file PNBGPSCNav2DataFactory.cpp.
bool gnsstk::PNBGPSCNav2DataFactory::processSF3 | ( | const PackedNavBitsPtr & | navIn, |
NavDataPtrList & | navOut, | ||
unsigned | offset = 0 |
||
) |
Process subframe 3, any page.
[in] | navIn | The PackedNavBits data containing the message. |
[out] | navOut | The GPSCNav2Alm, GPSCNav2Health and/or GPSCNav2TimeOffset objects generated from navIn. |
[in] | offset | The bit offset for the start of subframe 3. |
Definition at line 229 of file PNBGPSCNav2DataFactory.cpp.
bool gnsstk::PNBGPSCNav2DataFactory::processUTCIono | ( | const PackedNavBitsPtr & | navIn, |
NavDataPtrList & | navOut, | ||
unsigned | offset = 0 |
||
) |
Process subframe 3 page 1 (UTC & IONO).
[in] | navIn | The PackedNavBits data containing the message. |
[out] | navOut | The GPSCNav2TimeOffset objects generated from navIn. |
[in] | offset | The bit offset for the start of the time offset. |
Definition at line 373 of file PNBGPSCNav2DataFactory.cpp.
|
inlineoverridevirtual |
Reset the state of the data accumulator (for ISCs).
Implements gnsstk::PNBNavDataFactory.
Definition at line 126 of file PNBGPSCNav2DataFactory.hpp.
|
protected |
Map signal to ISC for accumulating data between SF2 and SF3.
Definition at line 142 of file PNBGPSCNav2DataFactory.hpp.