From f0e6a8c535c151ecfc090f73c60ba065d66673fa Mon Sep 17 00:00:00 2001 From: Siddharth Purohit Date: Sun, 31 May 2020 18:03:00 +0530 Subject: [PATCH] HAL_SITL: add methods to fetch native system clock info --- libraries/AP_HAL_SITL/system.cpp | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/libraries/AP_HAL_SITL/system.cpp b/libraries/AP_HAL_SITL/system.cpp index be2cfffcf0..c2be2f6b5e 100644 --- a/libraries/AP_HAL_SITL/system.cpp +++ b/libraries/AP_HAL_SITL/system.cpp @@ -177,4 +177,45 @@ uint64_t millis64() return ret; } + +uint32_t native_micros() +{ + return native_micros64() & 0xFFFFFFFF; +} + +uint32_t native_millis() +{ + return native_millis64() & 0xFFFFFFFF; +} + +/* + we define a millis16() here to avoid an issue with sitl builds in cygwin + */ +uint16_t native_millis16() +{ + return native_millis64() & 0xFFFF; +} + + +uint64_t native_micros64() +{ + struct timeval tp; + gettimeofday(&tp, nullptr); + uint64_t ret = 1.0e6 * ((tp.tv_sec + (tp.tv_usec * 1.0e-6)) - + (state.start_time.tv_sec + + (state.start_time.tv_usec * 1.0e-6))); + return ret; +} + +uint64_t native_millis64() +{ + struct timeval tp; + gettimeofday(&tp, nullptr); + uint64_t ret = 1.0e3*((tp.tv_sec + (tp.tv_usec*1.0e-6)) - + (state.start_time.tv_sec + + (state.start_time.tv_usec*1.0e-6))); + return ret; +} + + } // namespace AP_HAL