Commit Graph

1966 Commits

Author SHA1 Message Date
Dan Halbert
1dc3957e72 LocalPeripheral is now Peripheral; more work on basic GATTS support; UART not working yet 2018-12-30 22:33:49 -05:00
Dan Halbert
ef39e72c7c free event handlers on reset; fix typo in Broadcaster 2018-12-29 13:55:10 -05:00
Dan Halbert
de7cadb9b2 fix typos in internal_flash.c 2018-12-29 00:08:04 -05:00
Dan Halbert
145e110915 Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-12-29 00:00:39 -05:00
Dan Halbert
4d1f0ec07b Add Broadcaster. Reset correctly on reload. 2018-12-28 23:34:23 -05:00
hathach
6b0d93cea3
correct i2c max len 2018-12-28 21:14:27 +07:00
hathach
a4ee80832a
fix #1422 correct i2c max xfer len (size in bits) 2018-12-28 16:30:11 +07:00
hathach
3ee766bc01
put received bytes to fifo when error 2018-12-28 01:05:30 +07:00
hathach
d092722ae8
fix #1407 keep receiving in case of error 2018-12-28 00:40:29 +07:00
Jerry Needell
55084b30ef remome FRAMEBUF from nrf builds - use QSPI for particle ARGON 2018-12-27 09:38:35 -05:00
Dan Halbert
4167bf5b24 wip: advertising works, but not connection 2018-12-27 00:04:04 -05:00
Dan Halbert
f5b15c9b4d Merge remote-tracking branch 'origin/feather52840-rgb-qspi-fixes' into bleio-rev 2018-12-21 21:28:24 -05:00
Dan Halbert
0dfe2dbff0 return error status on more routines; minor simplification of freq setting 2018-12-21 12:30:54 -05:00
Dan Halbert
bce6d124af Don't check for corrupt heap too early; Fix QSPI timing 2018-12-20 21:28:36 -05:00
Limor "Ladyada" Fried
a9f0b31a15
Update README.rst
https://github.com/adafruit/circuitpython/issues/1410
2018-12-19 13:25:18 -05:00
hathach
6752266673 added pulsein using gpiote (gpio interrupt) 2018-12-18 22:05:17 +07:00
Dan Halbert
bfa66861ef Merge remote-tracking branch 'adafruit/master' into bleio-rev 2018-12-13 16:33:15 -05:00
hathach
b37b2fa7e7 overwrite old data if fifo is full 2018-12-13 23:56:06 +07:00
hathach
e136222ae2 use rbuf for busio uart 2018-12-13 23:48:53 +07:00
Scott Shawcroft
69bb4ae670
Merge pull request #1397 from ShawnHymel/master
Added board support for Arduino MKR Zero
2018-12-11 13:09:27 -08:00
Scott Shawcroft
29f9794dcf
Curly brace change to make it more consistent
And to queue Travis
2018-12-11 11:57:52 -08:00
Scott Shawcroft
70939ad517
Merge pull request #1395 from jerryneedell/jerryn_cpython
enable MICROPY_CPYTHON_COMPAT
2018-12-11 10:54:17 -08:00
Scott Shawcroft
8fc72e8978
Add SPI and I2C to SparkFun nRF52840 mini definition and add it to Travis. 2018-12-10 20:32:19 -08:00
Scott Shawcroft
8a981dc8e8
Merge remote-tracking branch 'adafruit/master' into sfe840 2018-12-10 20:13:36 -08:00
Nick Moore
1dc4c4757e touchio.TouchIn sensing working on a single pin! adafruit/circuitpython#1048 2018-12-11 14:33:35 +11:00
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
Nick Moore
901db4797e progress on NRF touchio.TouchIn #1048 2018-12-09 16:48:33 +11:00
ShawnHymel
f8ded46ad6 Merged field in pin table in README. 2018-12-08 17:42:42 -06:00
ShawnHymel
4c81d9a9ac Added SD_CD pin definition 2018-12-08 17:40:46 -06: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
df84da5913
Stub out serial_write as well 2018-12-07 09:32:37 -08:00
Scott Shawcroft
808ca676b6
Fix unix 2018-12-06 17:12:30 -08:00
Scott Shawcroft
332ea8853f
Macro guard VDDH inclusion. 2018-12-06 16:38:14 -08:00
Scott Shawcroft
817766acdc
Use the stub for ESP8266 as well. 2018-12-06 15:47:16 -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
7ad2e6ace3
Add stack validity check and raise an error when it happens.
The backtrace cannot be given because it relies on the validity
of the qstr data structures on the heap which may have been
corrupted.

In fact, it still can crash hard when the bytecode itself is
overwritten. To fix, we'd need a way to skip gathering the
backtrace completely.

This also increases the default stack size on M4s so it can
accomodate the stack needed by ASF4s nvm API.
2018-12-04 23:26:04 -08:00
Scott Shawcroft
f59c3bd726
Add flag comment 2018-12-04 18:22:23 -08:00
Scott Shawcroft
b25bf062fb
Add correct flash chip for Particle Mesh boards 2018-12-04 18:20:51 -08:00
Scott Shawcroft
3f5d917b39
Update submodules to merge commits 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
Nick Moore
452a622459 Set up structure for touchio adafruit/circuitpython#1048 (does nothing yet) 2018-12-04 17:12:02 +11:00
Dan Halbert
7f6da78be3
Merge pull request #1344 from bwshockley/master
Add Mini SAM M4 board.
2018-12-03 17:37:23 -05:00
Dan Halbert
80db2cec99 UART changes: timeout in secs, write bytes, etc. 2018-12-03 12:04:32 -05:00
ShawnHymel
3d597aae92 Added MKR Zero board definition. 2018-12-02 18:07:19 -06:00
Scott Shawcroft
9aebe2f1ef
Merge branch 'master' into master 2018-11-30 20:49:55 -08:00
Scott Shawcroft
c55183f71a
Merge remote-tracking branch 'adafruit/master' into gc_rev_b 2018-11-30 15:09:15 -08:00
Scott Shawcroft
48928d4b25
Auto build and a couple pin fixes 2018-11-30 15:08:06 -08:00
Scott Shawcroft
3fa8796668
Merge remote-tracking branch 'adafruit/master' into mini_sam 2018-11-30 15:01:03 -08:00
Scott Shawcroft
77760090e2
Fix up spi flash define 2018-11-30 14:55:06 -08:00
Scott Shawcroft
95e0309263
Merge remote-tracking branch 'adafruit/master' into mini_sam 2018-11-30 14:40:01 -08: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
56345ff997
A few tweaks based on review feedback 2018-11-30 10:58:27 -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
c47c495aca
Merge pull request #1329 from notro/oserror_errno
Support OSError subclasses and attributes
2018-11-27 22:35:54 -08:00
Scott Shawcroft
913b513929
Merge pull request #1357 from ElectronicCats/add-electroniccats-catwan-usbstick
Added board Electronic Cats CatWAN USB Stick
2018-11-27 11:58:26 -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
sabas1080
1da2425612 Add Electronic Cats CatWAN USB Stick 2018-11-26 14:39:58 -06: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
Jeff Epler
78972cc879 ports/atmel-samd: enable json module on M4 boards with lots of flash 2018-11-22 10:35:44 -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
Benjamin Shockley
69eb2efced
Update devices.h 2018-11-20 13:21:43 -06:00
Scott Shawcroft
7d1a62e4ba
Update for Grand Central Rev B 2018-11-20 10:54:13 -08:00
Benjamin Shockley
c344d48840
Update devices.h 2018-11-20 12:44:12 -06:00
Dan Halbert
31cc71f7fb WIP: bleio revisions 2018-11-20 09:36:45 -05:00
Benjamin Shockley
acb9bd7618 Cleanup for Mini SAM M4 Only
Remvoed older files and cleaned up repository to reflect changes for Mini SAM M4.
2018-11-16 09:46:08 -06:00
Dan Halbert
11de8fdca7 merge 3.x swap of /lib and .frozen; update frozen libs 2018-11-15 15:00:23 -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
Noralf Trønnes
704d0c606b samd51: Support more uerrno errno values
Use the default MICROPY_PY_UERRNO_LIST to give libraries access to all the errno values.
2018-11-13 22:07:05 +01:00
Dan Halbert
f190bb2c26
Merge pull request #1332 from tannewt/clear_trellis_neopixels
Clear Trellis NeoPixels on board reset.
2018-11-13 15:03:25 -05:00
Scott Shawcroft
4ae4cc11e0
Clear Trellis NeoPixels on board reset.
This makes it easier to change code in cases where the pixels may
cause a brownout.
2018-11-13 11:27:18 -08:00
Scott Shawcroft
a3a690dc01
Add pragma to ensure neopixel_write is always -Os 2018-11-13 10:56:00 -08:00
Scott Shawcroft
ed9db80760
Switch SAMD51 back to -Os
It messes up neopixel timing otherwise.

Fixes #1326
2018-11-13 10:43:18 -08:00
Scott Shawcroft
355abc835e
Fix output overflow and make help translatable 2018-11-09 16:41:08 -08:00
Scott Shawcroft
43f7ca7985
Incorporate feedback:
* Clean up board defines.
* Add flush on eject and stay ejected.
* Swith back to NONE protocol for CDC.
2018-11-09 11:33:56 -08:00
Scott Shawcroft
688f0e388b
Update MKR1300 board definition too 2018-11-09 00:49:02 -08:00
Scott Shawcroft
be6b49c712
Add back internal flash header and slim it down. 2018-11-09 00:27:18 -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
Scott Shawcroft
f24c225664
Merge pull request #1312 from dhalbert/adafruit_nrfx
Use adafruit/nrfx fork of NordicSemiconductor/nrfx
2018-11-04 11:42:12 -08:00
Scott Shawcroft
6aca9762c9
Merge pull request #1313 from siddacious/master
adding support for the CP32-M4
2018-11-04 11:26:14 -08:00
Dan Halbert
a15ed0b912 Fix Trellis M4 DotStar pin assignments. 2018-11-04 00:07:42 -04:00
ATMakersBill
bd4188a092 adding changes to mpconfigboard.mk to reduce memory usage on CPX per @danh 2018-11-03 14:42:27 -04:00
ATMakersBill
4f2f571536 Adding the serial_bytes_available() method to the 3.x branch 2018-11-03 14:01:30 -04:00
Dan Halbert
4dfba2f8ac put .frozen before /lib in sys.path; update frozen libraries 2018-11-01 19:57:10 -04:00
Bryan Siepert
844b674a1e adding support for the CP32-M4 2018-11-01 09:42:48 -07:00
Dan Halbert
e203ce9ce5 Use adafruit/nrfx fork of NordicSemiconductor/nrfx 2018-10-31 23:18:59 -04:00
Bryan Siepert
dc82fd556b Updating devices.h to add new devices, fix a typo and address #1239 2018-10-31 01:54:09 -07:00
Dan Halbert
bd79c0c0de
Merge pull request #1295 from ElectronicCats/mkr1300
Add board MKR1300 by Arduino
2018-10-26 20:15:20 -04:00
Benjamin Shockley
aec39fd027 Updated to new D21G18 MCU
Updated MIni SAM M0 to new D21G18A MCU to match layout/design of M4
2018-10-26 12:09:59 -05:00
Nick Moore
bbf8334166 Fix build without network code 2018-10-25 13:14:27 +11:00
Nick Moore
f6482699a0 Merge remote-tracking branch 'origin/master' into circuitpython/nickzoic/703-wiznet-5500-native 2018-10-25 12:20:50 +11:00
Scott Shawcroft
dc9d338612
Merge pull request #1167 from notro/cpython_stdlib
Support CPython standard library
2018-10-24 12:57:41 -07:00
Noralf Trønnes
d882ff6328 samd51: Set stack size to 8k
This is necessary in order to run unittest.
Heavy tests like those in the stdlib need 12-14k.
2018-10-24 19:33:01 +02:00
Noralf Trønnes
1b86e5fc83 samd51: Enable functionality to support CPython stdlib
This enables various things in order to support the CPython standard library.

