diff --git a/lib/timing.cpp b/lib/timing.cpp index f2e02c1c..78ff8824 100644 --- a/lib/timing.cpp +++ b/lib/timing.cpp @@ -81,6 +81,12 @@ long long int Util::bootSecs() { return t.tv_sec; } +uint64_t Util::bootMS() { + struct timespec t; + clock_gettime(CLOCK_MONOTONIC, &t); + return ((uint64_t)t.tv_sec) * 1000 + t.tv_nsec / 1000000; +} + /// Gets the current time in microseconds. long long unsigned int Util::getMicros() { struct timespec t; diff --git a/lib/timing.h b/lib/timing.h index e7486806..e1d8ebab 100644 --- a/lib/timing.h +++ b/lib/timing.h @@ -9,6 +9,7 @@ namespace Util { void sleep(int ms); ///< Sleeps for roughly the indicated amount of milliseconds. long long int getMS(); ///< Gets the current time in milliseconds. long long int bootSecs(); ///< Gets the current system uptime in seconds. + uint64_t bootMS(); ///< Gets the current system uptime in milliseconds. long long unsigned int getMicros();///