0.2.0
Loading...
Searching...
No Matches
VectorNavFile.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
18
19#include "vn/sensors.h"
20
21namespace NAV
22{
24class VectorNavFile : public Imu, public FileReader
25{
26 public:
30 ~VectorNavFile() override;
32 VectorNavFile(const VectorNavFile&) = delete;
39
41 [[nodiscard]] static std::string typeStatic();
42
44 [[nodiscard]] std::string type() const override;
45
47 [[nodiscard]] static std::string category();
48
51 void guiConfig() override;
52
54 [[nodiscard]] json save() const override;
55
58 void restore(const json& j) override;
59
61 bool resetNode() override;
62
63 private:
64 constexpr static size_t OUTPUT_PORT_INDEX_VECTORNAV_BINARY_OUTPUT = 0;
65
67 bool initialize() override;
68
70 void deinitialize() override;
71
74 [[nodiscard]] FileType determineFileType() override;
75
77 void readHeader() override;
78
84 vn::sensors::BinaryOutputRegister _binaryOutputRegister;
85
88 [[nodiscard]] std::shared_ptr<const NodeData> pollData();
89
91 uint32_t _messageCount = 0;
92
94 bool _hasTimeColumn = false;
95};
96
97} // namespace NAV
Abstract File Reader class.
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
Abstract IMU Class.
Abstract File Reader class.
Definition FileReader.hpp:31
FileType
File Type Enumeration.
Definition FileReader.hpp:35
Abstract IMU Class.
Definition Imu.hpp:24
File Reader for Vector Nav log files.
Definition VectorNavFile.hpp:25
bool resetNode() override
Resets the node. Moves the read cursor to the start.
VectorNavFile()
Default constructor.
VectorNavFile & operator=(const VectorNavFile &)=delete
Copy assignment operator.
json save() const override
Saves the node into a json object.
static std::string typeStatic()
String representation of the Class Type.
~VectorNavFile() override
Destructor.
VectorNavFile & operator=(VectorNavFile &&)=delete
Move assignment operator.
void guiConfig() override
ImGui config window which is shown on double click.
VectorNavFile(const VectorNavFile &)=delete
Copy constructor.
VectorNavFile(VectorNavFile &&)=delete
Move constructor.
std::string type() const override
String representation of the Class Type.
static std::string category()
String representation of the Class Category.
void restore(const json &j) override
Restores the node from a json object.