Skip to content

Commit d57dd2e

Browse files
authored
Merge pull request #23 from relic-se/peripherals-deinit
Add peripherals deinitialization
2 parents 58649ca + 9f5850e commit d57dd2e

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

adafruit_fruitjam/peripherals.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,3 +383,29 @@ def _apply_volume(self, volume_level: int = None) -> None:
383383
if self._dac is not None:
384384
db_val = map_range(self._volume, 1, 20, -63, 23)
385385
self._dac.dac_volume = db_val
386+
387+
def deinit(self) -> None:
388+
"""
389+
Deinitializes Peripherals and releases any hardware resources for reuse.
390+
"""
391+
if self.neopixels is not None:
392+
self.neopixels.deinit()
393+
self.neopixels = None
394+
395+
if self._buttons is not None:
396+
for button in self._buttons:
397+
button.deinit()
398+
self._buttons = None
399+
400+
if self._audio is not None:
401+
self._audio.stop()
402+
self._audio.deinit()
403+
self._audio = None
404+
405+
if self._dac is not None:
406+
self._dac.reset()
407+
self._dac = None
408+
409+
if self._mp3_decoder is not None:
410+
self._mp3_decoder.deinit()
411+
self._mp3_decoder = None

0 commit comments

Comments
 (0)