This class provides a factory that processes PackedNavBits data containing GLONASS CDMA civil nav data as defined in the GLONASS CDMA ICD. The results of the addData method (in the navOut argument) may contain any number of GLOCNavAlm, GLOCNavEph, GLOCNavHealth, GLOCNavISC, GLOCNavTimeOffset or GLOCNavUT1TimeOffset 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 68 of file PNBGLOCNavDataFactory.hpp.
#include <PNBGLOCNavDataFactory.hpp>
Classes | |
class | TimeMeta |
Class to store fields used to turn GLONASS into UT1. More... | |
Public Member Functions | |
bool | addData (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, double cadence=-1) override |
PNBGLOCNavDataFactory () | |
Initialize data members. More... | |
bool | processAlm (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut) |
bool | processEarth (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut) |
bool | processEph (unsigned long stringID, const PackedNavBitsPtr &navIn, NavDataPtrList &navOut) |
bool | processHeader (const PackedNavBitsPtr &navIn, GLOCNavHeader &navOut) |
bool | processHealth (const PackedNavBitsPtr &navIn, NavDataPtrList &navOut) |
bool | processLTDMP (unsigned long stringID, const PackedNavBitsPtr &navIn) |
void | resetState () override |
![]() | |
PNBNavDataFactory () | |
virtual void | setControl (const FactoryControl &ctrl) |
virtual void | setTypeFilter (const NavMessageTypeSet &nmts) |
virtual void | setValidityFilter (NavValidityType nvt) |
Protected Attributes | |
std::map< NavSatelliteID, std::vector< PackedNavBitsPtr > > | almAcc |
CommonTime | almDOY |
Used to set the reference almanac time. More... | |
BasicTimeSystemConverter | btsc |
Used to convert time stamps to and from GLONASS. More... | |
std::map< NavSatelliteID, std::vector< PackedNavBitsPtr > > | ephAcc |
std::map< NavSatelliteID, GLOCNavLTDMP > | ltdmpAcc |
bool | pendingAlms |
std::map< NavSatelliteID, TimeMeta > | timeAcc |
![]() | |
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... | |
gnsstk::PNBGLOCNavDataFactory::PNBGLOCNavDataFactory | ( | ) |
Initialize data members.
Definition at line 63 of file PNBGLOCNavDataFactory.cpp.
|
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 71 of file PNBGLOCNavDataFactory.cpp.
bool gnsstk::PNBGLOCNavDataFactory::processAlm | ( | const PackedNavBitsPtr & | navIn, |
NavDataPtrList & | navOut | ||
) |
Process string type 20. That almanac is placed in navOut.
[in] | navIn | The as-broadcast almanac bits. |
[out] | navOut | If an almanac is completed and the data is requested, this will contain a GLOCNavAlm object. If an almanac is completed and health data is requested, it will contain a GLOCNavHealth object. |
Definition at line 443 of file PNBGLOCNavDataFactory.cpp.
bool gnsstk::PNBGLOCNavDataFactory::processEarth | ( | const PackedNavBitsPtr & | navIn, |
NavDataPtrList & | navOut | ||
) |
Process Earth data, including iono and time offset.
[in] | navIn | The as-broadcast nav data string. |
[out] | navOut | Any resulting NavData objects that were completed, usually as a sresult of adding navIno the set of data. |
Definition at line 202 of file PNBGLOCNavDataFactory.cpp.
bool gnsstk::PNBGLOCNavDataFactory::processEph | ( | unsigned long | stringID, |
const PackedNavBitsPtr & | navIn, | ||
NavDataPtrList & | navOut | ||
) |
Process strings type 10-12. When a complete ephemeris of strings 10-12 with consecutive time stamps is accumulated in ephAcc, that ephemeris is placed in navOut. An ISC and/or health object may also be added to navOut when available and such processing is enabled.
[in] | stringID | The string ID (10-12) pertaining to navIn. |
[in] | navIn | The as-broadcast ephemeris bits. |
[out] | navOut | If an ephemeris is completed and requested, this will contain a GLOCNavEph object. If navIn contains string 4 and ISC data is requested, navOut will contain a GLOCNavISC object. If an ephemeris is completed and health data is requested, navOut will contain a GLOCNavHealth object. |
Definition at line 264 of file PNBGLOCNavDataFactory.cpp.
bool gnsstk::PNBGLOCNavDataFactory::processHeader | ( | const PackedNavBitsPtr & | navIn, |
GLOCNavHeader & | navOut | ||
) |
Process the header data in any given string.
[in] | navIn | The as-broadcast nav data string. |
[in,out] | navOut | The object to decode the header into. |
Definition at line 175 of file PNBGLOCNavDataFactory.cpp.
bool gnsstk::PNBGLOCNavDataFactory::processHealth | ( | const PackedNavBitsPtr & | navIn, |
NavDataPtrList & | navOut | ||
) |
Process the health bits in the GLONASS CDMA Nav header.
[in] | navIn | The as-broadcast nav data string. |
[out] | navOut | Any resulting NavData objects that were completed, usually as a result of adding navIn to the set of data. |
Definition at line 244 of file PNBGLOCNavDataFactory.cpp.
bool gnsstk::PNBGLOCNavDataFactory::processLTDMP | ( | unsigned long | stringID, |
const PackedNavBitsPtr & | navIn | ||
) |
Process strings 31 and 32 which contain the long-term dynamic model parameters.
[in] | stringID | The string ID (31 or 32) pertaining to navIn. |
[in] | navIn | The as-broadcast string 31 or 32 bits. |
< Instant in Moscow time this data relates to.
Definition at line 505 of file PNBGLOCNavDataFactory.cpp.
|
overridevirtual |
Reset the state of the data accumulator. Most PNBNavDataFactory child classes will maintain some state to assemble data prior to processing. This method is intended to be used to clear out that intermediate data to start from a fresh state, e.g. if you're loading discontinuous data.
Implements gnsstk::PNBNavDataFactory.
Definition at line 554 of file PNBGLOCNavDataFactory.cpp.
|
protected |
Map GLONASS satellite ID to a vector of PackedNavBits for accumulating almanac data, where index 0 is string 6 and so on.
Definition at line 180 of file PNBGLOCNavDataFactory.hpp.
|
protected |
Used to set the reference almanac time.
Definition at line 188 of file PNBGLOCNavDataFactory.hpp.
|
protected |
Used to convert time stamps to and from GLONASS.
Definition at line 186 of file PNBGLOCNavDataFactory.hpp.
|
protected |
Map GLONASS satellite ID to a vector of PackedNavBits for accumulating ephemeris data, where index 0 is string 1 and so on.
Definition at line 173 of file PNBGLOCNavDataFactory.hpp.
|
protected |
Map GLONASS satellite ID to a vector of GLOCNavLTDMP for accumulating ephemeris data
Definition at line 176 of file PNBGLOCNavDataFactory.hpp.
|
protected |
Set to true if there are pending almanacs waiting on almDOY to be set.
Definition at line 192 of file PNBGLOCNavDataFactory.hpp.
|
protected |
Map GLONASS transmit satellite ID to TimeMeta to accumulate complete GLONASS to UT1 time corrections.
Definition at line 169 of file PNBGLOCNavDataFactory.hpp.