0.2.0
Loading...
Searching...
No Matches
NAV::Code Class Reference

Enumerate for GNSS Codes. More...

Public Types

enum  {
  _GPS_START ,
  _GPS_END ,
  _GAL_START ,
  _GAL_END ,
  _GLO_START ,
  _GLO_END ,
  _BDS_START ,
  _BDS_END ,
  _QZSS_START ,
  _QZSS_END ,
  _IRNSS_START ,
  _IRNSS_END ,
  _SBAS_START ,
  _SBAS_END ,
  _G01_START ,
  _G01_END ,
  _G02_START ,
  _G02_END ,
  _G05_START ,
  _G05_END ,
  _E01_START ,
  _E01_END ,
  _E05_START ,
  _E05_END ,
  _E06_START ,
  _E06_END ,
  _E07_START ,
  _E07_END ,
  _E08_START ,
  _E08_END ,
  _R01_START ,
  _R01_END ,
  _R02_START ,
  _R02_END ,
  _R03_START ,
  _R03_END ,
  _R04_START ,
  _R04_END ,
  _R06_START ,
  _R06_END ,
  _B01_START ,
  _B01_END ,
  _B02_START ,
  _B02_END ,
  _B05_START ,
  _B05_END ,
  _B06_START ,
  _B06_END ,
  _B07_START ,
  _B07_END ,
  _B08_START ,
  _B08_END ,
  _J01_START ,
  _J01_END ,
  _J02_START ,
  _J02_END ,
  _J05_START ,
  _J05_END ,
  _J06_START ,
  _J06_END ,
  _I05_START ,
  _I05_END ,
  _I09_START ,
  _I09_END ,
  _S01_START ,
  _S01_END ,
  _S05_START ,
  _S05_END ,
  COUNT
}
 Helper variables. More...
 
enum  Enum {
  None ,
  G1C ,
  G1S ,
  G1L ,
  G1X ,
  G1P ,
  G1W ,
  G1Y ,
  G1M ,
  G1N ,
  G2C ,
  G2D ,
  G2S ,
  G2L ,
  G2X ,
  G2P ,
  G2W ,
  G2Y ,
  G2M ,
  G2N ,
  G5I ,
  G5Q ,
  G5X ,
  E1A ,
  E1B ,
  E1C ,
  E1X ,
  E1Z ,
  E5I ,
  E5Q ,
  E5X ,
  E6A ,
  E6B ,
  E6C ,
  E6X ,
  E6Z ,
  E7I ,
  E7Q ,
  E7X ,
  E8I ,
  E8Q ,
  E8X ,
  R1C ,
  R1P ,
  R2C ,
  R2P ,
  R3I ,
  R3Q ,
  R3X ,
  R4A ,
  R4B ,
  R4X ,
  R6A ,
  R6B ,
  R6X ,
  B1D ,
  B1P ,
  B1X ,
  B2I ,
  B2Q ,
  B2X ,
  B5D ,
  B5P ,
  B5X ,
  B6I ,
  B6Q ,
  B6X ,
  B6A ,
  B7I ,
  B7Q ,
  B7X ,
  B7D ,
  B7P ,
  B7Z ,
  B8D ,
  B8P ,
  B8X ,
  J1C ,
  J1S ,
  J1L ,
  J1X ,
  J1Z ,
  J2S ,
  J2L ,
  J2X ,
  J5I ,
  J5Q ,
  J5X ,
  J5D ,
  J5P ,
  J5Z ,
  J6S ,
  J6L ,
  J6X ,
  J6E ,
  J6Z ,
  I5A ,
  I5B ,
  I5C ,
  I5X ,
  I9A ,
  I9B ,
  I9C ,
  I9X ,
  S1C ,
  S5I ,
  S5Q ,
  S5X
}
 Enumeration of all Codes. More...
 
using Set
 Typedef for the bitset with size of COUNT.
 

Public Member Functions

constexpr Code ()=default
 Default constructor for an empty code.
 
