zv_time.h 892 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef CX_ZIVUOS_TIME_H_INCLUDED
  2. #define CX_ZIVUOS_TIME_H_INCLUDED
  3. #include "zv_types.h"
  4. #ifndef ZIVUOS_USE_32BIT_TIME
  5. /** System time in ms. */
  6. typedef uint64_t zv_time_t;
  7. #else
  8. /** System time in ms. */
  9. typedef uint32_t zv_time_t;
  10. #endif
  11. /** System time for precission delays and measurments */
  12. typedef uint32_t zv_ticks_t;
  13. #define ZV_TIME_MAX ((zv_time_t) -1)
  14. #define ZV_TICKS_MAX ((zv_ticks_t) -1)
  15. #define zv_time_get_ticks __zv_platform_get_time_us
  16. #define zv_time_get_time __zv_platform_get_time_ms
  17. #define zv_time_remaining(X, Y) ((zv_time_t) (Y - X))
  18. #define zv_ticks_remaining(X, Y) ((zv_ticks_t) (Y - X))
  19. #define zv_time_after(X, Y) ((zv_time_t) (X + Y))
  20. #define zv_ticks_after(X, Y) ((zv_ticks_t) (X + Y))
  21. #define zv_time_get_time_after(X) (zv_time_get_time() + X)
  22. void zv_time_ticks_delay(zv_ticks_t delay);
  23. void __zv_time_process_timer(struct zv_event_s *);
  24. #endif