From 0e87bc7be69c60581324e23163f14a269d33fcc7 Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Fri, 9 Oct 2015 07:57:17 +0100 Subject: [PATCH] tests: In pyb RTC tests, check wakeup register values. --- tests/pyb/rtc.py | 29 ++++++++++++++++++++++++++++- tests/pyb/rtc.py.exp | 15 +++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/tests/pyb/rtc.py b/tests/pyb/rtc.py index 001553ac3..09af52629 100644 --- a/tests/pyb/rtc.py +++ b/tests/pyb/rtc.py @@ -1,4 +1,4 @@ -import pyb +import pyb, stm from pyb import RTC rtc = RTC() @@ -49,3 +49,30 @@ set_and_print_calib(-511) # restore existing calibration value rtc.calibration(cal_tmp) + +# Check register settings for wakeup +def set_and_print_wakeup(ms): + try: + rtc.wakeup(ms) + wucksel = stm.mem32[stm.RTC + stm.RTC_CR] & 7 + wut = stm.mem32[stm.RTC + stm.RTC_WUTR] & 0xffff + except ValueError: + wucksel = -1 + wut = -1 + print((wucksel, wut)) + +set_and_print_wakeup(0) +set_and_print_wakeup(1) +set_and_print_wakeup(4000) +set_and_print_wakeup(4001) +set_and_print_wakeup(8000) +set_and_print_wakeup(8001) +set_and_print_wakeup(16000) +set_and_print_wakeup(16001) +set_and_print_wakeup(32000) +set_and_print_wakeup(32001) +set_and_print_wakeup(0x10000*1000) +set_and_print_wakeup(0x10001*1000) +set_and_print_wakeup(0x1ffff*1000) +set_and_print_wakeup(0x20000*1000) +set_and_print_wakeup(0x20001*1000) # exception diff --git a/tests/pyb/rtc.py.exp b/tests/pyb/rtc.py.exp index d8d5e0f0a..7d3aaf6af 100644 --- a/tests/pyb/rtc.py.exp +++ b/tests/pyb/rtc.py.exp @@ -23,3 +23,18 @@ -123 -510 -511 +(3, 0) +(3, 15) +(3, 65535) +(2, 32775) +(2, 65535) +(1, 32771) +(1, 65535) +(0, 32769) +(0, 65535) +(4, 31) +(4, 65535) +(6, 0) +(6, 65534) +(6, 65535) +(-1, -1)