summaryrefslogtreecommitdiff
path: root/tests/wipy/rtc.py
diff options
context:
space:
mode:
authorDaniel Campora <daniel@wipy.io>2015-09-16 14:09:51 +0200
committerDaniel Campora <daniel@wipy.io>2015-09-21 22:30:32 +0200
commitdffa9f6da65cd03e834b2ed3914f40428f72e49f (patch)
tree1f2e51f17c511f884db77e47d481c0f9c1b6bed2 /tests/wipy/rtc.py
parent660f8613fd8e38863998a9758d97eada0eebc47d (diff)
cc3200: New SD and RTC API plus os and time modules' extensions.
Diffstat (limited to 'tests/wipy/rtc.py')
-rw-r--r--tests/wipy/rtc.py100
1 files changed, 100 insertions, 0 deletions
diff --git a/tests/wipy/rtc.py b/tests/wipy/rtc.py
new file mode 100644
index 000000000..4114796db
--- /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')