2044 Commits

Author SHA1 Message Date
Jeff Epler
a183425e00 ports/nrf: Implement audioio.AudioOut using PWM
This implements AudioOut, with known caveats:
 * pause/resume are not yet implemented (this is just a bug)
 * at best, the sample fidelity is 8 bits (this is a hardware limitation)

Testing performed:

My test system is a Particle Xenon with a PAM8302 op-amp
https://www.adafruit.com/product/2130 and 8-ohm speaker.  There's no
analog filtering between the Xenon's PWM pin and the "A+" input of
the amplifier; the "A-" pin is disconnected.  It is powered from
VUSB.

I used pin D4, which is *NOT* listed as a low-speed-only pin, but
the code does NOT switch the pin to high drive.  This is related to
an open issue for general inability to set drive level for pins
being used by a "special function" on nrf:
https://github.com/adafruit/circuitpython/issues/1270

Nothing about the code I've written should limit the usable pins.

All samples I played were 16-bit, generally monophonic at 11025Hz
and 22050Hz from the Debian LibreOffice package.
2019-07-26 07:57:11 -05:00
Jeff Epler
2bc704fe07 ports/nrf: factor out routines for allocating, freeing pwm channels 2019-07-26 07:52:37 -05:00
Scott Shawcroft
c61c874a6d
Reduce feather_m0_supersized build size
Make it match feather_m0_express
2019-07-26 00:31:41 -07:00
Scott Shawcroft
a87094e01f
Turn off GC opt to save space on Trinket Haxpress 2019-07-25 22:56:46 -07:00
Scott Shawcroft
4e7de436b4
Update constructors of boards with displays 2019-07-25 22:48:11 -07:00
Scott Shawcroft
d99d3bd471
Merge pull request #2010 from jepler/audiocore
audiocore: Factor from audioio
2019-07-25 13:52:30 -07:00
Jeff Epler
6b44e40ee8 audiocore: Factor from audioio
When nrf pwm audio is introduced, it will be called `audiopwmio`.  To
enable code sharing with the existing (dac-based) `audioio`, factor
the sample and mixer types to `audiocore`.

INCOMPATIBLE CHANGE: Now, `Mixer`, `RawSample` and `WaveFile` must
be imported from `audiocore`, not `audioio`.
2019-07-25 06:44:26 -05:00
Scott Shawcroft
8ec2d6ce49
Merge pull request #2007 from hierophect/F4xx-port-setup
Add STM32 Discovery F412ZG and F411RE support
2019-07-24 18:49:48 -07:00
Hierophect
295afaaf6c Update SystemCoreClock macro 2019-07-24 16:31:25 -04:00
Hierophect
981398406c Implement working (if useless) USB on F411 2019-07-24 16:23:35 -04:00
Hierophect
21f1ae51df Merge in PR edits 2019-07-24 15:02:26 -04:00
Hierophect
d66c9590af Merge tinyusb changes from upstream 2019-07-24 14:54:22 -04:00
Hierophect
a63df51893 Requested changes, general cleanup 2019-07-24 14:21:27 -04:00
hathach
c921f6637f update tinyusb lib to 0.5.x 2019-07-24 16:46:31 +07:00
Hierophect
267468834d Pin down some TUSB issues 2019-07-23 19:40:26 -04:00
Hierophect
0dee1a1646 Setup for changes 2019-07-23 17:04:03 -04:00
Hierophect
f9b5a9af4e Merge branch 'F3xx-port-setup' into f411re-tinyusb 2019-07-23 15:17:18 -04:00
Hierophect
5cfde7b6ea Switch to submodule for cube files 2019-07-23 14:37:30 -04:00
Hierophect
9c1487cff6 Python doc generator fixes 2019-07-23 13:48:59 -04:00
Dan Halbert
82ab998cd5
Merge pull request #1998 from tannewt/monocolor
Add support for grayscale displays
2019-07-22 22:30:28 -04:00
Scott Shawcroft
7cb2aa2d62
Merge pull request #1986 from AnthonyDiGirolamo/patch-1
Update Arch Linux ARM compiler installation instructions
2019-07-22 19:29:53 -07:00
Hierophect
a3673cc79b Set up for new tinyusb integration. Not yet functional. 2019-07-22 17:16:33 -04:00
Hierophect
58630a844a Add feature conditionals and clean up 2019-07-22 12:58:28 -04:00
Tavish Naruka
e4d92a3aad
Fix incorrect preprocessor define NRFX_TIMER3/4
Should be NRF_TIMER3 and NRF_TIMER4
2019-07-22 20:07:05 +05:30
Scott Shawcroft
1d1b8703b6
Review feedback including NO_BRIGHTNESS_COMMAND macro 2019-07-19 16:11:13 -07:00
Scott Shawcroft
b9b9ef227f
Turn off bitbanging on Hallowing to save code space. 2019-07-19 16:10:33 -07:00
Scott Shawcroft
cdfc169ab6
Correct typo in line meant to turn off frequencyio on M0 which saves 2k code space. 2019-07-19 16:10:32 -07:00
Scott Shawcroft
6797ec6ed3
Add support for grayscale displays that are < 8 bit depth.
This also improves Palette so it stores the original RGB888 colors.