MICROPY_PY_BUILTINS_NOTIMPLEMENTED:
Support NotImplemented for easy conversion of stdlib.
It doesn't do fallbacks though, only raises TypeError.

MICROPY_PY_COLLECTIONS_ORDEREDDICT:
collections.OrderedDict

MICROPY_PY_FUNCTION_ATTRS:
Support function.__name__ for use as key in the function attribute workaround.

MICROPY_PY_IO:
uio module: BytesIO, FileIO, StringIO, TextIOWrapper
Also add 'io' alias.

MICROPY_PY_REVERSE_SPECIAL_METHODS:
Support the __r*__ special methods.

MICROPY_PY_SYS_EXC_INFO:
sys.exc_info() used by unittest when collecting exceptions.

MICROPY_CPYTHON_COMPAT:
Some of the things it adds:

>>> object.__init__
<function>
>>> object.__new__
<function>
>>> object.__class__
<class 'type'>
>>> object().__class__
<class 'object'>
>>> object.__name__
'object'

>>> 'Hello'.encode()
b'Hello'
>>> b'Hello'.decode()
'Hello'

Named tuple field names from string:
namedtuple('Point', 'x y')
2018-10-24 19:33:01 +02:00
Noralf Trønnes
cec9a69a15 samd51: Make errno, os, and time module aliases
Add alias for uerrno so the user doesn't have to know about the
CircuitPython special names for the module.

Make os and time weak modules (aliases) making it possible to add
functionality to those modules written in python.

Example:
'import os' will now look in the path for an os module and if not found
it will import the builtin module. An os module written in python will
import the builtin module through its name prefixed with an underscore
(_os) following the C module naming practice in CPython.

Also right align the macro values to increase readability making it
easier to compare the values for samd21 and samd51. Even the longest
macro from py/mpconfig.h will fit with this alignment.
2018-10-24 19:31:53 +02:00
Scott Shawcroft
554f82fe9b
Merge pull request #1286 from klardotsh/topic-nrf52840-mdk
Add support for MakerDiary nRF52840 MDK board
2018-10-22 17:47:14 -07:00
sabas1080
f0d7073a12 Add Arduino MKR1300 2018-10-22 19:38:24 -05: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
Benjamin Shockley
5d190a5615
Update mpconfigboard.h
Corrected NVM size.
2018-10-19 21:18:19 -05:00
Benjamin Shockley
548e6893cd
Create pins.c 2018-10-19 21:16:21 -05:00
Benjamin Shockley
88fd5d7daa
Create mpconfigboard.mk 2018-10-19 21:15:50 -05:00
Benjamin Shockley
1593f4e3a8
Create mpconfigboard.h 2018-10-19 21:14:46 -05:00
Benjamin Shockley
6d974593c7
Create board.c 2018-10-19 20:52:23 -05:00
Scott Shawcroft
b436666e85
Merge pull request #1272 from sajattack/battery
add pin def for BAT
2018-10-17 12:15:38 -07:00
Dan Halbert
298756eef8
Merge pull request #1280 from tannewt/precondition_dac
Ramp values to and from a default value while active.
2018-10-17 15:00:11 -04:00
Scott Shawcroft
8161178415
Merge pull request #1275 from ElectronicCats/board-meowmeow
Added board Meow Meow by Electronic Cats
2018-10-17 11:41:57 -07:00
Scott Shawcroft
4eb1fe18e5
Tweaks from feedback:
* default_value is now quiescent_value
* Use step = -step format for sign switch
* Add note about analogout_reset being empty
2018-10-17 11:31:08 -07:00
Scott Shawcroft
c209165d43
Ramp values to and from a default value while active.
This reduces the popping sound on initial playback of an audio
sample.

The M4 DAC has a pop on startup that cannot be prevented. It also
does not allow readback so current values of the DAC are ignored.

Fixes #1090
2018-10-16 16:23:29 -07:00
Paul Sajna
089e2cc099 remove BATTERY from itsybitsy 2018-10-16 14:55:21 -07:00
Scott Shawcroft
c69b67f453
Merge pull request #1277 from dhalbert/nrf-pulseout
PulseOut working
2018-10-16 10:19:55 -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
Nick Moore
a15f3361aa add mechanism for timer ticks in NICs 2018-10-16 23:09:25 +11:00
sabas1080
c103a05579 Add board Meow Meow by Electronic Cats
https://github.com/ElectronicCats/MeowMeow
2018-10-15 19:17:04 -05:00
Paul Sajna
1447df3fa6 change BAT to BATTERY 2018-10-14 23:34:49 -07:00
Paul Sajna
f1028b5f96 add pin def for BAT 2018-10-13 15:53:22 -07:00
Dan Halbert
8b531f3fba
Merge pull request #1263 from tannewt/trellis_m4_revD
Support rev D for the Trellis M4 Express
2018-10-10 23:34:59 -04:00
Nick Moore
aab28748bb Merge remote-tracking branch 'origin/master' into circuitpython/nickzoic/703-wiznet-5500-native 2018-10-11 14:19:10 +11:00
Nick Moore
8d75c3d339 Changed to only build wiznet for {feather|metro}_m[04]_express 2018-10-11 13:42:26 +11:00
Scott Shawcroft
e5d2fae801
Merge pull request #1261 from jepler/esp8266-prebuilt-sdk
esp8266/README: comment on the specific binary SDK used
2018-10-10 12:03:12 -07:00
Scott Shawcroft
b5e26130d7
Support rev D for the Trellis M4 Express 2018-10-10 11:21:35 -07: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
Jeff Epler
012cc466a4 esp8266/README: comment on the specific binary SDK used 2018-10-09 20:17:38 -05: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
Scott Shawcroft
a647ab83df
Merge remote-tracking branch 'adafruit/master' into mixer 2018-10-09 13:31:17 -07:00
Nick Moore
a60700b1c5 Get DHCP working ... 2018-10-09 16:28:30 +11:00
Nick Moore
6e624b9c6a Split wiznet.WIZNET5K off into its own file 2018-10-09 13:05:58 +11:00
Jerry Needell
fd0ea85549 add force_create to nrf filesystem_init() 2018-10-06 08:03:27 -04:00
Scott Shawcroft
2b0356c61f
Disable framebuf by default on express builds. 2018-10-05 15:19:09 -07:00
Scott Shawcroft
76008ce304
Introduce audioio.Mixer which can mix multiple audio samples
to produce a single sample.

Only works with 16 bit samples on the M4.

Fixes #987
2018-10-05 15:12:23 -07:00
hathach
21ddb6b9b9 fix tinyusb cdc issue 2018-10-05 21:37:16 +07:00
Benjamin Shockley
091c5106ef
Cleanup Files 2018-10-04 21:26:28 -05:00
Benjamin Shockley
62d316bffb
W25Q16JV IQ and IM
Indicate the differences between IQ and IM with the 2 MiB version of the W25Q chip.
2018-10-04 21:26:05 -05:00
Benjamin Shockley
2ef29c2cec
Changed FLASH DEVICE
Changed the flash device to W25Q16JV_IM - the type actually used.
2018-10-04 21:14:07 -05:00
Benjamin Shockley
f6b9f101dc
Added W25Q16JV_IM
Added new flash module: W25Q16JV_IM
2018-10-04 21:13:05 -05:00
Nick Moore
15b59bee1b change initialization method + mod_network names 2018-10-04 22:31:47 +10:00
Nick Moore
f9bda0ff93 Makefile & mpconfigport for atmel-samd with wiznet 2018-10-04 22:02:25 +10: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
Dan Halbert
d79b0a6b17
Merge pull request #1232 from platipo/master
Fix 'advertisement' typo
2018-10-03 09:14:28 -04: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
036a1490e3
Merge pull request #1227 from tannewt/trellis_m4
Update Trellis M4 Express for Rev C
2018-10-02 20:33:27 -04:00
Scott Shawcroft
3c743f2664
Update Trellis M4 Express for Rev C 2018-10-02 11:56:09 -07: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
Benjamin Shockley
1f3a3fe5a0 Merge remote-tracking branch 'upstream/master' 2018-10-01 12:28:42 -05:00
Benjamin Shockley
862d5a06fd
Create pins.c 2018-09-29 23:33:07 -05:00
Benjamin Shockley
8e52d922cc
Create mpconfigboard.mk 2018-09-29 23:26:15 -05:00
Benjamin Shockley
5ab4f09b2f
Create mpconfigboard.h 2018-09-29 23:24:32 -05:00
Benjamin Shockley
4acca8b90b
Update board.c 2018-09-29 23:17:24 -05:00
Benjamin Shockley
13364f90fe
Create board.c 2018-09-29 23:16:07 -05: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
Scott Shawcroft
a9d094ab74
Fix translations 2018-09-21 12:24:04 -04:00
Scott Shawcroft
e5274959f2
Merge remote-tracking branch 'adafruit/3.x' into merge_3x 2018-09-21 12:22:26 -04: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
Dan Halbert
2309e60c0d WIP; problem with staticly allocated IRQ handlers 2018-09-19 21:59:04 -04:00
hathach
9c25306877 uart rx got some issue with irq 2018-09-20 02:12:21 +07:00
Scott Shawcroft
3f380ded6b
Merge pull request #1197 from dhalbert/3.x-master
3.x master
2018-09-19 09:58:52 -07:00
hathach
c5593ec074 got uart tx work 2018-09-19 17:59:15 +07:00
hathach
1df3bcf392 add board.UART() function 2018-09-19 14:40:37 +07:00
Dan Halbert
8172a2ca9d
Merge pull request #1189 from arofarn/add-BATTERY-pin
Add VOLTAGE_MONITOR pin to feather boards pins
2018-09-18 21:47:09 -04:00
Scott Shawcroft
655f223916
Clock the SAMD21 much faster so it can actually convert at its max
sample rate of 350ksps.

