summaryrefslogtreecommitdiff
path: root/shared-bindings/audiobusio
AgeCommit message (Collapse)Author
2020-07-03Made every init return Nonedherrada
2020-07-03Made most of the requested changesdherrada
2020-07-02Changed unions to ReadableBuffer and WriteableBufferdherrada
2020-07-02Removed all 'self, )'dherrada
2020-07-02Made suggested changesdherrada
2020-07-02Changed bytearray to a uniondherrada
2020-07-02Did audiobusiodherrada
2020-05-27Various doc examples: Fix the "/ 18" copypasta bugJeff Epler
2020-05-12Swap sphinx to autoapi and the inline stubsScott Shawcroft
2020-04-29Did first 3dherrada
2020-04-28Fixed some more whitespacedherrada
2020-04-27Added inline pyi to audiobusiodherrada
2020-03-05rename routines to be clearer; fix wiznet arg typesDan Halbert
2020-02-28new pin validation routines; don't use mp_const_none if NULL will doDan Halbert
2019-11-25shared-bindings: I2SOut: Ensure object is deinitialisedJeff Epler
(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-10-27audiobus: correct trivial typoJeff Epler
2019-08-25docs: correct audiomixer refssommersoft
2019-07-26docs: An `audiocore.Mixer` suffices where another audio source wouldJeff Epler
2019-07-26docs: corrections that stem from the "audiocore" renameJeff Epler
2019-06-12Refactor deinit check to reduce code size.Scott Shawcroft
2019-05-30Improve rST consistency for rst2pyi useScott Shawcroft
2019-02-17A couple build fixes for mp_float_t = double (MICROPY_FLOAT_IMPL_DOUBLE).Lionel Debroux
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-01-14Add subclass support to displayio.Scott Shawcroft
Also, swap make_news to accept a kwarg map and refine param checking. Fixes #1237
2018-08-16Compress all translated strings with Huffman coding.Scott Shawcroft
This saves code space in builds which use link-time optimization. The optimization drops the untranslated strings and replaces them with a compressed_string_t struct. It can then be decompressed to a c string. Builds without LTO work as well but include both untranslated strings and compressed strings. This work could be expanded to include QSTRs and loaded strings if a compress method is added to C. Its tracked in #531.
2018-08-07Support internationalisation.Scott Shawcroft
2018-07-13compiles and runs; hangs on import storage;storage.VfsFat.<tab>Dan Halbert
2018-05-08Make resume idempotent (allowing you to call it twice without complaining.)Scott Shawcroft
2018-05-08Tweak exception message.Scott Shawcroft
2018-05-08Add pause/resume control to AudioOut and I2SOutScott Shawcroft
Fixes #808
2018-05-01Re-enable PDMIn without ASF and using the helpers added withScott Shawcroft
I2SOut. The API is almost the same except the frequency attribute has been renamed to sample_rate so that its less likely to be confused with frequencies within the audio itself. Fixes #263.
2018-04-12Add audio output support!Scott Shawcroft
This evolves the API from 2.x (and breaks it). Playback devices are now separate from the samples themselves. This allows for greater playback flexibility. Two sample sources are audioio.RawSample and audioio.WaveFile. They can both be mono or stereo. They can be output to audioio.AudioOut or audiobusio.I2SOut. Internally, the dma tracking has changed from a TC counting block transfers to an interrupt generated by the block event sent to the EVSYS. This reduces the overhead of each DMA transfer so multiple can occure without using up TCs. Fixes #652. Fixes #522. Huge progress on #263
2018-02-27Merge remote-tracking branch 'adafruit/2.x' into merge_2xScott Shawcroft
2018-02-20Delete a bunch of docs, drivers and examples not relevant to CircuitPython.Scott Shawcroft
This fixes #345 and fixes #215.
2018-02-06shared-bindings: Fix incorrect code commentsarturo182
Most likely caused by copy-paste.
2018-01-02merge from 2.2.0 + fix up board defsDan Halbert
2017-12-13Fix PDMIn MEMS microphone support (#479)Dan Halbert
Changes: * New faster filter loop, by @ladyada. New filter coefficients as well. * Turn on microphone clock when PDMIn object is created, and run it all the time, so the user code doesn't have to wait for microphone startup, which can be 10ms or even 100ms. * Wait for microphone startup when PDMIn is first created, based on new optional parameter microphone_startup in seconds (takes a float). * record() returns number of samples actually recorded, so you can see if it's not keeping up. * Fix buffer overflow errors when buffer size was not a multiple of 16 or something like that. * Tweak a few peripheral settings. * Minimum sampling frequency is now 16kHZ or so, because 8kHz runs microphone at only 0.5MHz, which is too slow for many mics. Note: I tried 128x oversampling instead of 64x, but the code cannot keep up at 24kHz or above sampling. 128x would reduce the high-frequency noise by 6db.
2017-11-22Resolved formatting issue in docKattni
2017-11-19Updated frequency minimum requirements in docs and examples (#444)Kattni
Updated frequency minimum requirements in docs and examples
2017-10-03Do not allow a *io object to be used after deinit().Dan Halbert
Fixes #278, #277, #276, #275.
2017-09-05atmel-samd: Enable 8-bit audio recording support even though it'll beScott Shawcroft
quiet. Also update the examples. Fixes #226
2017-08-25Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in ↵Dan Halbert
development) master. cpx build compiles and loads and works in repl; test suite not run yet esp8266 not tested yet
2017-07-28atmel-samd: Introduce audiobusio.PDMIn for recording audio from PDMScott Shawcroft
microphones.