constexpr Code (const Set &set)
 Constructor from a biset.
 
 Code (Enum e)
 Constructor from a single code value.
 
 Code (Frequency_ freq)
 Constructor from a frequency.
 
 Code (SatelliteSystem_ sys)
 Constructor from a satellite system.
 
const char * getDescription () const
 Returns a short description for the code.
 
Enum getEnumValue () const
 Returns the enum value for the code (only one must be set)
 
Frequency getFrequency () const
 Returns the frequency for the code.
 
 operator bool () const
 Implicit bool conversion operator. Allows if(...)
 
constexpr operator Set () const
 std::bitset conversion operator
 
 operator std::string () const
 std::string conversion operator
 
Codeoperator&= (const Code &rhs)
 Allows combining flags of the Code enum.
 
Codeoperator&= (const Enum &rhs)
 Allows combining flags of the Code enum.
 
Codeoperator&= (const Frequency &rhs)
 Allows filtering Code with Frequency.
 
Codeoperator&= (const Frequency_ &rhs)
 Allows filtering Code with Frequency.
 
Codeoperator&= (const SatelliteSystem &rhs)
 Allows filtering Code with SatelliteSystem.
 
Codeoperator&= (const SatelliteSystem_ &rhs)
 Allows filtering Code with SatelliteSystem.
 
Codeoperator|= (const Code &rhs)
 Allows combining flags of the Code enum.
 
Codeoperator|= (const Enum &rhs)
 Allows combining flags of the Code enum.
 
Codeoperator|= (const Frequency &rhs)
 Allows filtering Code with Frequency.
 
Codeoperator|= (const Frequency_ &rhs)
 Allows filtering Code with Frequency.
 
Codeoperator|= (const SatelliteSystem &rhs)
 Allows filtering Code with SatelliteSystem.
 
Codeoperator|= (const SatelliteSystem_ &rhs)
 Allows filtering Code with SatelliteSystem.
 
Code operator~ () const
 Allows negating flags of the Code enum.
 

Static Public Member Functions

static Code fromFreqAttr (Frequency freq, char attribute)
 Generates a Code from frequency and attribute.
 
static std::vector< CodeGetAll ()
 Returns a list with all possible codes.
 
static const char * GetCodeDescription (Code code)
 Returns a short description for the code.
 
static Enum GetCodeEnumValue (Code code)
 Returns the enum value for the code (only one must be set)
 
static Frequency GetCodeFequency (Code code)
 Returns the frequency for the code.
 
static bool IsCodeCombined (Code first, Code second)
 Checks if the codes are part of a combined code.
 

Detailed Description

Enumerate for GNSS Codes.

