Commit Graph

14881 Commits

Author SHA1 Message Date
Jeff Epler
449dbea456 Mixer: Rework for performance, particularly of the S16 case
This removes downscaling (halving-add) when multiple voices are
being mixed.  To avoid clipping, and get similar behavior to before,
set the "level" of each voice to (1/voice_count).

Slow paths that were applicable to only M0 chips were removed.

As a side effect, the internal volume representation is now 0 ..
0x8000 (inclusive), which additionally makes a level of exactly 0.5
representable.

Testing performed, on PyGamer: For all 4 data cases, for stereo and
mono, for 1 and 2 voices, play pure sign waves represented as
RawSamples and view the result on a scope and through headphones.
Also, scope the amount of time spent in background tasks.

Code size: growth of +272 bytes

Performance (time in background task when mixing 2 stereo 16-bit voices):
76us per down from 135us (once per ~2.9ms long term average)
(Decrease from 4.7% to 2.4% of all CPU time)
2020-01-16 10:48:38 -06:00
Jeff Epler
e6869c8983 mixer: factor out mix_one_voice 2020-01-16 10:31:26 -06:00
Scott Shawcroft
8b61333937
Merge pull request #2510 from dhalbert/bonding-nvm
nrf: Add bonding to BLE pairing support
2020-01-15 16:11:09 -08:00
Dan Halbert
765a54afb5
Merge pull request #2525 from aramcon-badge/badge_2019_upstream
Add board definition files for AramCon Badge 2019
2020-01-15 18:29:36 -05:00
Benny Meisels
4bf10a75c7 Add board definition files for AramCon Badge 2019 2020-01-16 00:44:18 +02:00
Dan Halbert
f496b6cdc8
Merge pull request #2520 from joeycastillo/openbook-squashed
CircuitPython support for the Open Book
2020-01-15 17:21:19 -05:00
Limor "Ladyada" Fried
c1ed78de79
Merge pull request #2521 from dalegrover/add_seeeduino_xiao
Add Seeeduino XIAO board definitions
2020-01-15 16:57:38 -05:00
Dan Halbert
85dc4089b9 address review comments 2020-01-14 17:23:16 -05:00
dalegrover
d6e657b593 Initial commit. 2020-01-14 16:51:27 -05:00
Joey Castillo
eb481c9247 add support for the Open Book 2020-01-14 16:34:46 -05:00
hierophect
7775513a5b
Merge pull request #2463 from hierophect/stm32-i2c-rework
STM32: I2C fix & general busio cleanup
2020-01-14 15:06:31 -05:00
Scott Shawcroft
b5df5ce1ce
Merge pull request #2507 from kamtom480/circuitpython-mkspk
Add mkspk source files
2020-01-14 12:05:36 -08:00
Scott Shawcroft
1d2e262a59
Merge pull request #2505 from theodox/master
Make all `PYTHON` env vars into `PYTHON3`
2020-01-14 10:55:23 -08:00
Scott Shawcroft
ed811fb9c0
Merge pull request #2504 from rhooper/fix-tuple-subscr
Fix tuple subscr
2020-01-14 10:53:50 -08:00
Hierophect
5aae8df5d7 style changes, fix i2c typo 2020-01-14 13:30:16 -05:00
Dan Halbert
5b1139db3e
Merge pull request #2511 from scs217/feather_m4_express_expanded_pinout
Added Dxx names to analog pins on Feather M4 Express pins.c file
2020-01-13 22:54:48 -05:00
scs217
50e718be99 second revision to line breaks for visibility per dhalbert 2020-01-13 22:13:39 -05:00
scs217
18957786f2 inserted line breaks between different pins (grouping together aliases for legibility) per request by dhalbert 2020-01-13 22:00:42 -05:00
scs217
c735289ddf Added Dxx names to analog pins on Feather M4 Express pins.c file 2020-01-13 21:19:17 -05:00
Dan Halbert
0367ba7495 fix some typos and leftovers 2020-01-13 18:29:34 -05:00
Dan Halbert
2a75196aa3 merge from adafruit/circuitpython 2020-01-13 18:15:32 -05:00
Dan Halbert
4ad004f24e put bonding to-do flags into Connection objects instead of using a heap-allocated queue 2020-01-13 17:52:32 -05:00
Scott Shawcroft
2eb26a6d0b
Merge pull request #2457 from hierophect/stm32-cpython-compat
STM32: Cpython compatibility flag 2
2020-01-13 13:47:55 -08:00
Kamil Tomaszewski
cd842d363a Exclude mkspk from docs 2020-01-13 13:33:23 +01:00
Kamil Tomaszewski
402f6f66bd Add mkspk source files 2020-01-13 07:53:24 +01:00
Dan Halbert
9e7f8743c2 fix CCCD bonding store; avoid excessive bonding writes 2020-01-12 23:32:51 -05:00
Steve Theodore
dd4b0f6e9c
Make all PYTHON env vars into PYTHON3
make file contained a mix of references to `PYTHON` and `PYTHON3`, and did not build on a fresh install of Ubuntu (under Windows LXSS)
2020-01-11 21:37:54 -08:00
Roy Hooper
73e076a40c make types that depend on tuple subscr work 2020-01-11 18:21:43 -05:00
Dan Halbert
346ce3b73b wip: HID bonding works! 2020-01-10 23:55:45 -05:00
Scott Shawcroft
6ea1785457
Merge pull request #2501 from kamtom480/timerhook
Fix board_timerhook
2020-01-10 11:57:54 -08:00
Scott Shawcroft
6ea8d8a6c2
Merge pull request #2498 from dhalbert/optional-i2c-pullup-checking
Make requiring I2C pullups be optional
2020-01-10 11:42:44 -08:00
Scott Shawcroft
8708d3dc45
Merge pull request #2461 from jepler/urandom-hardfaults
Urandom hardfaults
2020-01-10 11:37:59 -08:00
Dan Halbert
360c876be4 add flag to i.mx port 2020-01-10 09:20:21 -05:00
Kamil Tomaszewski
357506dd9a Fix board_timerhook 2020-01-10 13:59:52 +01:00
Roy Hooper
2cb8f7b2df Add test for issue #2465 - tuple subsclass subscript 2020-01-09 20:13:53 -05:00
Dan Halbert
9c167af17a wip; redid flash writing to be compatible with SD 2020-01-09 17:40:02 -05:00
Dan Halbert
189f2d5f07 Make requiring I2C pullups be optional 2020-01-09 17:31:50 -05:00
Hierophect
4ec588bb37 spacing changes and text fix 2020-01-09 16:17:57 -05:00
Hierophect
e509115630 Merge branch 'master' into stm32-i2c-rework 2020-01-09 16:01:31 -05:00
Jeff Epler
d7c6d9cabd
Merge pull request #2459 from hierophect/stm32-spi-oneline
STM32: Allow simplex SPI
2020-01-09 10:03:44 -06:00
Jeff Epler
1c6efb9e66 os.urandom: remove unneeded sleep 2020-01-08 16:48:17 -06:00
Hierophect
10eed78dd8 use CFLAG to properly set define 2020-01-08 17:37:20 -05:00
Jeff Epler
f1c2dee1c0 style 2020-01-08 16:36:43 -06:00
Hierophect
b74e78d2c0 Merge remote-tracking branch 'upstream/master' into stm32-cpython-compat 2020-01-08 17:11:50 -05:00
Hierophect
270f0dfc7c text fix 2020-01-08 15:58:20 -05:00
Hierophect
ae22305869 Corrections to I2C, style 2020-01-08 15:55:53 -05:00
Scott Shawcroft
a10cd8580c
Merge pull request #2445 from jepler/mp3-jeplayer-fixes
Fixes for JEplayer
2020-01-08 12:50:13 -08:00
Hierophect
a9633a3c94 Reorganize I2C workaround, style changes 2020-01-08 15:33:35 -05:00
Dan Halbert
28c1e4f48e
Merge pull request #2448 from tannewt/packet_buffer
Add PacketBuffer and MTU negotiation support.
2020-01-08 14:37:28 -05:00
Scott Shawcroft
7a94940c89
Replace magic number and add comment. 2020-01-08 11:01:43 -08:00