]> Repositories - Adafruit_Blinka-hackapet.git/blob - examples/generic_dio.py
add pytest suite for dio
[Adafruit_Blinka-hackapet.git] / examples / generic_dio.py
1 import pytest
2 import board
3 import digitalio
4
5
6 # Digital Input Pins
7
8 def test_Dx_INPUT_TRUE():
9   assert board.board_id == "GENERIC_AGNOSTIC_BOARD"
10   pin_true = digitalio.DigitalInOut(board.Dx_INPUT_TRUE)
11   pin_true.direction = digitalio.Direction.INPUT
12   assert pin_true.value == True
13   assert pin_true.value == True # Test subsequent call does not change value
14   pin_true.deinit()
15
16 def test_Dx_INPUT_TRUE_PULL_DOWN():
17   assert board.board_id == "GENERIC_AGNOSTIC_BOARD"
18   pin_true = digitalio.DigitalInOut(board.Dx_INPUT_TRUE)
19   pin_true.direction = digitalio.Direction.INPUT
20   assert pin_true.value == True
21   assert pin_true.value == True # Test subsequent call does not change value
22   pin_true.pull = digitalio.Pull.DOWN
23   assert pin_true.value == False
24   pin_true.deinit()
25
26 def test_Dx_INPUT_FALSE_PULL_UP():
27   assert board.board_id == "GENERIC_AGNOSTIC_BOARD"
28   pin_false = digitalio.DigitalInOut(board.Dx_INPUT_FALSE)
29   pin_false.direction = digitalio.Direction.INPUT
30   assert pin_false.value == False
31   assert pin_false.value == False # Test subsequent call does not change value
32   pin_false.pull = digitalio.Pull.UP
33   assert pin_false.value == False
34   pin_false.deinit()
35
36 def test_Dx_INPUT_FALSE():
37   assert board.board_id == "GENERIC_AGNOSTIC_BOARD"
38   pin_false = digitalio.DigitalInOut(board.Dx_INPUT_FALSE)
39   pin_false.direction = digitalio.Direction.INPUT
40   assert pin_false.value == False
41   assert pin_false.value == False # Test subsequent call does not change value
42   pin_false.deinit()
43
44 def test_Dx_INPUT_TOGGLE():
45   assert board.board_id == "GENERIC_AGNOSTIC_BOARD"
46   pin_toggle = digitalio.DigitalInOut(board.Dx_INPUT_TOGGLE)
47   pin_toggle.direction = digitalio.Direction.INPUT
48   assert pin_toggle.value == True
49   assert pin_toggle.value == False # Test subsequent call does change value for this pin
50   pin_toggle.deinit()