Commit Graph

14659 Commits

Author SHA1 Message Date
Dan Halbert
d9ca4c9a60 fix build failures 2019-12-10 22:39:44 -05:00
Dan Halbert
c6221c5956 Remove no-longer-used nrf and atmel-samd .ld files 2019-12-10 21:22:17 -05:00
Dan Halbert
68ae47907c merge from upstream 2019-12-10 21:04:46 -05:00
Dan Halbert
013c840862 working on all ports 2019-12-10 20:27:30 -05:00
Jeff Epler
6305d48947 gc_free: give a better error when freeing outside of VM 2019-12-10 17:07:52 -06:00
Jeff Epler
f4a5c17b5e supervisor: external_flash: don't call m_free when it's bad
It's extremely dubious that we have these handles that we think
are to GC'd memory at a time when the gc pool may not be initialized.
Hopefully, they WERE valid GC memory and are undisturbed by the teardown
of the interpreter that can lead to this state.

In this case, don't try to m_free them, the memory will become free when
the GC heap is reinitialized.

Closes: #2338 (together with previous commit)
2019-12-10 17:07:20 -06:00
Jeff Epler
b22fbcd77d supervisor: external_flash: don't call m_malloc_maybe when it's bad 2019-12-10 17:06:09 -06:00
Scott Shawcroft
024ba978ec
Merge pull request #2337 from jepler/mp3
Add MP3 playback
2019-12-10 13:55:25 -08:00
hierophect
30aba46735
Merge branch 'master' into stm32-blackpill 2019-12-10 15:38:42 -05:00
Hierophect
33233934e9 text fix 2019-12-10 15:13:11 -05:00
Hierophect
0e2a03e3bd revert usb.c additions 2019-12-10 15:07:39 -05:00
Jeff Epler
a08d9e6d8e audiocore: Add MP3File using Adafruit_MP3 library 2019-12-10 14:03:06 -06:00
Jeff Epler
a484a93b29 nRF: disk_read must be 4-byte aligned
.. a requirement that oofatfs needs to be taught to respect.

This problem can be demonstrated with the following snippet, except
that the related file ("test.bin") must also be contiguous on the
filesystem.  You can ensure this by reformatting your device's filesystem
before testing, then copying any single file bigger than 4kB to test.bin.

    f = open("test.bin", "rb")
    f.seek(2048)
    b = bytearray(2048)
    v = memoryview(b)
    f.readinto(v[909:])

Closes: #2332
2019-12-10 14:03:06 -06:00
Scott Shawcroft
387ab6c87e
Merge pull request #2315 from hierophect/stm32-pyb-nano
STM32: Add PYB Nano support
2019-12-10 11:25:07 -08:00
Scott Shawcroft
dda9ea09b1
Merge pull request #2363 from jepler/samd-neopixel
samd: neopixel: Fix neopixels after #2297
2019-12-10 11:23:18 -08:00
Scott Shawcroft
8497ea8aab
Merge pull request #2365 from dhalbert/cpb-power-switch
Add POWER_SWITCH pin to CPB
2019-12-10 10:53:45 -08:00
Joe Bakalor
dbc28e35c5
Merge pull request #2 from adafruit/master
Pull master
2019-12-10 11:50:49 -05:00
Dan Halbert
60f399395a Add POWER_SWITCH pin to CPB 2019-12-09 18:30:24 -05:00
Scott Shawcroft
19ac8aea8c
Merge pull request #2353 from jepler/audiosample-protocol
Convert audiosamples to use micropython "protocols" (safely)
2019-12-09 14:50:16 -08:00
Scott Shawcroft
2379cd9ef4
Merge pull request #2364 from jepler/nrf-stereo-rate
nRF: PWMAudioOut: fix half-speed playback of stereo samples
2019-12-09 14:23:29 -08:00
Jeff Epler
13620cc4db nRF: PWMAudioOut: fix half-speed playback of stereo samples
The "spacing" of "buffer structure" is confusing, use the "channel count"
instead.

Testing performed on nrf52840 feather:

Play stereo and mono, 8- and 16-bit, 8kHz RawSamples representing 333.33Hz
square waves.

Use both mono and stereo PWMAudioOut instances.

Scope the RC-filtered signal and use the scope's frequency
measurement function, verify the frequency is 333 or 334Hz in all tested
cases.

In the "stereo output" cases, verify both the L and R channels.  Verify
the output amplitude is the same in both channels.

In the "stereo output" cases, run a second test where the L channel's
amplitude is attenuated 50%. Verify the output amplitude is correct
in each channel.
2019-12-09 10:57:55 -06:00
Jeff Epler
1905d0746d samd: neopixel: Fix neopixels after #2297
This adapts the "inline assembler" code from the UF2 bootloader, which
in turn is said to be adapted from the arduino neopixel library.