Also added an error check of sample rate.

Fixes #1196
2018-09-18 15:29:46 -07:00
Dan Halbert
56b7f3ba64 fix translate omission; pca10059 fix in .travis.yml 2018-09-18 16:28:27 -04:00
Dan Halbert
bc510e714f merge 3.0.2 to master 2018-09-18 15:38:12 -04:00
hathach
d8c8c5f005 remove CFG_HWUART_FOR_SERIAL 2018-09-18 20:26:50 +07:00
Dan Halbert
aaa61d06e3 add D4 and D3 aliases for EXTERNAL_NEOPIXEL and SENSE pins to match final silkscreen 2018-09-17 22:22:23 -04:00
Pierrick C
53853289eb Move VOLTAGE_BATTERY line just under D9 line 2018-09-14 09:02:04 +02:00
ladyada
521a14e942 add mic in / out 2018-09-13 21:50:43 -04:00
ladyada
994c066b21 rev B (minus microphone) 2018-09-13 21:34:39 -04:00
ladyada
bec42671b1 missin' reset pin for the radio. tested works. 2018-09-13 21:30:13 -04:00
ladyada
28aabb4d5c trellis m4 variant 2018-09-13 21:30:13 -04:00
Pierrick C
7e8816ad6f Add VOLTAGE_MONITOR alias to pin D31/A7 2018-09-13 23:46:47 +02:00
Pierrick C
8eda4bb473 Add VOLTAGE_MONITOR alias for D9 pin to feather boards 2018-09-13 23:36:04 +02:00
Scott Shawcroft
2dd9407f21
Merge pull request #1186 from dhalbert/uart-enhancements
UART enhancements
2018-09-12 16:23:28 -07:00
Dan Halbert
6a72084198 fix nrf builds; sphinx 1.8.0 crashing: use lower version 2018-09-12 18:37:03 -04:00
Scott Shawcroft
f21cf15c38
Add OnDiskBitmap which loads pixel data straight from disk.
Also, renamed Sprite's palette to pixel_shader so it can be
anything that produces colors based on values (including color values).
Added a ColorConverter that converts RGB888 (found in bitmaps) to
RGB565 for the display.

Fixes #1182
2018-09-12 15:25:59 -07:00
Dan Halbert
6a046f55c4 UART fixes and enhancements; default board object fix 2018-09-12 17:19:43 -04:00
Dan Halbert
2bd7040fe0 usb_write() output_len was uint8_t instead of uint32_t 2018-09-12 17:16:52 -04:00
Paul Kierstead
02b3f62460 When UART timeout of zero is given, make read() return data already available 2018-09-12 13:25:49 -04:00
Benjamin Shockley
b923324e73
Added HW NEOPIXEL Definition
Added definition for the built-in Neopixel.  This is useful for CircuitPython Statas: https://learn.adafruit.com/welcome-to-circuitpython/troubleshooting#circuitpython-rgb-status-light-18-10
2018-09-12 07:59:07 -05:00
Dan Halbert
c3918bae57 PWMOut was not claming channels on shared TCCs 2018-09-11 19:46:47 -04:00
Benjamin Shockley
2138b04e45
Update to IS25LP016D
Changed .supports_qspi_write to true.
2018-09-11 07:52:23 -05:00
Benjamin Shockley
c7cf38186d
Added IS25LP016D 2018-09-10 14:55:18 -05:00
Benjamin Shockley
08a2d962e3
Delete README.md 2018-09-10 17:01:31 +00:00
Benjamin Shockley
b2f5511de2
Initial Upload of Mini SAM M0
Initial Upload of Mini SAM M0
2018-09-10 17:01:00 +00:00
Benjamin Shockley
b03037e512
Create README.md 2018-09-10 16:55:55 +00:00
Dan Halbert
e335c74ac6 use open-drain capabilities on GPIO; clean up board init; set correct GPIO voltage 2018-09-09 15:01:28 -04:00
Dan Halbert
34bcb069cf
Merge pull request #1165 from tannewt/grandcentral
Initial Grand Central definition
2018-09-07 15:00:13 -04:00
Scott Shawcroft
3ac03a31d8
Fix SDA/SCL 2018-09-07 10:39:18 -07:00
Scott Shawcroft
32c616b5dd
Initial Grand Central definition
It has a ton of pins in a Mega form-factor

This also includes a change to init the stack earlier. It fixes
a crash that occurs if the flash doesn't start correctly and the
original spot isn't reached.
2018-09-06 16:54:13 -07:00
Scott Shawcroft
c2e49dc87f
Merge remote-tracking branch 'adafruit/master' into hallowing 2018-09-06 14:54:55 -07:00
Scott Shawcroft
1683eb913d
Minor tweaks based on feedback 2018-09-06 14:49:49 -07:00
Dan Halbert
100603a60b neopixel_write merge; alphabetize stuff in Makefile 2018-09-05 17:38:59 -04:00
Dan Halbert
4c3b4cacfa Merge remote-tracking branch 'adafruit/master' into nrf-pin-claiming 2018-09-05 13:15:22 -04:00
Dan Halbert
a0872e8761
Merge pull request #1161 from hathach/nrf52_neopixel
Nrf52 neopixel
2018-09-05 08:09:07 -04:00
hathach
ccd87a33b6 use nrf_pwm instead of direct registers 2018-09-05 13:18:36 +07:00
Dan Halbert
b5c03a7085 generalize # of ports; remove atmel neopixel code; remove pin name in mc_pin_obj_t 2018-09-04 16:43:21 -04:00
hathach
f4a98e909c fix nrf52832 build 2 2018-09-04 23:25:08 +07:00
hathach
b9e8e3cd1f fix nrf52832 build 2018-09-04 20:54:36 +07:00
hathach
1fe3ed87eb run background job while waiting for neopixel write seqend 2018-09-04 19:24:45 +07:00
hathach
0d92c65829 correct disconnection check to only dtr 2018-09-04 18:36:08 +07:00
hathach
3ae24d9f9a add neopixel_write implementation, work ok 2018-09-04 18:33:08 +07:00
hathach
e17253071e adding neopixel write 2018-09-04 15:51:49 +07:00
Paul Kierstead
2d3f1a10bf When UART timeout of zero is given, make read() return data already available 2018-09-01 17:07:30 +00:00
Dan Halbert
4382389e6f fix typos, remove incorrect pca10059 example; add default buses for pca10056; improve board names for pca boards 2018-09-01 00:29:36 -04:00
Dan Halbert
9ea809bef7 add pin claiming to devices 2018-08-31 18:38:05 -04:00
Dan Halbert
585597a252 pin files rework; implement pin claiming; add more boards 2018-08-31 18:05:55 -04:00
Dan Halbert
0e8d146184 wip 2018-08-31 18:05:55 -04:00
Scott Shawcroft
121903b6ee
Tweaks based on feedback 2018-08-31 14:21:48 -07:00
Scott Shawcroft
6697544cdf
Introduce displayio to render graphics to displays.
It's designed to minimize RAM footprint by using Sprites to
represent objects on the screen. The object model also facilitates
partial screen updating which reduces the bandwidth needed to display.

This is all handled in C. Python simply manipulates the objects with
the ability to synchronize to frame timing.
2018-08-31 12:31:52 -07:00
Dan Halbert
93100a7517
Merge pull request #1146 from hathach/nrf52_usb_serial_bug
update tinyusb to fix #1007 serial issue
2018-08-28 15:39:34 -04:00
hathach
87811ec3a0 update readme board name feather_nrf52832 2018-08-28 16:15:20 +07:00
Scott Shawcroft
569a050e82
Merge pull request #1143 from notro/stat_epoch_fix
Fix os.stat() epoch and use RTC for file timestamp
2018-08-26 22:22:45 -07:00
ladyada
ded38d30b6 rename pin.h to nrf_pin.h to avoid conflict with Pin.h 2018-08-26 20:37:12 -04:00
Noralf Trønnes
b61cf8d81f samd: Use RTC to set file timestamp
Use RTC to set file timestamp for file operations done on the board.
2018-08-25 20:43:09 +02:00
Jerry Needell
e8b94d0024 adjust SAMD51 neopixel_write timing 2018-08-24 07:01:50 -04:00
Dan Halbert
4cc33f8de6 Merge remote-tracking branch 'adafruit/master' into nrf_board_rename 2018-08-23 16:25:57 -04:00
Dan Halbert
728622f09d
Merge pull request #1139 from hathach/nrf52_usb_serial
use unique DevicID for usb serial
2018-08-23 09:30:31 -04:00
hathach
4a8cd03de1 use unique DevicID for usb serial 2018-08-23 14:00:54 +07:00
hathach
fed1960424 remove s140 6.0.0 and s132 6.1.0 (not supported yet) 2018-08-23 00:27:39 +07:00
hathach
0c0ac06fc7 add SD 6.1.0 to download all 2018-08-22 23:09:09 +07:00
hathach
7961103ee6 update SD to v6.1.0 2018-08-22 21:51:30 +07:00
Dan Halbert
05ea9fd296 remove stray underscore 2018-08-22 10:26:52 -04:00
Dan Halbert
eaf4d19dbb Merge remote-tracking branch 'adafruit/master' into nrf_board_rename
Merge #1137
2018-08-22 10:24:10 -04:00
hathach
a516d1123f fix typos 2018-08-22 19:42:41 +07:00
hathach
02b1b53153 Merge branch 'master' into nrf52_dfu_touch1200 2018-08-22 15:24:12 +07:00
hathach
fc955b1591 remove bootloader binaries, update readme for using adafruit-nrufitl and flashing bootloader 2018-08-22 15:22:17 +07:00
Dan Halbert
c503cf990b forgot to change .travis.yml 2018-08-21 20:35:58 -04:00
Dan Halbert
85df32907f rename nrf boards to feather_nrf52832 and feather_nrf52840_express 2018-08-21 18:45:37 -04:00
hathach
df4184e478 rename linker file to SD major version only 2018-08-21 16:02:57 +07:00
hathach
1c4accfa39 Merge branch 'nrf52_remove_boot_target' into nrf52_dfu_touch1200 2018-08-21 15:17:03 +07:00
hathach
b7dd33b76e add touch 1200 for dfu-flash 2018-08-21 15:15:44 +07:00
Scott Shawcroft
182a8d7120
Merge pull request #1131 from tannewt/hallowing3
Support Hallowing in 3.x
2018-08-20 18:26:07 -07:00
Scott Shawcroft
2b6b0ffcd2
Remove HID from hallowing so we have more room for other stuff. 2018-08-20 18:04:35 -07:00
Scott Shawcroft
44de3d49a8
Speed up zero neopixel pulses.
SK6812 on 5v is pickier than WS2812 on 5v.

