circuitpython/shared-bindings/audiobusio
Jeff Epler 5115fdaa6f shared-bindings: I2SOut: Ensure object is deinitialised
(or deinitialized, for those of us on this side of the pond)

Otherwise, a sequence like
```
audio = audiobusio.I2SOut(bit_clock=board.D6, word_select=board.D9, data=board.D10)
sine_wave_sample = audiocore.RawSample(sine_wave)
audio.play(sine_wave_sample, loop=True)
del audio
```
could free the memory associated with audio without stopping the
related background task.  Later, when fresh objects are allocated within
a now-freed memory region, they can get overwritten in the background
task, leading to a hard crash.

This presumably can affect multiple I2S implementations, but it was
reported against the nRF one.
2019-11-25 09:53:55 -06:00
..
I2SOut.c shared-bindings: I2SOut: Ensure object is deinitialised 2019-11-25 09:53:55 -06:00
I2SOut.h Add pause/resume control to AudioOut and I2SOut 2018-05-08 11:53:13 -07:00
PDMIn.c Refactor deinit check to reduce code size. 2019-06-12 11:36:43 -07:00
PDMIn.h compiles and runs; hangs on import storage;storage.VfsFat.<tab> 2018-07-13 22:51:10 -04:00
__init__.c Re-enable PDMIn without ASF and using the helpers added with 2018-05-01 14:35:43 -07:00
__init__.h Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master. 2017-08-25 22:17:07 -04:00