46 [[nodiscard]] std::string
type()
const override;
73 constexpr static size_t OUTPUT_PORT_INDEX_IMU_OBS = 0;
76 bool initialize()
override;
79 void deinitialize()
override;
82 void updateNumberOfOutputPins();
89 void readHeader()
override;
95 [[nodiscard]] std::shared_ptr<const NodeData> pollData(
size_t pinIdx,
bool peek);
107 std::vector<std::map<InsTime, std::shared_ptr<ImuObs>>> _messages;
110 size_t _lineCounter{};
113 std::vector<size_t> _messageCnt;
119 double _startupGpsSecond{};
122 gui::widgets::TimeEditFormat _startTimeEditFormat;
125 InsTime _startTime{ 2000, 1, 1, 0, 0, 0 };
128 std::vector<std::string> _columns{
"sensorId",
"gpsSecond",
"timeNumerator",
"timeDenominator",
"accelX",
"accelY",
"accelZ",
"gyroX",
"gyroY",
"gyroZ" };
131 std::vector<std::string> _headerColumns{
"nmeaMsgType",
"UTC_HMS",
"day",
"month",
"year" };
134 std::vector<ImuPos> _imuPosAll;
137 InsTime _lastFiltObs{};
140 bool _gpzdaFound =
false;
142 bool _gpggaFound =
false;
154 friend constexpr const char*
to_string(NmeaType value);
157 NmeaType _nmeaType = NmeaType::GPZDA;
163constexpr const char*
to_string(NAV::MultiImuFile::NmeaType value)
167 case NAV::MultiImuFile::NmeaType::GPGGA:
169 case NAV::MultiImuFile::NmeaType::GPZDA:
171 case NAV::MultiImuFile::NmeaType::COUNT:
Abstract File Reader class.
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
Parent Class for all IMU Observations.
@ COUNT
Amount of items in the enum.
Widget to modify time point values.
Abstract File Reader class.
Definition FileReader.hpp:31
auto peek()
Looking ahead in the stream.
Definition FileReader.hpp:149
FileType
File Type Enumeration.
Definition FileReader.hpp:35
IMU Position.
Definition ImuPos.hpp:26
File reader for Multi-IMU data log files.
Definition MultiImuFile.hpp:27
static std::string category()
String representation of the Class Category.
MultiImuFile()
Default constructor.
bool resetNode() override
Resets the node. Moves the read cursor to the start.
MultiImuFile & operator=(const MultiImuFile &)=delete
Copy assignment operator.
MultiImuFile & operator=(MultiImuFile &&)=delete
Move assignment operator.
const ImuPos & imuPosition() const
Position and rotation information for conversion from platform to body frame.
Definition MultiImuFile.hpp:66
MultiImuFile(MultiImuFile &&)=delete
Move constructor.
json save() const override
Saves the node into a json object.
void restore(const json &j) override
Restores the node from a json object.
friend constexpr const char * to_string(NmeaType value)
Converts the enum to a string.
Definition MultiImuFile.hpp:163
MultiImuFile(const MultiImuFile &)=delete
Copy constructor.
~MultiImuFile() override
Destructor.
ImuPos _imuPos
Position and rotation information for conversion from platform to body frame.
Definition MultiImuFile.hpp:70
void guiConfig() override
ImGui config window which is shown on double click.
std::string type() const override
String representation of the Class Type.
static std::string typeStatic()
String representation of the Class Type.
Abstract parent class for all nodes.
Definition Node.hpp:86