Hopefully fixes #1083.
2018-08-20 17:04:46 -07:00
ladyada
aeeb40e02c
Change hallowing to shipping flash type W25Q64JV-IQ. tested! 2018-08-20 10:52:33 -07:00
Dan Halbert
1768057e87
add HalloWing 2018-08-20 10:52:24 -07:00
Noralf Trønnes
eefb6842a0 i2cslave: Fix missing translate() when raising exceptions
The translate() changes where applied after travis had checked the
i2cslave PR so this wasn't caught.
2018-08-18 16:00:06 +02:00
Scott Shawcroft
1a6f6ff8e4
Merge pull request #1122 from Jahor/patch-1
Fix PWM Support on port 1 of NRF52840
2018-08-17 16:54:03 -07:00
Scott Shawcroft
4a4d84ba42
Merge pull request #1064 from notro/i2cslave
Add busio.I2CSlave
2018-08-17 16:51:45 -07:00
Egor Leonenko
18e9f74738
Fix PWM Support on NRF52840
Replace usage of pin number alone with port+pin combination in NRF port of PWMOut
2018-08-17 19:34:03 +12:00
Scott Shawcroft
e8cf6a9072
Update to merged peripheral change. 2018-08-16 18:05:53 -07:00
Scott Shawcroft
96534e598e
Fix unix coverage and update translations. 2018-08-16 17:41:53 -07:00
Scott Shawcroft
76e0373576
Fix nrf and unix 2018-08-16 17:41:38 -07:00
Scott Shawcroft
2cd166b573
Fix esp and samd 2018-08-16 17:41:35 -07:00
Scott Shawcroft
de5a9d72dc
Compress all translated strings with Huffman coding.
This saves code space in builds which use link-time optimization.
The optimization drops the untranslated strings and replaces them
with a compressed_string_t struct. It can then be decompressed to
a c string.

Builds without LTO work as well but include both untranslated
strings and compressed strings.

This work could be expanded to include QSTRs and loaded strings if
a compress method is added to C. Its tracked in #531.
2018-08-16 17:40:57 -07:00
Noralf Trønnes
11cbeb87ad ports/atmel-samd: Implement i2cslave.I2CSlave
This adds support for SAMD acting as a I2C slave in polled mode.
2018-08-16 17:20:49 +02:00
Noralf Trønnes
b6822b86ac busio/I2C: Split out samd_i2c_get_sercom()
It will be shared with I2CSlave.
2018-08-16 17:06:40 +02:00
ladyada
d8f2a61c39 Change hallowing to shipping flash type W25Q64JV-IQ. tested! 2018-08-14 13:04:33 -04:00
hathach
e1ccc07841 remove bootloader & dfu-bootloader target
user should go to bootloader repo to upgrade bootloader
2018-08-14 20:19:28 +07:00
Dan Halbert
bbc034cd3d
Merge pull request #1104 from tannewt/more_strings
Fixes and translate more strings.
2018-08-09 20:00:18 -04:00
Scott Shawcroft
24e53ad591
Rework escaping and fix ESP build. 2018-08-09 15:58:45 -07:00
Scott Shawcroft
86d2154d71
Change file mode back. 2018-08-09 09:14:14 -07:00
Scott Shawcroft
94c5ceab36
Initial SAMR board revision. 2018-08-09 05:36:46 -07:00
Jeff Epler
b0e33f6a11 atmel-samd: UART: allocate rx buffer in long-lived region
This is not strictly needed in order for #1056 to be resolved,
because the "make long-lived" machinery is unaware of this pointer.

However, as UARTs are assumed to be long-lived, this change is
beneficial because it moves the long-lived buffer into the upper
memory area with other long-lived objects, instead of remaining in
the low heap.
2018-08-08 19:21:57 -05:00
Dan Halbert
2e80f37709
Merge pull request #1096 from tannewt/tune_neopixel
Retune neopixel timings on SAMD51. They were too slow.
2018-08-07 21:33:12 -04:00
Scott Shawcroft
b0dd645e27
Retune neopixel timings on SAMD51. They were too slow.
Fixes #1083
2018-08-07 16:58:37 -07:00
Scott Shawcroft
933add6cd8
Support internationalisation. 2018-08-07 14:58:57 -07:00
Dan Halbert
498fec64e2 increase new dynamic stack size to a comfortable value for now 2018-08-03 22:35:20 -04:00
Dan Halbert
dfa2581ffd
Merge pull request #1057 from tannewt/flexible_heap
Add basic memory allocation outside Python runtime
2018-08-02 18:43:06 -04:00
Scott Shawcroft
5704bc8c93
Share memory.c and a bit of polish. 2018-08-02 14:35:46 -07:00
Scott Shawcroft
64e5691fe7
Update to peripherals merge. 2018-08-02 13:59:12 -07:00
Scott Shawcroft
168aa394db
Move pin struct to the peripherals library.
Its slimmed down by removing the qstr and bit packing TCC info.

The trinket m0 build actually grows by 20 bytes. The arduino zero
build shrinks by 188 bytes.
2018-08-02 13:59:05 -07:00
Scott Shawcroft
b50f46d4be
Rename to SRC_QSTR_PREPROCESSOR for clarity. 2018-08-02 11:07:22 -07:00
Scott Shawcroft
8cf03d2d00
Speed up QSTR creation by pre-filtering files before pre-processing. 2018-08-02 00:51:52 -07:00
hathach
0bc3432106 Merge branch 'master' into nrf52_sys_module 2018-08-01 11:53:12 +07:00
Dan Halbert
65bd07bb0b
Merge pull request #1074 from hathach/nrf52840_usb_hid
Nrf52840 usb hid
2018-08-01 00:47:50 -04:00
hathach
592c190069 PR review clean up 2018-08-01 11:31:32 +07:00
hathach
8640d37149 try to address sys module, compile ok 2018-08-01 10:19:20 +07:00
hathach
200669216e more clean up 2018-08-01 08:52:07 +07:00
hathach
bac233e99b clean up 2018-08-01 08:47:41 +07:00
hathach
533d8dda96 fix samd usb hid typo 2018-08-01 08:40:04 +07:00
hathach
6ddd8583da clean up 2018-08-01 08:20:20 +07:00
Scott Shawcroft
a88cdaca6a
Remove rogue execute bit. Must a common incorrect shortcut for me. :-) 2018-07-31 12:42:21 -07:00
hathach
1e524f1b98 Merge branch 'master' into nrf52840_usb_hid 2018-08-01 00:58:23 +07:00
hathach
85bd46a4e1 enable MICROPY_PY_ARRAY_SLICE_ASSIGN, MICROPY_PY_BUILTINS_SLICE_ATTRS 2018-07-31 23:09:39 +07:00
hathach
4bece22c92 add hid keyboard LED indicator stub 2018-07-31 23:02:15 +07:00
hathach
05139e2aee all hid devices seems to be ok 2018-07-31 22:54:26 +07:00
hathach
2c85f42330 add usb hid syscontrol 2018-07-31 21:57:00 +07:00
hathach
ef58adacd3 usb hid consumer control works 2018-07-31 21:19:02 +07:00
hathach
fd661c1d57 improve usb hid 2018-07-31 21:06:24 +07:00
Scott Shawcroft
b334289669
Reenable LTO for debug. 2018-07-31 05:18:23 -07:00
Scott Shawcroft
12cf5e51c2
Allow for resizing the stack area. 2018-07-31 05:18:23 -07:00
Scott Shawcroft
777542c716
Add basic memory allocation outside Python runtime
This allows for the heap to fill all space but the stack. It also
allows us to designate space for memory outside the runtime for
things such as USB descriptors, flash cache and main filename.

