circuitpython/shared-bindings
Dan Halbert 43650b6896 Fix PDMIn MEMS microphone support (#479)
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-12-13 10:12:49 -08:00
..
_stage Add a _stage module (#398) 2017-11-07 10:05:25 -08:00
analogio Do not allow a *io object to be used after deinit(). 2017-10-03 12:07:17 -07:00
audiobusio Fix PDMIn MEMS microphone support (#479) 2017-12-13 10:12:49 -08:00
audioio Do not allow a *io object to be used after deinit(). 2017-10-03 12:07:17 -07:00
bitbangio Allow empty reads and writes for busio.SPI 2017-11-03 17:33:37 +01:00
board Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master. 2017-08-25 22:17:07 -04:00
busio add SPI.write_readinto() - bidirectional SPI 2017-12-05 11:17:16 -08:00
digitalio Introduce reset mechanics to microcontroller. 2017-12-05 14:50:58 -08:00
gamepad Add a `gamepad` module for handling buttons in the background. (#295) 2017-10-03 13:35:57 -07:00
microcontroller Fix a couple spelling errors. 2017-12-05 16:04:47 -08:00
multiterminal esp8266: Introduce `multiterminal` module for managing a secondary 2017-08-07 14:30:11 -07:00
neopixel_write shared-bindings: Fix neopixel_write example. I forgot to save in the editor. Fixes #163 2017-07-12 14:59:26 -07:00
nvm Add microcontroller.cpu.temperature, for use as a simple sensor on minimal boards. (#211) 2017-08-31 13:48:30 -04:00
os Modernize module and class static dicts; update freetouch 2017-08-27 15:02:50 -04:00
pulseio Do not allow a *io object to be used after deinit(). 2017-10-03 12:07:17 -07:00
random Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master. 2017-08-25 22:17:07 -04:00
storage Modernize module and class static dicts; update freetouch 2017-08-27 15:02:50 -04:00
time redo time.monotonic() to avoid double precision 2017-10-17 10:02:16 -07:00
touchio Do not allow a *io object to be used after deinit(). 2017-10-03 12:07:17 -07:00
uheap Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master. 2017-08-25 22:17:07 -04:00
usb_hid Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master. 2017-08-25 22:17:07 -04:00
ustack Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master. 2017-08-25 22:17:07 -04:00
help.c Merge tag 'v1.9.1' 2017-06-20 10:56:05 -07:00
index.rst Turn on pulseio now that there's room. 2017-10-16 12:51:55 -07:00
util.c Do not allow a *io object to be used after deinit(). 2017-10-03 12:07:17 -07:00
util.h Do not allow a *io object to be used after deinit(). 2017-10-03 12:07:17 -07:00