System Band Code Description
GPS L1 L1C C/A-code
L1S, L1L, L1X L1C (data, pilot, combined)
L1P P-code (unencrypted)
L1W Semicodeless P(Y) tracking (Z-tracking)
L1Y Y-code (with decryption)
L1M M-code
L1N codeless
L2 L2C C/A-code
L2D Semi-codeless P(Y) tracking (L1 C/A+(P2-P1))
L2S, L2L, L2X L2C-code (medium, long, combined)
L2P P-code (unencrypted)
L2W Semicodeless P(Y) tracking (Z-tracking)
L2Y Y-code (with decryption)
L2M M-code
L2N codeless
L5 L5I, L5Q, L5X L5 (data, pilot, combined)
Galileo E1 L1A PRS signal
L1B, L1C, L1X OS (data, pilot, combined)
L1Z PRS + OS(data+pilot)
E5a L5I, L5Q, L5X E5a (data, pilot, combined)
E6 L6A E6 PRS signal
L6B, L6C, L6X E6 (data, pilot, combined)
L6Z E6 PRS + OS(data+pilot)
E5b L7I, L7Q, L7X E5b (data, pilot, combined)
E5 L8I, L8Q, L8X E5 AltBOC (data, pilot, combined)
GLONASS L1 L1C C/A-code
L1P P-code
L2 L2C C/A-code
L2P P-code
L3 L3I, L3Q, L3X L3 (data, pilot, combined)
G1a L4A, L4B, L4X G1a (data, pilot, combined)
G2b L6A, L6B, L6X G2a (data, pilot, combined)
BeiDou (BDS-2/3) B1 L1D, L1P, L1X B1 (data, pilot, combined)
B1-2L2I, L2Q, L2X B1I(OS), B1Q, combined
B2a L5D, L5P, L5X B2a (data, pilot, combined)
B3 L6I, L6Q, L6X B3I, B3Q, combined
L6A B3A
B2b L7I, L7Q, L7X BDS-2: B2I(OS), B2Q, combined
L7D, L7P, L7Z BDS-3: data, pilot, combined
B2 L8D, L8P, L8X B2 (B2a+B2b): data, pilot, combined
QZSS L1 L1C C/A-code
L1S, L1L, L1X L1C (data, pilot, combined)
L1Z L1-SAIF signal
L2 L2S, L2L, L2X L2C-code (medium, long, combined)
L5 L5I, L5Q, L5X L5 (data, pilot, combined)
L5D, L5P, L5Z I, Q, combined
L6 L6S, L6L, L6X LEX signal (short, long, combined)
L6E L6E
L6Z L6(D+E)
IRNSS/NavIC L5 L5A SPS Signal
L5B, L5C, L5X RS (data, pilot, combined)
S L9A SPS signal
L9B, L9C, L9X RS (data, pilot, combined)
SBAS L1 L1C C/A-code
L5 L5I, L5Q, L5X L5 (data, pilot, combined)
Note
See [43] Springer Handbook GNSS Annex A, Table A.5, p. 1211
See [37] RINEX 3.04 Appendix A23, p. A43-A46 (97-100)

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Helper variables.

Enumerator
_GPS_START 

GPS start index in the Enum.

_GPS_END 

GPS end index in the Enum.

_GAL_START 

GAL start index in the Enum.

_GAL_END 

GAL end index in the Enum.

_GLO_START 

GLO start index in the Enum.

_GLO_END 

GLO end index in the Enum.

_BDS_START 

BDS start index in the Enum.

_BDS_END 

BDS end index in the Enum.

_QZSS_START 

QZSS start index in the Enum.

_QZSS_END 

QZSS end index in the Enum.

_IRNSS_START 

IRNSS start index in the Enum.

_IRNSS_END 

IRNSS end index in the Enum.

_SBAS_START 

SBAS start index in the Enum.

_SBAS_END 

SBAS end index in the Enum.

_G01_START 

GPS L1 start index in the Enum.

_G01_END 

GPS L1 end index in the Enum.

_G02_START 

GPS L2 start index in the Enum.

_G02_END 

GPS L2 end index in the Enum.

_G05_START 

GPS L5 start index in the Enum.

_G05_END 

GPS L5 end index in the Enum.

_E01_START 

GAL E1 start index in the Enum.

_E01_END 

GAL E1 end index in the Enum.

_E05_START 

GAL E5a start index in the Enum.

_E05_END 

GAL E5a end index in the Enum.

_E06_START 

GAL E6 start index in the Enum.

_E06_END 

GAL E6 end index in the Enum.

_E07_START 

GAL E5b start index in the Enum.

_E07_END 

GAL E5b end index in the Enum.

_E08_START 

GAL E5(a+b) start index in the Enum.

_E08_END 

GAL E5(a+b) end index in the Enum.

_R01_START 

GLO L1 start index in the Enum.

_R01_END 

GLO L1 end index in the Enum.

_R02_START 

GLO L2 start index in the Enum.

_R02_END 

GLO L2 end index in the Enum.

_R03_START 

GLO L3 start index in the Enum.

_R03_END 

GLO L3 end index in the Enum.

_R04_START 

GLO G1a start index in the Enum.

_R04_END 

GLO G1a end index in the Enum.

_R06_START 

GLO G2a start index in the Enum.

_R06_END 

GLO G2a end index in the Enum.

_B01_START 

