adc.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. '''
  2. ADC test for the CC3200 based boards.
  3. '''
  4. from machine import ADC
  5. import os
  6. mch = os.uname().machine
  7. if 'LaunchPad' in mch:
  8. adc_pin = 'GP5'
  9. adc_channel = 3
  10. elif 'WiPy' in mch:
  11. adc_pin = 'GP3'
  12. adc_channel = 1
  13. else:
  14. raise Exception('Board not supported!')
  15. adc = ADC(0)
  16. print(adc)
  17. adc = ADC()
  18. print(adc)
  19. adc = ADC(0, bits=12)
  20. print(adc)
  21. apin = adc.channel(adc_channel)
  22. print(apin)
  23. apin = adc.channel(id=adc_channel)
  24. print(apin)
  25. apin = adc.channel(adc_channel, pin=adc_pin)
  26. print(apin)
  27. apin = adc.channel(id=adc_channel, pin=adc_pin)
  28. print(apin)
  29. print(apin.value() > 3000)
  30. print(apin() > 3000)
  31. # de-init must work
  32. apin.deinit()
  33. print(apin)
  34. adc.deinit()
  35. print(adc)
  36. print(apin)
  37. adc.init()
  38. print(adc)
  39. print(apin)
  40. apin.init()
  41. print(apin)
  42. print(apin() > 3000)
  43. # check for memory leaks...
  44. for i in range (0, 1000):
  45. adc = ADC()
  46. apin = adc.channel(adc_channel)
  47. # next ones should raise
  48. try:
  49. adc = ADC(bits=17)
  50. except:
  51. print('Exception')
  52. try:
  53. adc = ADC(id=1)
  54. except:
  55. print('Exception')
  56. try:
  57. adc = ADC(0, 16)
  58. except:
  59. print('Exception')
  60. adc = ADC()
  61. try:
  62. apin = adc.channel(4)
  63. except:
  64. print('Exception')
  65. try:
  66. apin = adc.channel(-1)
  67. except:
  68. print('Exception')
  69. try:
  70. apin = adc.channel(0, pin='GP3')
  71. except:
  72. print('Exception')
  73. apin = adc.channel(1)
  74. apin.deinit()
  75. try:
  76. apin()
  77. except:
  78. print('Exception')
  79. try:
  80. apin.value()
  81. except:
  82. print('Exception')
  83. adc.deinit()
  84. try:
  85. apin.value()
  86. except:
  87. print('Exception')
  88. try:
  89. apin = adc.channel(1)
  90. except:
  91. print('Exception')
  92. # re-init must work
  93. adc.init()
  94. apin.init()
  95. print(apin)
  96. print(apin() > 3000)