Fixes #754
2018-07-31 05:18:03 -07:00
hathach
27b2a9fe59 add usb_desc, disable tinyusb stack CFG_TUD_DESC_AUTO 2018-07-31 17:50:32 +07:00
hathach
d15caf0dbd hid keyboard and mouse work well 2018-07-31 16:42:04 +07:00
hathach
221d54a595 workaround to use lib/utils/interrupt_char.c 2018-07-31 14:28:34 +07:00
hathach
ae783b0b1a update tinyusb, set scsi sense key for unsupported commands 2018-07-31 13:54:58 +07:00
Scott Shawcroft
a6d94b6845
Merge pull request #1068 from dhalbert/micropython-25ae98f-merge
Micropython 25ae98f merge
2018-07-30 12:33:44 -07:00
Dan Halbert
fbe98ff9a9
Merge pull request #1071 from dhalbert/3.x-hallowing
add HalloWing
2018-07-29 20:24:47 -04:00
Dan Halbert
680597547c add HalloWing 2018-07-29 19:22:16 -04:00
Dan Halbert
bfbb5cde5a put back test in qemu-arm build 2018-07-28 23:40:17 -04:00
Dan Halbert
2e260a0eab Merge remote-tracking branch 'adafruit/master' into micropython-25ae98f-merge 2018-07-28 14:13:54 -04:00
Dan Halbert
f48b70050e merge finished 2018-07-28 13:29:47 -04:00
hathach
368d59796f adding usb_hid
compiled with undefined ref
2018-07-27 17:36:41 +07:00
hathach
21339c4155 house keeping 2018-07-27 17:22:21 +07:00
hathach
e86f7d0b88 add usb msc callback description 2018-07-27 00:17:14 +07:00
hathach
5bdf40901f update tusb lib 2018-07-26 17:16:41 +07:00
Dan Halbert
bc760dd341 WIP: complete manual inspection of all significant changes 2018-07-23 21:34:25 -04:00
hathach
bb28faf39c arturo182 review 2018-07-17 23:57:49 +07:00
hathach
a0b9871ba9 use seperate interrupt_char.c for nrf
move usb descriptors into usb.c
2018-07-17 21:52:20 +07:00
hathach
d4e84a9bd4 Merge branch 'master' into fix_nrf52840_serial 2018-07-17 21:27:16 +07:00
hathach
3525d65af3 should fix #1021
- update tinyusb for wanted char
- move usb code into usb.c
2018-07-17 21:24:49 +07:00
Dan Halbert
2809b4f9dd Merge branch 'master' into micropython-25ae98f-merge 2018-07-16 19:36:40 -04:00
Dan Halbert
a20ab40ed2 Merge 3.0.0 final bugfixes and changes to master 2018-07-16 09:01:46 -04:00
Dan Halbert
e2e01efa84 compiles and runs; hangs on import storage;storage.VfsFat.<tab> 2018-07-13 22:51:10 -04:00
Dan Halbert
bfe14ff824
Merge pull request #1014 from arturo182/nrf_shared_ble
nrf: Split the ble module into a shared part and the port implementation
2018-07-13 10:23:37 -04:00
Dan Halbert
414267388d
Merge pull request #1023 from arturo182/nrf_pyocd
nrf: Fix flashing with pyocd
2018-07-13 10:02:20 -04:00
arturo182
05c1384b67 nrf: Split the ble module into a shared part and the port implementation
This allows other ports to implement these shared bindings.
2018-07-13 16:01:15 +02:00
arturo182
883ca21321 nrf: Fix flashing with pyocd 2018-07-13 15:22:46 +02:00
arturo182
9729fc3d31 nrf: Fix BLE on nRF52840 after adding the USB functionality 2018-07-13 14:55:02 +02:00
Dan Halbert
7c219600a2 WIP: after merge; before testing 2018-07-11 16:45:30 -04:00
hathach
873e20273e fix travis build 2018-07-12 02:17:55 +07:00
hathach
f98c7f708e merge review 2018-07-12 01:37:23 +07:00
hathach
10846d316b Merge branch 'master' into nrf52840_usbboot 2018-07-11 21:35:44 +07:00
Dan Halbert
4962468fff
Merge pull request #1011 from arturo182/nrf_cleanup
nrf: More cleanup and porting
2018-07-10 15:44:30 -04:00
hathach
a53b1c7cf1 code format 2018-07-10 22:49:51 +07:00
arturo182
eab00ff140 nrf: Remove even more unused files 2018-07-10 14:59:22 +02:00
arturo182
2c63fb2a94 nrf: Remove the random hal and module
Thus getting rid of the whole old hal!
The module is not needed because the common-hal
nRF implementation uses HW RNG anyway.
2018-07-10 14:59:22 +02:00
arturo182
1163462635 nrf: Remove the old time hal and replace with nRFx 2018-07-10 14:59:10 +02:00
Scott Shawcroft
e875f4e52e
Merge pull request #1002 from arturo182/nrfx_gpio
nrf: Rewrite the DigitalInOut hal using nRFx
2018-07-09 17:54:38 -07:00
Dan Halbert
8bb363f7c4 must set pull after setting direction with gpio_set_pin routines 2018-07-09 17:18:06 -04:00
hathach
0e819599e7 Merge branch 'master' into nrf52840_usbboot 2018-07-10 02:02:52 +07:00
hathach
7715d19efe update bootloader hex 2018-07-10 01:20:37 +07:00
hathach
97a1ae911e add family option for uf2 2018-07-10 01:18:14 +07:00
hathach
f199e87085 add ARRAY_SIZE
which is missing when building with debug mode
2018-07-10 01:06:57 +07:00
hathach
c5089d7274 generate uf2 by default
update tusb
2018-07-10 01:02:33 +07:00
Dan Halbert
64b9ee9c74
Merge pull request #985 from tannewt/heap_tweaks3
A few heap related tweaks
2018-07-08 23:21:38 -04:00
Scott Shawcroft
a45659c59a
Merge pull request #1000 from arturo182/nrfx_uart
nrf: Rewrite the UART HAL using nRFx
2018-07-08 20:17:47 -07:00
Scott Shawcroft
133b99b6f2
Merge pull request #999 from arturo182/nrf_mphalport
nrf: mphalport cleanup
2018-07-08 20:13:21 -07:00
Scott Shawcroft
fd5634e4aa
Merge pull request #992 from arturo182/nrf_i2c_fix
nrf: Fix I2C transfers with data larger than HW allows
2018-07-08 20:12:09 -07:00
arturo182
388f554ff6 nrf: Rewrite the DigitalInOut hal using nRFx 2018-07-08 17:48:32 +02:00
arturo182
25ece8fb3d nrf: Rewrite the UART HAL using nrfx 2018-07-08 16:42:04 +02:00
arturo182
c6a2a55bc9 nrf: Cleanup mpconfigboard files
All the removed defines were used by legacy modules that are now
removed.
2018-07-08 15:18:11 +02:00
arturo182
887486582e nrf: Remove port-specific help
It contains mentions to the pyb module which was removed.
The ble-specific help will be re-added later when the API
is stabilized.
2018-07-08 15:18:11 +02:00
arturo182
1ea633c484 nrf: mphalport cleanup 2018-07-08 14:39:30 +02:00
arturo182
da27253693 nrf: Fix I2C transfers with data larger than HW allows 2018-07-06 21:12:24 +02:00
arturo182
ac74edb4e4 nrf: Fix SPI transfers with data larger than HW allows 2018-07-06 21:10:25 +02:00
hathach
baf68a936e remove hal_time files 2018-07-06 15:59:20 +07:00
hathach
3e319694aa mp_hal_delay_ms() to call background task
remove hal_time.c
2018-07-06 15:48:01 +07:00
hathach
948ddf8463 make SD default to s140 and s132 for nrf52840 and nrf52832
add CFG_HWUART_FOR_SERIAL for using jlink as REPL
2018-07-06 14:39:49 +07:00
hathach
6ef3a0b181 implement filesystem_writable_by_python() 2018-07-06 13:01:07 +07:00
Scott Shawcroft
54179a0189
Use .s in samd Makefile too. 2018-07-05 04:44:00 -07:00
hathach
0806c0a38b update fatfs cached sector when running write10 2018-07-05 17:43:38 +07:00
hathach
4e5d9a029d clean up 2018-07-05 17:26:07 +07:00
hathach
0365912e28 implement msc with internal_flash api
Note: only work with SD is disabled.
2018-07-05 16:19:04 +07:00
hathach
3564e98181 implement msc flash, seems to work 2018-07-05 15:22:23 +07:00
hathach
1745e20391 replace jlink with native usb cdc for serial REPL 2018-07-05 11:30:12 +07:00
hathach
be2ff20e42 enable usb cdc interface
not handle anything yet.
2018-07-04 17:15:49 +07:00
hathach
7fff7f5e70 add usb msc support for nrf52840 2018-07-04 16:40:53 +07:00
Scott Shawcroft
8fb976f0bd
Split out assembly source files. 2018-07-03 07:25:54 -07:00
mrmcwethy
d9723bb613
include RTC fix for SAMd51 in circuitpython build 2018-07-03 06:52:05 -07:00
Scott Shawcroft
074c5ea144
Merge pull request #977 from dhalbert/update_crickit_libs-2
update crickit-related libs
2018-07-03 12:04:05 -07:00
Dan Halbert
bf9981e8db bring all frozen libraries up to date 2018-07-03 14:39:21 -04:00
Scott Shawcroft
dbc977485c
Support gathering register values on nrf. 2018-07-03 06:31:07 -07:00
Scott Shawcroft
ec78d3cefd
Mark pointers in cpu registers as in use.
This prevents bugs where gc_collect is called from C code that did
a recent allocation.
2018-07-03 05:45:50 -07:00
hathach
46c453cf0a add tinyusb as submodule 2018-07-03 17:46:08 +07:00
hathach
b14b28067e Merge branch 'master' into nrf52840_usbboot 2018-07-03 17:29:28 +07:00
Scott Shawcroft
bf00cde37d
Comment tweak after board change 2018-07-02 14:51:06 -07:00
Scott Shawcroft
b91202969a
Merge pull request #982 from arturo182/nrf_makefile
nrf: Save some flash bytes by using extra compile flags
2018-07-02 14:33:47 -07:00
Scott Shawcroft
05a088b369
Merge pull request #972 from arturo182/nrf_i2c
nrf: Rewrite the I2C common-hal using nrfx
2018-07-02 14:33:06 -07:00
arturo182
da491ec961 nrf: Save some flash bytes by using extra compile flags
Both of these are used in the atsamd port as well.
2018-07-02 22:00:04 +02:00
Dan Halbert
7c9a0e2996 remove unnecessary extern in nrf/mphalport.c 2018-06-29 16:06:51 -04:00
Dan Halbert
7028a399c2 remove previously added esp8266/mphalport.{c,h} 2018-06-29 16:04:18 -04:00
Dan Halbert
2a0b857643 implement mp_hal_delay_us() to not need interrupts, and use it 2018-06-29 16:01:46 -04:00
mrmcwethy
df4469f92b Test the BOARD parameter for nullness; display a error if nothing provided 2018-06-29 12:22:31 -07:00
mrmcwethy
d392f01f2c include RTC fix for SAMd51 in circuitpython build 2018-06-29 05:45:38 -07:00
Dan Halbert
b4fd77bb7c fix nrf and esp8266 builds for OneWire fix 2018-06-29 00:00:05 -04:00
Dan Halbert
52a11547cb fix OneWire timing and DigitalInOut.switch_to_input() 2018-06-28 23:32:20 -04:00
Scott Shawcroft
429168d4ac
Merge pull request #970 from arturo182/nrf_softdev
nrf: Remove unsupported softdevice defines
2018-06-28 14:01:19 -07:00
Scott Shawcroft
007155276a
Merge pull request #969 from arturo182/nrf_more_commonhal
nrf: Rewrite more common-hal with nrfx and sync with atsamd port
2018-06-28 14:00:45 -07:00
Scott Shawcroft
039b4dc00a
Merge pull request #968 from arturo182/nrf_qstr
nrf: Remove old qstr defines
2018-06-28 13:57:46 -07:00
Scott Shawcroft
ae82a93b56
Merge pull request #967 from arturo182/nrf_os
nrf: Rewrite the os common-hal using nrfx
2018-06-28 13:55:34 -07:00
arturo182
178c089045 nrf: Rewrite the I2C common-hal using nrfx 2018-06-28 22:45:02 +02:00
arturo182
6e6a500801 nrf: Rewrite the os common-hal using nrfx 2018-06-27 21:01:07 +02:00
arturo182
af5cb9c492 nrf: Remove unneeded hal files 2018-06-27 21:00:34 +02:00
arturo182
b87bba8a28 nrf: Rewrite more common-hal with nrfx and sync with atsamd port 2018-06-27 20:55:29 +02:00
arturo182
1fa8fac5d7 nrf: Remove old qstr defines
These were used by the microbit music module, which was removed.
2018-06-27 20:52:13 +02:00
arturo182
b9f02ca3c5 nrf: Remove unsupported softdevice defines 2018-06-27 20:48:57 +02:00
arturo182
2a12fcd18b nrf: Rewrite the AnalogIn common-hal using nrfx 2018-06-27 20:41:30 +02:00
hathach
c4f11dfd32 flash target update bootloader setting to skip crc checksum 2018-06-27 15:22:44 +07:00
hathach
8fbe1d73e9 clean up makefile 2018-06-27 15:13:20 +07:00
hathach
4920cc47ca move dfu-gen dfu-flash dfu-bootloader bootloader uf2 target to common Makefile since several board use it 2018-06-27 14:31:08 +07:00
hathach
bed7310fd7 update bin files 2018-06-27 14:13:18 +07:00
hathach
ecd3993d43 update pin map for feather52840 2018-06-27 14:06:15 +07:00
Dan Halbert
1f3de5174e Freeze Adafruit_CircuitPython_Crickit into crickit builds 2018-06-26 19:49:55 -04:00
Scott Shawcroft
91427b0b23
Merge pull request #959 from arturo182/nrf_spim
nrf: Rewrite the SPI common-hal using nrfx
2018-06-26 11:00:12 -07:00
Scott Shawcroft
d7d132d5a3
Merge pull request #960 from arturo182/nrf_stm_cleanup
nrf: Remove leftovers from stm32 code copy
2018-06-26 10:52:04 -07:00
arturo182
16973d0559 nrf: Remove unused hal files
Makes it easier to keep track of what's left to rewrite.
2018-06-26 00:13:41 +02:00
arturo182
2f1e678d60 nrf: Rewrite the SPI common-hal using nrfx
Use SPIM2 on nRF52832 and SPIM3 on nRF52840. SPIM3 is able to go
up to 32MHz!
2018-06-25 23:46:34 +02:00
arturo182
b14d13e318 nrf: Remove leftovers from stm32 code copy 2018-06-25 23:38:10 +02:00
hathach
8d065fe0e6 update reamde 2018-06-26 00:16:58 +07:00
hathach
54547683f9 add uf2, bootloader target 2018-06-25 23:31:14 +07:00
hathach
4722371be9 update bootloader hex with uf2 2018-06-25 23:27:00 +07:00
hathach
f5be5ed6ee Merge branch 'master' into nrf52840_usbboot 2018-06-25 17:12:24 +07:00
arturo182
596a1d8843 nrf: Rename feather52 to feather52832 in readme files 2018-06-22 10:04:39 +02:00
Damien George
a2ac7e4fc9 stm32/boards: Add .ld and af.csv files for STM32F722.
These files can also be used for F723, F732 and F733 MCUs.
2018-06-22 15:39:10 +10:00
Damien George
ec7982ec6d stm32/mboot: Add support for erase/read/write of external SPI flash.
This patch adds support to mboot for programming external SPI flash.  It
allows SPI flash to be programmed via a USB DFU utility in the same way
that internal MCU flash is programmed.
2018-06-22 15:30:34 +10:00
Damien George
7f41f73f0f stm32/qspi: Don't require data reads and writes to be a multiple of 4.
Prior to this patch the QSPI driver assumed that the length of all data
reads and writes was a multiple of 4.  This patch allows any length.  Reads
are optimised for speed by using 32-bit transfers when possible, but writes
always use a byte transfer because they only use a single data IO line and
are relatively slow.
2018-06-22 15:07:01 +10:00
jerryneedell
de4cd1ee73 add pins D3/D4 to pins.c
fixes  #948
2018-06-20 22:26:59 -04:00
arturo182
25e71a56d4 nrf: Update the PCA10056 example to use new pin naming 2018-06-20 23:39:36 +02:00
arturo182
deec17e4fe nrf: Remove really old examples
These examples rely on machine and pyb modules, so they have to get.
Leaving 3 BLE examples that also rely on those modules, but can be
fixed to use CP's modules.
2018-06-20 23:38:18 +02:00
arturo182
9c08db55ff nrf: Cleanup machine and microbit leftovers
The music module was useful when this port had support for the
microbit, now that it was removed, it's not so useful.
2018-06-20 23:30:34 +02:00
arturo182
c2d4d0a10b nrf: Simplify pin generation and definition
This commit cleans up the pin generation code, all the pins and their
AF (only ADC, for now) are specified in nrf52_af.csv and board use their
own csv file to specify which pins are available on that board and if
they have any special names.
2018-06-20 23:26:32 +02:00
arturo182
ff918556cd nrf: Simplify the board makefiles
With the only difference between a SD and non-SD build is the linker
file, there's no need to have two separate .mk per board files,
just use a conditional.
2018-06-20 21:21:45 +02:00
arturo182
5509f394dc nrf: Add a nrfx submodule and prepare for using the new drivers 2018-06-20 20:43:59 +02:00
arturo182
7cd34f2a94 nrf: Cleanup Makefile after nrf51 removal 2018-06-20 18:21:18 +02:00
arturo182
97f10241f9 nrf: Fix default board after feather52 rename 2018-06-20 18:21:18 +02:00
arturo182
b47a67d566 nrf: Remove machine, pyb and utime modules
Micropython legacy, keeping it consistent with atsam port.
2018-06-20 18:21:18 +02:00
jerryneedell
80d16cb7df
add pins D3/D4 to pins.c
fixes  #948
2018-06-19 22:34:29 -04:00
Damien George
561ae9a91b stm32/boards/NUCLEO_F091RC: Fix TICK_INT_PRIORITY so it is highest prio.
Fixes issue #3880.
2018-06-20 12:24:18 +10:00
Damien George
5962c210c5 stm32/mboot: Define constants for reset mode cycling and timeout.
And fix timeout value so that it does actually finish with reset_mode=1.
2018-06-19 23:23:17 +10:00
hathach
61437106e7 update bootloader for feather nrf52840 2018-06-19 15:27:07 +07:00
hathach
6d2702ed98 Merge branch 'master' into nrf52840_usbboot 2018-06-19 14:50:17 +07:00
Scott Shawcroft
4e7eee3553
Merge pull request #946 from arturo182/nrf_sd6
nrf: Use the production version of s140 6.0.0
2018-06-18 16:29:41 -07:00
arturo182
feee808955 nrf: Use the production version of s140 6.0.0 2018-06-18 23:12:28 +02:00
Scott Shawcroft
05547b72ac Switch to Feather52s full name to avoid confusion with the nrf52840 later.
Fixes #940
2018-06-18 10:51:04 -07:00
Damien George
e49cd106b4 stm32/spi: Fix SPI driver so it can send/recv more than 65535 bytes.
The DMA peripheral is limited to transferring 65535 elements at a time so
in order to send more than that the SPI driver must split the transfers up.

