Abstract base class for any nav data to be used by NavFilter.
- Todo:
- in the long term it might be preferable to put this functionality into NavFilterKey and eliminate this class, but that would require redoing the existing filters to reflect the more abstract implementation using getBits.
Definition at line 54 of file GenericNavFilterData.hpp.
#include <GenericNavFilterData.hpp>
|
void | dump (std::ostream &s) const override |
|
virtual uint32_t | getBits (unsigned start, unsigned num) const =0 |
|
uint32_t | getBitsSplit (unsigned firstBit1, unsigned numBits1, unsigned firstBit2, unsigned numBits2, unsigned firstBit3=0, unsigned numBits3=0) const |
|
| NavFilterKey () |
| Initialize key members to empty defaults. More...
|
|
◆ dump()
void gnsstk::GenericNavFilterData::dump |
( |
std::ostream & |
s | ) |
const |
|
inlineoverridevirtual |
◆ getBits()
virtual uint32_t gnsstk::GenericNavFilterData::getBits |
( |
unsigned |
start, |
|
|
unsigned |
num |
|
) |
| const |
|
pure virtual |
Get a value, up to 32 bits, out of the nav message.
- Parameters
-
[in] | start | The first bit (counting from 1 through the maximum number of bits in a single subframe) of the desired bits. |
[in] | num | The number of consecutive bits to retrieve. |
- Returns
- The value extracted from the nav message starting at start and ending at (start-1+num).
◆ getBitsSplit()
uint32_t gnsstk::GenericNavFilterData::getBitsSplit |
( |
unsigned |
firstBit1, |
|
|
unsigned |
numBits1, |
|
|
unsigned |
firstBit2, |
|
|
unsigned |
numBits2, |
|
|
unsigned |
firstBit3 = 0 , |
|
|
unsigned |
numBits3 = 0 |
|
) |
| const |
|
inline |
Similar to getBits, but aggregates bits that are split across multiple locations (in a single subframe).
- Parameters
-
[in] | firstBit1 | The position in the D1 nav message of the first bit of the numBits1 MSBs to return. This is numbered 1-300. |
[in] | numBits1 | The number of bits to extract from the subframe starting at firstBit1. This can be numbered 1-30. |
[in] | firstBit2 | The position in the D1 nav message of the first bit of the numBits2 LSBs to return. This is numbered 1-300. |
[in] | numBits2 | The number of bits to extract from the subframe starting at firstBit2. This can be numbered 1-30. |
- Exceptions
-
AssertionFailure | if numBits1 or numBits2 is >30. |
- Returns
- bits ((firstBit1..firstBit1+numBits1) << numBits2 + (firstBit2..firstBit2+numBits2).
Definition at line 82 of file GenericNavFilterData.hpp.
The documentation for this class was generated from the following file: