diff options
Diffstat (limited to 'tests/wipy/rtc.py')
-rw-r--r-- | tests/wipy/rtc.py | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/tests/wipy/rtc.py b/tests/wipy/rtc.py new file mode 100644 index 0000000000..4114796db1 --- /dev/null +++ b/tests/wipy/rtc.py @@ -0,0 +1,100 @@ +''' +RTC test for the CC3200 based boards. +''' + +from pyb import RTC +import os +import time + +machine = os.uname().machine +if not 'LaunchPad' in machine and not 'WiPy' in machine: + raise Exception('Board not supported!') + +rtc = RTC() +print(rtc) +print(rtc.now()[:6]) + +rtc = RTC(datetime=(2015, 8, 29, 9, 0, 0, 0, None)) +print(rtc.now()[:6]) + +rtc.deinit() +print(rtc.now()[:6]) + +rtc.init((2015, 8, 29, 9, 0, 0, 0, None)) +print(rtc.now()[:6]) +seconds = rtc.now()[5] +time.sleep_ms(1000) +print(rtc.now()[5] - seconds == 1) +seconds = rtc.now()[5] +time.sleep_ms(2000) +print(rtc.now()[5] - seconds == 2) + +# initialization with shorter tuples +rtc.init((2015, 9, 19, 8, 0, 0, 0)) +print(rtc.now()[5]) +rtc.init((2015, 9, 19, 8, 0, 0)) +print(rtc.now()[5]) +rtc.init((2015, 9, 19, 8, 0)) +print(rtc.now()[5]) +rtc.init((2015, 9, 19, 8)) +print(rtc.now()[4]) +rtc.init((2015, 9, 19)) +print(rtc.now()[3]) + +def set_and_print(datetime): + rtc.init(datetime) + print(rtc.now()[:6]) + +# make sure that setting works correctly +set_and_print((2000, 1, 1, 0, 0, 0, 0, None)) +set_and_print((2000, 1, 31, 0, 0, 0, 0, None)) +set_and_print((2000, 12, 31, 0, 0, 0, 0, None)) +set_and_print((2016, 12, 31, 0, 0, 0, 0, None)) +set_and_print((2016, 12, 31, 0, 0, 0, 0, None)) +set_and_print((2016, 12, 31, 1, 0, 0, 0, None)) +set_and_print((2016, 12, 31, 12, 0, 0, 0, None)) +set_and_print((2016, 12, 31, 13, 0, 0, 0, None)) +set_and_print((2016, 12, 31, 23, 0, 0, 0, None)) +set_and_print((2016, 12, 31, 23, 1, 0, 0, None)) +set_and_print((2016, 12, 31, 23, 59, 0, 50, None)) +set_and_print((2016, 12, 31, 23, 59, 1, 900, None)) +set_and_print((2016, 12, 31, 23, 59, 59, 100, None)) +set_and_print((2048, 12, 31, 23, 59, 59, 99999, None)) + +rtc.init((2015, 8, 29, 9, 0, 0, 0, None)) +rtc.alarm(0, 5000) +rtc.alarm(time=2000) +time.sleep_ms(1000) +left = rtc.alarm_left() +print(abs(left-1000) < 20) +time.sleep_ms(1000) +print(rtc.alarm_left() == 0) +time.sleep_ms(100) +print(rtc.alarm_left() == 0) + +rtc.init((2015, 8, 29, 9, 0, 0, 0, None)) +rtc.alarm(time=(2015, 8, 29, 9, 0, 45)) +time.sleep_ms(1000) +left = rtc.alarm_left() +print(abs(left-44000) < 100) + +# next ones must raise +try: + rtc.alarm(5000) +except: + print('Exception') + +try: + rtc.alarm(5000) +except: + print('Exception') + +try: + rtc = RTC(200000000) +except: + print('Exception') + +try: + rtc = RTC((2015, 8, 29, 9, 0, 0, 0, None)) +except: + print('Exception') |