BDS B1 start index in the Enum.

_B01_END 

BDS B1 end index in the Enum.

_B02_START 

BDS B1-2 start index in the Enum.

_B02_END 

BDS B1-2 end index in the Enum.

_B05_START 

BDS B2a start index in the Enum.

_B05_END 

BDS B2a end index in the Enum.

_B06_START 

BDS B3 start index in the Enum.

_B06_END 

BDS B3 end index in the Enum.

_B07_START 

BDS B2b start index in the Enum.

_B07_END 

BDS B2b end index in the Enum.

_B08_START 

BDS B2 (B2a+B2b) start index in the Enum.

_B08_END 

BDS B2 (B2a+B2b) end index in the Enum.

_J01_START 

QZSS L1 start index in the Enum.

_J01_END 

QZSS L1 end index in the Enum.

_J02_START 

QZSS L2 start index in the Enum.

_J02_END 

QZSS L2 end index in the Enum.

_J05_START 

QZSS L5 start index in the Enum.

_J05_END 

QZSS L5 end index in the Enum.

_J06_START 

QZSS L6 start index in the Enum.

_J06_END 

QZSS L6 end index in the Enum.

_I05_START 

IRNSS L5 start index in the Enum.

_I05_END 

IRNSS L5 end index in the Enum.

_I09_START 

IRNSS S start index in the Enum.

_I09_END 

IRNSS S end index in the Enum.

_S01_START 

SBAS L start index in the Enum.

_S01_END 

SBAS L end index in the Enum.

_S05_START 

SBAS L start index in the Enum.

_S05_END 

SBAS L end index in the Enum.

COUNT 

Amount of Codes in the Enum.

◆ Enum

Enumeration of all Codes.

Enumerator
None 

None.

G1C 

GPS L1 - C/A-code.

G1S 

GPS L1 - L1C-D (data)

G1L 

GPS L1 - L1C-P (pilot)

G1X 

GPS L1 - L1C-(D+P) (combined)

G1P 

GPS L1 - P-code (unencrypted)

G1W 

GPS L1 - Semicodeless P(Y) tracking (Z-tracking)

G1Y 

GPS L1 - Y-code (with decryption)

G1M 

GPS L1 - M-code.

G1N 

GPS L1 - codeless.

G2C 

GPS L2 - C/A-code.

G2D 

GPS L2 - Semi-codeless P(Y) tracking (L1 C/A + (P2-P1))

G2S 

GPS L2 - L2C(M) (medium)

G2L 

GPS L2 - L2C(L) (long)

G2X 

GPS L2 - L2C(M+L) (combined)

G2P 

GPS L2 - P-code (unencrypted)

G2W 

GPS L2 - Semicodeless P(Y) tracking (Z-tracking)

G2Y 

GPS L2 - Y-code (with decryption)

G2M 

GPS L2 - M-code.

G2N 

GPS L2 - codeless.

G5I 

GPS L5 - Data.

G5Q 

GPS L5 - Pilot.

G5X 

GPS L5 - Combined.

E1A 

GAL E1 - PRS signal.

E1B 

GAL E1 - OS (data)

E1C 

GAL E1 - OS (pilot)

E1X 

GAL E1 - OS(B+C) (combined)

E1Z 

GAL E1 - PRS + OS (data + pilot)

E5I 

GAL E5a - Data.

E5Q 

GAL E5a - Pilot.

E5X 

GAL E5a - Combined.

E6A 

GAL E6 - PRS signal.

E6B 

GAL E6 - Data.

E6C 

GAL E6 - Pilot.

E6X 

GAL E6 - Combined (B+C)

E6Z 

GAL E6 - PRS + OS (A+B+C)

E7I 

GAL E5b - Data.

E7Q 

GAL E5b - Pilot.

E7X 

GAL E5b - Combined.

E8I 

GAL E5(a+b) - AltBOC (data)

E8Q 

GAL E5(a+b) - AltBOC (pilot)

E8X 

GAL E5(a+b) - AltBOC (combined)

