#ifndef CX_ZIVUOS_TIME_H_INCLUDED #define CX_ZIVUOS_TIME_H_INCLUDED #include "zv_types.h" #ifndef ZIVUOS_USE_32BIT_TIME /** System time in ms. */ typedef uint64_t zv_time_t; #else /** System time in ms. */ typedef uint32_t zv_time_t; #endif /** System time for precission delays and measurments */ typedef uint32_t zv_ticks_t; #define ZV_TIME_MAX ((zv_time_t) -1) #define ZV_TICKS_MAX ((zv_ticks_t) -1) #define zv_time_get_ticks __zv_platform_get_time_us #define zv_time_get_time __zv_platform_get_time_ms #define zv_time_remaining(X, Y) ((zv_time_t) (Y - X)) #define zv_ticks_remaining(X, Y) ((zv_ticks_t) (Y - X)) #define zv_time_after(X, Y) ((zv_time_t) (X + Y)) #define zv_ticks_after(X, Y) ((zv_ticks_t) (X + Y)) #define zv_time_get_time_after(X) (zv_time_get_time() + X) void zv_time_ticks_delay(zv_ticks_t delay); void __zv_time_process_timer(struct zv_event_s *); #endif