The user must be aware of this limit if they are relying on precise timing
of the entire SPI transfer, because there might be a small delay between
the split transfers.

Fixes issue #3851, and thanks to @kwagyeman for the original fix.
2018-06-18 17:41:14 +10:00
Damien George
338af99a7f stm32/can: Use MP_OBJ_ARRAY_TYPECODE_FLAG_RW where appropriate. 2018-06-18 13:42:05 +10:00
rolandvs
ca2b1d6b36 stm32/boards/NUCLEO_F091RC: Add Arduino-named pins and rename CPU pins.
To match pin labels on other NUCLEO 64 boards.
2018-06-18 13:06:27 +10:00
rolandvs
0d3de68669 stm32/boards/stm32f091_af.csv: Split labels that are multiple funcs. 2018-06-18 13:05:24 +10:00
Damien George
a5f5552a0a tests/unix/extra_coverage: Don't test stream objs with NULL write fun.
This behaviour of a NULL write C method on a stream that uses the write
adaptor objects is no longer supported.  It was only ever used by the
coverage build for testing the fail path of mp_get_stream_raise().
2018-06-18 12:35:56 +10:00
Damien George
ceff433fcc stm32/mboot: Adjust user-reset-mode timeout so it ends with mode=1.
If the user button is held down indefinitely (eg unintenionally, or because
the GPIO signal of the user button is connected to some external device)
then it makes sense to end the reset mode cycle with the default mode of
1, which executes code as normal.
2018-06-18 12:23:27 +10:00
Dan Halbert
be5eb91df8
Merge pull request #938 from sommersoft/esp_busio_fix
ESP8266: Fix pin locking during busio.SPI.configure
2018-06-16 11:49:20 -04:00
Scott Shawcroft
a5e03b76a6 Split out the peripherals library in preparation of sharing with MakeCode. 2018-06-15 16:16:21 -07:00
Limor "Ladyada" Fried
9fc0ec6af8
Merge pull request #934 from microbuilder/usbboot
[WIP] nRF52840 USB Bootloader
2018-06-15 09:35:30 -07:00
Damien George
34b2f6b6fc esp32/modules: Include umqtt library in frozen modules. 2018-06-15 16:39:49 +10:00
Damien George
d61d119c94 esp32: Update to latest ESP IDF. 2018-06-15 16:23:53 +10:00
sommersoft
23b6d33455 fixes #642; spi_init_gpio() is now bypassed for both construct and configure 2018-06-15 05:03:52 +00:00
Damien George
7be4a23c0c stm32/i2cslave: Fix ordering of event callbacks in slave IRQ handler.
It's possible (at least on F4 MCU's) to have RXNE and STOPF set at the same
time during a call to the slave IRQ handler.  In such cases RXNE should be
handled before STOPF so that all bytes are processed before
i2c_slave_process_rx_end() is called.
2018-06-15 14:15:31 +10:00
Damien George
bc5e8a2cb6 stm32/i2c: Fix num_acks calculation in i2c_write for F0 and F7 MCU's.
Due to buffering of outgoing bytes on the I2C bus, detection of a NACK
using the ISR_NACKF flag needs to account for the case where ISR_NACKF
corresponds to the previous-to-previous byte.
2018-06-15 14:10:53 +10:00
Dan Halbert
fa814a32ce Make Trinket M0 build fit; make RAMFS in vfs_fat_* tests be compliant with expected API 2018-06-14 21:02:12 -04:00
Damien George
37a7257aff stm32/timer: Support TIM1 on F0 MCUs. 2018-06-15 10:50:08 +10:00
Dan Halbert
e724bc1c4e Fix playing audio from SD card 2018-06-14 18:47:40 -04:00
Damien George
cc5a94044a drivers/memory/spiflash: Rename functions to indicate they use cache.
This patch renames the existing SPI flash API functions to reflect the fact
that the go through the cache:

    mp_spiflash_flush -> mp_spiflash_cache_flush
    mp_spiflash_read  -> mp_spiflash_cached_read
    mp_spiflash_write -> mp_spiflash_cached_write
2018-06-14 16:52:56 +10:00
Damien George
335d26b27d stm32/boards/STM32L476DISC: Update SPI flash config for cache change. 2018-06-14 16:52:56 +10:00
hathach
35d38dbfed update nrf52840 bootloader hex 2018-06-13 17:27:55 +07:00
Damien George
cf1509c911 esp32/fatfs_port: Implement get_fattime so FAT files have a timestamp.
Fixes issue #3859.
2018-06-13 14:13:34 +10:00
Scott Shawcroft
618943d90a
Merge pull request #926 from nickzoic/circuitpython-nickzoic-716-pulseio-esp8266
Implement pulseio.PulseIn and PulseOut for ESP8266 #716
2018-06-12 18:33:16 -07:00
Scott Shawcroft
ee817a2fa8 Correct UART reads to return error on timeout.
This causes read to correctly return None instead of b''.

