etsi_its_messages v3.0.0
 
Loading...
Searching...
No Matches
cpm_ts_utils.h File Reference

Utility functions for the ETSI ITS CPM (TS) More...

Go to the source code of this file.

Functions

uint64_t getUnixNanosecondsFromReferenceTime (const TimestampIts &reference_time)
 Get the Unix-Nanoseconds from a given ReferenceTime object.
 

Detailed Description

Utility functions for the ETSI ITS CPM (TS)

Definition in file cpm_ts_utils.h.

Function Documentation

◆ getUnixNanosecondsFromReferenceTime()

uint64_t getUnixNanosecondsFromReferenceTime ( const TimestampIts & reference_time)
inline

Get the Unix-Nanoseconds from a given ReferenceTime object.

Parameters
reference_timethe ReferenceTime object to get the Unix-Nanoseconds from
n_leap_secondsnumber of leap-seconds since 2004. (Default: etsi_its_msgs::N_LEAP_SECONDS)
Returns
uint64_t the corresponding Unix-Nanoseconds

Definition at line 43 of file cpm_ts_utils.h.

43 {
44 double unix_time_with_leap_seconds = reference_time.value * 1e-3 + etsi_its_msgs::UNIX_SECONDS_2004;
45 uint16_t n_leap_seconds =
46 etsi_its_msgs::getLeapSecondInsertionsSince2004(static_cast<uint64_t>(unix_time_with_leap_seconds));
47 return (unix_time_with_leap_seconds - n_leap_seconds) * 1e9;
48}
uint16_t getLeapSecondInsertionsSince2004(const uint64_t unix_seconds)
Get the leap second insertions since 2004 for given unix seconds.
Definition constants.h:60