Skip to content

Commit 156a95c

Browse files
authored
Merge pull request #17 from makermelissa/master
Add deinit code to I2C and SPI
2 parents dd90855 + 82a8574 commit 156a95c

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

adafruit_bitbangio.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@ def __init__(self, scl, sda, *, frequency=400000, timeout=1):
9595
self._delay = 1 / frequency / 2
9696
self._timeout = timeout
9797

98+
def deinit(self):
99+
"""Free any hardware used by the object."""
100+
self._sda.deinit()
101+
self._scl.deinit()
102+
98103
def scan(self):
99104
"""Perform an I2C Device Scan"""
100105
found = []
@@ -276,6 +281,9 @@ def __init__(self, clock, MOSI=None, MISO=None):
276281
while self.try_lock():
277282
pass
278283

284+
self._mosi = None
285+
self._miso = None
286+
279287
self.configure()
280288
self.unlock()
281289

@@ -291,6 +299,14 @@ def __init__(self, clock, MOSI=None, MISO=None):
291299
self._miso = DigitalInOut(MISO)
292300
self._miso.switch_to_input()
293301

302+
def deinit(self):
303+
"""Free any hardware used by the object."""
304+
self._sclk.deinit()
305+
if self._miso:
306+
self._miso.deinit()
307+
if self._mosi:
308+
self._mosi.deinit()
309+
294310
def configure(self, *, baudrate=100000, polarity=0, phase=0, bits=8):
295311
"""Configures the SPI bus. Only valid when locked."""
296312
if self._check_lock():

0 commit comments

Comments
 (0)