Fixes #874
2018-06-12 14:03:27 -07:00
Dan Halbert
4691b30c02 PDMIn: turn serializer on when starting DMA 2018-06-12 12:35:51 -04:00
Damien George
5042d98514 stm32/Makefile: Rebuild all qstrs when any board configuration changes. 2018-06-12 13:53:43 +10:00
Damien George
0501427907 esp32: Remove port-specific uhashlib implementation and use common one.
Now that the common module has mbedtls support for both SHA1 and SHA256 it
can now be used on this port.
2018-06-12 13:50:11 +10:00
Damien George
565f590586 ports: Enable IOBase on unix, stm32, esp8266 and esp32.
It's a core feature, in particular required for user-streams with uasyncio.
2018-06-12 12:29:26 +10:00
Damien George
b2fa1b50ed ports: Call gc_sweep_all() when doing a soft reset.
This calls finalisers of things like files and sockets to cleanly close
them.
2018-06-12 11:56:25 +10:00
Scott Shawcroft
73dadb0669 Update to the latest ASF4 which includes an I2C timeout extension while waiting for clock stretching.
Fixes #778
2018-06-11 18:37:48 -07:00
Dan Halbert
068ffd04a6
Merge pull request #919 from adafruit/jerryneedell-patch-2
fix #918
2018-06-10 09:17:49 -04:00
Nick Moore
f72dcc64e6 Fixes #918 (PulseIn.get_paused) ... 2018-06-10 22:37:15 +10:00
Nick Moore
b25cbd340b Merge commit '2129bbe160278f7cd2cece939f81900a41f8aa86' into circuitpython-nickzoic-716-pulseio-esp8266 2018-06-10 22:08:58 +10:00
Nick Moore
972b03850f Merge branch 'master' into circuitpython-nickzoic-716-pulseio-esp8266 2018-06-10 22:01:35 +10:00
jerryneedell
8150150a24
return "false" for stub call
See #918 for discussion
2018-06-10 07:11:44 -04:00
jerryneedell
2129bbe160
Update PulseIn.c 2018-06-10 07:08:56 -04:00
jerryneedell
5724fd795a
fix #918
Add stub for common_hal_pulseio_pulsein_get_paused  to make ESP8266 build compatible with PR #901
2018-06-10 05:59:20 -04:00
Dan Halbert
b2d98edb4e
Merge pull request #901 from tannewt/pulseio_too_fast
Prevent freezing USB during high frequency PulseIn.
2018-06-08 17:59:06 -04:00
Scott Shawcroft
8fb34a5846 Use bool not int. 2018-06-08 14:57:20 -07:00
Scott Shawcroft
8195df1b55 Stub out get_paused in nrf builds. 2018-06-08 14:01:54 -07:00
Scott Shawcroft
66b79723b6 Add code size analysis tool and shrink samd.clock a smidge. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
769788d3c7 Turn off USB pin objects since they are always used for USB. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
383bf9a59e Wait for the DFLL to be stable. 2018-06-08 12:56:32 -07:00
Scott Shawcroft
07a8899c72 Support M4 2018-06-08 12:56:32 -07:00
Scott Shawcroft
2fbab8067a Prevent freezing USB during high frequency PulseIn.
We now track the last time the background task ran and bail on the
PulseIn if it starves the background work. In practice, this
happens after the numbers from pulsein are no longer accurate.

This also adjusts interrupt priorities so most are the lowest level
except for the tick and USB interrupts.

Fixes #516 and #876
2018-06-08 12:56:32 -07:00
Dan Halbert
218930d18b Check for PDMIn DMA getting stuck. 2018-06-08 08:23:52 -04:00
hathach
418e28c7dc update nrf52840 bootloader hex and target 2018-06-08 16:10:49 +07:00
hathach
2b3436e87c add feather nrf52 uart rts, cts support 2018-06-08 15:59:38 +07:00
hathach
c10899d13f allow to flash feather52 and feather52840 with jlink
add crc bypass magic to bootloader settting
2018-06-08 15:11:17 +07:00
Nick Moore
6af1fbacc9 Work on pulseio.PulseOut for #716 ESP8266
Switch to ets_delay_us but the PWM is still way too slow to be useful.
2018-06-08 16:41:42 +10:00
Nick Moore
011edf2472 Clean up interrupt handling for pulseio.PulseIn implementation for #716 ESP8266 2018-06-08 15:31:16 +10:00
Damien George
24c416cc66 stm32/mboot: Increase USB rx_buf and DFU buf sizes to full 2048 bytes.
The DFU USB config descriptor returns 0x0800=2048 for the supported
transfer size, and this applies to both TX (IN) and RX (OUT).  So increase
the rx_buf to support this size without having a buffer overflow on
received data.

With this patch mboot in USB DFU mode now works with dfu-util.
2018-06-08 15:29:52 +10:00
Nick Moore
c4cf1c5221 Initial pulseio.PulseOut implementation for #716 ESP8266 2018-06-08 15:28:05 +10:00
Nick Moore
7adc69baf9 Initial pulseio.PulseIn implmentation for #716 ESP8266 2018-06-08 15:27:59 +10:00
Glenn Moloney
039f196c56 esp32/modnetwork: Fix isconnected() when using static IP config.
Currently <WLAN>.isconnected() always returns True if a static IP is set,
regardless of the state of the connection.

This patch introduces a new flag 'wifi_sta_connected' which is set in
event_handler() when GOT_IP event is received and reset when DISCONNECTED
event is received (unless re-connect is successful).  isconnected() now
simply returns the status of this flag (for STA_IF).

The pre-existing flag misleadingly named 'wifi_sta_connected" is also
renamed to 'wifi_sta_connect_requested'.

Fixes issue #3837
2018-06-08 13:13:21 +10:00
Damien George
190c7dba89 stm32/mpconfigport.h: Enable DELATTR_SETATTR and BUILTINS_NOTIMPLEMENTED
MICROPY_PY_DELATTR_SETATTR can now be enabled without a performance hit for
classes that don't use this feature.

MICROPY_PY_BUILTINS_NOTIMPLEMENTED is a minor addition that improves
compatibility with CPython.
2018-06-08 12:55:18 +10:00
Damien George
93150a0d40 ports: Enable descriptors on stm32, esp8266, esp32 ports.
They are now efficient (in runtime performance) and provide a useful
feature that's hard to obtain without them enabled.

See issue #3644 and PR #3826 for background.
2018-06-08 12:23:08 +10:00
Kattni Rembor
ba7e0e2f86 Add Adafruit to other M4 board name strings 2018-06-07 13:39:04 -04:00
Kattni Rembor
7b2875d54a Add Adafruit to board name string 2018-06-07 13:33:13 -04:00
Kattni Rembor
0ab2a60dcd Update ItsyBitsy board name to one word 2018-06-07 13:12:44 -04:00
hathach
c854e2dc17 Merge branch 'master' into usbboot 2018-06-07 13:51:21 +07:00
hathach
9bb4ded5fa Merge remote-tracking branch 'upstream/master' 2018-06-07 13:50:04 +07:00
Damien George
fadd6bbe43 unix/moduos_vfs: Add missing uos functions from traditional uos module.
Now that the coverage build has fully switched to the VFS sub-system these
functions were no longer available, so add them to the uos_vfs module.

Also, vfs_open is no longer needed, it's available as the built-in open.
2018-06-06 14:28:23 +10:00
Damien George
1d40f12e44 unix: Support MICROPY_VFS_POSIX and enable it in coverage build.
The unix coverage build is now switched fully to the VFS implementation, ie
the uos module is the uos_vfs module.  For example, one can now sandbox uPy
to their home directory via:

    $ ./micropython_coverage

    >>> import uos
    >>> uos.umount('/') # unmount existing root VFS
    >>> vfs = uos.VfsPosix('/home/user') # create new POSIX VFS
    >>> uos.mount(vfs, '/') # mount new POSIX VFS at root

Some filesystem/OS features may no longer work with the coverage build due
to this change, and these need to be gradually fixed.

The standard unix port remains unchanged, it still uses the traditional uos
module which directly accesses the underlying host filesystem.
2018-06-06 14:28:23 +10:00
Damien George
f35aae366c extmod/vfs_fat: Rename FileIO/TextIO types to mp_type_vfs_fat_XXX.
So they don't clash with other VFS implementations.
2018-06-06 14:28:23 +10:00
Dan Halbert
9ba6990228 Feather M0 Express build with Crickit libraries 2018-06-05 18:21:47 -04:00
Dan Halbert
74ced174ce
Merge pull request #898 from dhalbert/feather_m4_d4
add PA14 as D4 to Feather M4 Express
2018-06-05 11:41:31 -04:00
Dan Halbert
7e7e33e460 add PA14 as D4 to Feather M4 Exprses 2018-06-05 08:15:34 -04:00
Damien George
aace60a75e esp8266/modules/ntptime.py: Remove print of newly-set time.
It should be up to the user if they want to print the new time out or not.

Fixes issue #3766.
2018-06-05 14:30:35 +10:00
Damien George
a90124a9e2 esp32: Add support for building with external SPI RAM.
This patch adds support for building the firmware with external SPI RAM
enabled.  It is disabled by default because it adds overhead (due to
silicon workarounds) and reduces performance (because it's slower to have
bytecode and objects stored in external RAM).

To enable it, either use "make CONFIG_SPIRAM_SUPPORT=1", or add this line
to you custom makefile/GNUmakefile (before "include Makefile"):

    CONFIG_SPIRAM_SUPPORT = 1

When this option is enabled the MicroPython heap is automatically allocated
in external SPI RAM.

Thanks to Angus Gratton for help with the compiler and linker settings.
2018-06-05 13:57:59 +10:00
Angus Gratton
bc92206f89 esp32/Makefile: Extract common C & C++ flags for consistent compilation. 2018-06-05 13:05:12 +10:00
Scott Shawcroft
0c7c0821fc
Merge pull request #891 from godlygeek/low_flash_errno_fixes
Human readable OSError messages for low flash devices
2018-06-04 17:22:57 -07:00
Damien George
df13ecde06 cc3200/mods: Include stream.h to get definition of mp_stream_p_t. 2018-06-04 16:58:45 +10:00
Damien George
309fe39dbb stm32/modnetwork: Fix arg indexing in generic ifconfig method. 2018-06-03 21:50:49 +10:00
Matt Wozniski
d0e6bb269f Use the system errno's on nrf 2018-06-02 12:55:07 -04:00
Scott Shawcroft
e580d22f4a Use the external crystal on SAMD21 again.
Also, re-enable calibration storage for CircuitPlayground Express.
Tested with a 500hz PWMOut on Metro M0 with Saleae:
 * with crystal 500hz
 * with usb 500hz +- 0.1hz
 * without either 487hz += 0.1hz

SAMD51 is skipped due to DFLL errata and the fact it defaults to a
factory calibrated 48mhz that works fine for USB.

