0.3.0
Loading...
Searching...
No Matches
Units.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 <cstddef>
17#include <string>
18
19#include "util/Json.hpp"
20
21namespace NAV
22{
23
24namespace Units
25{
26
28enum class CovarianceAccelUnits : uint8_t
29{
33};
34
46
54
62
66void to_json(json& j, const CovarianceAccelUnits& data);
70void from_json(const json& j, CovarianceAccelUnits& data);
71
80
89
98
99} // namespace Units
100
105[[nodiscard]] double convertUnit(const double& value, Units::CovarianceAccelUnits unit);
106
111[[nodiscard]] double convertUnit(const double& value, Units::CovarianceAngularVelocityUnits unit);
112
117[[nodiscard]] double convertUnit(const double& value, Units::CovarianceClkPhaseDriftUnits unit);
118
123[[nodiscard]] double convertUnit(const double& value, Units::CovarianceClkFrequencyDriftUnits unit);
124
127[[nodiscard]] std::string to_string(Units::CovarianceAccelUnits unit);
130[[nodiscard]] std::string to_string(Units::CovarianceAngularVelocityUnits unit);
133[[nodiscard]] std::string to_string(Units::CovarianceClkPhaseDriftUnits unit);
137
138} // namespace NAV
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
void to_json(json &j, const PositionUncertaintyUnits &data)
Converts the provided data into a json object.
@ COUNT
Amount of items in the enum.
Definition Units.hpp:33
double convertUnit(const double &value, Units::PositionUncertaintyUnits unit)
Converts the value depending on the unit provided.
void from_json(const json &j, PositionUncertaintyUnits &data)
Converts the provided json object into the data object.
CovarianceAngularVelocityUnits
Possible Units for the Standard deviation of the rotation velocity.
Definition Units.hpp:37
@ deg_sqrts
[ deg / √(s) ]
Definition Units.hpp:41
@ rad_sqrts
[ rad / √(s) ]
Definition Units.hpp:39
@ degsqrts_min
[ deg √(s) / min ]
Definition Units.hpp:43
@ rad2_s
[ rad^2 / s ]
Definition Units.hpp:38
@ deg2s_min2
[ deg^2 s / min^2 ]
Definition Units.hpp:42
@ deg2_s
[ deg^2 / s ]
Definition Units.hpp:40
CovarianceClkPhaseDriftUnits
Possible Units for the Standard deviation of the clock phase drift.
Definition Units.hpp:49
@ m2_s
[ m^2 / s ]
Definition Units.hpp:50
@ m_sqrts
[ m / √(s) ]
Definition Units.hpp:51
CovarianceAccelUnits
Possible Units for the Standard deviation of the acceleration due to user motion.
Definition Units.hpp:29
@ m2_s3
[ m^2 / s^3 ]
Definition Units.hpp:30
@ m_sqrts3
[ m / √(s^3) ]
Definition Units.hpp:31
CovarianceClkFrequencyDriftUnits
Possible Units for the Standard deviation of the clock frequency drift.
Definition Units.hpp:57
Defines how to save certain datatypes to json.
const char * to_string(gui::widgets::PositionWithFrame::ReferenceFrame refFrame)
Converts the enum to a string.