0.4.1
Loading...
Searching...
No Matches
EmlidObs.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
9/// @file EmlidObs.hpp
10/// @brief Emlid Observation Class
11/// @author T. Topp (topp@ins.uni-stuttgart.de)
12/// @date 2020-06-23
13
14#pragma once
15
16#include "NodeData/NodeData.hpp"
17
18#include <variant>
19
21
22namespace NAV
23{
24/// Emlid Observation Class
25class EmlidObs : public NodeData
26{
27 public:
28 /// @brief Returns the type of the data class
29 /// @return The data type
30 [[nodiscard]] static std::string type()
31 {
32 return "EmlidObs";
33 }
34
35 /// @brief Returns the type of the data class
36 /// @return The data type
37 [[nodiscard]] std::string getType() const override { return type(); }
38
39 /// @brief Returns the parent types of the data class
40 /// @return The parent data types
41 [[nodiscard]] static std::vector<std::string> parentTypes()
42 {
43 return { NodeData::type() };
44 }
45
46 /// Erb Message ID
47 uint8_t msgId = 0;
48 /// Payload length in bytes
49 uint16_t payloadLength = 0;
50
51 /// Decoded data
52 std::variant<
53 vendor::emlid::ErbVer, // VER: Version of protocol
54 vendor::emlid::ErbPos, // POS: Geodetic position solution
55 vendor::emlid::ErbStat, // STAT: Receiver navigation status
56 vendor::emlid::ErbDops, // DOPS: Dilution of precision
57 vendor::emlid::ErbVel, // VEL: Velocity solution in NED
58 vendor::emlid::ErbSvi, // SVI: Space vehicle information
59 vendor::emlid::ErbRtk // RTK: RTK information
60 >
62};
63
64} // namespace NAV
Type Definitions for Emlid messages for Emlid Reach M2 ER Protocol.
Abstract NodeData Class.
Emlid Observation Class.
Definition EmlidObs.hpp:26
std::string getType() const override
Returns the type of the data class.
Definition EmlidObs.hpp:37
static std::vector< std::string > parentTypes()
Returns the parent types of the data class.
Definition EmlidObs.hpp:41
static std::string type()
Returns the type of the data class.
Definition EmlidObs.hpp:30
uint16_t payloadLength
Payload length in bytes.
Definition EmlidObs.hpp:49
std::variant< vendor::emlid::ErbVer, vendor::emlid::ErbPos, vendor::emlid::ErbStat, vendor::emlid::ErbDops, vendor::emlid::ErbVel, vendor::emlid::ErbSvi, vendor::emlid::ErbRtk > data
Decoded data.
Definition EmlidObs.hpp:61
uint8_t msgId
Erb Message ID.
Definition EmlidObs.hpp:47
NodeData()=default
Default constructor.
static std::string type()
Returns the type of the data class.
Definition NodeData.hpp:45
Dilution of Precision This message outputs dimensionless values of DOP. These values are scaled by fa...
Geodetic Position Solution.
RTK Information This message output information about RTK.
Receiver Navigation Status This message contains status of Fix, its type and also the number of used ...
Space Vehicle Information This message output information about observation satellites.
Velocity Solution in NED See important comments concerning validity of position given in section Navi...
Version of Protocol.