0.2.0
Loading...
Searching...
No Matches
RinexObsLogger.hpp
Go to the documentation of this file.
1// This file is part of INSTINCT, the INS Toolkit for Integrated
2// Navigation Concepts and Training by the Institute of Navigation of
3// the University of Stuttgart, Germany.
4//
5// This Source Code Form is subject to the terms of the Mozilla Public
6// License, v. 2.0. If a copy of the MPL was not distributed with this
7// file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
13
14#pragma once
15
16#include <set>
17
19
21
23
24namespace NAV
25{
26
28class RinexObsLogger : public Node, public FileWriter
29{
30 public:
34 ~RinexObsLogger() override;
43
45 [[nodiscard]] static std::string typeStatic();
46
48 [[nodiscard]] std::string type() const override;
49
51 [[nodiscard]] static std::string category();
52
55 void guiConfig() override;
56
58 [[nodiscard]] json save() const override;
59
62 void restore(const json& j) override;
63
65 void flush() override;
66
67 private:
69 bool initialize() override;
70
72 void deinitialize() override;
73
76 void updateFileHeader(TimeSystem oldTimeSys);
77
81 void writeObservation(InputPin::NodeDataQueue& queue, size_t pinIdx);
82
84 static inline const std::set<double> _supportedVersions = { 3.04 };
85
88};
89
90} // namespace NAV
File Writer class.
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
Node Class.
Functions to work with RINEX.
Parent class for other data loggers which manages the output filestream.
Definition FileWriter.hpp:27
Abstract parent class for all nodes.
Definition Node.hpp:86
Data Logger for GnssObs to RINEX observation files.
Definition RinexObsLogger.hpp:29
RinexObsLogger(RinexObsLogger &&)=delete
Move constructor.
RinexObsLogger(const RinexObsLogger &)=delete
Copy constructor.
RinexObsLogger & operator=(RinexObsLogger &&)=delete
Move assignment operator.
std::string type() const override
String representation of the Class Type.
void guiConfig() override
ImGui config window which is shown on double click.
static std::string category()
String representation of the Class Category.
RinexObsLogger & operator=(const RinexObsLogger &)=delete
Copy assignment operator.
void flush() override
Function called by the flow executer after finishing to flush out remaining data.
static std::string typeStatic()
String representation of the Class Type.
json save() const override
Saves the node into a json object.
RinexObsLogger()
Default constructor.
~RinexObsLogger() override
Destructor.
void restore(const json &j) override
Restores the node from a json object.
Time System defintions.
Definition TimeSystem.hpp:39
Rinex Observation File Header information.
Definition RINEXUtilities.hpp:63