R1C 

GLO L1 - C/A-code.

R1P 

GLO L1 - P-code.

R2C 

GLO L2 - C/A-code.

R2P 

GLO L2 - P-code.

R3I 

GLO L3 - Data.

R3Q 

GLO L3 - Pilot.

R3X 

GLO L3 - Combined.

R4A 

GLO G1a - L1OCd (data)

R4B 

GLO G1a - L1OCp (pilot)

R4X 

GLO G1a - L1OCd+L1OCp (combined)

R6A 

GLO G2a - L2CSI (data)

R6B 

GLO G2a - L2OCp (pilot)

R6X 

GLO G2a - L2CSI+L2OCp (combined)

B1D 

BeiDou B1 - Data (D)

B1P 

BeiDou B1 - Pilot(P)

B1X 

BeiDou B1 - D+P.

B2I 

BeiDou B1-2 - B1I(OS)

B2Q 

BeiDou B1-2 - B1Q.

B2X 

BeiDou B1-2 - B1I(OS), B1Q, combined.

B5D 

BeiDou B2a - Data (D)

B5P 

BeiDou B2a - Pilot(P)

B5X 

BeiDou B2a - D+P.

B6I 

BeiDou B3 - B3I.

B6Q 

BeiDou B3 - B3Q.

B6X 

BeiDou B3 - B3I, B3Q, combined.

B6A 

BeiDou B3 - B3A.

B7I 

BeiDou B2b (BDS-2) - B2I(OS)

B7Q 

BeiDou B2b (BDS-2) - B2Q.

B7X 

BeiDou B2b (BDS-2) - B2I(OS), B2Q, combined.

B7D 

BeiDou B2b (BDS-3) - Data (D)

B7P 

BeiDou B2b (BDS-3) - Pilot(P)

B7Z 

BeiDou B2b (BDS-3) - D+P.

B8D 

BeiDou B2 (B2a+B2b) - Data (D)

B8P 

BeiDou B2 (B2a+B2b) - Pilot(P)

B8X 

BeiDou B2 (B2a+B2b) - D+P.

J1C 

QZSS L1 - C/A-code.

J1S 

QZSS L1 - L1C (data)

J1L 

QZSS L1 - L1C (pilot)

J1X 

QZSS L1 - L1C (combined)

J1Z 

QZSS L1 - L1-SAIF signal.

J2S 

QZSS L2 - L2C-code (medium)

J2L 

QZSS L2 - L2C-code (long)

J2X 

QZSS L2 - L2C-code (combined)

J5I 

QZSS L5 - Data.

J5Q 

QZSS L5 - Pilot.

J5X 

QZSS L5 - Combined.

J5D 

QZSS L5S - I.

J5P 

QZSS L5S - Q.

J5Z 

QZSS L5S - I+Q.

J6S 

QZSS L6 - L6D LEX signal (short)

J6L 

QZSS L6 - L6P LEX signal (long)

J6X 

QZSS L6 - L6(D+P) LEX signal (combined)

J6E 

QZSS L6 - L6E.

J6Z 

QZSS L6 - L6(D+E)

I5A 

IRNSS L5 - SPS Signal.

I5B 

IRNSS L5 - RS (data)

I5C 

IRNSS L5 - RS (pilot)

I5X 

IRNSS L5 - RS (combined)

I9A 

IRNSS S - SPS signal.

I9B 

IRNSS S - RS (data)

I9C 

IRNSS S - RS (pilot)

I9X 

IRNSS S - RS (combined)

S1C 

SBAS L1 - C/A-code.

S5I 

SBAS L5 - Data.

S5Q 

SBAS L5 - Pilot.

S5X 

SBAS L5 - Combined.

Constructor & Destructor Documentation

◆ Code() [1/4]

constexpr NAV::Code::Code ( const Set & set)
inlineexplicitconstexpr

Constructor from a biset.

Parameters
[in]setBitset with values to construct the Code from

◆ Code() [2/4]

NAV::Code::Code ( SatelliteSystem_ sys)
explicit

