Commit Graph

451 Commits

Author SHA1 Message Date
Jerry Needell
a90343022a enble MICROPYTHON_CPYTHON_COMPAT - fix mpconfigport.h to allow and enable a few more items for compatiblilty with other builds 2018-12-10 16:35:40 -05:00
Scott Shawcroft
801d9a5abc
Fix running the USB task on nRF.
It wasn't being run due to a rework done only on the atmel-samd port.
The rework itself isn't needed now that the heap check triggers safe
mode instead of throwing a Python exception. So, I've removed the
rework.
2018-12-07 16:11:21 -08:00
Dan Halbert
a7a24096f4 bleio WIP: redo for more immutability; use sd_* routines for internal flash write 2018-12-07 16:52:47 -05:00
Scott Shawcroft
332ea8853f
Macro guard VDDH inclusion. 2018-12-06 16:38:14 -08:00
Scott Shawcroft
6ef8639971
Rework safe mode and have heap overwrite trigger it.
This creates a common safe mode mechanic that ports can share.
As a result, the nRF52 now has safe mode support as well.

The common safe mode adds a 700ms delay at startup where a reset
during that window will cause a reset into safe mode. This window
is designated by a yellow status pixel and flashing the single led
three times.

A couple NeoPixel fixes are included for the nRF52 as well.

Fixes #1034. Fixes #990. Fixes #615.
2018-12-06 14:24:20 -08:00
Dan Halbert
125901e4e2 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-12-06 12:41:38 -05:00
Scott Shawcroft
b25bf062fb
Add correct flash chip for Particle Mesh boards 2018-12-04 18:20:51 -08:00
Scott Shawcroft
15c1fc873c
Add particle boards, fix cp32 and try to speed up atmel build 2018-12-04 18:20:48 -08:00
Dan Halbert
63cd9209f1 allow KeyboardInterrupt on UART read; fix nrf UART pin claiming; rename feather 52840 UART pins 2018-12-04 15:05:39 -05:00
Dan Halbert
80db2cec99 UART changes: timeout in secs, write bytes, etc. 2018-12-03 12:04:32 -05:00
jimblom
09316b35d7 remove non-broken-out nrf pins. re-organize pins.c list. 2018-11-30 14:58:36 -07:00
Scott Shawcroft
6e15ab6385
Stop ignoring SD hex files and improve the error when its missing. 2018-11-30 13:26:12 -08:00
Scott Shawcroft
df18d22a93
Capture stderr as well and work on nRF build 2018-11-30 12:59:05 -08:00
jimblom
f67814fc97 Adding SparkFun nRF52840 Mini board support. 2018-11-30 13:57:22 -07:00
Scott Shawcroft
cf70dc4f1c
Fix BLE build 2018-11-30 11:53:33 -08:00
Scott Shawcroft
9d07e95351
Add support for adding release info into adafruit/circuitpython-org
This also changes the build script to python with better output.
2018-11-30 00:30:57 -08:00
Scott Shawcroft
60480ff4ed
Merge pull request #1351 from jepler/issue1307-ujson
json: enable on nrf boards and "large flash" M4 samd boards
2018-11-27 11:29:29 -08:00
Scott Shawcroft
d446d328d8
Fix QSPI on Feather nRF52840
We were writing with quad page program including the address (0x38)
which is unsupported by the GD25Q16C but it is supported by the
flash on the DK. So, we use the single address, quad data command
(0x32).
2018-11-27 00:13:24 -08:00
Dan Halbert
3164b16196 WIP: debug; add hash and __eq__ to UUID 2018-11-26 21:09:17 -05:00
Dan Halbert
6fb7590280 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-11-26 10:16:29 -05:00
Scott Shawcroft
15eeac5d4b
A few fixes for nRF52840 feather QSPI and neopixel 2018-11-23 14:22:07 -08:00
Scott Shawcroft
324301e3bc
Update tinyusb to include control fixes. 2018-11-23 13:28:10 -08:00
Jeff Epler
52fd151c9c ports/nrf: enable json module on nrf boards generally 2018-11-22 10:35:57 -06:00
Dan Halbert
5fe746f643 Latest Feather nRF52840 pin revisions 2018-11-21 19:46:49 -05:00
Dan Halbert
1763ffe245 More UUID work; use mp_raise for exceptions 2018-11-20 23:04:58 -05:00
Dan Halbert
31cc71f7fb WIP: bleio revisions 2018-11-20 09:36:45 -05:00
Scott Shawcroft
b67c53edfa
Factor out of external flash as well.
Plus some cleanup.

