summaryrefslogtreecommitdiffstatshomepage
path: root/tests
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
parent0e52d9860adc2d3d7328c649f3b6995ffc04fc63 (diff)
downloadmicropython-22b4c28f854bb2066a0d7471b50f9e00e1363239.tar.gz
micropython-22b4c28f854bb2066a0d7471b50f9e00e1363239.zip
cc3200: New ADC API.
Diffstat (limited to 'tests')
-rw-r--r--tests/wipy/adc.py116
-rw-r--r--tests/wipy/adc.py.exp28
2 files changed, 144 insertions, 0 deletions
diff --git a/tests/wipy/adc.py b/tests/wipy/adc.py
new file mode 100644
index 0000000000..50a2b3d722
--- /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)
diff --git a/tests/wipy/adc.py.exp b/tests/wipy/adc.py.exp
new file mode 100644
index 0000000000..a65cf4963b
--- /dev/null
+++ b/tests/wipy/adc.py.exp
@@ -0,0 +1,28 @@
+ADC(0, bits=12)
+ADC(0, bits=12)
+ADC(0, bits=12)
+ADCChannel(1, pin=GP3)
+ADCChannel(1, pin=GP3)
+ADCChannel(1, pin=GP3)
+ADCChannel(1, pin=GP3)
+True
+True
+ADCChannel(1)
+ADC(0)
+ADCChannel(1)
+ADC(0, bits=12)
+ADCChannel(1)
+ADCChannel(1, pin=GP3)
+True
+Exception
+Exception
+Exception
+Exception
+Exception
+Exception
+Exception
+Exception
+Exception
+Exception
+ADCChannel(1, pin=GP3)
+True