18#if !__APPLE__ && !defined(WIN32) && !defined(_WIN32) && !defined(__WIN32)
19 #include "Navio/Common/InertialSensor.h"
48 [[nodiscard]] std::string
type()
const override;
68 constexpr static size_t OUTPUT_PORT_INDEX_IMU_OBS = 0;
71 bool initialize()
override;
74 void deinitialize()
override;
85#if !__APPLE__ && !defined(WIN32) && !defined(_WIN32) && !defined(__WIN32)
87 std::unique_ptr<InertialSensor> _sensor;
91 ImuType _imuType = ImuType::MPU;
94 int _outputFrequency = 100;
99 std::chrono::time_point<std::chrono::steady_clock> _startTime;
122 static void readImuThread(
void* userData);
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
Manages a thread which calls a specified function at a specified interval.
Definition CallbackTimer.hpp:22
Abstract IMU Class.
Definition Imu.hpp:24
Navio2Sensor Sensor Class.
Definition Navio2Sensor.hpp:29
static std::string typeStatic()
String representation of the Class Type.
std::string type() const override
String representation of the Class Type.
static std::string category()
String representation of the Class Category.
Navio2Sensor()
Default constructor.
void guiConfig() override
ImGui config window which is shown on double click.
bool resetNode() override
Resets the node. It is guaranteed that the node is initialized when this is called.
json save() const override
Saves the node into a json object.
~Navio2Sensor() override
Destructor.
void restore(const json &j) override
Restores the node from a json object.
Navio2Sensor(Navio2Sensor &&)=delete
Move constructor.
Navio2Sensor & operator=(Navio2Sensor &&)=delete
Move assignment operator.
Navio2Sensor & operator=(const Navio2Sensor &)=delete
Copy assignment operator.
Navio2Sensor(const Navio2Sensor &)=delete
Copy constructor.