From 8903bc9eab959028563f4c4a86b042dea224d484 Mon Sep 17 00:00:00 2001 From: Siddharth Bharat Purohit Date: Tue, 21 Jun 2016 16:20:01 +0530 Subject: [PATCH] AP_HAL: add support for get realtime on Darwin systems --- libraries/AP_HAL/Util.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libraries/AP_HAL/Util.cpp b/libraries/AP_HAL/Util.cpp index 706e3bacf1..31517e73f2 100644 --- a/libraries/AP_HAL/Util.cpp +++ b/libraries/AP_HAL/Util.cpp @@ -2,6 +2,9 @@ #include "Util.h" #include "utility/print_vprintf.h" #include +#if defined(__APPLE__) && defined(__MACH__) +#include +#endif /* Helper class implements AP_HAL::Print so we can use utility/vprintf */ class BufferPrinter : public AP_HAL::Print { @@ -50,9 +53,15 @@ int AP_HAL::Util::vsnprintf(char* str, size_t size, const char *format, va_list uint64_t AP_HAL::Util::get_system_clock_ms() const { +#if defined(__APPLE__) && defined(__MACH__) + struct timeval ts; + gettimeofday(&ts, NULL); + return ((long long)((ts.tv_sec * 1000) + (ts.tv_usec / 1000))); +#else struct timespec ts; clock_gettime(CLOCK_REALTIME, &ts); return ((long long)(ts.tv_sec * 1000 + ts.tv_nsec/1000000)); +#endif } void AP_HAL::Util::get_system_clock_utc(int32_t &hour, int32_t &min, int32_t &sec, int32_t &ms) const