etsi_its_messages v3.5.0
Loading...
Searching...
No Matches
rtcmem_ts_getters.h
Go to the documentation of this file.
1/*
2=============================================================================
3MIT License
4
5Copyright (c) 2023-2025 Institute for Automotive Engineering (ika), RWTH Aachen University
6Copyright (c) 2026 Virtual Vehicle Research GmbH
7
8Permission is hereby granted, free of charge, to any person obtaining a copy
9of this software and associated documentation files (the "Software"), to deal
10in the Software without restriction, including without limitation the rights
11to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12copies of the Software, and to permit persons to whom the Software is
13furnished to do so, subject to the following conditions:
14
15The above copyright notice and this permission notice shall be included in all
16copies or substantial portions of the Software.
17
18THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24SOFTWARE.
25=============================================================================
26*/
27
29
32
33#pragma once
34
35#include <stdexcept>
36#include <vector>
37
38namespace etsi_its_rtcmem_ts_msgs {
39
40namespace access {
41
42#include <etsi_its_msgs_utils/impl/asn1_primitives/asn1_primitives_getters.h>
44
46
51 inline uint8_t getProtocolVersion(const ItsPduHeader& header) {
52 return header.protocol_version;
53 }
54
61 inline uint8_t getMessageID(const ItsPduHeader& header) {
62 return header.message_id;
63 }
64
71 inline StationID getStationID(const ItsPduHeader& header) {
72 return header.station_id;
73 }
74
81 inline uint32_t getStationIDValue(const ItsPduHeader& header) {
82 return getStationID(header).value;
83 }
84
91 inline ItsPduHeader getHeader(const RTCMEM& rtcmem) {
92 return rtcmem.header;
93 }
94
101 inline uint8_t getProtocolVersion(const RTCMEM& rtcmem) {
102 return getProtocolVersion(rtcmem.header);
103 }
104
111 inline uint8_t getMessageID(const RTCMEM& rtcmem) {
112 return getMessageID(rtcmem.header);
113 }
114
121 inline StationID getStationID(const RTCMEM& rtcmem) {
122 return getStationID(rtcmem.header);
123 }
124
131 inline uint32_t getStationIDValue(const RTCMEM& rtcmem) {
132 return getStationIDValue(rtcmem.header);
133 }
134
141 inline RTCMcorrections getRTCMcorrections(const RTCMEM& rtcmem) {
142 return rtcmem.rtcmc;
143 }
144
151 inline uint8_t getMsgCount(const MsgCount& msg_cnt) {
152 return msg_cnt.value;
153 }
154
161 inline uint8_t getMsgCount(const RTCMcorrections& rtcm) {
162 return getMsgCount(rtcm.msg_cnt);
163 }
164
171 inline uint8_t getMsgCount(const RTCMEM& rtcmem) {
172 return getMsgCount(rtcmem.rtcmc);
173 }
174
181 inline RTCMRevision getRTCMRevision(const RTCMcorrections& rtcm) {
182 return rtcm.rev;
183 }
184
191 inline RTCMRevision getRTCMRevision(const RTCMEM& rtcmem) {
192 return getRTCMRevision(rtcmem.rtcmc);
193 }
194
201 inline uint8_t getRTCMRevisionValue(const RTCMRevision& rev) {
202 return rev.value;
203 }
204
211 inline uint8_t getRTCMRevisionValue(const RTCMcorrections& rtcm) {
212 return getRTCMRevisionValue(rtcm.rev);
213 }
214
221 inline uint8_t getRTCMRevisionValue(const RTCMEM& rtcmem) {
222 return getRTCMRevisionValue(rtcmem.rtcmc);
223 }
224
231 inline bool hasMinuteOfTheYear(const RTCMcorrections& rtcm) {
232 return rtcm.time_stamp_is_present;
233 }
234
241 inline bool hasMinuteOfTheYear(const RTCMEM& rtcmem) {
242 return hasMinuteOfTheYear(rtcmem.rtcmc);
243 }
244
251 inline MinuteOfTheYear getMinuteOfTheYear(const RTCMcorrections& rtcm) {
252 throwIfNotPresent(rtcm.time_stamp_is_present, "rtcm.time_stamp");
253 return rtcm.time_stamp;
254 }
255
262 inline MinuteOfTheYear getMinuteOfTheYear(const RTCMEM& rtcmem) {
263 return getMinuteOfTheYear(rtcmem.rtcmc);
264 }
265
272 inline uint32_t getMinuteOfTheYearValue(const RTCMcorrections& rtcm) {
273 return getMinuteOfTheYear(rtcm).value;
274 }
275
282 inline uint32_t getMinuteOfTheYearValue(const RTCMEM& rtcmem) {
283 return getMinuteOfTheYearValue(rtcmem.rtcmc);
284 }
285
292 inline bool hasAnchorPoint(const RTCMcorrections& rtcm) {
293 return rtcm.anchor_point_is_present;
294 }
295
302 inline bool hasAnchorPoint(const RTCMEM& rtcmem) {
303 return hasAnchorPoint(rtcmem.rtcmc);
304 }
305
312 inline FullPositionVector getAnchorPoint(const RTCMcorrections& rtcm) {
313 throwIfNotPresent(rtcm.anchor_point_is_present, "rtcm.anchor_point");
314 return rtcm.anchor_point;
315 }
316
323 inline FullPositionVector getAnchorPoint(const RTCMEM& rtcmem) {
324 return getAnchorPoint(rtcmem.rtcmc);
325 }
326
333 inline bool hasRTCMHeader(const RTCMcorrections& rtcm) {
334 return rtcm.rtcm_header_is_present;
335 }
336
343 inline bool hasRTCMHeader(const RTCMEM& rtcmem) {
344 return hasRTCMHeader(rtcmem.rtcmc);
345 }
346
353 inline RTCMheader getRTCMHeader(const RTCMcorrections& rtcm) {
354 throwIfNotPresent(rtcm.rtcm_header_is_present, "rtcm.rtcm_header");
355 return rtcm.rtcm_header;
356 }
357
364 inline RTCMheader getRTCMHeader(const RTCMEM& rtcmem) {
365 return getRTCMHeader(rtcmem.rtcmc);
366 }
367
374 inline RTCMmessageList getRTCMmessageList(const RTCMcorrections& rtcm) {
375 return rtcm.msgs;
376 }
377
384 inline RTCMmessageList getRTCMmessageList(const RTCMEM& rtcmem) {
385 return getRTCMmessageList(rtcmem.rtcmc);
386 }
387
394 inline std::vector<RTCMmessage> getRTCMmessages(const RTCMmessageList& msgs) {
395 return msgs.array;
396 }
397
404 inline std::vector<RTCMmessage> getRTCMmessages(const RTCMcorrections& rtcm) {
405 return getRTCMmessages(rtcm.msgs);
406 }
407
414 inline std::vector<RTCMmessage> getRTCMmessages(const RTCMEM& rtcmem) {
415 return getRTCMmessages(rtcmem.rtcmc);
416 }
417
424 inline std::size_t getRTCMmessageCount(const RTCMmessageList& msgs) {
425 return msgs.array.size();
426 }
427
434 inline std::size_t getRTCMmessageCount(const RTCMcorrections& rtcm) {
435 return getRTCMmessageCount(rtcm.msgs);
436 }
437
444 inline std::size_t getRTCMmessageCount(const RTCMEM& rtcmem) {
445 return getRTCMmessageCount(rtcmem.rtcmc);
446 }
447
455 inline RTCMmessage getRTCMmessage(const RTCMmessageList& msgs, const std::size_t index) {
456 if (index >= msgs.array.size()) {
457 throw std::out_of_range("RTCMmessageList index out of range.");
458 }
459 return msgs.array[index];
460 }
461
469 inline RTCMmessage getRTCMmessage(const RTCMcorrections& rtcm, const std::size_t index) {
470 return getRTCMmessage(rtcm.msgs, index);
471 }
472
480 inline RTCMmessage getRTCMmessage(const RTCMEM& rtcmem, const std::size_t index) {
481 return getRTCMmessage(rtcmem.rtcmc, index);
482 }
483
490 inline std::vector<uint8_t> getRTCMmessageValue(const RTCMmessage& msg) {
491 return msg.value;
492 }
493
500 inline std::size_t getRTCMmessageSize(const RTCMmessage& msg) {
501 return msg.value.size();
502 }
503
510 inline GNSSstatus getGNSSstatus(const RTCMheader& header) {
511 return header.status;
512 }
513
520 inline std::vector<bool> getGNSSstatus(const GNSSstatus& status) {
521 return getBitString(status.value, status.bits_unused);
522 }
523
530 inline std::vector<bool> getGNSSstatusBits(const RTCMheader& header) {
531 return getGNSSstatus(header.status);
532 }
533
540 inline AntennaOffsetSet getAntennaOffsetSet(const RTCMheader& header) {
541 return header.offset_set;
542 }
543
551 inline bool getGNSSstatusBit(const GNSSstatus& status, const uint8_t bit_index) {
552 throwIfOutOfRange(bit_index, static_cast<uint8_t>(0), static_cast<uint8_t>(GNSSstatus::SIZE_BITS - 1), "GNSSstatus bit index");
553
554 if (status.value.empty()) {
555 return false;
556 }
557
558 const uint8_t mask = static_cast<uint8_t>(1u << bit_index);
559 return (status.value[0] & mask) != 0;
560 }
561
568 inline bool getUnavailableFlag(const GNSSstatus& status) {
569 return getGNSSstatusBit(status, GNSSstatus::BIT_INDEX_UNAVAILABLE);
570 }
571
578 inline bool getIsHealthyFlag(const GNSSstatus& status) {
579 return getGNSSstatusBit(status, GNSSstatus::BIT_INDEX_IS_HEALTHY);
580 }
581
588 inline bool getIsMonitoredFlag(const GNSSstatus& status) {
589 return getGNSSstatusBit(status, GNSSstatus::BIT_INDEX_IS_MONITORED);
590 }
591
598 inline bool getBaseStationTypeFlag(const GNSSstatus& status) {
599 return getGNSSstatusBit(status, GNSSstatus::BIT_INDEX_BASE_STATION_TYPE);
600 }
601
608 inline bool getAPDOPofUnder5Flag(const GNSSstatus& status) {
609 return getGNSSstatusBit(status, GNSSstatus::BIT_INDEX_A_PDO_POF_UNDER5);
610 }
611
618 inline bool getInViewOfUnder5Flag(const GNSSstatus& status) {
619 return getGNSSstatusBit(status, GNSSstatus::BIT_INDEX_IN_VIEW_OF_UNDER5);
620 }
621
628 inline bool getLocalCorrectionsPresentFlag(const GNSSstatus& status) {
629 return getGNSSstatusBit(status, GNSSstatus::BIT_INDEX_LOCAL_CORRECTIONS_PRESENT);
630 }
631
638 inline bool getNetworkCorrectionsPresentFlag(const GNSSstatus& status) {
639 return getGNSSstatusBit(status, GNSSstatus::BIT_INDEX_NETWORK_CORRECTIONS_PRESENT);
640 }
641
648 inline int16_t getAntennaOffsetXValue(const AntennaOffsetSet& offset) {
649 return offset.ant_offset_x.value;
650 }
651
658 inline int16_t getAntennaOffsetYValue(const AntennaOffsetSet& offset) {
659 return offset.ant_offset_y.value;
660 }
661
668 inline int16_t getAntennaOffsetZValue(const AntennaOffsetSet& offset) {
669 return offset.ant_offset_z.value;
670 }
671
678 inline double getLongitude(const Longitude& longitude) {
679 return static_cast<double>(longitude.value) * 1e-7;
680 }
681
688 inline double getLatitude(const Latitude& latitude) {
689 return static_cast<double>(latitude.value) * 1e-7;
690 }
691
698 inline double getElevation(const Elevation& elevation) {
699 return static_cast<double>(elevation.value) * 1e-1;
700 }
701
708 inline uint16_t getHeadingValue(const HeadingDSRC& heading) {
709 return heading.value;
710 }
711
718 inline bool hasUTCTime(const FullPositionVector& pos) {
719 return pos.utc_time_is_present;
720 }
721
728 inline DDateTime getUTCTime(const FullPositionVector& pos) {
729 throwIfNotPresent(pos.utc_time_is_present, "pos.utc_time");
730 return pos.utc_time;
731 }
732
739 inline int32_t getLongitudeValue(const FullPositionVector& pos) {
740 return pos.lon.value;
741 }
742
749 inline double getLongitude(const FullPositionVector& pos) {
750 return getLongitude(pos.lon);
751 }
752
759 inline int32_t getLatitudeValue(const FullPositionVector& pos) {
760 return pos.lat.value;
761 }
762
769 inline double getLatitude(const FullPositionVector& pos) {
770 return getLatitude(pos.lat);
771 }
772
779 inline bool hasElevation(const FullPositionVector& pos) {
780 return pos.elevation_is_present;
781 }
782
789 inline Elevation getElevationObject(const FullPositionVector& pos) {
790 throwIfNotPresent(pos.elevation_is_present, "pos.elevation");
791 return pos.elevation;
792 }
793
800 inline double getElevation(const FullPositionVector& pos) {
801 return getElevation(getElevationObject(pos));
802 }
803
810 inline bool hasHeading(const FullPositionVector& pos) {
811 return pos.heading_is_present;
812 }
813
820 inline HeadingDSRC getHeading(const FullPositionVector& pos) {
821 throwIfNotPresent(pos.heading_is_present, "pos.heading");
822 return pos.heading;
823 }
824
831 inline bool hasSpeed(const FullPositionVector& pos) {
832 return pos.speed_is_present;
833 }
834
841 inline TransmissionAndSpeed getSpeed(const FullPositionVector& pos) {
842 throwIfNotPresent(pos.speed_is_present, "pos.speed");
843 return pos.speed;
844 }
845
852 inline bool hasPositionalAccuracy(const FullPositionVector& pos) {
853 return pos.pos_accuracy_is_present;
854 }
855
862 inline PositionalAccuracy getPositionalAccuracy(const FullPositionVector& pos) {
863 throwIfNotPresent(pos.pos_accuracy_is_present, "pos.pos_accuracy");
864 return pos.pos_accuracy;
865 }
866
873 inline bool hasTimeConfidence(const FullPositionVector& pos) {
874 return pos.time_confidence_is_present;
875 }
876
883 inline TimeConfidence getTimeConfidence(const FullPositionVector& pos) {
884 throwIfNotPresent(pos.time_confidence_is_present, "pos.time_confidence");
885 return pos.time_confidence;
886 }
887
894 inline uint8_t getTimeConfidenceValue(const TimeConfidence& time_confidence) {
895 return time_confidence.value;
896 }
897
904 inline bool hasPositionConfidence(const FullPositionVector& pos) {
905 return pos.pos_confidence_is_present;
906 }
907
914 inline PositionConfidenceSet getPositionConfidence(const FullPositionVector& pos) {
915 throwIfNotPresent(pos.pos_confidence_is_present, "pos.pos_confidence");
916 return pos.pos_confidence;
917 }
918
925 inline bool hasSpeedConfidence(const FullPositionVector& pos) {
926 return pos.speed_confidence_is_present;
927 }
928
935 inline SpeedandHeadingandThrottleConfidence getSpeedConfidence(const FullPositionVector& pos) {
936 throwIfNotPresent(pos.speed_confidence_is_present, "pos.speed_confidence");
937 return pos.speed_confidence;
938 }
939
946 inline TransmissionState getTransmissionState(const TransmissionAndSpeed& speed) {
947 return speed.transmisson;
948 }
949
956 inline uint8_t getTransmissionStateValue(const TransmissionAndSpeed& speed) {
957 return getTransmissionState(speed).value;
958 }
959
966 inline Velocity getVelocity(const TransmissionAndSpeed& speed) {
967 return speed.speed;
968 }
969
976 inline uint16_t getVelocityValue(const TransmissionAndSpeed& speed) {
977 return getVelocity(speed).value;
978 }
979
986 inline SemiMajorAxisAccuracy getSemiMajorAxisAccuracy(const PositionalAccuracy& accuracy) {
987 return accuracy.semi_major;
988 }
989
996 inline uint8_t getSemiMajorAxisAccuracyValue(const PositionalAccuracy& accuracy) {
997 return getSemiMajorAxisAccuracy(accuracy).value;
998 }
999
1006 inline SemiMinorAxisAccuracy getSemiMinorAxisAccuracy(const PositionalAccuracy& accuracy) {
1007 return accuracy.semi_minor;
1008 }
1009
1016 inline uint8_t getSemiMinorAxisAccuracyValue(const PositionalAccuracy& accuracy) {
1017 return getSemiMinorAxisAccuracy(accuracy).value;
1018 }
1019
1026 inline SemiMajorAxisOrientation getSemiMajorAxisOrientation(const PositionalAccuracy& accuracy) {
1027 return accuracy.orientation;
1028 }
1029
1036 inline uint16_t getSemiMajorAxisOrientationValue(const PositionalAccuracy& accuracy) {
1037 return getSemiMajorAxisOrientation(accuracy).value;
1038 }
1039
1046 inline PositionConfidence getPositionConfidence(const PositionConfidenceSet& confidence) {
1047 return confidence.pos;
1048 }
1049
1056 inline uint8_t getPositionConfidenceValue(const PositionConfidenceSet& confidence) {
1057 return getPositionConfidence(confidence).value;
1058 }
1059
1066 inline ElevationConfidence getElevationConfidence(const PositionConfidenceSet& confidence) {
1067 return confidence.elevation;
1068 }
1069
1076 inline uint8_t getElevationConfidenceValue(const PositionConfidenceSet& confidence) {
1077 return getElevationConfidence(confidence).value;
1078 }
1079
1086 inline HeadingConfidenceDSRC getHeadingConfidence(const SpeedandHeadingandThrottleConfidence& confidence) {
1087 return confidence.heading;
1088 }
1089
1096 inline uint8_t getHeadingConfidenceValue(const SpeedandHeadingandThrottleConfidence& confidence) {
1097 return getHeadingConfidence(confidence).value;
1098 }
1099
1106 inline SpeedConfidenceDSRC getSpeedConfidenceDSRC(const SpeedandHeadingandThrottleConfidence& confidence) {
1107 return confidence.speed;
1108 }
1109
1116 inline uint8_t getSpeedConfidenceValue(const SpeedandHeadingandThrottleConfidence& confidence) {
1117 return getSpeedConfidenceDSRC(confidence).value;
1118 }
1119
1126 inline ThrottleConfidence getThrottleConfidence(const SpeedandHeadingandThrottleConfidence& confidence) {
1127 return confidence.throttle;
1128 }
1129
1136 inline uint8_t getThrottleConfidenceValue(const SpeedandHeadingandThrottleConfidence& confidence) {
1137 return getThrottleConfidence(confidence).value;
1138 }
1139
1146 inline bool hasYear(const DDateTime& date_time) {
1147 return date_time.year_is_present;
1148 }
1149
1156 inline DYear getYear(const DDateTime& date_time) {
1157 throwIfNotPresent(date_time.year_is_present, "date_time.year");
1158 return date_time.year;
1159 }
1160
1167 inline uint16_t getYearValue(const DDateTime& date_time) {
1168 return getYear(date_time).value;
1169 }
1170
1177 inline bool hasMonth(const DDateTime& date_time) {
1178 return date_time.month_is_present;
1179 }
1180
1187 inline DMonth getMonth(const DDateTime& date_time) {
1188 throwIfNotPresent(date_time.month_is_present, "date_time.month");
1189 return date_time.month;
1190 }
1191
1198 inline uint8_t getMonthValue(const DDateTime& date_time) {
1199 return getMonth(date_time).value;
1200 }
1201
1208 inline bool hasDay(const DDateTime& date_time) {
1209 return date_time.day_is_present;
1210 }
1211
1218 inline DDay getDay(const DDateTime& date_time) {
1219 throwIfNotPresent(date_time.day_is_present, "date_time.day");
1220 return date_time.day;
1221 }
1222
1229 inline uint8_t getDayValue(const DDateTime& date_time) {
1230 return getDay(date_time).value;
1231 }
1232
1239 inline bool hasHour(const DDateTime& date_time) {
1240 return date_time.hour_is_present;
1241 }
1242
1249 inline DHour getHour(const DDateTime& date_time) {
1250 throwIfNotPresent(date_time.hour_is_present, "date_time.hour");
1251 return date_time.hour;
1252 }
1253
1260 inline uint8_t getHourValue(const DDateTime& date_time) {
1261 return getHour(date_time).value;
1262 }
1263
1270 inline bool hasMinute(const DDateTime& date_time) {
1271 return date_time.minute_is_present;
1272 }
1273
1280 inline DMinute getMinute(const DDateTime& date_time) {
1281 throwIfNotPresent(date_time.minute_is_present, "date_time.minute");
1282 return date_time.minute;
1283 }
1284
1291 inline uint8_t getMinuteValue(const DDateTime& date_time) {
1292 return getMinute(date_time).value;
1293 }
1294
1301 inline bool hasSecond(const DDateTime& date_time) {
1302 return date_time.second_is_present;
1303 }
1304
1311 inline DSecond getSecond(const DDateTime& date_time) {
1312 throwIfNotPresent(date_time.second_is_present, "date_time.second");
1313 return date_time.second;
1314 }
1315
1322 inline double getSecondValue(const DDateTime& date_time) {
1323 return static_cast<double>(getSecond(date_time).value) * 1e-3;
1324 }
1325
1332 inline bool hasOffset(const DDateTime& date_time) {
1333 return date_time.offset_is_present;
1334 }
1335
1342 inline DOffset getOffset(const DDateTime& date_time) {
1343 throwIfNotPresent(date_time.offset_is_present, "date_time.offset");
1344 return date_time.offset;
1345 }
1346
1353 inline int16_t getOffsetValue(const DDateTime& date_time) {
1354 return getOffset(date_time).value;
1355 }
1356
1357} // namespace access
1358
1359} // namespace etsi_its_rtcmem_ts_msgs
Sanity-check functions etc.
int16_t getOffsetValue(const DDateTime &date_time)
Get the DOffset value from a DDateTime object.
bool hasHour(const DDateTime &date_time)
Check whether hour is present in a DDateTime object.
bool getIsHealthyFlag(const GNSSstatus &status)
Get the healthy flag from a GNSSstatus object.
double getSecondValue(const DDateTime &date_time)
Get the DSecond value from a DDateTime object.
ItsPduHeader getHeader(const RTCMEM &rtcmem)
Get the ItsPduHeader from a RTCMEM object.
PositionConfidenceSet getPositionConfidence(const FullPositionVector &pos)
Get the PositionConfidenceSet object from a FullPositionVector object.
StationID getStationID(const ItsPduHeader &header)
Get the StationID object from an ItsPduHeader object.
uint8_t getPositionConfidenceValue(const PositionConfidenceSet &confidence)
Get the PositionConfidence value from a PositionConfidenceSet object.
bool hasDay(const DDateTime &date_time)
Check whether day is present in a DDateTime object.
ThrottleConfidence getThrottleConfidence(const SpeedandHeadingandThrottleConfidence &confidence)
Get the ThrottleConfidence object from a SpeedandHeadingandThrottleConfidence object.
bool getAPDOPofUnder5Flag(const GNSSstatus &status)
Get the aPDOPofUnder5 flag from a GNSSstatus object.
std::vector< uint8_t > getRTCMmessageValue(const RTCMmessage &msg)
Get the raw bytes from a RTCMmessage object.
std::vector< RTCMmessage > getRTCMmessages(const RTCMmessageList &msgs)
Get the RTCM messages from a RTCMmessageList object.
uint16_t getYearValue(const DDateTime &date_time)
Get the DYear value from a DDateTime object.
double getElevation(const Elevation &elevation)
Get the elevation value from an Elevation object.
int16_t getAntennaOffsetZValue(const AntennaOffsetSet &offset)
Get the antenna offset in z direction.
bool getGNSSstatusBit(const GNSSstatus &status, const uint8_t bit_index)
Get a GNSSstatus bit by index.
void throwIfNotPresent(const bool is_present, const std::string val_desc)
Throws an exception if the given value is not present.
DMonth getMonth(const DDateTime &date_time)
Get the DMonth object from a DDateTime object.
uint8_t getSemiMajorAxisAccuracyValue(const PositionalAccuracy &accuracy)
Get the semi-major axis accuracy value from a PositionalAccuracy object.
Elevation getElevationObject(const FullPositionVector &pos)
Get the Elevation object from a FullPositionVector object.
HeadingDSRC getHeading(const FullPositionVector &pos)
Get the HeadingDSRC object from a FullPositionVector object.
uint8_t getMinuteValue(const DDateTime &date_time)
Get the DMinute value from a DDateTime object.
SemiMajorAxisAccuracy getSemiMajorAxisAccuracy(const PositionalAccuracy &accuracy)
Get the semi-major axis accuracy object from a PositionalAccuracy object.
MinuteOfTheYear getMinuteOfTheYear(const RTCMcorrections &rtcm)
Get the MinuteOfTheYear object from a RTCMcorrections object.
uint8_t getTransmissionStateValue(const TransmissionAndSpeed &speed)
Get the transmission state value from a TransmissionAndSpeed object.
uint8_t getElevationConfidenceValue(const PositionConfidenceSet &confidence)
Get the ElevationConfidence value from a PositionConfidenceSet object.
TimeConfidence getTimeConfidence(const FullPositionVector &pos)
Get the TimeConfidence object from a FullPositionVector object.
DMinute getMinute(const DDateTime &date_time)
Get the DMinute object from a DDateTime object.
SpeedConfidenceDSRC getSpeedConfidenceDSRC(const SpeedandHeadingandThrottleConfidence &confidence)
Get the SpeedConfidenceDSRC object from a SpeedandHeadingandThrottleConfidence object.
uint32_t getMinuteOfTheYearValue(const RTCMcorrections &rtcm)
Get the MinuteOfTheYear value from a RTCMcorrections object.
RTCMcorrections getRTCMcorrections(const RTCMEM &rtcmem)
Get the RTCMcorrections container from a RTCMEM object.
SpeedandHeadingandThrottleConfidence getSpeedConfidence(const FullPositionVector &pos)
Get the SpeedandHeadingandThrottleConfidence object from a FullPositionVector object.
bool getBaseStationTypeFlag(const GNSSstatus &status)
Get the base station type flag from a GNSSstatus object.
uint8_t getMsgCount(const MsgCount &msg_cnt)
Get the MsgCount value from a MsgCount object.
FullPositionVector getAnchorPoint(const RTCMcorrections &rtcm)
Get the anchor point from a RTCMcorrections object.
uint16_t getHeadingValue(const HeadingDSRC &heading)
Get the heading value from a HeadingDSRC object.
bool hasOffset(const DDateTime &date_time)
Check whether offset is present in a DDateTime object.
DDateTime getUTCTime(const FullPositionVector &pos)
Get the utcTime object from a FullPositionVector object.
uint8_t getMonthValue(const DDateTime &date_time)
Get the DMonth value from a DDateTime object.
bool hasSecond(const DDateTime &date_time)
Check whether second is present in a DDateTime object.
bool hasSpeed(const FullPositionVector &pos)
Check whether speed is present in a FullPositionVector object.
SemiMinorAxisAccuracy getSemiMinorAxisAccuracy(const PositionalAccuracy &accuracy)
Get the semi-minor axis accuracy object from a PositionalAccuracy object.
int16_t getAntennaOffsetYValue(const AntennaOffsetSet &offset)
Get the antenna offset in y direction.
Velocity getVelocity(const TransmissionAndSpeed &speed)
Get the Velocity object from a TransmissionAndSpeed object.
bool getIsMonitoredFlag(const GNSSstatus &status)
Get the monitored flag from a GNSSstatus object.
PositionalAccuracy getPositionalAccuracy(const FullPositionVector &pos)
Get the PositionalAccuracy object from a FullPositionVector object.
double getLatitude(const Latitude &latitude)
Get the latitude value from a Latitude object.
std::size_t getRTCMmessageSize(const RTCMmessage &msg)
Get the size of a RTCMmessage object in bytes.
GNSSstatus getGNSSstatus(const RTCMheader &header)
Get the GNSSstatus object from a RTCMheader object.
bool getLocalCorrectionsPresentFlag(const GNSSstatus &status)
Get the localCorrectionsPresent flag from a GNSSstatus object.
bool hasAnchorPoint(const RTCMcorrections &rtcm)
Check whether an anchor point is present in a RTCMcorrections object.
int32_t getLongitudeValue(const FullPositionVector &pos)
Get the raw longitude value from a FullPositionVector object.
uint8_t getTimeConfidenceValue(const TimeConfidence &time_confidence)
Get the TimeConfidence value from a TimeConfidence object.
bool hasMinute(const DDateTime &date_time)
Check whether minute is present in a DDateTime object.
bool hasMonth(const DDateTime &date_time)
Check whether month is present in a DDateTime object.
DYear getYear(const DDateTime &date_time)
Get the DYear object from a DDateTime object.
uint16_t getVelocityValue(const TransmissionAndSpeed &speed)
Get the Velocity value from a TransmissionAndSpeed object.
bool hasSpeedConfidence(const FullPositionVector &pos)
Check whether speed confidence is present in a FullPositionVector object.
uint8_t getSemiMinorAxisAccuracyValue(const PositionalAccuracy &accuracy)
Get the semi-minor axis accuracy value from a PositionalAccuracy object.
uint8_t getRTCMRevisionValue(const RTCMRevision &rev)
Get the RTCMRevision value from a RTCMRevision object.
RTCMmessageList getRTCMmessageList(const RTCMcorrections &rtcm)
Get the RTCMmessageList from a RTCMcorrections object.
DSecond getSecond(const DDateTime &date_time)
Get the DSecond object from a DDateTime object.
bool getInViewOfUnder5Flag(const GNSSstatus &status)
Get the inViewOfUnder5 flag from a GNSSstatus object.
DDay getDay(const DDateTime &date_time)
Get the DDay object from a DDateTime object.
uint8_t getProtocolVersion(const ItsPduHeader &header)
Get the protocol version from an ItsPduHeader object.
uint32_t getStationIDValue(const ItsPduHeader &header)
Get the StationID value from an ItsPduHeader object.
bool hasElevation(const FullPositionVector &pos)
Check whether elevation is present in a FullPositionVector object.
uint16_t getSemiMajorAxisOrientationValue(const PositionalAccuracy &accuracy)
Get the semi-major axis orientation value from a PositionalAccuracy object.
HeadingConfidenceDSRC getHeadingConfidence(const SpeedandHeadingandThrottleConfidence &confidence)
Get the HeadingConfidenceDSRC object from a SpeedandHeadingandThrottleConfidence object.
std::vector< bool > getBitString(const std::vector< uint8_t > &buffer, const int bits_unused)
Get a Bit String in form of bool vector.
RTCMheader getRTCMHeader(const RTCMcorrections &rtcm)
Get the RTCMheader from a RTCMcorrections object.
void throwIfOutOfRange(const T1 &val, const T2 &min, const T2 &max, const std::string val_desc)
Throws an exception if a given value is out of a defined range.
bool getNetworkCorrectionsPresentFlag(const GNSSstatus &status)
Get the networkCorrectionsPresent flag from a GNSSstatus object.
bool hasUTCTime(const FullPositionVector &pos)
Get the utcTime presence flag from a FullPositionVector object.
uint8_t getMessageID(const ItsPduHeader &header)
Get the message ID from an ItsPduHeader object.
uint8_t getDayValue(const DDateTime &date_time)
Get the DDay value from a DDateTime object.
int16_t getAntennaOffsetXValue(const AntennaOffsetSet &offset)
Get the antenna offset in x direction.
bool getUnavailableFlag(const GNSSstatus &status)
Get the unavailable flag from a GNSSstatus object.
RTCMRevision getRTCMRevision(const RTCMcorrections &rtcm)
Get the RTCMRevision object.
bool hasPositionalAccuracy(const FullPositionVector &pos)
Check whether positional accuracy is present in a FullPositionVector object.
double getLongitude(const Longitude &longitude)
Get the longitude value from a Longitude object.
bool hasYear(const DDateTime &date_time)
Check whether year is present in a DDateTime object.
bool hasHeading(const FullPositionVector &pos)
Check whether heading is present in a FullPositionVector object.
bool hasTimeConfidence(const FullPositionVector &pos)
Check whether time confidence is present in a FullPositionVector object.
uint8_t getHeadingConfidenceValue(const SpeedandHeadingandThrottleConfidence &confidence)
Get the HeadingConfidenceDSRC value from a SpeedandHeadingandThrottleConfidence object.
SemiMajorAxisOrientation getSemiMajorAxisOrientation(const PositionalAccuracy &accuracy)
Get the semi-major axis orientation object from a PositionalAccuracy object.
bool hasMinuteOfTheYear(const RTCMcorrections &rtcm)
Check whether a MinuteOfTheYear is present in a RTCMcorrections object.
uint8_t getThrottleConfidenceValue(const SpeedandHeadingandThrottleConfidence &confidence)
Get the ThrottleConfidence value from a SpeedandHeadingandThrottleConfidence object.
TransmissionAndSpeed getSpeed(const FullPositionVector &pos)
Get the TransmissionAndSpeed object from a FullPositionVector object.
AntennaOffsetSet getAntennaOffsetSet(const RTCMheader &header)
Get the AntennaOffsetSet from a RTCMheader object.
DOffset getOffset(const DDateTime &date_time)
Get the DOffset object from a DDateTime object.
std::vector< bool > getGNSSstatusBits(const RTCMheader &header)
Get the GNSSstatus as a bool vector from a RTCMheader object.
ElevationConfidence getElevationConfidence(const PositionConfidenceSet &confidence)
Get the ElevationConfidence object from a PositionConfidenceSet object.
uint8_t getSpeedConfidenceValue(const SpeedandHeadingandThrottleConfidence &confidence)
Get the SpeedConfidenceDSRC value from a SpeedandHeadingandThrottleConfidence object.
RTCMmessage getRTCMmessage(const RTCMmessageList &msgs, const std::size_t index)
Get a RTCMmessage from a RTCMmessageList object by index.
uint8_t getHourValue(const DDateTime &date_time)
Get the DHour value from a DDateTime object.
DHour getHour(const DDateTime &date_time)
Get the DHour object from a DDateTime object.
std::size_t getRTCMmessageCount(const RTCMmessageList &msgs)
Get the number of RTCM messages from a RTCMmessageList object.
bool hasPositionConfidence(const FullPositionVector &pos)
Check whether position confidence is present in a FullPositionVector object.
bool hasRTCMHeader(const RTCMcorrections &rtcm)
Check whether a RTCMheader is present in a RTCMcorrections object.
int32_t getLatitudeValue(const FullPositionVector &pos)
Get the raw latitude value from a FullPositionVector object.
TransmissionState getTransmissionState(const TransmissionAndSpeed &speed)
Get the transmission state object from a TransmissionAndSpeed object.