Fixes #1324
2018-11-14 18:30:47 -08:00
Scott Shawcroft
87ddd64481
Factor out fake partition 2018-11-14 17:59:11 -08:00
Scott Shawcroft
47212ee31e
start debug 2018-11-14 17:21:48 -08:00
Scott Shawcroft
355abc835e
Fix output overflow and make help translatable 2018-11-09 16:41:08 -08:00
Scott Shawcroft
9d91111b1b
Move atmel-samd to tinyusb and support nRF flash.
This started while adding USB MIDI support (and descriptor support is
in this change.) When seeing that I'd have to implement the MIDI class
logic twice, once for atmel-samd and once for nrf, I decided to refactor
the USB stack so its shared across ports. This has led to a number of
changes that remove items from the ports folder and move them into
supervisor.

Furthermore, we had external SPI flash support for nrf pending so I
factored out the connection between the usb stack and the flash API as
well. This PR also includes the QSPI support for nRF.
2018-11-08 17:25:30 -08:00
Dan Halbert
64d457dad9 bring bleio PR up to date 2018-11-07 14:12:22 -05:00
Dan Halbert
e203ce9ce5 Use adafruit/nrfx fork of NordicSemiconductor/nrfx 2018-10-31 23:18:59 -04:00
arturo182
4bc24c4f60 bleio: Fix errors after rebase 2018-10-21 17:15:27 +02:00
arturo182
eceb21a017 bleio: Don't register the services until needed
Because of the very specific way nRF requires service registration
(characteristics can be added only to last added service), we would
have to write the Python code in a specific way. With this patch the
user has more freedom.
2018-10-21 16:00:04 +02:00
arturo182
19fab4af5a bleio: Remove deep copy constructor for UUID 2018-10-21 15:59:50 +02:00
arturo182
b5e5805bb4 bleio: Remove redundant struct field 2018-10-21 15:59:46 +02:00
arturo182
c7b42d80b3 bleio: A bit of cleanup 2018-10-21 15:59:42 +02:00
arturo182
cf79316002 nrf: Fix ble uart using the new API 2018-10-21 15:59:36 +02:00
arturo182
d5a71a4b8a nrf: Move bluetooth driver to the 'bluetooth' folder 2018-10-21 15:55:25 +02:00
arturo182
17f13ecc2c nrf: Cleanup of the ble driver
Moved the functions to classes that they belong to.
2018-10-21 15:54:13 +02:00
arturo182
77eeecbfd9 nrf: BLE driver cleanup 2018-10-21 15:52:36 +02:00
arturo182
6545aa99a9 nrf: Remove the ble drv specific characteristic struct 2018-10-21 15:51:04 +02:00
arturo182
98aa8c5923 nrf: Remove the ble drv specific service struct 2018-10-21 15:51:01 +02:00
arturo182
3df7dea2cc nrf: Remove the ble drv specific advertisement data struct 2018-10-21 15:50:59 +02:00
arturo182
4b344812bf nrf: Remove the ble drv specific address struct 2018-10-21 15:50:56 +02:00
arturo182
3bd65fbae5 nrf: Move the Peripheral class to bleio as Device
This was the last class from ubluepy and so that module is now gone.
The Device class offers both Peripheral and Central functionality.
See the inline docs for more info.
2018-10-21 15:50:45 +02:00
arturo182
bda734223e nrf: Move the Service class from ubluepy to the shared bleio module 2018-10-21 15:43:51 +02:00
arturo182
cc78249226 nrf: Move the Characteristic class from ubluepy to the shared bleio module 2018-10-21 15:43:48 +02:00
arturo182
61bf4a16a7 nrf: Remove unused ubluepy classes 2018-10-21 15:43:39 +02:00
arturo182
1c6bf9a150 bleio: Move the Scanner class to a shared module 2018-10-21 15:43:29 +02:00
arturo182
7390dc7dab bleio: Move ScanEntry to shared module and add a new AdvertisementData class 2018-10-21 15:43:24 +02:00
arturo182
345334aaf1 bleio: Add a new Address class
Use the new in the Adapter singleton.
2018-10-21 15:43:21 +02:00
arturo182
d5f942a971 bleio: Add a AddressType enum-like class 2018-10-21 15:43:17 +02:00
arturo182
20b8d5169d nrf: Move the Descriptor class from ubluepy to the shared bleio module 2018-10-21 15:43:13 +02:00
arturo182
f4940c9aec nrf: Move the UUID class from ubluepy to the shared bleio module
Also added a UUIDType enum-like class for determining UUID type.
2018-10-21 15:43:08 +02:00
Josh Klar
aefabc5353
Update docs to reflect proper size of device 2018-10-20 03:29:20 -07:00
Josh Klar
4c75a60bd3
Declobber a DEFINE 2018-10-20 02:57:17 -07:00
Josh Klar
16ca9c8c7c
Makefile fixes and some docs 2018-10-20 02:43:13 -07:00
Josh Klar
3d7b96aeb1
Add board and pin defs for MakerDiary NRF52840 MDK 2018-10-20 02:43:12 -07:00
Dan Halbert
b3c7746a7f fix copyright notice 2018-10-16 11:09:37 -04:00
Dan Halbert
2262efc311 PulseOut working 2018-10-16 11:05:02 -04:00
Dan Halbert
8d58093328
Merge pull request #1259 from dhalbert/nrf-pwmout
Allow variable freq PWMOut; use multiple channels if same freq
2018-10-10 12:27:27 -04:00
Scott Shawcroft
df80ad8e6e
Merge pull request #1193 from ATMakersBill/master
Add supervisor.runtime.serial_bytes_available so that input() can be used without blocking.
2018-10-09 23:58:43 -07:00
Dan Halbert
ca737e6f7c Don't disable tempoarily in deinit(). 2018-10-09 21:23:47 -04:00
Dan Halbert
91a88cf568 Allow variable freq PWMOut; use multiple channels if same freq 2018-10-09 20:52:55 -04:00
ATMakersBill
9f94712ad1 replacing change to input() with separate method to check for USB Serial input 2018-10-09 18:37:52 -04:00
Jerry Needell
fd0ea85549 add force_create to nrf filesystem_init() 2018-10-06 08:03:27 -04:00
hathach
21ddb6b9b9 fix tinyusb cdc issue 2018-10-05 21:37:16 +07:00
Dan Halbert
6049776b26
Merge branch 'master' into nrf52_uart_io 2018-10-03 13:31:48 -04:00
Scott Shawcroft
86ae707b08
Merge pull request #1223 from dhalbert/spi-baudrate
nrf: remove error check for SPI baudrate too high; round to nearest baudrate
2018-10-03 10:11:44 -07:00
hathach
b8884ccc8b Merge branch 'master' into nrf52_uart_io 2018-10-03 23:13:56 +07:00
Enrico Paganin
4b9099358f Fix 'advertisement' typo 2018-10-03 09:56:30 +02:00
hathach
08cbb03bdd implement common_hal_busio_uart_clear_rx_buffer 2018-10-03 11:39:01 +07:00
hathach
f543c8415d "busio.UART not yet implemented -> not available 2018-10-03 11:30:31 +07:00
Dan Halbert
21d331c8cc round SPI freq down; check max freq 2018-10-02 21:06:40 -04:00
Dan Halbert
aa95526428 nrf: remove error check for SPI baudrate too high; round to nearest baudrate 2018-10-01 18:54:13 -04:00
Dan Halbert
48a3aafdd2 reset I2C and SPI on ctrl-D 2018-09-25 15:12:10 -04:00
hathach
76d6fb03f0 more clean up 2018-09-26 02:12:06 +07:00
hathach
eba80f7a99 update translate string 2018-09-26 02:10:44 +07:00
hathach
52328c88cd remove space 2018-09-26 02:06:32 +07:00
hathach
74cc55b107 change error type to runtime 2018-09-25 17:31:53 +07:00
hathach
f724647a45 fix feather nrf52840 build error 2018-09-25 17:09:54 +07:00
hathach
dec5c50c45 clean up 2018-09-25 16:22:14 +07:00
hathach
2f0e0bdcaf migrate serial from uart to uarte 2018-09-25 16:14:44 +07:00
hathach
9017c9d29a clean up 2018-09-25 14:29:45 +07:00
hathach
d3e5ba83eb update nrfx to 1.3.0 2018-09-25 13:00:57 +07:00
hathach
d714479924 clean up 2018-09-25 12:48:48 +07:00
hathach
01c1296197 nrf52 uart io rx work reliably 2018-09-25 12:37:31 +07:00
hathach
1782ceab35 uarte malloc if buffer is not in SRAM 2018-09-24 16:18:49 +07:00
hathach
4015023e01 clean up uart io 2018-09-24 16:12:05 +07:00
hathach
7bbd449f06 uarte rx work fine 2018-09-24 15:54:32 +07:00
hathach
fdd3e91753 changing to nrf uarte, tx works fine 2018-09-24 14:56:52 +07:00
hathach
7a1b4ccc9b Merge branch 'master' into nrf52_uart_io 2018-09-24 12:50:48 +07:00
Scott Shawcroft
f2c960e89b
Merge pull request #1205 from hathach/nrf52_autoreload
add autoreload for nrf52
2018-09-21 16:48:21 -04:00
hathach
e1fe7e71a1 add autoreload 2018-09-22 02:08:00 +07:00
Dan Halbert
2c15d12f2f allow multiple I2C and SPI; improve nrfx_config.h 2018-09-20 20:45:30 -04:00
hathach
816ff05253 clean up 2018-09-21 03:53:35 +07:00
hathach
dddc437ea7 got rx working finally 2018-09-21 03:48:13 +07:00
hathach
fe1a297889 still have issue with initial uart rx 2018-09-21 01:27:52 +07:00