aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/include/rtc.h
diff options
context:
space:
mode:
Diffstat (limited to 'os/hal/include/rtc.h')
-rw-r--r--os/hal/include/rtc.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/os/hal/include/rtc.h b/os/hal/include/rtc.h
index 7b4e46f1f..774d45851 100644
--- a/os/hal/include/rtc.h
+++ b/os/hal/include/rtc.h
@@ -79,6 +79,68 @@ typedef struct RTCTime RTCTime;
/* Driver macros. */
/*===========================================================================*/
+/**
+ * @brief Set current time.
+ *
+ * @param[in] rtcp pointer to RTC driver structure
+ * @param[in] timespec pointer to a @p RTCTime structure
+ *
+ * @iclass
+ */
+#define rtcSetTimeI(rtcp, timespec) rtc_lld_set_time(rtcp, timespec)
+
+/**
+ * @brief Get current time.
+ *
+ * @param[in] rtcp pointer to RTC driver structure
+ * @param[out] timespec pointer to a @p RTCTime structure
+ *
+ * @iclass
+ */
+#define rtcGetTimeI(rtcp, timespec) rtc_lld_get_time(rtcp, timespec)
+
+#if (RTC_ALARMS > 0) || defined(__DOXYGEN__)
+/**
+ * @brief Set alarm time.
+ *
+ * @param[in] rtcp pointer to RTC driver structure
+ * @param[in] alarm alarm identifier
+ * @param[in] alarmspec pointer to a @p RTCAlarm structure or @p NULL
+ *
+ * @iclass
+ */
+#define rtcSetAlarmI(rtcp, alarm, alarmspec) \
+ rtc_lld_set_alarm(rtcp, alarm, alarmspec)
+
+/**
+ * @brief Get current alarm.
+ * @note If an alarm has not been set then the returned alarm specification
+ * is not meaningful.
+ *
+ * @param[in] rtcp pointer to RTC driver structure
+ * @param[in] alarm alarm identifier
+ * @param[out] alarmspec pointer to a @p RTCAlarm structure
+ *
+ * @iclass
+ */
+#define rtcGetAlarmI(rtcp, alarm, alarmspec) \
+ rtc_lld_get_alarm(rtcp, alarm, alarmspec)
+#endif /* RTC_ALARMS > 0 */
+
+#if RTC_SUPPORTS_CALLBACKS || defined(__DOXYGEN__)
+/**
+ * @brief Enables or disables RTC callbacks.
+ * @details This function enables or disables the callback, use a @p NULL
+ * pointer in order to disable it.
+ *
+ * @param[in] rtcp pointer to RTC driver structure
+ * @param[in] callback callback function pointer or @p NULL
+ *
+ * @iclass
+ */
+#define rtcSetCallbackI(rtcp, callback) rtc_lld_set_callback(rtcp, callback)
+#endif /* RTC_SUPPORTS_CALLBACKS */
+
/*===========================================================================*/
/* External declarations. */
/*===========================================================================*/