Skip to content

Commit f82d3ef

Browse files
authored
Merge pull request #115 from kattni/buttons
Move button setup to button properties.
2 parents 1446806 + a7e6eba commit f82d3ef

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

adafruit_circuitplayground/circuit_playground_base.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,6 @@ class CircuitPlaygroundBase: # pylint: disable=too-many-public-methods
5656
_audio_out = None
5757

5858
def __init__(self):
59-
self._a = digitalio.DigitalInOut(board.BUTTON_A)
60-
self._a.switch_to_input(pull=digitalio.Pull.DOWN)
61-
self._b = digitalio.DigitalInOut(board.BUTTON_B)
62-
self._b.switch_to_input(pull=digitalio.Pull.DOWN)
63-
6459
# Define switch:
6560
self._switch = digitalio.DigitalInOut(board.SLIDE_SWITCH)
6661
self._switch.switch_to_input(pull=digitalio.Pull.UP)
@@ -114,6 +109,10 @@ def __init__(self):
114109
self._detect_taps = 1
115110
self.detect_taps = 1
116111

112+
# Initialise buttons:
113+
self._a = None
114+
self._b = None
115+
117116
@property
118117
def detect_taps(self):
119118
"""Configure what type of tap is detected by ``cp.tapped``. Use ``1`` for single-tap
@@ -566,6 +565,9 @@ def button_a(self):
566565
if cp.button_a:
567566
print("Button A pressed!")
568567
"""
568+
if self._a is None:
569+
self._a = digitalio.DigitalInOut(board.BUTTON_A)
570+
self._a.switch_to_input(pull=digitalio.Pull.DOWN)
569571
return self._a.value
570572

571573
@property
@@ -585,6 +587,9 @@ def button_b(self):
585587
if cp.button_b:
586588
print("Button B pressed!")
587589
"""
590+
if self._b is None:
591+
self._b = digitalio.DigitalInOut(board.BUTTON_B)
592+
self._b.switch_to_input(pull=digitalio.Pull.DOWN)
588593
return self._b.value
589594

590595
@property

0 commit comments

Comments
 (0)