/* SPDX-License-Identifier: MIT Copyright (c) 2023 John Watts and the LuminaSensum contributors */ #ifndef CLOCK_H #define CLOCK_H #include "NetworkInterface.h" #include "mbed.h" #include "sntp.h" #include <chrono> typedef std::chrono::time_point<Kernel::Clock> kernel_timepoint; std::chrono::microseconds kernel_to_real_time(kernel_timepoint time); kernel_timepoint real_to_kernel_time(std::chrono::microseconds time); void clock_setup(void); SNTPError clock_sync(NetworkInterface &net); std::chrono::microseconds clock_now(void); const char *clock_timestring(std::chrono::microseconds, const char *format); const char *clock_iso8601string(std::chrono::microseconds); const char *clock_iso8601string_now(void); #endif