This requires the cache remain ON when using M0, and be turned OFF on M4
(determined by trial and error)

Testing performed on a Metro M4:
 * measured timings using o'scope and found all values within
   datasheet tolerance.
 * Drove a string of 96 neopixels without visible glitches
 * on-board neopixel worked

Testing performed on a Circuit Playground Express (M0):
 * Color wheel code works on built-in neopixels
 * Color wheel code works on 96 neopixel strip

As a bonus, this may have freed up a bit of flash on M0 targets. (2988 ->
3068 bytes free on Trinket M0)

Closes: #2297
2019-12-07 19:19:45 -06:00
Dan Halbert
f5e913101c
Merge pull request #2301 from tannewt/support_extended_advertising
Add support for extended (>31 byte) BLE advertisements.
2019-12-06 23:51:05 -05:00
Dan Halbert
fe05be86e5
Merge pull request #2362 from tannewt/fix_service_list_crash
Check connection validity after service discovery.
2019-12-06 23:48:37 -05:00
Scott Shawcroft
da0ea979ff
Check connection validity after service discovery.
Fixes #2347
2019-12-06 16:03:14 -08:00
Hierophect
dd4d3a662d conditional for F412 register difference 2019-12-06 16:44:17 -05:00
Hierophect
252da17bc9 Create VBUS disable interface in shared supervisor 2019-12-06 15:55:00 -05:00
Dan Halbert
559ce6a949
Merge pull request #2356 from tannewt/central_pairing
Add connection interval and debugging
2019-12-06 15:19:40 -05:00
Dan Halbert
d628d2a261 atmel-samd working 2019-12-06 15:18:20 -05:00
Jeff Epler
d5eca87ca2 audiocore: use mp_obj_t in prototypes 2019-12-06 13:25:40 -06:00
Jeff Epler
c38a2ac334 make translate 2019-12-06 13:25:28 -06:00
Scott Shawcroft
e8a54eacaa
Comment supervisor ble data arrays. 2019-12-06 11:13:22 -08:00
Scott Shawcroft
840f88b8f0
Merge pull request #2350 from hierophect/stm32-neopixel-fix
Fix for neopixels on <100MHz STM32 boards
2019-12-06 10:40:50 -08:00
Hierophect
6c8503b3c6 VBUS fix actually doesn't work 2019-12-06 12:39:22 -05:00
Hierophect
2a01f0806e text fixes 2019-12-06 11:58:26 -05:00
Hierophect
0ae08e275d remove pyb nano folder 2019-12-06 11:54:01 -05:00
Hierophect
f6d0e912c9 remove old 401 files 2019-12-06 11:52:40 -05:00
Hierophect
2dcfc9d411 USB fixes and cleanup 2019-12-06 11:41:38 -05:00
Dan Halbert
a0721fc94a Merge remote-tracking branch 'adafruit/master' into ld-cleanup 2019-12-05 22:46:38 -05:00
Dan Halbert
40434d6919 wip 2019-12-05 22:45:53 -05:00
Hierophect
9b43d5ced4 Merge remote-tracking branch 'upstream/master' into stm32-blackpill 2019-12-05 14:25:39 -05:00
Jeff Epler
60f489d36a audiocore: restore the prototypes of audiosample_xxx functions 2019-12-05 13:08:32 -06:00
Jeff Epler
49a547eed8 proto: Use %q format-string shortcut 2019-12-05 13:06:10 -06:00
Scott Shawcroft
12f64c7c16
Merge pull request #2352 from hierophect/stm32-displayio
STM32: Displayio
2019-12-05 10:18:07 -08:00
Scott Shawcroft
d50f93058d
Merge pull request #2358 from dhalbert/idempotent-bleio-disconnect
Make _bleio.Connection.disconnect() idempotent
2019-12-05 10:04:08 -08:00
Hierophect
c53496a55e remove redundant NOPs 2019-12-05 12:45:09 -05:00
Hierophect
ab74f45bfb Define polarity and phase in Fourwire 2019-12-05 11:44:21 -05:00
Hierophect
f3f2c7f5de change default phase for SPI 2019-12-05 11:38:20 -05:00
Dan Halbert
e30dde0afc Make _bleio.Connection.disconnect() idempotent 2019-12-05 08:40:53 -05:00
Scott Shawcroft
17c8356b8c
Add connection interval and debugging
This also sets TinyUSB to master and to not include its submodules.

It also fixes an old displayio example comment and retries gattc
reads.
2019-12-04 14:39:02 -08:00