Fixes #648
2018-06-01 18:01:42 -07:00
Matt Wozniski
22f4438787 Prune atmel-samd errno list
Remove errnos that are only raised by modules that aren't linked into
the atmel-samd port.
2018-06-01 19:04:14 -04:00
Matt Wozniski
e798b67ca2 Begin a custom list of errnos for atmel-samd
The uerrno module was written to allow boards to customize the list of
errnos they can raise.  Start by copying the default list.
2018-06-01 19:04:04 -04:00
Scott Shawcroft
717199018b Adapt for feedback and hack around pIRkey size constraint. 2018-06-01 15:08:52 -07:00
Dan Halbert
f386144428 redo state algorithm 2018-06-01 15:08:52 -07:00
Scott Shawcroft
9920f0a5de atmel-samd: Make ticks more atomic.
Always use current_tick when sub millisecond precision is required.
Otherwise getting the ms/us to correspond is tricky.
2018-06-01 15:08:52 -07:00
Scott Shawcroft
d0fb6e7a2f atmel-samd: Add rotary encoder support.
Fixes #283
2018-06-01 15:08:48 -07:00
Scott Shawcroft
fd71e56891 atmel-samd: Re-org helper peripheral files into their own subdirectory.
Ideally in the future they won't depend on ASF4 or MicroPython.
2018-06-01 15:07:31 -07:00
Dan Halbert
ae31c4ac18
Merge pull request #889 from tannewt/audioio_timers_in_use
Turn off timer on AudioOut deinit.
2018-06-01 18:03:29 -04:00
Dan Halbert
ea95eb730a
Merge pull request #890 from tannewt/brownout3
Support brownout to safe mode. Fixes #870
2018-06-01 18:02:13 -04:00
Scott Shawcroft
f38ce1060c Support brownout to safe mode. Fixes #870 2018-06-01 13:45:28 -07:00
Scott Shawcroft
bf1f0b3d11 Turn off timer on AudioOut deinit.
Thanks to @sommersoft for spotting the error.

Fixes #850
2018-06-01 13:32:45 -07:00
Noralf Trønnes
e158702a68 atmel-samd/samd51: Use crystal for RTC
This uses the crystal to clock the RTC on boards which have a crystal.

Disable clock generator 2 which was enabled in commit
8e2080411f ("atmel-samd: Add rtc module support").
samd51 differs from samd21 when it comes to the RTC clock. samd51 doesn't
have an explicit clock peripheral so no need for a clock generator.

The same commit didn't even setup XOSC32K correctly, it missed EN1K and XTALEN.

The RTC uses the 1k clock output, so enable it on the OSCULP32K even if it works without it.
2018-06-01 18:03:23 +02:00
Noralf Trønnes
ab7ddfddd5 atmel-samd/samd51: Refactor clock setup
Refactor the convoluted asf4 clock setup into something more readable.

enable_clock_generator() has 2 changes:
- Set 'Output enabled' to match the current clock setup
- Handle divisors above 511

Add an enable_clock_generator_sync() version which makes it possible to setup
clocks without waiting for syncing. The bootup would hang without this.

I have checked these registers:

 NVMCTRL->CTRLA = 0x00000004

 Peripheral clocks (only non-zero shown):
 PCHCTRL[1]=0x00000045
 PCHCTRL[10]=0x00000041

 Generator clocks (only non-zero shown):
 GENCTRL[0] = 0x00010907
 GENCTRL[1] = 0x00010906
-GENCTRL[2] = 0x00041104
+GENCTRL[2] = 0x00200904
 GENCTRL[4] = 0x00010907
 GENCTRL[5] = 0x00180906

 DFLL clock:
 OSCCTRL->DFLLCTRLA = 0x00000082
 OSCCTRL->DFLLCTRLB = 0x00000000
 OSCCTRL->DFLLVAL = 0x00008082
 OSCCTRL->DFLLMUL = 0x00000000

 DPLL clocks:
 OSCCTRL->Dpll[0].DPLLCTRLA=0x00000002
 OSCCTRL->Dpll[0].DPLLCTRLB=0x00000000
 OSCCTRL->Dpll[0].DPLLRATIO=0x0000003b
 OSCCTRL->Dpll[1].DPLLCTRLA=0x00000080
 OSCCTRL->Dpll[1].DPLLCTRLB=0x00000020
 OSCCTRL->Dpll[1].DPLLRATIO=0x00000000

 OSC32KCTRL clock:
 OSC32KCTRL->RTCCTRL = 0x00000000
 OSC32KCTRL->XOSC32K = 0x00002082
 OSC32KCTRL->CFDCTRL = 0x00000000
 OSC32KCTRL->EVCTRL = 0x00000000
 OSC32KCTRL->OSCULP32K = 0x00002300

Only gen2 changed which is due to samd51 having more bits in the simple
division register so DIVSEL wasn't necessary, and it didn't have OE set.
2018-06-01 18:02:35 +02:00
Noralf Trønnes
5c6aea9fd8 atmel-samd/samd51: Implement samd.clock
Fill out the dummy implementation.
2018-06-01 18:01:08 +02:00
Damien George
7d86ac6c01 stm32: Add network driver for Wiznet5k using MACRAW mode and lwIP.
The Wiznet5k series of chips support a MACRAW mode which allows the host to
send and receive Ethernet frames directly.  This can be hooked into the
lwIP stack to provide a full "socket" implementation using this Wiznet
Ethernet device.  This patch adds support for this feature.

To enable the feature one must add the following to mpconfigboard.mk, or
mpconfigport.mk:

    MICROPY_PY_WIZNET5K = 5500

and the following to mpconfigboard.h, or mpconfigport.h:

    #define MICROPY_PY_LWIP (1)

After wiring up the module (X5=CS, X4=RST), usage on a pyboard is:

    import time, network
    nic = network.WIZNET5K(pyb.SPI(1), pyb.Pin.board.X5, pyb.Pin.board.X4)
    nic.active(1)
    while not nic.isconnected():
        time.sleep_ms(50) # needed to poll the NIC
    print(nic.ifconfig())

Then use the socket module as usual.

Compared to using the built-in TCP/IP stack on the Wiznet module, some
performance is lost in MACRAW mode: with a lot of memory allocated to lwIP
buffers, lwIP gives Around 750,000 bytes/sec max TCP download, compared
with 1M/sec when using the TCP/IP stack on the Wiznet module.
2018-06-01 14:21:38 +10:00
Damien George
d9f1ecece2 stm32/modnetwork: Provide generic implementation of ifconfig method.
All it needs is a lwIP netif to function.
2018-06-01 13:33:14 +10:00
Damien George
7437215ad7 stm32/modnetwork: Change base entry of NIC object from type to base.
mod_network_nic_type_t doesn't need to be an actual uPy type, it just needs
to be an object.
2018-06-01 13:31:28 +10:00
Damien George
6d87aa54d6 stm32/modnetwork: Don't take netif's down when network is deinited.
It should be up to the NIC itself to decide if the network interface is
removed upon soft reset.  Some NICs can keep the interface up over a soft
reset, which improves usability of the network.
2018-06-01 13:27:06 +10:00
Radomir Dopieralski
d02899f822 Add gamepad_singleto to root pointers for the nrf port 2018-05-30 23:11:23 +02:00
Radomir Dopieralski
b219ce6d37 Add gamepad_singleton to root pointers 2018-05-30 23:11:22 +02:00
Dan Halbert
eab8e43188 rev E feather M4 express; remove named AREF pins 2018-05-29 20:25:28 -04:00
Damien George
a1acbad27a stm32/flash: Increase H7 flash size to full 2MiB. 2018-05-30 09:54:51 +10:00
rolandvs
958fa74521 stm32/boards: Ensure USB OTG power is off for NUCLEO_F767ZI.
And update the GPIO init for NUCLEO_H743ZI to consistently use the mphal
functions.
2018-05-30 09:51:19 +10:00
rolandvs
50bc34d4a4 stm32/boards: Split combined alt-func labels and fix some other errors.
Pins with multiple alt-funcs for the same peripheral (eg USART_CTS_NSS)
need to be split into individual alt-funcs for make-pins.py to work
correctly.

This patch changes the following:
- Split `..._CTS_NSS` into `..._CTS/..._NSS`
- Split `..._RTS_DE` into `..._RTS/..._DE`
- Split `JTDO_SWO` into `JTDO/TRACESWO` for consistency
- Fixed `TRACECK` to `TRACECLK` for consistency
2018-05-29 21:37:49 +10:00
Damien George
98d1609358 stm32/README: Update to include STM32F0 in list of supported MCUs. 2018-05-28 22:04:08 +10:00
Damien George
e681372017 stm32/boards: Add NUCLEO_F091RC board configuration files. 2018-05-28 21:49:49 +10:00
Damien George
1163400039 stm32/boards: Add alt-func CSV list and linker script for STM32F091. 2018-05-28 21:49:49 +10:00
Damien George
ea7e747979 stm32: Add support for STM32F0 MCUs. 2018-05-28 21:49:49 +10:00
Damien George
4a7d157a5b stm32/boards: Add startup_stm32f0.s for STM32F0 MCUs.
Sourced from STM32Cube_FW_F0_V1.9.0.
2018-05-28 21:49:49 +10:00
Damien George
6d83468a30 stm32: Allow a board to disable MICROPY_VFS_FAT. 2018-05-28 21:46:20 +10:00
Damien George
5c0685912f stm32/timer: Make timer_get_source_freq more efficient by using regs.
Use direct register access to get the APB clock divider.  This reduces code
size and makes the code more efficient.
2018-05-28 21:46:20 +10:00
Damien George
070937fe93 stm32: Add support for Cortex-M0 CPUs. 2018-05-28 21:46:20 +10:00
Damien George
f497723802 stm32: Allow to have no storage support if there are no block devices.
If no block devices are defined by a board then storage support will be
disabled.  This means there is no filesystem provided by either the
internal flash or external SPI flash.  But the VFS system can still be
enabled and filesystems provided on external devices like an SD card.
2018-05-28 21:45:46 +10:00
Damien George
aa4a7a8732 stm32/usb: Guard USB device code with #if for whether USB is enabled.
With this change, all the USB source code can now be passed through the
compiler even if the MCU does not have a USB peripheral.
2018-05-28 21:45:46 +10:00
Nick Moore
ef4c8e6e97 esp32: Silence ESP-IDF log messages when in raw REPL mode.
This prevents clients such as ampy, mpy-utils, etc getting confused by
extraneous data.
2018-05-28 20:15:08 +10:00
Dan Halbert
754c36bb37
Merge pull request #867 from dhalbert/fix_pirkey_apa102
3.0 pirkey build including appropriate frozen modules
2018-05-24 22:07:14 -04:00
Dan Halbert
ee896cdd41 restore I2C and UART. Don't do port.c resets and inits for modules that are not available. 2018-05-24 20:20:18 -04:00
Scott Shawcroft
42bf3a1306 Remove asf3 nvm code. 2018-05-24 13:14:40 -07:00
Dan Halbert
b9f36184f5 refine pirkey build 2018-05-24 13:28:03 -04:00
Damien George
15ddc20436 stm32: Add new component, the mboot bootloader.
Mboot is a custom bootloader for STM32 MCUs.  It can provide a USB DFU
interface on either the FS or HS peripherals, as well as a custom I2C
bootloader interface.
2018-05-24 23:21:19 +10:00