summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorxqyjlj <[email protected]>2023-07-26 14:51:03 +0800
committerguo <[email protected]>2023-07-27 11:35:29 +0800
commit0b93001f4f1391a8389a25d0dccddfe69c3d31d0 (patch)
tree2797d1b5fcfd5f202caac45c56eb288e135a3a06 /components
parentd23dd56692c6cff65480fbed286362889c96c7ba (diff)
🐞 fix(rtc/soft_rtc): fix wrong time
use boottime as soft_rtc time source
Diffstat (limited to 'components')
-rw-r--r--components/drivers/rtc/soft_rtc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/components/drivers/rtc/soft_rtc.c b/components/drivers/rtc/soft_rtc.c
index ec74b7e372..68e400a684 100644
--- a/components/drivers/rtc/soft_rtc.c
+++ b/components/drivers/rtc/soft_rtc.c
@@ -134,7 +134,7 @@ static rt_err_t soft_rtc_control(rt_device_t dev, int cmd, void *args)
case RT_DEVICE_CTRL_RTC_GET_TIMEVAL:
tv = (struct timeval *)args;
rt_ktime_boottime_get_us(&_tv);
- tv->tv_sec = init_time + (rt_tick_get() - init_tick) / RT_TICK_PER_SECOND;
+ tv->tv_sec = init_time + _tv.tv_sec;
tv->tv_usec = init_tv.tv_usec + _tv.tv_usec;
break;
case RT_DEVICE_CTRL_RTC_SET_TIMEVAL:
@@ -147,7 +147,7 @@ static rt_err_t soft_rtc_control(rt_device_t dev, int cmd, void *args)
case RT_DEVICE_CTRL_RTC_GET_TIMESPEC:
ts = (struct timespec *)args;
rt_ktime_boottime_get_ns(&_ts);
- ts->tv_sec = init_time + (rt_tick_get() - init_tick) / RT_TICK_PER_SECOND;
+ ts->tv_sec = init_time + _ts.tv_sec;
ts->tv_nsec = init_ts.tv_nsec + _ts.tv_nsec;
break;
case RT_DEVICE_CTRL_RTC_SET_TIMESPEC: