/* * Copyright (C) 2021 ML!PA Consulting GmbH * * This file is subject to the terms and conditions of the GNU Lesser General * Public License v2.1. See the file LICENSE in the top level directory for more * details. */ /** * @defgroup drivers_rtt_rtc RTC emulation on top of a RTT * @ingroup drivers_periph_rtc * * @{ * * @file * @brief Additional functions provided in addition to the normal RTC API. * * @author Benjamin Valentin */ #ifndef RTT_RTC_H #define RTT_RTC_H #include #ifdef __cplusplus extern "C" { #endif /** * @brief Set the time as epoch (elapsed seconds since @ref RIOT_EPOCH) * with sub-second precision * This feature is an extension provided by the `rtt_rtc` module. * * @note The actual µs precision depends on the underlying hardware. * The smallest time step will be 1 / @ref RTT_FREQUENCY. * * @param[in] s The new epoch timestamp * @param[in] us Sub-Seconds */ void rtt_rtc_settimeofday(uint32_t s, uint32_t us); /** * @brief Get the current epoch (elapsed seconds since @ref RIOT_EPOCH) * with sub-second precision * This feature is an extension provided by the `rtt_rtc` module. * * @note The actual µs precision depends on the underlying hardware. * The smallest time step will be 1 / @ref RTT_FREQUENCY. * * @param[out] s The current epoch timestamp * @param[out] us Sub-Seconds */ void rtt_rtc_gettimeofday(uint32_t *s, uint32_t *us); #ifdef __cplusplus } #endif #endif /* RTT_RTC_H */ /** @} */