| 123456789101112131415161718192021222324252627282930313233 |
- #ifdef ZIVUOS_PLATFORM_LINUX
- #include <stdint.h>
- #include <stddef.h>
- #include <stdbool.h>
- #include <math.h>
- #include <time.h>
- #include "zv_types.h"
- #include "zv_time.h"
- zv_time_t zv_platform_get_time() {
- struct timespec current_time;
- clock_gettime(CLOCK_REALTIME, ¤t_time);
- time_t seconds = current_time.tv_sec;
- long nanoseconds = current_time.tv_nsec;
- long miliseconds = round(nanoseconds / 1000000);
- if (miliseconds > 999) {
- miliseconds = 0;
- ++seconds;
- }
- zv_time_t result = seconds * 1000;
- result += miliseconds;
-
- return result;
- }
- #endif
|