提交 8a7babad 编写于 作者: 还_没_想_好's avatar 还_没_想_好 提交者: guo

[drivers][rtc]Add get/set timestamp function

上级 9a4bd201
......@@ -51,6 +51,8 @@ rt_err_t rt_hw_rtc_register(rt_rtc_dev_t *rtc,
rt_err_t set_date(rt_uint32_t year, rt_uint32_t month, rt_uint32_t day);
rt_err_t set_time(rt_uint32_t hour, rt_uint32_t minute, rt_uint32_t second);
rt_err_t set_timestamp(time_t timestamp);
rt_err_t get_timestamp(time_t *timestamp);
#ifdef __cplusplus
}
......
......@@ -228,6 +228,49 @@ rt_err_t set_time(rt_uint32_t hour, rt_uint32_t minute, rt_uint32_t second)
return ret;
}
/**
* Set timestamp(utc).
*
* @param time_t timestamp
*
* @return rt_err_t if set success, return RT_EOK.
*/
rt_err_t set_timestamp(time_t timestamp)
{
if (_rtc_device == RT_NULL)
{
_rtc_device = rt_device_find("rtc");
if (_rtc_device == RT_NULL)
{
return -RT_ERROR;
}
}
/* update to RTC device. */
return rt_device_control(_rtc_device, RT_DEVICE_CTRL_RTC_SET_TIME, &timestamp);
}
/**
* Get timestamp(utc).
*
* @param time_t* timestamp
*
* @return rt_err_t if set success, return RT_EOK.
*/
rt_err_t get_timestamp(time_t *timestamp)
{
if (_rtc_device == RT_NULL)
{
_rtc_device = rt_device_find("rtc");
if (_rtc_device == RT_NULL)
{
return -RT_ERROR;
}
}
/* Get timestamp from RTC device. */
return rt_device_control(_rtc_device, RT_DEVICE_CTRL_RTC_GET_TIME, timestamp);
}
#ifdef RT_USING_FINSH
#include <finsh.h>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册