Commit Graph

14177 Commits

Author SHA1 Message Date
Hierophect
45d1c9f02e Merge branch 'F4xx-port-setup' into f411re-tinyusb 2019-07-26 10:23:45 -04:00
Jeff Epler
aa1398e696 support matrix: add audiopwmio, update audiocore, sort 2019-07-26 07:57:21 -05:00
Jeff Epler
91b7ba7dcc docs: An audiocore.Mixer suffices where another audio source would 2019-07-26 07:57:21 -05:00
Jeff Epler
a53720810b docs: corrections that stem from the "audiocore" rename 2019-07-26 07:57:21 -05:00
Jeff Epler
324d31225c make translate 2019-07-26 07:57:21 -05:00
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
Jeff Epler
7b9d26cefe WavFile.h: include vfs_fat.h for pyb_file_obj_t definition
Without such a definition, this header is not self-contained, but
requires whoever included it to also include vfs_fat.h
2019-07-26 07:52:37 -05:00
Jeff Epler
54cde56ec5 audiopwmio: Add the shared files for this new module 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
f8d2776177
Extend existing board lists
Adding another means a build would be 6 concurrent jobs and make two not fit side by side in the 10 total we have.
2019-07-25 22:54:14 -07:00
Scott Shawcroft
1dd4bf0280
Update translations 2019-07-25 22:48:36 -07:00
Scott Shawcroft
4e7de436b4
Update constructors of boards with displays 2019-07-25 22:48:11 -07:00
Scott Shawcroft
af8cfbedfb
Add knobs for SSD1322 and two fixes.
* Fix terminal clear after first successful code.py run.
* Fix transmitting too many bytes for column constraint with single
  byte bounds.
2019-07-25 15:41:12 -07:00
C47D
be1fd5e995 [travis check new boards] Add missing boards to TRAVIS_BOARDS 2019-07-25 16:27:26 -05:00
C47D
7e4d7a5373 [travis check new boards] Fail in case of any missing boards 2019-07-25 16:11:45 -05:00
Scott Shawcroft
d99d3bd471
Merge pull request #2010 from jepler/audiocore
audiocore: Factor from audioio
2019-07-25 13:52:30 -07:00
Dave Astels
b6178c9d85 WIP on exposing fill_area 2019-07-25 15:05:30 -04:00
Dave Astels
7fd1a6c8a8 Expose array_new and array_subscr 2019-07-25 15:04:55 -04:00
Scott Shawcroft
485f06e36f
Remove unneeded headers 2019-07-25 11:58:27 -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
Dan Halbert
f39a6f40fd
Merge pull request #2009 from hathach/tinyusb-update
update tinyusb lib to 0.5.x
2019-07-24 12:09:04 -04:00
hathach
5d03cda01a whitespace 2019-07-24 16:49:13 +07:00
hathach
c921f6637f update tinyusb lib to 0.5.x 2019-07-24 16:46:31 +07:00
sommersoft
45a54c3fd7 docs: replace overzealous removal of parens 2019-07-23 23:14:50 -05:00
sommersoft
136bbc1690 docs: revert calling 'shared_bindings_matrix.py' 2019-07-23 20:52:28 -05:00
sommersoft
b90b63bb2b don't use files to pass data; call and return directly in conf.py 2019-07-23 20:49:37 -05:00
Hierophect
267468834d Pin down some TUSB issues 2019-07-23 19:40:26 -04:00
sommersoft
7b67ef15c4 remove local copy of 'support_matrix.json' 2019-07-23 17:11:39 -05:00
Hierophect
172ab190b5 Revert tinyUSB issue 2019-07-23 17:15:13 -04:00
Hierophect
0dee1a1646 Setup for changes 2019-07-23 17:04:03 -04:00
Hierophect
5ee5c35833 Doc error caused by submodule, misc cleanup 2019-07-23 15:28:48 -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
C47D
8864cefba6 [travis check new boards] missing_boards as set 2019-07-23 13:03:29 -05:00
C47D
c316231dd2 [travis check new boards] Do not end test if there are missing boards 2019-07-23 13:02:07 -05: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
Dan Halbert
3e04744f75
Merge pull request #2006 from ntavish/patch-1
Fix incorrect preprocessor define NRFX_TIMER3/4
2019-07-22 22:24:03 -04:00
Hierophect
a3673cc79b Set up for new tinyusb integration. Not yet functional. 2019-07-22 17:16:33 -04:00
Hierophect
10aac2be05 Switch to SAMD compatible tinyusb commit 2019-07-22 15:08:58 -04:00
Hierophect
ee75f1aaaf Fix LED misuse interfering with atmel builds 2019-07-22 14:59:06 -04:00