0.4.1
Loading...
Searching...
No Matches
TimeOutputs.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 2 - Time Outputs
11/// @author T. Topp (topp@ins.uni-stuttgart.de)
12/// @date 2021-07-01
13
14#pragma once
15
16#include <cstdint>
17
18#include <vn/types.h>
20
22{
23/// @brief Binary Group 2 - Time Outputs
25{
26 /// @brief Available data in this struct
27 vn::protocol::uart::TimeGroup timeField = vn::protocol::uart::TimeGroup::TIMEGROUP_NONE;
28
29 /// @brief Time since startup.
30 ///
31 /// The system time since startup measured in nano seconds. The time since startup is based upon the internal
32 /// TXCO oscillator for the MCU. The accuracy of the internal TXCO is +/- 20ppm (-40C to 85C).
33 uint64_t timeStartup{};
34
35 /// @brief Absolute GPS time.
36 ///
37 /// The absolute GPS time since start of GPS epoch 1980 expressed in nano seconds.
38 uint64_t timeGps{};
39
40 /// @brief Time since start of GPS week.
41 ///
42 /// The time since the start of the current GPS time week expressed in nano seconds.
43 uint64_t gpsTow{};
44
45 /// @brief GPS week.
46 ///
47 /// The current GPS week.
48 uint16_t gpsWeek{};
49
50 /// @brief Time since last SyncIn trigger.
51 ///
52 /// The time since the last SyncIn event trigger expressed in nano seconds.
53 uint64_t timeSyncIn{};
54
55 /// @brief Time since last GPS PPS trigger.
56 ///
57 /// The time since the last GPS PPS trigger event expressed in nano seconds.
58 uint64_t timePPS{};
59
60 /// @brief UTC time.
61 ///
62 /// The current UTC time. The year is given as a signed byte year offset from the year 2000. For example the
63 /// year 2013 would be given as year 13.
65
66 /// @brief SyncIn trigger count.
67 ///
68 /// The number of SyncIn trigger events that have occurred.
69 uint32_t syncInCnt{};
70
71 /// @brief SyncOut trigger count.
72 ///
73 /// The number of SyncOut trigger events that have occurred.
74 uint32_t syncOutCnt{};
75
76 /// @brief Time valid status flags.
77 ///
78 /// Time valid status flags.
79 ///
80 /// Fields: timeOk | dateOk | utcTimeValid | resv | resv | resv | resv | resv
81 /// Bit Offset: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
82 ///
83 /// Name | Description
84 /// ------------ | ----------------------------------
85 /// timeOk | 1 - GpsTow is valid.
86 /// dateOk | 1 - TimeGps and GpsWeek are valid.
87 /// utcTimeValid | 1 - UTC time is valid.
88 /// resv | Reserved for future use.
90};
91
92} // namespace NAV::vendor::vectornav
Type Definitions for VectorNav messages.
Binary Group 2 - Time Outputs.
uint32_t syncOutCnt
SyncOut trigger count.
uint64_t gpsTow
Time since start of GPS week.
vn::protocol::uart::TimeGroup timeField
Available data in this struct.
uint64_t timeGps
Absolute GPS time.
uint64_t timeSyncIn
Time since last SyncIn trigger.
uint64_t timeStartup
Time since startup.
TimeStatus timeStatus
Time valid status flags.
uint32_t syncInCnt
SyncIn trigger count.
uint64_t timePPS
Time since last GPS PPS trigger.
Storage class for UTC Time.