Lastly, it adds I2CDisplay as a display bus to talk over I2C. Particularly
useful for the SSD1306.

Fixes #1828. Fixes #1956
2019-07-19 16:06:11 -07:00
Hierophect
10b9ca5a92 pin selection cleanup, tinyUSB update 2019-07-19 15:09:45 -04:00
Scott Shawcroft
a98bfa628e
Merge pull request #2002 from ntavish/blip_improvements
Blip improvements
2019-07-19 10:52:08 -07:00
Tavish Naruka
724ce4acba enable libraries needed by BlipBoy Shield 2019-07-19 18:48:08 +05:30
Hierophect
734012aa8b Makefile cleanup 2019-07-18 17:55:57 -04:00
Hierophect
755b86e38b Deinit-capable USB on 411 2019-07-18 17:17:46 -04:00
Hierophect
43e8a4110f Add missing files for DigitalIO 2019-07-17 14:18:01 -04:00
Hierophect
45e73c414a fix gitignore 2019-07-17 14:14:03 -04:00
Hierophect
c588cc6db0 first pass of DigitalIO 2019-07-17 14:07:33 -04:00
Dan Halbert
364ee62d10 Address review comments. 2019-07-16 19:53:36 -04:00
Dan Halbert
1cf8a3e8d8 Merge remote-tracking branch 'adafruit/master' into ble-scanner 2019-07-11 18:42:16 -04:00
Hierophect
f31a0d9cf5 Serial REPL support 2019-07-11 13:41:10 -04:00
siddacious
d12e1a8d74
Merge pull request #1990 from kattni/pyruler
Adding PyRuler to CircuitPython.
2019-07-10 12:28:43 -07:00
Hierophect
a0e6975b9d Add some usb reference material, non functional 2019-07-10 14:26:57 -04:00
Kattni Rembor
582acdaa0a Requested changes. 2019-07-09 16:12:24 -04:00
Kattni Rembor
d905958db1 Adding PyRuler to CircuitPython. 2019-07-09 16:02:39 -04:00
Scott Shawcroft
6fad383367
Merge pull request #1925 from C47D/rgb_status
Initial support for RGB led as Status indicator, fixes #1382
2019-07-09 10:31:34 -07:00
Hierophect
7742a97c22 Add STM32F412-DISCO support, cleanup 2019-07-09 13:03:22 -04:00
Scott Shawcroft
f0cf9a4e75
Merge pull request #1988 from jandjstudios/datum
Add support for boards in the datum series.
2019-07-09 09:33:13 -07:00
Dan Halbert
6a001786a9 merge from master 2019-07-09 08:58:49 -04:00
Dan Halbert
118b26b335 UARTClient now works both directions 2019-07-09 00:21:46 -04:00
Scott Shawcroft
f4a64a2e80
Merge pull request #1989 from rce1086/master
Added conditional compilation around selection of TX pad candidates
2019-07-08 14:07:04 -07:00
Carl Elkins
64507207da Added conditional compilation around selection of TX pad candidates
Original code was correct for SAMD21
New code for SAMD51 only permits pad-0 for TX
2019-07-08 02:08:39 +01:00