Public Types | Public Member Functions | Public Attributes | List of all members
gnsstk::LNavEphMaker Class Reference

Detailed Description

"Filter" GPS LNAV subframes, assembling valid ephemerides into groups.

Attention
Processing depth = 3 epochs. Unlike other filters, valid data isn't always returned using the validate() or finalize() methods. In this implementation, validate() only uses the accept mechanism for returning data from validate() calls for subframes that are NOT ephemeris subframes, i.e. not subframe ID 1-3. Instead, valid ephemeris subframes are stored internally in the ephemerides structure and then copied to completedEphs when the full three subframes are accumulated. The data in completedEphs should be treated as accepted and should also be deleted when the user is finished with the data.

Definition at line 75 of file LNavEphMaker.hpp.

#include <LNavEphMaker.hpp>

Inheritance diagram for gnsstk::LNavEphMaker:
Inheritance graph
[legend]

Public Types

typedef std::vector< LNavFilterData * > EphGroup
 Group of 3 subframes making up an ephemeris. More...
 
typedef std::list< EphGroup * > EphList
 List of complete ephemerides. More...
 
typedef std::map< LNavFilterData *, EphGroup, LNavEphMakerSortEphMap
 Ephemerides by stn/rx/prn/carrier/code. More...
 
- Public Types inherited from gnsstk::NavFilter
typedef std::list< NavFilterKey * > NavMsgList
 

Public Member Functions

virtual std::string filterName () const noexcept
 Return the filter name. More...
 
virtual void finalize (NavMsgList &msgBitsOut)
 
 LNavEphMaker ()
 
virtual unsigned processingDepth () const noexcept
 Internally stores 3 epochs worth of subframe data. More...
 
virtual void validate (NavMsgList &msgBitsIn, NavMsgList &msgBitsOut)
 
- Public Member Functions inherited from gnsstk::NavFilter
virtual void dumpRejected (std::ostream &out) const
 Debug support. More...
 
 NavFilter ()
 
virtual std::string reasonTerse () const noexcept
 
virtual std::vector< std::string > reasonVerbose () const noexcept
 

Public Attributes

EphList completeEphs
 
EphMap ephemerides
 Storage for the assembly of ephemerides. More...
 
- Public Attributes inherited from gnsstk::NavFilter
NavMsgList rejected
 

Additional Inherited Members

- Protected Member Functions inherited from gnsstk::NavFilter
void accept (const NavMsgList &valid, NavMsgList &msgBitsOut)
 
void accept (NavFilterKey *data, NavMsgList &msgBitsOut)
 
void reject (const NavMsgList &invalid)
 
void reject (NavFilterKey *data)
 

Member Typedef Documentation

◆ EphGroup

Group of 3 subframes making up an ephemeris.

Definition at line 79 of file LNavEphMaker.hpp.

◆ EphList

List of complete ephemerides.

Definition at line 81 of file LNavEphMaker.hpp.

◆ EphMap

Ephemerides by stn/rx/prn/carrier/code.

Definition at line 83 of file LNavEphMaker.hpp.

Constructor & Destructor Documentation

◆ LNavEphMaker()

gnsstk::LNavEphMaker::LNavEphMaker ( )

Definition at line 45 of file LNavEphMaker.cpp.

Member Function Documentation

◆ filterName()

virtual std::string gnsstk::LNavEphMaker::filterName ( ) const
inlinevirtualnoexcept

Return the filter name.

Implements gnsstk::NavFilter.

Definition at line 115 of file LNavEphMaker.hpp.

◆ finalize()

void gnsstk::LNavEphMaker::finalize ( NavMsgList msgBitsOut)
virtual

Flush the filter's stored data, if any. This method is called by NavFilterMgr::finalize() which is in turn called by the user. This method allows any lingering data stored internally by filters to be output.

Parameters
[out]msgBitsOutThe messages successfully passing the filter.

Implements gnsstk::NavFilter.

Definition at line 101 of file LNavEphMaker.cpp.

◆ processingDepth()

virtual unsigned gnsstk::LNavEphMaker::processingDepth ( ) const
inlinevirtualnoexcept

Internally stores 3 epochs worth of subframe data.

Implements gnsstk::NavFilter.

Definition at line 111 of file LNavEphMaker.hpp.

◆ validate()

void gnsstk::LNavEphMaker::validate ( NavMsgList msgBitsIn,
NavMsgList msgBitsOut 
)
virtual
Note
All messages will pass this "filter", however only valid ephemerides will be made available to the user in the completeEphs structure after a validate() call.
Precondition
The subframe ID and TOW count are valid (i.e. LNavFilterData::sf[1] bits 8-10 and 13-29 are valid).
NavFilterKey::stationID is set.
NavFilterKey::rxID is set.
NavFilterKey::prn is set.
NavFilterKey::carrier is set.
NavFilterKey::code is set.
LNavFilterData::sf is set.
Postcondition
Valid ephemerides will be stored in completeEphs, however the contents of completeEphs will be cleared at the beginning of this function. As such, only those ephemerides noted as valid by a given call to validate() will be present in completeEphs.

Implements gnsstk::NavFilter.

Definition at line 51 of file LNavEphMaker.cpp.

Member Data Documentation

◆ completeEphs

EphList gnsstk::LNavEphMaker::completeEphs

Storage of pointers to complete, valid ephemerides. This data member will contain valid ephemerides identified after the completion of a single validate() call. There is no carry-over of contents between calls to validate().

Definition at line 125 of file LNavEphMaker.hpp.

◆ ephemerides

EphMap gnsstk::LNavEphMaker::ephemerides

Storage for the assembly of ephemerides.

Definition at line 119 of file LNavEphMaker.hpp.


The documentation for this class was generated from the following files:


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:45