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

Detailed Description

Wrapper for the 9-bit health status in BeiDou D1NAV subframe 5, page 7-8.

Definition at line 51 of file BDSD1NavHealth.hpp.

#include <BDSD1NavHealth.hpp>

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

Public Types

enum  BDSD1HealthBits {
  SatClock = 0x100, B1ISignalWeak = 0x80, B2ISignalWeak = 0x40, B3ISignalWeak = 0x20,
  NavMsgBad = 0x02
}
 

Public Member Functions

 BDSD1NavHealth ()
 Initialize to unhealthy using a value typically not seen in health. More...
 
NavDataPtr clone () const override
 Create a deep copy of this object. More...
 
void dump (std::ostream &s, DumpDetail dl) const override
 
SVHealth getHealth () const override
 
bool validate () const override
 
- Public Member Functions inherited from gnsstk::NavHealthData
std::list< std::string > compare (const NavDataPtr &right) const override
 
CommonTime getNearTime () const override
 
bool isSameData (const NavDataPtr &right) const override
 
 NavHealthData ()
 Set our message type to health so we don't have to in every leaf. More...
 
- Public Member Functions inherited from gnsstk::NavData
virtual std::string getClassName () const
 
std::string getDumpTime (DumpDetail dl, const CommonTime &t) const
 
std::string getDumpTimeHdr (DumpDetail dl) const
 
std::string getSignalString () const
 
bool getSVN (const SatID &sat, const gnsstk::CommonTime &when, std::string &svn) const
 
virtual CommonTime getUserTime () const
 
 NavData ()
 Initialize internal data fields. More...
 

Public Attributes

bool isAlmHealth
 If true, svHealth is representative, otherwise satH1 is. More...
 
bool satH1
 Ephemeris health (autonomous satellite health flag). More...
 
uint16_t svHealth
 9-bit health from subframes 4. More...
 
- Public Attributes inherited from gnsstk::NavData
NavMessageID signal
 Source signal identification for this navigation message data. More...
 
CommonTime timeStamp
 
std::string weekFmt
 

Additional Inherited Members

- Static Public Member Functions inherited from gnsstk::NavData
static gnsstk::SatMetaDataStoregetSatMetaDataStore ()
 Accessor for python. More...
 
static void setSatMetaDataStore (gnsstk::SatMetaDataStore *smds)
 Accessor for python. More...
 
- Static Public Attributes inherited from gnsstk::NavData
static const GNSSTK_EXPORT std::string dumpTimeFmt
 Time format used for the dump method (Full). More...
 
static const GNSSTK_EXPORT std::string dumpTimeFmtBrief
 Time format used for the dump method (Brief). More...
 
static GNSSTK_EXPORT gnsstk::SatMetaDataStoresatMetaDataStore = nullptr
 Set this to a valid store to get PRN->SVN translations in dump(). More...
 
- Protected Attributes inherited from gnsstk::NavData
double msgLenSec
 

Member Enumeration Documentation

◆ BDSD1HealthBits

Enumeration for defining the D1 health bits meaning. Intentionally not an enum class, which would require having to cast the values to an integer before doing bit math e.g. "svHealth & SatClock" vs. "svHealth & static_cast<uint16_t>(BDSD1HealthBits::SatClock)"

Enumerator
SatClock 

Per table 5-15: "the satellite clock is unavailable if the other 8 bits are all “0”; the satellite is in failure or permanently shut off if the last 8bits are all “1”; the definition is reserved if the other 8 bits are in other values."

B1ISignalWeak 

B1I signal power 10dB+ lower than nominal.

B2ISignalWeak 

B2I signal power 10dB+ lower than nominal.

B3ISignalWeak 

B3I signal power 10dB+ lower than nominal.

NavMsgBad 

IOD over limit.

Definition at line 59 of file BDSD1NavHealth.hpp.

Constructor & Destructor Documentation

◆ BDSD1NavHealth()

gnsstk::BDSD1NavHealth::BDSD1NavHealth ( )

Initialize to unhealthy using a value typically not seen in health.

Definition at line 47 of file BDSD1NavHealth.cpp.

Member Function Documentation

◆ clone()

NavDataPtr gnsstk::BDSD1NavHealth::clone ( ) const
inlineoverridevirtual

Create a deep copy of this object.

Implements gnsstk::NavData.

Definition at line 77 of file BDSD1NavHealth.hpp.

◆ dump()

void gnsstk::BDSD1NavHealth::dump ( std::ostream &  s,
DumpDetail  dl 
) const
overridevirtual

Print the contents of this object in a human-readable format.

Parameters
[in,out]sThe stream to write the data to.
[in]dlThe level of detail the output should contain.

Reimplemented from gnsstk::NavData.

Definition at line 83 of file BDSD1NavHealth.cpp.

◆ getHealth()

SVHealth gnsstk::BDSD1NavHealth::getHealth ( ) const
overridevirtual

Defines the status of NavData::signal, specifically sat (not xmitSat).

Returns
Healthy if no health bits are set.
Todo:
Determine if this is reasonable. It appears as though the reserved health bits can sometimes be non-zero even if other explicitly defined bits are not, and also different signals can be set unhealthy. So if we have health data that is tagged as B1I that says B3I is unhealthy, do we indicate that we're unhealthy? Compare that to GPS LNAV which defines health bits in a similar fashion (different bits indicate health on different signals), but it's not really used that way - typically either all bits are set or cleared. As such, we need to clarify user expectations as much as anything.

Implements gnsstk::NavHealthData.

Definition at line 58 of file BDSD1NavHealth.cpp.

◆ validate()

bool gnsstk::BDSD1NavHealth::validate ( ) const
inlineoverridevirtual

Checks the contents of this message against known validity rules as defined in the appropriate ICD.

Returns
true always as there is nothing to check in this class.

Implements gnsstk::NavData.

Definition at line 84 of file BDSD1NavHealth.hpp.

Member Data Documentation

◆ isAlmHealth

bool gnsstk::BDSD1NavHealth::isAlmHealth

If true, svHealth is representative, otherwise satH1 is.

Definition at line 99 of file BDSD1NavHealth.hpp.

◆ satH1

bool gnsstk::BDSD1NavHealth::satH1

Ephemeris health (autonomous satellite health flag).

Definition at line 101 of file BDSD1NavHealth.hpp.

◆ svHealth

uint16_t gnsstk::BDSD1NavHealth::svHealth

9-bit health from subframes 4.

Definition at line 103 of file BDSD1NavHealth.hpp.


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


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