0.4.1
Loading...
Searching...
No Matches
GnssOutputs.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 TimeOutputs.hpp
10/// @brief Binary Group 4 - GNSS1 Outputs / Binary Group 7 - GNSS2 Outputs
11/// @author T. Topp (topp@ins.uni-stuttgart.de)
12/// @date 2021-07-01
13
14#pragma once
15
16#include <cstdint>
17#include "util/Eigen.hpp"
18
19#include <vn/types.h>
21
23{
24/// @brief Binary Group 4 - GNSS1 Outputs / Binary Group 7 - GNSS2 Outputs
26{
27 /// @brief Available data in this struct
28 vn::protocol::uart::GpsGroup gnssField = vn::protocol::uart::GpsGroup::GPSGROUP_NONE;
29
30 /// @brief GPS UTC Time
31 ///
32 /// The current UTC time. The year is given as a signed byte year offset from the year 2000. For example the year 2013 would be given as year 13.
34
35 /// @brief GPS time of week
36 ///
37 /// The GPS time of week given in nano seconds.
38 uint64_t tow{};
39
40 /// @brief GPS week
41 ///
42 /// The current GPS week.
43 uint16_t week{};
44
45 /// @brief Number of tracked satellites
46 ///
47 /// The number of tracked GNSS satellites.
48 uint8_t numSats{};
49
50 /// @brief GNSS fix
51 ///
52 /// The current GNSS fix.
53 /// 0 - No fix
54 /// 1 - Time only
55 /// 2 - 2D
56 /// 3 - 3D
57 /// 4 - SBAS
58 /// 7 - RTK Float (only GNSS1)
59 /// 8 - RTK Fixed (only GNSS1)
60 uint8_t fix{};
61
62 /// @brief GNSS position (latitude, longitude, altitude)
63 ///
64 /// The current GNSS position measurement given as the geodetic latitude, longitude and altitude above the
65 /// ellipsoid. The units are in [deg, deg, m] respectively.
66 Eigen::Vector3d posLla;
67
68 /// @brief GNSS position (ECEF)
69 ///
70 /// The current GNSS position given in the Earth centered Earth fixed (ECEF) coordinate frame, given in meters.
71 Eigen::Vector3d posEcef;
72
73 /// @brief GNSS velocity (NED)
74 ///
75 /// The current GNSS velocity in the North East Down (NED) coordinate frame, given in m/s.
76 Eigen::Vector3f velNed;
77
78 /// @brief GNSS velocity (ECEF)
79 ///
80 /// The current GNSS velocity in the Earth centered Earth fixed (ECEF) coordinate frame, given in m/s.
81 Eigen::Vector3f velEcef;
82
83 /// @brief GNSS position uncertainty (NED)
84 ///
85 /// The current GNSS position uncertainty in the North East Down (NED) coordinate frame, given in meters (1 Sigma).
86 Eigen::Vector3f posU;
87
88 /// @brief GNSS velocity uncertainty
89 ///
90 /// The current GNSS velocity uncertainty, given in m/s (1 Sigma).
91 float velU{};
92
93 /// @brief GNSS time uncertainty
94 ///
95 /// The current GPS time uncertainty, given in seconds (1 Sigma).
96 float timeU{};
97
98 /// @brief GNSS time status and leap seconds
99 ///
100 /// Flags for valid GPS TOW, week number and UTC and current leap seconds.
102
103 /// @brief Dilution of precision values
105
106 /// @brief Satellite Information
107 ///
108 /// Information and measurements pertaining to each GNSS satellite in view.
110
111 /// @brief GNSS Raw Measurements
112 ///
113 /// Raw measurements pertaining to each GNSS satellite in view.
115};
116
117} // namespace NAV::vendor::vectornav
Vector space operations.
Type Definitions for VectorNav messages.
Dilution of precision.
Binary Group 4 - GNSS1 Outputs / Binary Group 7 - GNSS2 Outputs.
uint8_t numSats
Number of tracked satellites.
SatInfo satInfo
Satellite Information.
Eigen::Vector3f posU
GNSS position uncertainty (NED)
DOP dop
Dilution of precision values.
Eigen::Vector3d posEcef
GNSS position (ECEF)
Eigen::Vector3f velNed
GNSS velocity (NED)
Eigen::Vector3d posLla
GNSS position (latitude, longitude, altitude)
Eigen::Vector3f velEcef
GNSS velocity (ECEF)
float velU
GNSS velocity uncertainty.
uint64_t tow
GPS time of week.
TimeInfo timeInfo
GNSS time status and leap seconds.
RawMeas raw
GNSS Raw Measurements.
float timeU
GNSS time uncertainty.
vn::protocol::uart::GpsGroup gnssField
Available data in this struct.
Raw measurements pertaining to each GNSS satellite in view.
Information and measurements pertaining to each GNSS satellite in view.
Flags for valid GPS TOW, week number and UTC and current leap seconds.
Storage class for UTC Time.