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