summaryrefslogtreecommitdiff
path: root/tests/wipy/adc.py
diff options
context:
space:
mode:
authorDaniel Campora <daniel@wipy.io>2015-09-14 20:03:32 +0200
committerDaniel Campora <daniel@wipy.io>2015-09-16 10:10:38 +0200
commit22b4c28f854bb2066a0d7471b50f9e00e1363239 (patch)
treeeeedc24a49a3f8c5a3cfa8fe0eed83a7788c9584 /tests/wipy/adc.py
parent0e52d9860adc2d3d7328c649f3b6995ffc04fc63 (diff)
cc3200: New ADC API.
Diffstat (limited to 'tests/wipy/adc.py')
-rw-r--r--tests/wipy/adc.py116
1 files changed, 116 insertions, 0 deletions
diff --git a/tests/wipy/adc.py b/tests/wipy/adc.py
new file mode 100644
index 000000000..50a2b3d72
--- /dev/null
+++ b/tests/wipy/adc.py
@@ -0,0 +1,116 @@
+'''
+ADC test for the CC3200 based boards.
+'''
+
+from pyb import ADC
+from pyb import Pin
+import os
+
+machine = os.uname().machine
+if 'LaunchPad' in machine:
+ adc_pin = 'GP5'
+ adc_channel = 3
+elif 'WiPy' in machine:
+ adc_pin = 'GP3'
+ adc_channel = 1
+else:
+ raise Exception('Board not supported!')
+
+adc = ADC(0)
+print(adc)
+adc = ADC()
+print(adc)
+adc = ADC(0, bits=12)
+print(adc)
+
+apin = adc.channel(adc_channel)
+print(apin)
+apin = adc.channel(id=adc_channel)
+print(apin)
+apin = adc.channel(adc_channel, pin=adc_pin)
+print(apin)
+apin = adc.channel(id=adc_channel, pin=adc_pin)
+print(apin)
+
+print(apin.value() > 3000)
+print(apin() > 3000)
+
+# de-init must work
+apin.deinit()
+print(apin)
+
+adc.deinit()
+print(adc)
+print(apin)
+adc.init()
+print(adc)
+print(apin)
+apin.init()
+print(apin)
+print(apin() > 3000)
+
+# check for memory leaks...
+for i in range (0, 1000):
+ adc = ADC()
+ apin = adc.channel(adc_channel)
+
+# next ones should raise
+try:
+ adc = ADC(bits=17)
+except:
+ print('Exception')
+
+try:
+ adc = ADC(id=1)
+except:
+ print('Exception')
+
+try:
+ adc = ADC(0, 16)
+except:
+ print('Exception')
+
+adc = ADC()
+try:
+ apin = adc.channel(4)
+except:
+ print('Exception')
+
+try:
+ apin = adc.channel(-1)
+except:
+ print('Exception')
+
+try:
+ apin = adc.channel(0, pin='GP3')
+except:
+ print('Exception')
+
+apin = adc.channel(1)
+apin.deinit()
+try:
+ apin()
+except:
+ print('Exception')
+
+try:
+ apin.value()
+except:
+ print('Exception')
+
+adc.deinit()
+try:
+ apin.value()
+except:
+ print('Exception')
+
+try:
+ apin = adc.channel(1)
+except:
+ print('Exception')
+
+# re-init must work
+adc.init()
+apin.init()
+print(apin)
+print(apin() > 3000)