12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #include "timer.h"
- #include "io.h"
- static uint64_t __time_us;
- static uint64_t __delta_time_us;
- unsigned long time_micros()
- {
- #ifdef __linux__
- return 0;
- #else
- return millis()*1000;
- #endif
- }
- void micro_sleep(unsigned long x)
- {
- #ifdef __linux__
- usleep(x);
- #else
- delay(x/1000);
- #endif
- }
- void timer_init()
- {
- __time_us=0;
- }
- uint64_t get_time_us()
- {
- #ifdef __linux__
- uint64_t ret;
- struct timespec t;
- clock_gettime(CLOCK_REALTIME, &t);
- ret=(t.tv_nsec+t.tv_sec*1000000000)/1000;
- return ret;
- #else
- return 0;
- #endif
- }
- void set_delta()
- {
- __delta_time_us=__time_us;
- }
- uint64_t get_delta()
- {
- return __time_us-__delta_time_us;
- }
|