tests: In pyb RTC tests, check wakeup register values.

This commit is contained in:
Peter Hinch 2015-10-09 07:57:17 +01:00 committed by Damien George
parent 01d64914c5
commit 0e87bc7be6
2 changed files with 43 additions and 1 deletions

View File

@ -1,4 +1,4 @@
import pyb import pyb, stm
from pyb import RTC from pyb import RTC
rtc = RTC() rtc = RTC()
@ -49,3 +49,30 @@ set_and_print_calib(-511)
# restore existing calibration value # restore existing calibration value
rtc.calibration(cal_tmp) 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

View File

@ -23,3 +23,18 @@
-123 -123
-510 -510
-511 -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)