Added I-Class APIs to the RTC driver.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3807 35acf78f-673a-0410-8e92-d51de3d6d3f4master
parent
a2672b8dbb
commit
d29e6e338e
|
@ -79,6 +79,68 @@ typedef struct RTCTime RTCTime;
|
||||||
/* Driver macros. */
|
/* 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. */
|
/* External declarations. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
|
@ -79,7 +79,9 @@ void rtcSetTime(RTCDriver *rtcp, const RTCTime *timespec) {
|
||||||
|
|
||||||
chDbgCheck((rtcp != NULL) && (timespec != NULL), "rtcSetTime");
|
chDbgCheck((rtcp != NULL) && (timespec != NULL), "rtcSetTime");
|
||||||
|
|
||||||
rtc_lld_set_time(rtcp, timespec);
|
chSysLock();
|
||||||
|
rtcSetTimeI(rtcp, timespec);
|
||||||
|
chSysUnlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -94,7 +96,9 @@ void rtcGetTime(RTCDriver *rtcp, RTCTime *timespec) {
|
||||||
|
|
||||||
chDbgCheck((rtcp != NULL) && (timespec != NULL), "rtcGetTime");
|
chDbgCheck((rtcp != NULL) && (timespec != NULL), "rtcGetTime");
|
||||||
|
|
||||||
rtc_lld_get_time(rtcp, timespec);
|
chSysLock();
|
||||||
|
rtcGetTimeI(rtcp, timespec);
|
||||||
|
chSysUnlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (RTC_ALARMS > 0) || defined(__DOXYGEN__)
|
#if (RTC_ALARMS > 0) || defined(__DOXYGEN__)
|
||||||
|
@ -113,7 +117,9 @@ void rtcSetAlarm(RTCDriver *rtcp,
|
||||||
|
|
||||||
chDbgCheck((rtcp != NULL) && (alarm < RTC_ALARMS), "rtcSetAlarm");
|
chDbgCheck((rtcp != NULL) && (alarm < RTC_ALARMS), "rtcSetAlarm");
|
||||||
|
|
||||||
rtc_lld_set_alarm(rtcp, alarm, alarmspec);
|
chSysLock();
|
||||||
|
rtcSetAlarmI(rtcp, alarm, alarmspec);
|
||||||
|
chSysUnlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -134,7 +140,9 @@ void rtcGetAlarm(RTCDriver *rtcp,
|
||||||
chDbgCheck((rtcp != NULL) && (alarm < RTC_ALARMS) && (alarmspec != NULL),
|
chDbgCheck((rtcp != NULL) && (alarm < RTC_ALARMS) && (alarmspec != NULL),
|
||||||
"rtcGetAlarm");
|
"rtcGetAlarm");
|
||||||
|
|
||||||
rtc_lld_get_alarm(rtcp, alarm, alarmspec);
|
chSysLock();
|
||||||
|
rtcGetAlarmI(rtcp, alarm, alarmspec);
|
||||||
|
chSysUnlock();
|
||||||
}
|
}
|
||||||
#endif /* RTC_ALARMS > 0 */
|
#endif /* RTC_ALARMS > 0 */
|
||||||
|
|
||||||
|
@ -153,7 +161,9 @@ void rtcSetCallback(RTCDriver *rtcp, rtccb_t callback) {
|
||||||
|
|
||||||
chDbgCheck((rtcp != NULL), "rtcSetCallback");
|
chDbgCheck((rtcp != NULL), "rtcSetCallback");
|
||||||
|
|
||||||
rtc_lld_set_callback(rtcp, callback);
|
chSysLock();
|
||||||
|
rtcSetCallbackI(rtcp, callback);
|
||||||
|
chSysUnlock();
|
||||||
}
|
}
|
||||||
#endif /* RTC_SUPPORTS_CALLBACKS */
|
#endif /* RTC_SUPPORTS_CALLBACKS */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue