Commit Graph

2769 Commits

Author SHA1 Message Date
Scott Shawcroft
7d8dac9211
Refine iMX RT memory layout and add three boards
Introduces a way to place CircuitPython code and data into
tightly coupled memory (TCM) which is accessible by the CPU in a
single cycle. It also frees up room in the corresponding cache for
intermittent data. Loading from external flash is slow!

The data cache is also now enabled.

Adds support for the iMX RT 1021 chip. Adds three new boards:
* iMX RT 1020 EVK
* iMX RT 1060 EVK
* Teensy 4.0

Related to #2492, #2472 and #2477. Fixes #2475.
2020-01-17 17:36:08 -08:00
Hierophect
3f43155b63 Meowbit bus conflict WIP 2020-01-17 13:31:12 -05:00
arturo182
69785cccfe
mimxrt1011: Fix pin definition 2020-01-17 14:45:29 +01:00
Michael Welling
cc77e86408 Update the VID and USB company string
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 15:43:49 -08:00
Michael Welling
cc03d68984 Fix backlight pin registration
Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 14:53:07 -08:00
Michael Welling
86d454adf3 Initial board support for OHS2020 Badge
Not tested but builds.

Signed-off-by: Michael Welling <mwelling@ieee.org>
2020-01-16 13:46:56 -08: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
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
1070f2c853 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2020-01-14 16:11:59 -05:00
Hierophect
05093f7f54 Fix VTOR relocate, add bootloader makefile handling 2020-01-14 15:50:00 -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
Hierophect
5aae8df5d7 style changes, fix i2c typo 2020-01-14 13:30:16 -05:00
Hierophect
c0dacba80f remove comment confusing py tools 2020-01-14 13:06:10 -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
Hierophect
de2379bc30 minor WIP debug edits 2020-01-13 17:24:52 -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
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
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
Hierophect
1544d60000 working control 2020-01-10 13:09:14 -05:00
Hierophect
1229de4499 attempt to get control going again 2020-01-10 12:56:22 -05: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
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
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
Roy Hooper
1caf6bd8d3 add missing .h file 2020-01-08 15:23:38 -05:00
Roy Hooper
e1c1e32ceb address code review 2020-01-08 15:17:54 -05:00
Roy Hooper
4e040b0152 add reset of heap to board reset for nrf port 2020-01-08 15:15:27 -05:00
Roy Hooper
34c9e00f08 try (re)using the buffer in neopixel_write 2020-01-08 15:14:53 -05:00
Scott Shawcroft
7a94940c89
Replace magic number and add comment. 2020-01-08 11:01:43 -08:00
Scott Shawcroft
d4492aaed0
Merge remote-tracking branch 'adafruit/master' into packet_buffer 2020-01-08 10:44:37 -08:00
Hierophect
d222c64538 Merge branch 'stm32-spi-oneline' into stm32-i2c-rework 2020-01-08 13:03:38 -05:00
Hierophect
90613aa5fb more cleanup and style syncing 2020-01-08 13:03:25 -05:00
Hierophect
b0f08ba465 Close algorithm edge case to match SPI 2020-01-08 12:32:43 -05:00
Jeff Epler
b3fb024301 nrf: Call into sd as many times as necessary to fill urandom request
Generating 51200 bytes in one go takes 4.966s, so that's a rate of about
10KiB/s.
2020-01-08 10:06:55 -06:00
Hierophect
3d5528b88f style edits 2020-01-08 10:53:53 -05:00
Dan Halbert
8d629a957d
Merge pull request #2367 from iot49/mtime
fix mtime on file creation
2020-01-07 17:19:40 -05:00
Scott Shawcroft
817c4af60c
Merge pull request #2456 from arturo182/mimxrt10xx
Add initial MIMXRT10XX port implementation
2020-01-07 13:58:09 -08:00
arturo182
cc7b57c8d4 mimxrt10xx: Add license for NXP code 2020-01-07 22:07:27 +01:00
Scott Shawcroft
866ac13405
Merge pull request #2450 from Marius-450/marius-display-limit-2
CIRCUITPY_DISPLAY_LIMIT = 2 for monster m4sk
2020-01-07 12:08:59 -08:00
arturo182
19803c664f mimxrt10xx: Add info on clock config source 2020-01-07 20:05:57 +01:00
Hierophect
d645ea222d Text fixes for consistency 2020-01-07 13:25:24 -05:00
Hierophect
6ab75fe8c5 Allow MOSI/MISO exclusion 2020-01-07 13:19:00 -05:00
arturo182
ff6d9d8a52
mimxrt10xx: Use the correct error for not implemented functionality
Co-Authored-By: Scott Shawcroft <scott@tannewt.org>
2020-01-07 09:29:47 +01:00
Hierophect
b778aee21d Make inclusion non-conditional 2020-01-06 17:08:52 -05:00
Hierophect
0bbeae1786 WIP edits 2020-01-06 15:37:37 -05:00
arturo182
13e0cba6f1 Add initial MIMXRT10XX port 2020-01-06 21:08:49 +01:00
Hierophect
fff5f8eb65 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2020-01-06 11:31:25 -05:00
Hierophect
7198cc8ed6 Changes to UF2 settings, reboot working, no usb 2020-01-06 11:30:23 -05:00
Radomir Dopieralski
59ded1131f Take display offsets for PewPew M4 from the bootloader config
The PewPew M4 devices come with different displays, which require
different offsets. Since the information about offsets is saved in
the bootloader, we can take it from there.
2020-01-06 14:24:30 +01:00
Dan Halbert
390337b9a5 wip; compiles 2020-01-05 23:33:42 -05:00
Hierophect
f355642eab Boot linker edits 2020-01-04 16:29:31 -05:00
Hierophect
d0fab1c728 Clean up debugging edits 2020-01-04 13:53:31 -05:00
Hierophect
36088becc9 PWM Fix, plus debugging 2020-01-04 13:35:53 -05:00
Marius-450
3ad3d49959 changes only for monster m4sk 2020-01-04 12:32:49 -05:00
Scott Shawcroft
82fb761c0f
Add PacketBuffer and MTU negotiation support.
PacketBuffer facilitates packet oriented BLE protocols such as BLE
MIDI and the Apple Media Service.

This also adds PHY, MTU and connection event extension negotiation
to speed up data transfer when possible.
2020-01-03 17:29:54 -08:00
Scott Shawcroft
776c9b011c
Merge pull request #2432 from tannewt/fix_nrf_uart
Fix nRF UART reset
2020-01-03 16:57:59 -08:00
Scott Shawcroft
f6ec1ea172
Throw an error when we cannot allocate PWM pixel buffer 2020-01-03 15:15:36 -08:00
Scott Shawcroft
6afb8dadbc
Change SPI and I2C in the same way. 2020-01-03 15:14:37 -08:00
Dan Halbert
242d572470 wip 2020-01-03 10:24:07 -05:00
Jeff Epler
bd8650d35b samd/peripherals: take upstream update 2020-01-02 17:55:50 -06:00
Dan Halbert
32b82032a1
Merge pull request #2423 from pewpew-game/pewpew-m4-update
Update the PewPew M4 board and circuitpython-stage
2020-01-01 13:59:02 -05:00
Dan Halbert
c7d68fc3bc
Merge pull request #2440 from adafruit/tannewt-hwm4-uart-pins
Fix Hallowing M4 Express UART pin mapping
2019-12-30 23:45:14 -05:00
Dan Halbert
f0d34da556 add display support; rotation 270 2019-12-30 17:39:39 -05:00
Dan Halbert
3f9ebd2fed initial CLUE board defn 2019-12-30 17:10:42 -05:00
Hierophect
28b1d718a3 Tests for PWM issues, style changes 2019-12-30 15:15:55 -05:00
Scott Shawcroft
0223589e6c
Fix default UART too 2019-12-30 11:34:51 -08:00
Scott Shawcroft
e1d026f815
Update pins.c 2019-12-30 11:33:04 -08:00
Dan Halbert
264abd4741
Merge pull request #2428 from hathach/samd-improve-usb
improve usb dcd samd51
2019-12-30 13:39:17 -05:00
Hierophect
e9dbc34d80 add cypthon compat setting 2019-12-30 11:35:02 -05:00
Hierophect
5b9209aa02 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2019-12-30 11:17:12 -05:00
Scott Shawcroft
cfd71d9023
Fix nRF UART reset
disable only turns off ENABLE but doesn't set the init tracking that
nrfx uses. uninit hangs if ENABLE is off and is called because it
waits forever for TX to stop.
2019-12-27 20:18:07 -08:00
hathach
62c4028cde
sync with https://github.com/hathach/tinyusb/pull/246
should fix slow enumeration
2019-12-26 23:04:16 +07:00
Jerry Needell
d38a0007f1 define board.VOLTAGE_MONITOR for feather_stm32f405_express 2019-12-26 08:46:27 -05:00
Jeff Epler
5aa3e3eabb samd/peripherals: update 2019-12-24 09:36:19 -06:00
Hierophect
b49ecc52b9 text fixes 2019-12-23 14:55:26 -05:00
Radomir Dopieralski
b06057395b Update PewPew M4
PewPew M4 now has the pew.py added to its frozen libraries. Some
features needed to be disabled to make room for that.
2019-12-23 18:37:36 +01:00
Ha Thach
21cbd5ce96
Merge pull request #2379 from hierophect/update-tusb
Update Tinyusb
2019-12-23 17:58:26 +07:00
Scott Shawcroft
f60b6481e0
Turn off gamepad on cpx crickit 2019-12-20 12:14:27 -08:00
Scott Shawcroft
b859e2b710
Remove re from CPX Displayio build to make space. 2019-12-20 11:43:56 -08:00
Scott Shawcroft
f08c7d470d
Merge pull request #2410 from jepler/nrf-extended-samplerate
nrf: PWMAudioOut: 62500Hz limitation is not needed
2019-12-20 09:31:02 -08:00
Jeff Epler
d31a387ace circuitplayground_express_displayio: reduce inlining to make .ko translation fit 2019-12-19 16:11:29 -06:00
Jeff Epler
51af8aadb7 nrf: PWMAudioOut: 62500Hz limitation is not needed
.. and it gets in the way of some example programs, due to the way
circuitplayground library generates different frequency sine waves
2019-12-19 10:34:56 -06:00
ndgarage
16688180c6 add-ndbit6 2019-12-19 07:17:43 -07:00
Hierophect
902e242237 Revert "enable internal SPI intercepts. can brick USB"
This reverts commit 5b70fa0a64.
2019-12-18 17:17:06 -05:00
Hierophect
5b70fa0a64 enable internal SPI intercepts. can brick USB 2019-12-18 15:40:08 -05:00
Hierophect
3a5de7effd Remove merge overflow 2019-12-18 14:46:12 -05:00
hathach
d1f045880d Merge branch 'master' into hierophect-update-tusb 2019-12-18 16:52:04 +07:00
Ha Thach
25df6e613a
Merge pull request #2395 from hathach/nrfx-v2
upgrade nrfx API to v2
2019-12-18 16:14:25 +07:00
hathach
dad2663337 update nrfx submodule to v2 2019-12-18 15:39:11 +07:00
Scott Shawcroft
e9cb47ffbd
Merge pull request #2393 from dhalbert/increase-cpx-stack
Increase CPX stack size slightly
2019-12-17 14:35:37 -08:00
Hierophect
ba19cd9ecb Internal filesystem displayIO test 2019-12-17 17:33:49 -05:00
Hierophect
f136ef2b91 add most remaining pindefs 2019-12-17 14:00:35 -05:00
Hierophect
4bfb255a1c merge Thach's suggestion 2019-12-17 12:58:16 -05:00
Jeff Epler
8137ac4c49 nRF: PWMAudioOut: handle non-looping rawsamples 2019-12-17 08:59:08 -06:00
hathach
894cad2e17 upgrade nrfx API to v2 2019-12-17 21:39:52 +07:00
hathach
ebc21144b8
stm32 explicitily enable/disable vbus sense, fix warning 2019-12-17 10:55:19 +07:00
Dan Halbert
81581b345c Increase CPX stack size slightly 2019-12-16 17:25:22 -05:00
JoeBakalor
03ea9ff66e reset atmel-samd submodule to correct commit 2019-12-16 16:31:44 -05:00
Joe Bakalor
822828b9a4
Merge pull request #6 from adafruit/master
Pull master
2019-12-16 15:06:58 -05:00
JoeBakalor
2abccc1745 update vid and pid for teknikio_bluebird 2019-12-16 08:58:56 -05:00
KalbeAbbas
89ed64157d
Merge branch 'master' into master 2019-12-16 13:25:44 +05:00
KalbeAbbas
87dc9bee8b
Update mpconfigboard.mk 2019-12-16 12:25:51 +05:00
KalbeAbbas
6f6d6c01ab
Update mpconfigboard.mk 2019-12-16 12:18:16 +05:00
JoeBakalor
32744a04e1 update bluebird make file 2019-12-13 09:08:21 -05:00
Joe Bakalor
3992a870e5
Merge branch 'master' into teknikio/bluebird 2019-12-13 08:55:15 -05:00
JoeBakalor
4bee6536c9 updates to bluebird 2019-12-13 08:52:03 -05:00
Joe Bakalor
b484c89b73
Merge pull request #4 from adafruit/master
Pull master
2019-12-13 08:51:06 -05:00
Hierophect
99c02b5afb usb not working... 2019-12-12 17:53:04 -05:00
Hierophect
e4fb414b91 clean up definitions post merge 2019-12-12 17:17:29 -05:00
Hierophect
ab3762d8f5 Merge branch 'dumb-git-stuff' into stm32-meowbit 2019-12-12 16:34:11 -05:00
Hierophect
7e0719117b Revert "remove F401 additions to streamline"
This reverts commit 12737e2821.
2019-12-12 16:32:33 -05:00
Hierophect
2be18a7b53 revert dumb thing 2019-12-12 16:30:24 -05:00
Hierophect
842f8b2d3d Revert "Remove meowbit for now"
This reverts commit 006182f4e8.
2019-12-12 16:27:32 -05:00
Dan Halbert
ef2ef7a6b8 merge from master 2019-12-12 15:51:13 -05:00
Dan Halbert
e11fabd5e0 moved nrf internal filesystem to just below bootloader 2019-12-12 14:57:23 -05:00
Dan Halbert
7889b999cc Fix flash write error handling; clean up safe mode message printing 2019-12-12 14:41:49 -05:00
Hierophect
9339903a30 Revert "delete old boards"
This reverts commit 00e953e86c.
2019-12-12 13:24:46 -05:00
Hierophect
d44a758a2d Add no VBUS option to blackpill 2019-12-12 12:48:37 -05:00
Hierophect
39f3063ed4 Merge remote-tracking branch 'upstream/master' into update-tusb 2019-12-12 12:47:48 -05:00
Hierophect
885a1415d0 Update stm32 usb.c 2019-12-12 12:47:40 -05:00
JoeBakalor
dde7c5e145 Merge branch 'master' of https://github.com/Teknikio/circuitpython 2019-12-12 08:59:37 -05:00
Joe Bakalor
bf4138b0e4
Merge pull request #3 from adafruit/master
Pull master
2019-12-12 08:59:22 -05:00
Dan Halbert
fd03fd5e4f sd_flash_operation_status should be volatile 2019-12-12 00:19:03 -05:00
Dan Halbert
8176325130 Merge remote-tracking branch 'adafruit/master' into ld-cleanup 2019-12-11 22:52:59 -05:00
Hierophect
70d899d354 WIP to successful USB test 2019-12-11 17:58:21 -05:00
Dan Halbert
ae64a669dd address review comments 2019-12-11 15:43:06 -05:00
JoeBakalor
0da5dceccf update bluebird makefile 2019-12-11 15:25:16 -05:00
JoeBakalor
a273a7c55e add remaining peripheral pin maps and digital/analog pin definitions 2019-12-11 15:23:16 -05:00
JoeBakalor
006d85d5c2 add make file and board configuration, add accelerometer pin mappings 2019-12-11 14:49:59 -05:00
Scott Shawcroft
e5adf3c43f
Merge pull request #2361 from hierophect/stm32-blackpill
STM32: Blackpill Support
2019-12-11 11:07:23 -08:00
Dan Halbert
1e11f2708b remove debugging leftovers 2019-12-11 09:34:56 -05:00
iot49
73b6e5d8e6 added correct include files 2019-12-10 19:44:11 -08:00
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
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
Hierophect
e328e9c106 minor text changes 2019-12-10 15:02:38 -05: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
iot49
0712c95225 fix mtime on file creation 2019-12-09 23:14:26 -08: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
Hierophect
b0a5e81c46 Merge remote-tracking branch 'upstream/master' into stm32-meowbit 2019-12-09 12:29:00 -05:00
Hierophect
00e953e86c delete old boards 2019-12-09 12:28:25 -05: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
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
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
Hierophect
c53496a55e remove redundant NOPs 2019-12-05 12:45:09 -05:00
Hierophect
f3f2c7f5de change default phase for SPI 2019-12-05 11:38:20 -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
Scott Shawcroft
19dc219ff7
Merge pull request #2351 from hierophect/stm32-i2c-never-reset
STM32: Add I2C never reset
2019-12-04 10:26:51 -08:00
Hierophect
3de1b9edbe Merge remote-tracking branch 'upstream/master' into stm32-displayio 2019-12-04 10:50:14 -05:00
Jeff Epler
238e121236 protocols: Allow them to be (optionally) type-safe
Protocols are nice, but there is no way for C code to verify whether
a type's "protocol" structure actually implements some particular
protocol.  As a result, you can pass an object that implements the
"vfs" protocol to one that expects the "stream" protocol, and the
opposite of awesomeness ensues.

This patch adds an OPTIONAL (but enabled by default) protocol identifier
as the first member of any protocol structure.  This identifier is
simply a unique QSTR chosen by the protocol designer and used by each
protocol implementer.  When checking for protocol support, instead of
just checking whether the object's type has a non-NULL protocol field,
use `mp_proto_get` which implements the protocol check when possible.

The existing protocols are now named:
    protocol_framebuf
    protocol_i2c
    protocol_pin
    protocol_stream
    protocol_spi
    protocol_vfs
(most of these are unused in CP and are just inherited from MP; vfs and
stream are definitely used though)

I did not find any crashing examples, but here's one to give a flavor of what
is improved, using `micropython_coverage`.  Before the change,
the vfs "ioctl" protocol is invoked, and the result is not intelligible
as json (but it could have resulted in a hard fault, potentially):

    >>> import uos, ujson
    >>> u = uos.VfsPosix('/tmp')
    >>> ujson.load(u)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: syntax error in JSON

After the change, the vfs object is correctly detected as not supporting
the stream protocol:
    >>> ujson.load(p)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    OSError: stream operation not supported
2019-12-04 09:29:57 -06:00
Hierophect
e6b45656f9 Add module and empty parallelbus 2019-12-03 17:18:42 -05:00