From: Joey Castillo Date: Sat, 15 Jan 2022 17:22:42 +0000 (-0500) Subject: add gettimeofday function X-Git-Url: https://git.earman.xyz/?a=commitdiff_plain;h=19fd519209d20cb9ee4099715f7086b3b476e60c;p=sensor-watch.git add gettimeofday function --- diff --git a/watch-library/watch/watch_private.c b/watch-library/watch/watch_private.c index b52c8e4..ae2589e 100644 --- a/watch-library/watch/watch_private.c +++ b/watch-library/watch/watch_private.c @@ -23,6 +23,7 @@ */ #include "watch_private.h" +#include "watch_utility.h" #include "tusb.h" void _watch_init(void) { @@ -97,6 +98,17 @@ int getentropy(void *buf, size_t buflen) { return 0; } +int _gettimeofday(struct timeval *tv, void *tzvp) { + (void)tzvp; + watch_date_time date_time = watch_rtc_get_date_time(); + + // FIXME: this assumes the system time is UTC! Will break for any other time zone. + tv->tv_sec = watch_utility_date_time_to_unix_time(date_time, 0); + tv->tv_usec = 0; + + return 0; +} + void _watch_enable_tcc(void) { // clock TCC0 with the main clock (8 MHz) and enable the peripheral clock. hri_gclk_write_PCHCTRL_reg(GCLK, TCC0_GCLK_ID, GCLK_PCHCTRL_GEN_GCLK0_Val | GCLK_PCHCTRL_CHEN);