From 31ecdffa7eca76468ed8440453c37ec18810a5ab Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Thu, 30 Oct 2025 22:36:55 +0100 Subject: [PATCH] RTC tests --- kern/start.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/kern/start.c b/kern/start.c index a11411b..ce37c30 100644 --- a/kern/start.c +++ b/kern/start.c @@ -83,16 +83,20 @@ void start() { buddy_free(mem); } { - uint64_t time = rtc_time_read(); - time = rtc_time_read(); - rtc_alarm_set(time + 3000000000); - uint64_t alrm = rtc_alarm_read(); - assert(alrm > time); - uint32_t astatus = rtc_alarm_status(); - assert(astatus == 0); - rtc_alarm_enable(); - astatus = rtc_alarm_status(); - assert(astatus == 1); + const uint64_t time = rtc_time_read(); + + /* Set alarm and check that its correct */ + rtc_alarm_set(time + MS_TO_NS(1000)); + const uint64_t alrm = rtc_alarm_read(); + assert(alrm == time + MS_TO_NS(1000)); + + /* Should be one provided alarm is not elapsed */ + assert(rtc_alarm_status() == 1); + rtc_alarm_clear(); + assert(rtc_alarm_status() == 0); + + /* Time should have passed */ + assert(time != rtc_time_read()); } { uint64_t rn = badrand();