unix,windows: Implement mp_hal_time_ns using gettimeofday.

This provides microsecond accuracy.

Signed-off-by: Damien George <damien@micropython.org>
pull/6479/head
Damien George 2020-09-24 14:37:01 +10:00
rodzic 98182a97c5
commit 905a18aafe
2 zmienionych plików z 9 dodań i 2 usunięć

Wyświetl plik

@ -216,6 +216,7 @@ mp_uint_t mp_hal_ticks_us(void) {
}
uint64_t mp_hal_time_ns(void) {
time_t now = time(NULL);
return (uint64_t)now * 1000000000ULL;
struct timeval tv;
gettimeofday(&tv, NULL);
return (uint64_t)tv.tv_sec * 1000000000ULL + (uint64_t)tv.tv_usec * 1000ULL;
}

Wyświetl plik

@ -255,3 +255,9 @@ mp_uint_t mp_hal_ticks_cpu(void) {
return value.LowPart;
#endif
}
uint64_t mp_hal_time_ns(void) {
struct timeval tv;
gettimeofday(&tv, NULL);
return (uint64_t)tv.tv_sec * 1000000000ULL + (uint64_t)tv.tv_usec * 1000ULL;
}