Collects UBX-RXM-SFRBX messages and provides the Orbit information. More...
Classes | |
struct | EphemerisBuilder |
Ephemeris builder to store unfinished ephemeris data till all subframes are collected. More... | |
Public Member Functions | |
UbloxGnssOrbitCollector & | operator= (const UbloxGnssOrbitCollector &)=delete |
Copy assignment operator. | |
UbloxGnssOrbitCollector & | operator= (UbloxGnssOrbitCollector &&)=delete |
Move assignment operator. | |
std::string | type () const override |
String representation of the Class Type. | |
UbloxGnssOrbitCollector () | |
Default constructor. | |
UbloxGnssOrbitCollector (const UbloxGnssOrbitCollector &)=delete | |
Copy constructor. | |
UbloxGnssOrbitCollector (UbloxGnssOrbitCollector &&)=delete | |
Move constructor. | |
~UbloxGnssOrbitCollector () override | |
Destructor. | |
![]() | |
virtual void | afterCreateLink (OutputPin &startPin, InputPin &endPin) |
Called when a new link was established. | |
virtual void | afterDeleteLink (OutputPin &startPin, InputPin &endPin) |
Called when a link was deleted. | |
virtual void | deinitialize () |
Deinitialize the Node. | |
bool | doDeinitialize (bool wait=false) |
Asks the node worker to deinitialize the node. | |
bool | doDisable (bool wait=false) |
Asks the node worker to disable the node. | |
bool | doEnable () |
Enable the node. | |
bool | doInitialize (bool wait=false) |
Asks the node worker to initialize the node. | |
bool | doReinitialize (bool wait=false) |
Asks the node worker to reinitialize the node. | |
virtual void | flush () |
Function called by the flow executer after finishing to flush out remaining data. | |
template<typename T > | |
std::optional< InputPin::IncomingLink::ValueWrapper< T > > | getInputValue (size_t portIndex) const |
Get Input Value connected on the pin. Only const data types. | |
Mode | getMode () const |
Get the current mode of the node. | |
const ImVec2 & | getSize () const |
Get the size of the node. | |
State | getState () const |
Get the current state of the node. | |
virtual void | guiConfig () |
ImGui config window which is shown on double click. | |
InputPin & | inputPinFromId (ax::NodeEditor::PinId pinId) |
Returns the pin with the given id. | |
size_t | inputPinIndexFromId (ax::NodeEditor::PinId pinId) const |
Returns the index of the pin. | |
void | invokeCallbacks (size_t portIndex, const std::shared_ptr< const NodeData > &data) |
Calls all registered callbacks on the specified output port. | |
bool | isDisabled () const |
Checks if the node is disabled. | |
bool | isInitialized () const |
Checks if the node is initialized. | |
bool | isOnlyRealtime () const |
Checks if the node is only working in real time (sensors, network interfaces, ...) | |
bool | isTransient () const |
Checks if the node is changing its state currently. | |
std::string | nameId () const |
Node name and id. | |
Node (const Node &)=delete | |
Copy constructor. | |
Node (Node &&)=delete | |
Move constructor. | |
Node (std::string name) | |
Constructor. | |
void | notifyOutputValueChanged (size_t pinIdx, const InsTime &insTime, const std::scoped_lock< std::mutex > &guard) |
Notifies connected nodes about the change. | |
virtual bool | onCreateLink (OutputPin &startPin, InputPin &endPin) |
Called when a new link is to be established. | |
Node & | operator= (const Node &)=delete |
Copy assignment operator. | |
Node & | operator= (Node &&)=delete |
Move assignment operator. | |
OutputPin & | outputPinFromId (ax::NodeEditor::PinId pinId) |
Returns the pin with the given id. | |
size_t | outputPinIndexFromId (ax::NodeEditor::PinId pinId) const |
Returns the index of the pin. | |
void | releaseInputValue (size_t portIndex) |
Unblocks the connected node. Has to be called when the input value should be released and getInputValue was not called. | |
std::scoped_lock< std::mutex > | requestOutputValueLock (size_t pinIdx) |
Blocks the thread till the output values was read by all connected nodes. | |
virtual bool | resetNode () |
Resets the node. It is guaranteed that the node is initialized when this is called. | |
virtual void | restore (const json &j) |
Restores the node from a json object. | |
virtual void | restoreAtferLink (const json &j) |
Restores link related properties of the node from a json object. | |
virtual json | save () const |
Saves the node into a json object. | |
void | wakeWorker () |
Wakes the worker thread. | |
virtual | ~Node () |
Destructor. | |
Static Public Member Functions | |
static std::string | category () |
String representation of the Class Category. | |
static std::string | typeStatic () |
String representation of the Class Type. | |
![]() | |
static std::string | toString (State state) |
Converts the state into a printable text. | |
Private Member Functions | |
void | decryptBeiDou (const SatId &satId, const ubx::UbxRxmSfrbx &sfrbx, const InsTime &insTime) |
Decrypt the BeiDou SFRBX message. | |
void | decryptGalileo (const SatId &satId, const ubx::UbxRxmSfrbx &sfrbx, const InsTime &insTime) |
Decrypt the Galileo SFRBX message. | |
void | decryptGLONASS (const SatId &satId, const ubx::UbxRxmSfrbx &sfrbx, const InsTime &insTime) |
Decrypt the GLONASS SFRBX message. | |
void | decryptGPS (const SatId &satId, const ubx::UbxRxmSfrbx &sfrbx, const InsTime &insTime) |
Decrypt the GPS SFRBX message. | |
void | decryptIRNSS (const SatId &satId, const ubx::UbxRxmSfrbx &sfrbx, const InsTime &insTime) |
Decrypt the IRNSS SFRBX message. | |
void | decryptQZSS (const SatId &satId, const ubx::UbxRxmSfrbx &sfrbx, const InsTime &insTime) |
Decrypt the QZSS SFRBX message. | |
void | decryptSBAS (const SatId &satId, const ubx::UbxRxmSfrbx &sfrbx, const InsTime &insTime) |
Decrypt the SBAS SFRBX message. | |
EphemerisBuilder & | getEphemerisBuilder (const SatId &satId, const InsTime &insTime, size_t IOD=0) |
Searches the ephemeris builder for the given satellite and time. If nothing found returns a new instance. | |
std::optional< std::reference_wrapper< EphemerisBuilder > > | getEphemerisBuilder (const SatId &satId, size_t IOD) |
Searches the ephemeris builder for the given Issue of Data Ephemeris. | |
std::optional< std::reference_wrapper< EphemerisBuilder > > | getLastEphemerisBuilder (const SatId &satId) |
Searches the most recent ephemeris builder for the given satellite. | |
bool | initialize () override |
Initialize the node. | |
void | onDeleteLink (OutputPin &startPin, InputPin &endPin) override |
Called when a link is to be deleted. | |
void | receiveObs (InputPin::NodeDataQueue &queue, size_t pinIdx) |
Data receive function. | |
Private Attributes | |
std::vector< EphemerisBuilder > | _ephemerisBuilder |
Map of ephemeris build helper for each satellite. | |
GnssNavInfo | _gnssNavInfo |
Data object to share over the output pin. | |
std::unordered_map< SatId, size_t > | _lastAccessedBuilder |
List of IOD for each satellite. | |
std::optional< std::unique_lock< std::mutex > > | _postProcessingLock |
Mutex to lock if the connected ublox obs provider is a file reader. | |
std::set< SatelliteSystem > | _warningsNotImplemented |
List of satellite systems to emit warnings because conversion is not implemented yet. | |
Static Private Attributes | |
static constexpr size_t | INPUT_PORT_INDEX_UBLOX_OBS |
Flow (UbloxObs) | |
static constexpr size_t | OUTPUT_PORT_INDEX_GNSS_NAV_INFO |
Object. | |
Additional Inherited Members | |
![]() | |
enum class | Mode : uint8_t { REAL_TIME , POST_PROCESSING } |
Different Modes the Node can work in. More... | |
enum class | State : uint8_t { Disabled , Deinitialized , DoInitialize , Initializing , Initialized , DoDeinitialize , Deinitializing , DoShutdown , Shutdown } |
Possible states of the node. More... | |
![]() | |
bool | callbacksEnabled |
Enables the callbacks. | |
ax::NodeEditor::NodeId | id |
Unique Id of the Node. | |
std::vector< InputPin > | inputPins |
List of input pins. | |
Kind | kind |
Kind of the Node. | |
std::string | name |
Name of the Node. | |
std::vector< OutputPin > | outputPins |
List of output pins. | |
std::multimap< InsTime, std::pair< OutputPin *, size_t > > | pollEvents |
Map with callback events (sorted by time) | |
![]() | |
ImVec2 | _guiConfigDefaultWindowSize |
bool | _hasConfig |
Flag if the config window should be shown. | |
bool | _lockConfigDuringRun |
Lock the config when executing post-processing. | |
bool | _onlyRealTime |
Whether the node can run in post-processing or only real-time. | |
Collects UBX-RXM-SFRBX messages and provides the Orbit information.
|
private |
Decrypt the BeiDou SFRBX message.
[in] | satId | Satellite Identifier |
[in] | sfrbx | RAWX-SFRBX message |
[in] | insTime | Time of the message |
|
private |
Decrypt the Galileo SFRBX message.
[in] | satId | Satellite Identifier |
[in] | sfrbx | RAWX-SFRBX message |
[in] | insTime | Time of the message |
|
private |
Decrypt the GLONASS SFRBX message.
[in] | satId | Satellite Identifier |
[in] | sfrbx | RAWX-SFRBX message |
[in] | insTime | Time of the message |
|
private |
Decrypt the GPS SFRBX message.
[in] | satId | Satellite Identifier |
[in] | sfrbx | RAWX-SFRBX message |
[in] | insTime | Time of the message |
|
private |
Decrypt the IRNSS SFRBX message.
[in] | satId | Satellite Identifier |
[in] | sfrbx | RAWX-SFRBX message |
[in] | insTime | Time of the message |
|
private |
Decrypt the QZSS SFRBX message.
[in] | satId | Satellite Identifier |
[in] | sfrbx | RAWX-SFRBX message |
[in] | insTime | Time of the message |
|
private |
Decrypt the SBAS SFRBX message.
[in] | satId | Satellite Identifier |
[in] | sfrbx | RAWX-SFRBX message |
[in] | insTime | Time of the message |
|
private |
Searches the ephemeris builder for the given satellite and time. If nothing found returns a new instance.
[in] | satId | Satellite identifier |
[in] | insTime | Time to search for (either time of ephemeris or time of clock) |
[in] | IOD | Issue of Data (Ephemeris, Nav, ...) |
|
private |
Searches the ephemeris builder for the given Issue of Data Ephemeris.
[in] | satId | Satellite Identifier |
[in] | IOD | Issue of Data (Ephemeris, Nav, ...) |
|
private |
Searches the most recent ephemeris builder for the given satellite.
[in] | satId | Satellite identifier |
|
overrideprivatevirtual |
Initialize the node.
Reimplemented from NAV::Node.
|
private |
Data receive function.
[in] | queue | Queue with all the received data messages |
[in] | pinIdx | Index of the pin the data is received on |
|
nodiscardoverridevirtual |
String representation of the Class Type.
Implements NAV::Node.