]> git.earman.xyz Git - sensor-watch.git/commitdiff
add gettimeofday function
authorJoey Castillo <joeycastillo@utexas.edu>
Sat, 15 Jan 2022 17:22:42 +0000 (12:22 -0500)
committerJoey Castillo <joeycastillo@utexas.edu>
Sat, 15 Jan 2022 17:26:17 +0000 (12:26 -0500)
watch-library/watch/watch_private.c

index b52c8e4c478c28664792bc45104a74122eb3076c..ae2589e7057bb30104dc3b7667108128cb426dfa 100644 (file)
@@ -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);