Constructor from a satellite system.

Parameters
[in]sysSystem to set all codes for

◆ Code() [3/4]

NAV::Code::Code ( Frequency_ freq)
explicit

Constructor from a frequency.

Parameters
[in]freqFrequency to set all codes for

◆ Code() [4/4]

NAV::Code::Code ( Enum e)
inline

Constructor from a single code value.

Parameters
[in]eCode enum value to construct the code from

Member Function Documentation

◆ fromFreqAttr()

static Code NAV::Code::fromFreqAttr ( Frequency freq,
char attribute )
static

Generates a Code from frequency and attribute.

Parameters
[in]freqFrequency of the code
[in]attributeAttribute letter of the code
Returns
Code representation

◆ GetCodeDescription()

static const char * NAV::Code::GetCodeDescription ( Code code)
static

Returns a short description for the code.

Parameters
[in]codeGNSS signal code

◆ GetCodeEnumValue()

static Enum NAV::Code::GetCodeEnumValue ( Code code)
static

Returns the enum value for the code (only one must be set)

Parameters
codeGNSS signal code

◆ GetCodeFequency()

static Frequency NAV::Code::GetCodeFequency ( Code code)
static

Returns the frequency for the code.

Parameters
[in]codeGNSS signal code

◆ IsCodeCombined()

static bool NAV::Code::IsCodeCombined ( Code first,
Code second )
static

Checks if the codes are part of a combined code.

Parameters
[in]firstFirst GNSS signal code
[in]secondSecond GNSS signal code

◆ operator Set()

constexpr NAV::Code::operator Set ( ) const
inlineexplicitconstexpr

std::bitset conversion operator

Returns
The bitset representation of the type

◆ operator std::string()

NAV::Code::operator std::string ( ) const
explicit

std::string conversion operator

Returns
A std::string representation of the type

◆ operator&=() [1/6]

Code & NAV::Code::operator&= ( const Code & rhs)

Allows combining flags of the Code enum.

Parameters
[in]rhsRight-hand side value.
Returns
The binary ANDed value.

◆ operator&=() [2/6]

Code & NAV::Code::operator&= ( const Enum & rhs)

Allows combining flags of the Code enum.

Parameters
[in]rhsRight-hand side value.
Returns
The binary ANDed value.

◆ operator&=() [3/6]

Code & NAV::Code::operator&= ( const Frequency & rhs)

Allows filtering Code with Frequency.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

◆ operator&=() [4/6]

Code & NAV::Code::operator&= ( const Frequency_ & rhs)

Allows filtering Code with Frequency.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

◆ operator&=() [5/6]

Code & NAV::Code::operator&= ( const SatelliteSystem & rhs)

Allows filtering Code with SatelliteSystem.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

◆ operator&=() [6/6]

Code & NAV::Code::operator&= ( const SatelliteSystem_ & rhs)

Allows filtering Code with SatelliteSystem.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

◆ operator|=() [1/6]

Code & NAV::Code::operator|= ( const Code & rhs)

Allows combining flags of the Code enum.

Parameters
[in]rhsRight-hand side value.
Returns
The binary ORed value.

◆ operator|=() [2/6]

Code & NAV::Code::operator|= ( const Enum & rhs)

Allows combining flags of the Code enum.

Parameters
[in]rhsRight-hand side value.
Returns
The binary ORed value.

◆ operator|=() [3/6]

Code & NAV::Code::operator|= ( const Frequency & rhs)

Allows filtering Code with Frequency.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

◆ operator|=() [4/6]

Code & NAV::Code::operator|= ( const Frequency_ & rhs)

Allows filtering Code with Frequency.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

◆ operator|=() [5/6]

Code & NAV::Code::operator|= ( const SatelliteSystem & rhs)

Allows filtering Code with SatelliteSystem.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

◆ operator|=() [6/6]

Code & NAV::Code::operator|= ( const SatelliteSystem_ & rhs)

Allows filtering Code with SatelliteSystem.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

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