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
Damien George
f47eeab0ad
stm32: Add low-level hardware I2C slave driver.
2018-05-24 23:11:13 +10:00
Damien George
4200018a05
stm32: Remove unneeded HTML release notes from usbdev and usbhost dirs.
...
These files provide no additional information, all the version and license
information is captured in the relevant files in these subdirectories.
Thanks to @JoeSc for the original patch.
2018-05-24 11:28:54 +10:00
Dan Halbert
083f91363a
pirkey APA102 defs were commented out in mpconfigboard.h
2018-05-23 18:21:07 -04:00
Scott Shawcroft
aa86a1457f
Use merged in FreeTouch
2018-05-23 11:57:35 -07:00
Dan Halbert
6af5fc2796
Merge pull request #861 from tannewt/touchio3
...
Turn on touchio for M0 boards.
2018-05-23 14:20:15 -04:00
Scott Shawcroft
641caaa6dd
Gain space back in non-Express builds by using -finline-limit
2018-05-23 10:36:59 -07:00
Damien George
df9b7e8f24
esp32/esp32.custom_common.ld: Put soc code in iram0.
...
This is what the IDF does, it must be done.
2018-05-23 12:57:50 +10:00
Scott Shawcroft
3607d3ba2c
Correctly reset the PTC
2018-05-22 14:20:35 -07:00
Scott Shawcroft
31bcd1c45c
Fixup gclk init
2018-05-22 13:56:12 -07:00
Scott Shawcroft
99123a8621
Turn on touchio for M0 boards. M4 will come later once its supported
...
by FreeTouch.
Fixes #670
2018-05-22 13:49:08 -07:00
Dan Halbert
22405d6bdb
Merge pull request #860 from dhalbert/3.0-cpx-crickit
...
turn off longint on cpx crickit; update frozen libs
2018-05-22 16:28:42 -04:00
Scott Shawcroft
165b28438a
Merge pull request #854 from python-ugame/extra-override
...
Allow overriding EXTRA_BUILTIN_MODULES in mpconfigboard.h
2018-05-22 10:22:35 -07:00
Dan Halbert
0d7db29630
turn off longint on cpx crickit; update frozen libs
2018-05-22 13:03:13 -04:00
Dan Halbert
49a81d5c4b
LONGLONG typo
2018-05-22 09:35:29 -04:00
Dan Halbert
45db48bbaa
make longint choice mechanism more readable
2018-05-22 08:04:14 -04:00
Damien George
20b4b85f72
ports: Enable MICROPY_PY_BUILTINS_ROUND_INT on selected ports.
2018-05-22 14:18:16 +10:00
Dan Halbert
5680933483
refactor longint settings; make crickit cpx build
2018-05-21 23:58:03 -04:00
Damien George
e773a2cdba
stm32/main: Use consistent indenting of macro #if's.
2018-05-22 13:17:03 +10:00
Damien George
f68e722005
stm32/rng: Use Yasmarang for rng_get() if MCU doesn't have HW RNG.
2018-05-22 10:36:03 +10:00
Damien George
cda964198a
stm32: Integrate lwIP as implementation of usocket module.
...
This patch allows to use lwIP as the implementation of the usocket module,
instead of the existing socket-multiplexer that delegates the entire TCP/IP
layer to the NIC itself.
This is disabled by default, and enabled by defining MICROPY_PY_LWIP to 1.
When enabled, the lwIP TCP/IP stack will be included in the build with
default settings for memory usage and performance (see
lwip_inc/lwipopts.h). It is then up to a particular NIC to register itself
with lwIP using the standard lwIP netif API.
2018-05-21 17:36:06 +10:00
Radomir Dopieralski
6a6ab2b0ec
Allow overriding EXTRA_BUILTIN_MODULES in mpconfigboard.h
...
Some boards (like the uGame10) may want to have their own set of extra
modules. This change lets them override EXTRA_BUILTIN_MODULES in their
mpconfigboard.h and makes the ugame10 board do that.
2018-05-21 09:23:58 +02:00
Damien George
6c955932f3
stm32/rtc: Don't try to set SubSeconds value on RTC.
...
The hardware doesn't allow it, instead the value is reset to 255 upon
setting the other calendar/time values.
2018-05-21 14:08:37 +10:00
Daniel Shaulov
cac2eddc16
minimal/main: Allow to compile without GC enabled.
2018-05-21 13:13:21 +10:00
Damien George
afd0701bf7
esp8266: Change UART(0) to attach to REPL via uos.dupterm interface.
...
This patch makes it so that UART(0) can by dynamically attached to and
detached from the REPL by using the uos.dupterm function. Since WebREPL
uses dupterm slot 0 the UART uses dupterm slot 1 (a slot which is newly
introduced by this patch). UART(0) must now be attached manually in
boot.py (or otherwise) and inisetup.py is changed to provide code to do
this. For example, to attach use:
import uos, machine
uart = machine.UART(0, 115200)
uos.dupterm(uart, 1)
and to detach use:
uos.dupterm(None, 1)
When attached, all incoming chars on UART(0) go straight to stdin so
uart.read() will always return None. Use sys.stdin.read() if it's needed
to read characters from the UART(0) while it's also used for the REPL (or
detach, read, then reattach). When detached the UART(0) can be used for
other purposes.
If there are no objects in any of the dupterm slots when the REPL is
started (on hard or soft reset) then UART(0) is automatically attached.
Without this, the only way to recover a board without a REPL would be to
completely erase and reflash (which would install the default boot.py which
attaches the REPL).
2018-05-21 11:31:59 +10:00
Damien George
2923671a0c
esp32/Makefile: Update to latest ESP IDF version.
2018-05-21 11:28:36 +10:00
Paul Sokolovsky
478410b409
zephyr/Makefile: Add kobj_types_h_target to Z_EXPORTS.
...
New generated Zephyr header file, without it build breaks.
2018-05-21 10:35:16 +10:00
Paul Sokolovsky
5a023372df
zephyr: Add prj_disco_l475_iot1.conf with sensor drivers.
2018-05-21 10:35:16 +10:00
Paul Sokolovsky
7afbc49863
zephyr/prj_base.conf: Enable DHCP and group static IPs together.
...
Add CONFIG_NET_DHCPV4, which, after
https://github.com/zephyrproject-rtos/zephyr/pull/5750 works as follows:
static addresses are configured after boot, and DHCP requests are sent
at the same time. If valid DHCP reply is received, it overrides static
addresses.
This setup works out of the box for both direct connection to a
workstation (DHCP server usually is not available) and for connection
to a router (DHCP is available and required).
2018-05-21 10:35:16 +10:00
Paul Sokolovsky
0e52ee957d
zephyr/modzsensor: Zephyr sensor subsystem bindings.
2018-05-21 10:35:16 +10:00
Paul Sokolovsky
080b0be1c8
zephyr/mpconfigport.h: Enable uhashlib and ubinascii modules.
...
To be able to use data integrity checks in various tests.
2018-05-21 10:35:16 +10:00
Paul Sokolovsky
9480c188e8
zephyr/main: After builtin testsuite, drop to REPL.
...
It makes sense to make even testsuite-enabled builds be suitable for
interactive use.
2018-05-21 10:35:16 +10:00
Paul Sokolovsky
1050045979
zephyr/README: Hint about existence of qemu_x86_nommu.
2018-05-21 10:35:16 +10:00
Tobias Badertscher
769e37b646
stm32/boards: Add config files for new board, STM32L496GDISC.
2018-05-18 22:39:49 +10:00
Tobias Badertscher
4005c63571
stm32/boards: Add board ld and af.csv files for STM32L496 MCU.
2018-05-18 22:39:44 +10:00
Tobias Badertscher
708cdb6276
stm32: Add support for STM32L496 MCU.
2018-05-18 22:37:30 +10:00
Noralf Trønnes
cf33ad9a54
atmel-samd/samd21: Enable long int on Express boards
...
This is necessary for using 1970 epoch in the time module.
2018-05-18 12:35:26 +02:00
Matt Land
06b293af29
pirkey, trinket, ugame
2018-05-17 13:56:10 -04:00
Matt Land
a84845c0ae
itsbitsy, metro
2018-05-17 13:48:33 -04:00
Matt Land
173a0a5faa
arduino, circuitplayground, feather boards
2018-05-17 13:42:08 -04:00
Matt Land
fc2b4526d3
worked
2018-05-17 13:33:26 -04:00
Matt Land
e1cccd3dac
rename to UART
2018-05-17 13:21:15 -04:00
Matt Land
2210fc60b1
Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-default-serial
2018-05-17 13:08:43 -04:00
Matt Land
c846f4bdae
remove newline
2018-05-17 12:17:06 -04:00
Matt Land
4fd4adf974
not working
2018-05-17 12:14:51 -04:00
Damien George
58331e3c28
esp8266/modmachine: Allow I2C and SPI to be configured out of the build.
...
I2C costs about 3000 bytes of code, and SPI costs about 4400 bytes.
2018-05-17 23:37:12 +10:00
Damien George
dd13065843
esp8266/modnetwork: Raise ValueError when getting invalid WLAN id.
...
Instead of crashing due to out-of-bounds array access. Fixes #3348 .
2018-05-17 22:12:24 +10:00
Damien George
f8a5cd24d8
esp8266/modnetwork: Return empty str for hostname if STA is inactive.
...
Instead of crashing due to NULL pointer dereference. Fixes issue #3341 .
2018-05-17 22:11:22 +10:00
hathach
6d4a2f5524
Merge branch 'master' into usbboot
2018-05-17 15:23:45 +07:00
hathach
52ebfd07a5
update nrfutil to 0.5.2d with singlebank option
2018-05-17 15:20:07 +07:00
Damien George
94a79f340d
esp8266/mpconfigport.h: Add some weak links to common Python modules.
...
To make it easier/simpler to write code that can run under both CPython and
on an ESP8266 board.
2018-05-17 13:27:18 +10:00
Matt Land
30c625ff46
Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground
2018-05-16 17:58:03 -04:00
Matt Land
0511becd55
Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-i2c-gemma
2018-05-16 17:55:43 -04:00
Scott Shawcroft
6a8db03ade
Merge pull request #838 from rhooper/master
...
add supervisor.reload() to soft reboot from code
2018-05-16 17:52:16 -04:00
Matt Land
b9b742cc69
add spi def to all boards pins file
2018-05-16 17:43:14 -04:00
Matt Land
c2fa892a02
fix formatting
2018-05-16 17:38:44 -04:00
Matt Land
cc52f8efd9
Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground
2018-05-16 17:32:50 -04:00
Matt Land
0a185c4d2d
Merge branch 'master' of https://github.com/adafruit/circuitpython into feature-i2c-gemma
2018-05-16 17:07:58 -04:00
Matt Land
e8e75c056a
For the two boards without SCL and SDA can you still add the board global entry for I2C? That way they'll raise the NotImplementedError with the better message instead of a NameError.
2018-05-16 17:02:41 -04:00
Jerry Needell
4f93467841
set #define MICROPY_USE_INTERNAL_ERRNO (0) in mpconfigport for ESP8266 to fix compile error
2018-05-16 16:10:32 -04:00
Matt Land
de885e81b1
Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground
2018-05-16 16:07:55 -04:00
Matt Land
8a351595ef
formatting, trailing newlines
2018-05-16 15:57:25 -04:00
Matt Land
2c067edf54
used pins.c instead of README.rst
2018-05-16 15:54:01 -04:00
Matt Land
3144654854
SPI for all boards
2018-05-16 15:36:36 -04:00
Matt Land
244866c2c3
spi on much
2018-05-16 15:25:24 -04:00
Matt Land
10888be8e8
fixed pins
2018-05-16 15:07:12 -04:00
Matt Land
8d1d821876
pin issue
2018-05-16 14:58:57 -04:00
Scott Shawcroft
99e34e38eb
Merge pull request #829 from jerryneedell/jerryn_i2c
...
add keyword timeout to I2C -- only used for bitbangioi
2018-05-16 14:52:11 -04:00
Ryan Shaw
b9ff46f1ed
stm32: Enable UART7/8 on F4 series that have these peripherals.
2018-05-16 11:55:07 +10:00
Kevin Townsend
78f806c891
Added board specific READMEs
2018-05-15 22:42:27 +02:00
Matt Land
fbb57f902d
better error message
2018-05-15 15:37:48 -04:00
Matt Land
ff6e6b5155
best effort
2018-05-15 15:33:27 -04:00
Matt Land
4e65752d6e
feather m0 boards
2018-05-15 15:28:23 -04:00
Roy Hooper
90a09dba59
Merge branch 'master' of github.com:adafruit/circuitpython
2018-05-15 14:54:54 -04:00
Matt Land
cdeb7ddff8
fix non- builds
2018-05-15 14:27:05 -04:00
Matt Land
cd1f6627e4
formatting
2018-05-15 14:09:00 -04:00
Matt Land
bd7f603748
zero + feather logger
2018-05-15 14:06:01 -04:00
Roy Hooper
7d443c87b3
Add gemma_m0 pin exclusions
2018-05-15 14:03:39 -04:00
Matt Land
a10f04ad6e
support for 2
2018-05-15 13:53:53 -04:00
Matt Land
b0bacd9b0b
review code
2018-05-15 13:15:24 -04:00
Roy Hooper
3fd9900ea7
disable pins on trinket_m0 so that we can free a fair bit of flash - Issue #840
2018-05-15 13:13:59 -04:00
Dan Halbert
54293397c5
Merge pull request #837 from godlygeek/human_readable_oserror
...
Human readable OSError messages
2018-05-15 10:12:09 -04:00
hathach
53593d1315
fix #809
...
define CIRCUITPY_BOOT_OUTPUT_FILE will cause mp_hal_stdout_tx_strn() to
invoke before serial_init() is called. Solution is skipped output to
serial if it is not inited.
2018-05-15 18:40:49 +07:00
hathach
05f36ebeb1
update the bootloader hex for feather52840
2018-05-15 16:06:03 +07:00
hathach
dadf831fe9
Merge branch 'usbboot' of github.com:microbuilder/circuitpython into usbboot
2018-05-15 13:33:53 +07:00
hathach
5365e51e39
Merge branch 'master' into usbboot
2018-05-15 13:29:25 +07:00
Damien George
cdaace1fdf
esp32/modnetwork: Fix STA/AP activate/deactivate for new IDF API.
...
WIFI_MODE_NULL is no longer supported by the ESP IDF, instead one must use
esp_wifi_start/esp_wifi_stop.
2018-05-15 11:50:37 +10:00
Roy Hooper
698912633f
Rename reload_next_character to reload_requested to make it match it's intended use
2018-05-14 17:00:38 -04:00
Matt Wozniski
0518cc1d94
Include uerrno for boards with external SPI flash
...
Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
2018-05-14 15:12:35 -04:00
Roy Hooper
a0954b9e11
Fix for Issue #770 - Provide a better error message when timers are still available.
2018-05-14 13:52:32 -04:00
Roy Hooper
1661cbb6e1
Make python detection more robust and allow setting PYTHON2 and PYTHON3 to override python executables during build.
2018-05-14 11:19:19 -04:00
Damien George
e6b66f1092
stm32/usb: Initialise cdc variable to prevent compiler warnings.
...
Some compilers cannot deduce that cdc will always be written before being
used.
2018-05-15 00:18:03 +10:00
Damien George
47ecbbbecb
stm32/usb: Add ability to have 2x VCP interfaces on the one USB device.
...
This patch adds the configuration MICROPY_HW_USB_ENABLE_CDC2 which enables
a new USB device configuration at runtime: VCP+VCP+MSC. It will give two
independent VCP interfaces available via pyb.USB_VCP(0) and pyb.USB_VCP(1).
The first one is the usual one and has the REPL on it. The second one is
available for general use.
This configuration is disabled by default because if the mode is not used
then it takes up about 2200 bytes of RAM. Also, F4 MCUs can't support this
mode on their USB FS peripheral (eg PYBv1.x) because they don't have enough
endpoints. The USB HS peripheral of an F4 supports it, as well as both the
USB FS and USB HS peripherals of F7 MCUs.
2018-05-14 23:44:45 +10:00
Damien George
2e565cc0d4
stm32/usb: Change HID report funcs to take HID state, not usbdev state.
2018-05-14 17:04:43 +10:00
Damien George
91bca340ec
stm32/usb: Change CDC tx/rx funcs to take CDC state, not usbdev state.
2018-05-14 16:55:04 +10:00
Damien George
68271a27e6
stm32/usb: Make CDC endpoint definitions private to core usbdev driver.
2018-05-14 16:53:45 +10:00
Damien George
ed92d62326
stm32/usb: Combine HID lower-layer and interface state into one struct.
2018-05-14 16:34:31 +10:00
Damien George
bf08a99ccd
stm32/usb: Combine CDC lower-layer and interface state into one struct.
2018-05-14 16:15:58 +10:00
Damien George
ed32284b70
stm32/usb: Use usbd_cdc_itf_t pointer directly in USB_VCP class.
2018-05-14 15:24:44 +10:00
Damien George
fb25c81062
stm32/modpyb: Remove unused includes and clean up comments.
...
The documentation (including the examples) for elapsed_millis and
elapsed_micros can be found in docs/library/pyb.rst so doesn't need to be
written in full in the source code.
2018-05-14 14:01:50 +10:00
Damien George
88c26a48b4
stm32/pyb_i2c: Put pyb.I2C under MICROPY_PY_PYB_LEGACY setting.
...
When disabled, the pyb.I2C class saves around 8k of code space and 172
bytes of RAM. The same functionality is now available in machine.I2C
(for F4 and F7 MCUs).
It is still enabled by default.
2018-05-14 13:53:46 +10:00
Damien George
92c5e2708d
stm32/modpyb: Introduce MICROPY_PY_PYB_LEGACY config option for pyb mod.
...
This is enabled by default. When it is disabled all legacy functions and
classes in the pyb module are excluded from the build.
2018-05-14 13:49:22 +10:00
Damien George
a0f7b4c678
stm32/accel: Switch pyb.Accel to use new C-level I2C API.
2018-05-14 13:23:18 +10:00
Damien George
ce824bb67e
stm32/machine_i2c: Use new F4 hardware I2C driver for machine.I2C class.
...
And remove the old one based on ST code.
2018-05-14 13:22:12 +10:00
Damien George
b21415ed4f
stm32/i2c: Add new hardware I2C driver for F4 MCUs.
...
This driver uses low-level register access to control the I2C peripheral
(ie it doesn't rely on the ST HAL) and provides the same C-level API as the
existing F7 hardware driver.
2018-05-14 13:19:03 +10:00
Peter D. Gray
ca36645410
stm32/usbd_hid_interface: Address possible race condition vs. interrupt.
...
The USB IRQ may fire once USBD_HID_ClearNAK() is called and then change the
last_read_len value.
2018-05-14 12:08:34 +10:00
Peter D. Gray
1f1623d3b7
stm32/usbdev: Be honest about data not being written to HID endpoint.
...
USB_HID.send() should now return 0 if it could not send the report to the
host.
2018-05-14 12:01:27 +10:00
Jerry Needell
d6c26942a5
add timeout keyword to I2C - for bitbangio - ignored for busio
2018-05-13 21:54:44 -04:00
Bas Wijnen
67e1a4f8be
esp32: Update to latest ESP IDF version.
...
- Updated supported git hash to current IDF version.
- Added missing targets and includes to Makefile.
- Updated error codes for networking module.
- Added required constant to sdkconfig configuration.
2018-05-14 11:42:46 +10:00
Scott Shawcroft
ce5eae1c76
Merge pull request #761 from jepler/nrf-modules
...
nrf: Enable binascii, hashlib modules
2018-05-11 19:40:45 -07:00
Damien George
aeaace0737
stm32/usbdev: Remove unused RxState variable, and unused struct.
2018-05-11 23:20:59 +10:00
Damien George
abde0fa226
stm32/usbdev: Convert files to unix line endings.
...
Also remove trailing whitespace and convert tabs to spaces.
2018-05-11 23:03:52 +10:00
Jeff Epler
471fdae993
nrf: Enable binascii, hashlib modules
...
These modules would be very handy to have in order to implement a
more robust replacement for ampy. It costs around 2KiB of text and
no data or bss.
'binascii' has base64 encoding, which can be used to create a fully
8-bit-clean transport above the slightly cooked serial connection of
these boards.
'hashlib' is a bit less critical, but I have found it handy to
be able to robustly checksum remote files.
I see this as only being useful on ports which don't have USB block
device support, so atmel-samd doesn't need it. These modules are
already on esp8266 so I think nrf52 seems like the only one that
needs it.
2018-05-11 07:41:09 -05:00
Damien George
56a273ebff
stm32/usbd_conf: Changes files to unix line endings and apply styling.
...
This patch is only cosmetic and has no functional change.
2018-05-11 22:17:58 +10:00
Damien George
9f4eda542a
stm32/usbd_conf.h: Remove unused macros and clean up header file.
2018-05-11 22:04:56 +10:00
Scott Shawcroft
51106db93d
Merge pull request #827 from dhalbert/3.0_pb_pins_digitalinout
...
PBxx pins were not setting DRVSTR or reporting PULL properly
2018-05-10 20:42:26 -07:00
Dan Halbert
240659da0e
PBxx pins were not setting DRVSTR or reporting PULL properly
2018-05-10 23:09:51 -04:00
Damien George
b208aa189e
stm32/README: Update to reflect current MCU support.
2018-05-11 10:36:46 +10:00
Jeff Epler
2acd5d88b6
nrf52: enable framebuf module
...
Closes : #656
2018-05-10 18:37:08 -05:00
Damien George
c1115d931f
stm32/usb: Use correct type for USB HID object.
2018-05-09 16:00:19 +10:00
Damien George
e1bc85416a
stm32/usb: Fix broken pyb.have_cdc() so it works again.
2018-05-09 15:59:48 +10:00
Damien George
e638defff4
stm32/i2c: Make sure stop condition is sent after receiving addr nack.
2018-05-09 15:53:09 +10:00
Scott Shawcroft
50fc90bc5f
Add pause/resume control to AudioOut and I2SOut
...
Fixes #808
2018-05-08 11:53:13 -07:00
Scott Shawcroft
d3a5d40374
Merge pull request #785 from notro/rtc_calibration
...
atmel-samd/samd21: Rework clock setup + calibration
2018-05-08 10:55:51 -07:00
Dan Halbert
e82f37c60e
enable cache in SAMD51
2018-05-07 21:55:37 -04:00
Noralf Trønnes
5d5d14709f
Add clock representation with calibration
...
Add a python representation of the clocks with the possibility to change
the calbration of clock sources.
2018-05-07 23:04:02 +02:00
Lars Kellogg-Stedman
56bf411d21
esp8266/modutime.c: remove symbol conflicts between time and utime modules
...
this renames symbols in modutime.c so that it no longer conflicts with
the time module. This commit does not enable the utime module; it
simply makes it easier for a local developer to do so.
2018-05-07 11:55:20 -04:00
jerryneedell
b617271191
Update mpconfigport.h
...
comment out define of CIRCUITPYTHON_BOOT_OUTPUT_FILE for NRF52 -- it does not work properly
2018-05-07 08:59:24 -04:00
Noralf Trønnes
2893e795fc
atmel-samd/samd21: Use XOSC32K on boards with a crystal
...
Use XOSC32K on boards that have BOARD_HAS_CRYSTAL defined and set to 1.
2018-05-05 18:45:15 +02:00
Noralf Trønnes
4adba51569
atmel-samd/samd21: Rework clock setup
...
Make clock setup explicit instead of using the convoluted asf4 macro setup.
enable_clock_generator():
- Add GCLK_GENCTRL_OE to stick with the current setup.
- Handle divisor larger than 31 for generator 2
- Change the source argument so it can take the GCLK_GENCTRL_SRC_XXXX_Val
macros without casting to uint8_t.
This patch should not introduce any functional changes except keeping
GCLK_GENCTRL_OE enabled when the I2S clock is enabled.
2018-05-05 18:01:13 +02:00
Scott Shawcroft
d32349cee8
Merge pull request #804 from dhalbert/boot_out_fixes
...
3.0: Handle bad power on reset.
2018-05-04 10:06:35 -07:00
Dan Halbert
32363b801b
3.0: add CircuitPlayground and HID to CPX frozen modules
2018-05-04 08:44:33 -04:00
Noralf Trønnes
f21c2494cb
atmel-samd/samd21: Enable OSC32K
...
Enable OSC32K which is used by the RTC.
For some reason the RTC worked without enabling it.
2018-05-04 13:34:30 +02:00
Noralf Trønnes
4a2a553647
atmel-samd/clocks: Split out samd21_clocks.c and samd51_clocks.c
...
Enhance readability by separating the samd21 and samd51 clock code.
This patch should not introduce any functional changes.
2018-05-04 13:32:56 +02:00
Damien George
aea71dbde0
stm32/Makefile: Use -O2 to optimise compilation of lib/libc/string0.c.
2018-05-04 15:53:51 +10:00
Damien George
cb3456ddfe
stm32: Don't use %lu or %lx for formatting, use just %u or %x.
...
On this 32-bit arch there's no need to use the long version of the format
specifier. It's only there to appease the compiler which checks the type
of the args passed to printf. Removing the "l" saves a bit of code space.
2018-05-04 15:52:03 +10:00
Damien George
b614dc73b0
stm32/dma: Fix duplicate typedef of struct, it's typedef'd in dma.h.
2018-05-04 15:35:43 +10:00
Dan Halbert
f486ead84a
Handle bad power on reset.
2018-05-03 23:43:02 -04:00
Scott Shawcroft
a8bd37f14d
Merge pull request #799 from larsks/feature/circuitpython/station-ssid
...
esp8266/modnetwork: Allow to get ESSID of AP that STA is connected to.
2018-05-03 10:12:50 -07:00
Lars Kellogg-Stedman
1e0353e2db
esp8266/modnetwork: Allow to get ESSID of AP that STA is connected to.
...
This patch enables iface.config('essid') to work for both AP and STA
interfaces.
(cherry picked from commit d8fdb77ac9
)
2018-05-03 11:49:37 -04:00
Lars Kellogg-Stedman
ad1b16a3ec
ports/esp8266: try both binascii and ubinascii in inisetup.py
...
in recent circuitpython builds, `ubinascii` is available as
`binascii`. This modifies `modules/inisetup.py` to use the same
import semantics as `modules/websocket_helper.py`: first try importing
`ubinascii`, and if that fails, fall back to importing `binascii`.
Closes adafruit/circuitpython#795
2018-05-03 09:23:54 -04:00
Dan Halbert
9d484c4935
Merge pull request #789 from tannewt/pdmin3
...
Re-enable PDMIn without ASF
2018-05-02 19:59:20 -04:00
Scott Shawcroft
04f75b8903
Reduce the buffer size back to what 2.x has. Increase was leftover
...
from debugging.
2018-05-02 15:21:43 -07:00
Scott Shawcroft
22b7cd3d51
Fix 8 bit recordings on CPX.
...
The DMA trigger source was incorrect when using serializer 1 on
the SAMD21.
Playback register was incorrect for 8 bit as well. Now fixed.
2018-05-02 15:15:25 -07:00
Scott Shawcroft
449385b250
Merge pull request #790 from dhalbert/cpu_temp
...
Implement microcontroller.cpu.temperature.
2018-05-02 12:23:03 -07:00
Dan Halbert
33b9c39f58
peripherals.c should include peripherals.h
2018-05-02 13:50:34 -04:00
Damien George
12a3fccc7e
esp32/modsocket: Check for pending events during blocking socket calls.
2018-05-03 00:09:25 +10:00
Lars Kellogg-Stedman
3e35cbcd5b
allow esptool.py invocation to be set via make vars
...
This commit replaces the literal calls to `esptool.py` with the
`$(ESPTOOL)` Makefile variable. This allows one to set the esptool
invocation on the Make command line:
make ESPTOOL="python2 $(which esptool.py)"
(or via the environment, an include file, etc)
Closes #793
2018-05-02 09:47:01 -04:00
Damien George
4fa7d36cee
esp32: Use mp_rom_map_elem_t and MP_ROM_xxx macros for const dicts.
2018-05-02 22:33:41 +10:00
Damien George
6681eb809a
esp32/modsocket: Correctly handle reading from a peer-closed socket.
...
If a socket is cleanly shut down by the peer then reads on this socket
should continue to return zero bytes. The lwIP socket API does not have
this behaviour (it only returns zero once, then blocks on subsequent calls)
so this patch adds explicit checks and logic for peer closed sockets.
2018-05-02 22:31:00 +10:00
Torwag
fb7dabb971
esp32/README: Add --init to submodule update command.
...
Add --init to the submodule update example, thus, all submodules get
initialised including the nested (--recursive) ones. Without it there
might not be a submodule init.
2018-05-02 17:24:17 +10:00
Damien George
6410e174c5
esp8266: Disable DEBUG_PRINTERS for 512k build.
...
Disabling this saves around 6000 bytes of code space and gets the 512k
build fitting in the available flash again (it increased lately due to an
increase in the size of the ESP8266 SDK).
2018-05-02 15:51:19 +10:00
Damien George
051686b0a8
stm32/main: Clean up and optimise initial start-up code of the MCU.
2018-05-02 15:20:24 +10:00
Damien George
a03e6c1e05
stm32/irq: Define IRQ priorities directly as encoded hardware values.
...
For a given IRQn (eg UART) there's no need to carry around both a PRI and
SUBPRI value (eg IRQ_PRI_UART, IRQ_SUBPRI_UART). Instead, the IRQ_PRI_UART
value has been changed in this patch to be the encoded hardware value,
using NVIC_EncodePriority. This way the NVIC_SetPriority function can be
used directly, instead of going through HAL_NVIC_SetPriority which must do
extra processing to encode the PRI+SUBPRI.
For a priority grouping of 4 (4 bits for preempt priority, 0 bits for the
sub-priority), which is used in the stm32 port, the IRQ_PRI_xxx constants
remain unchanged in their value.
This patch also "fixes" the use of raise_irq_pri() which should be passed
the encoded value (but as mentioned above the unencoded value is the same
as the encoded value for priority grouping 4, so there was no bug from this
error).
2018-05-02 14:41:02 +10:00
Peter D. Gray
266446624f
stm32/dma: Always deinit/reinit DMA channels on L4 MCUs.
...
The problem is the existing code which tries to optimise the
reinitialisation of the DMA breaks the abstraction of the HAL. For the
STM32L4 the HAL's DMA setup code maintains two private vars (ChannelIndex,
DmaBaseAddress) and updates a hardware register (CCR).
In HAL_DMA_Init(), the CCR is updated to set the direction of the DMA.
This is a problem because, when using the SD Card interface, the same DMA
channel is used in both directions, so the direction bit in the CCR must
follow that.
A quick and effective fix for the L4 is to simply call HAL_DMA_DeInit() and
HAL_DMA_Init() every time.
2018-05-02 13:41:23 +10:00
Damien George
4c0f664b1a
stm32/flash: Remove unused src parameter from flash_erase().
2018-05-02 13:11:56 +10:00
Damien George
edb600b6a2
stm32/mphalport: Optimise the way that GPIO clocks are enabled.
2018-05-02 13:08:58 +10:00
Damien George
00a659f3ee
stm32/dac: Implement printing of a DAC object.
2018-05-02 12:17:45 +10:00
Damien George
dcfd2de5c2
stm32/dac: Make deinit disable the output buffer on H7 and L4 MCUs.
2018-05-02 12:17:45 +10:00
Damien George
d4f8414ebd
stm32/adc: Use mp_hal_pin_config() instead of HAL_GPIO_Init().
...
This makes ADCAll work correctly on L4 MCUs.
2018-05-02 12:17:45 +10:00
Damien George
3022947343
stm32/mphalport: Support ADC mode on a pin for L4 MCUs.
2018-05-02 12:17:45 +10:00
Dan Halbert
e565282da9
fix minor comment typos
2018-05-01 22:04:11 -04:00
Dan Halbert
3a2b4af830
Implement microcontroller.cpu.temperature on '21 and '51.
2018-05-01 21:35:55 -04:00
Noralf Trønnes
681399f8db
atmel-samd: RTC: Improve precision when setting datetime
...
The prescaler is not reset when setting the counter so we can be off by
as much as 1023/1024 seconds. Fix this by resetting the RTC module.
2018-05-01 21:35:24 -04:00
Scott Shawcroft
cfea51ec68
Re-enable PDMIn without ASF and using the helpers added with
...
I2SOut.
The API is almost the same except the frequency attribute has been
renamed to sample_rate so that its less likely to be confused with
frequencies within the audio itself.
Fixes #263 .
2018-05-01 14:35:43 -07:00
Damien George
68f4cba3d2
stm32/boards: Update pins.csv to include USB pins where needed.
2018-05-01 17:38:51 +10:00
Damien George
b0ad46cd11
stm32/dac: Use mp_hal_pin_config() instead of HAL_GPIO_Init().
2018-05-01 17:33:08 +10:00
Damien George
04ead56614
stm32/usbd_conf: Use mp_hal_pin_config() instead of HAL_GPIO_Init.
...
To reduce dependency on the ST HAL for pin operations.
2018-05-01 17:32:19 +10:00
Damien George
a28bd4ac94
stm32/mphalport: Add mp_hal_pin_config_speed() to select GPIO speed.
...
It should be used after mp_hal_pin_config() or mp_hal_pin_config_alt().
2018-05-01 17:31:23 +10:00
Damien George
777e042ab5
esp32/modnetwork: Allow to get ESSID of AP that STA is connected to.
...
Following the same addition to esp8266 port.
2018-05-01 16:37:08 +10:00
Lars Kellogg-Stedman
d8fdb77ac9
esp8266/modnetwork: Allow to get ESSID of AP that STA is connected to.
...
This patch enables iface.config('essid') to work for both AP and STA
interfaces.
2018-05-01 16:37:02 +10:00
Andreas Valder
298c072433
esp32: Add support for the esp32's ULP.
...
The ULP is available as esp32.ULP(). See README.ulp.md for basic usage.
2018-05-01 16:19:37 +10:00
iabdalkader
28c9824c51
stm32/boards/NUCLEO_H743ZI: Enable ADC peripheral.
2018-05-01 15:39:03 +10:00
iabdalkader
8c12f1d916
stm32/adc: Add support for H7 MCU series.
...
ADC3 is used because the H7's internal ADC channels are connected to ADC3
and the uPy driver doesn't support more than one ADC.
Only 12-bit resolution is supported because 12 is hard-coded and 14/16 bits
are not recommended on some ADC3 pins (see errata).
Values from internal ADC channels are known to give wrong values at
present.
2018-05-01 15:36:11 +10:00
Scott Shawcroft
dd0f8689a1
Merge pull request #786 from notro/rtc_set_datetime_precision
...
atmel-samd: RTC: Improve precision when setting datetime
2018-04-29 20:30:37 -07:00
Noralf Trønnes
62d7a800d7
atmel-samd: RTC: Improve precision when setting datetime
...
The prescaler is not reset when setting the counter so we can be off by
as much as 1023/1024 seconds. Fix this by resetting the RTC module.
2018-04-29 20:43:07 +02:00
sommersoft
396e4ffc34
implemented 'claim_pin' methodology; updated 'open_drain' handling
2018-04-28 17:27:23 +00:00
Damien George
23e9c3bca7
esp32/modules: Add support scripts for WebREPL.
...
WebREPL now works on the esp32 in the same way it does on esp8266.
2018-04-27 23:58:51 +10:00
Damien George
c1d4352e65
esp32/mpconfigport: Enable webrepl module and socket events.
2018-04-27 23:57:57 +10:00
Damien George
999c8b9711
esp32/modsocket: Add support for registering socket event callbacks.
...
The esp8266 uses modlwip.c for its usocket implementation, which allows to
easily support callbacks on socket events (like when a socket becomes ready
for reading). This is not as easy to do for the esp32 which uses the
ESP-IDF-provided lwIP POSIX socket API. Socket events are needed to get
WebREPL working, and this patch provides a way for such events to work by
explicitly polling registered sockets for readability, and then calling the
associated callback if the socket is readable.
2018-04-27 23:57:26 +10:00
Damien George
98b05e3614
esp32: Add support for and enable uos.dupterm().
2018-04-27 23:51:45 +10:00
Damien George
04dc4a5034
esp32/mphalport: Improve mp_hal_stdout_tx_XXX functions.
...
This makes way for enabling uos.dupterm().
2018-04-27 23:49:21 +10:00
Damien George
c0dd9be606
stm32/boards/NUCLEO_H743ZI: Use priority 0 for SysTick IRQ.
...
This follows how all other boards are configured.
2018-04-27 15:16:45 +10:00
Damien George
527ba0426c
stm32/system_stm32: Reconfigure SysTick IRQ priority for L4 MCUs.
...
After calling HAL_SYSTICK_Config the SysTick IRQ priority is set to 15, the
lowest priority. This commit reconfigures the IRQ priority to the desired
TICK_INT_PRIORITY value.
2018-04-27 12:54:35 +10:00
sommersoft
4e1f7d43eb
added exception for PULL_UP; corrected open_drain handling
2018-04-27 02:51:07 +00:00
Damien George
4ed5865280
esp32/mphalport: Improve mp_hal_delay_us so it handles pending events.
...
Thanks to @bboser for the initial idea and implementation.
2018-04-26 20:21:33 +10:00
Damien George
e1fe3abd09
esp32/mphalport: Use esp_timer_get_time instead of gettimeofday.
...
It's more efficient and improves accuracy.
2018-04-26 20:19:31 +10:00
sommersoft
441ce2a78f
reset GPIO16 to input on deinit
2018-04-26 01:35:58 +00:00
sommersoft
bd5a5daaae
updated GPIO16 construct and handling
2018-04-25 03:59:36 +00:00
sommersoft
e70ece4c41
now checks for proper pin in is_pin_free; initialize GPIO16 as input in reset_pins
2018-04-25 03:57:09 +00:00
Dan Halbert
48f595ee13
convert wrapper class to just a module
2018-04-24 13:28:26 -04:00
Damien George
9254f365d6
stm32/machine_i2c: Provide hardware I2C for machine.I2C on F7 MCUs.
2018-04-24 23:48:04 +10:00
Damien George
19778d0a3c
stm32/i2c: Add low-level I2C driver for F7 MCUs.
2018-04-24 23:48:04 +10:00
Damien George
0c54d0c288
stm32: Rename legacy pyb.I2C helper functions to start with pyb_i2c_.
2018-04-24 17:32:16 +10:00
Damien George
b73adcc3d9
stm32: Rename i2c.c to pyb_i2c.c.
...
i2c.c implements the legacy pyb.I2C class so rename the file to make this
explicit, and also to make room for an improved I2C driver.
2018-04-24 16:23:36 +10:00
Dan Halbert
9daa1a68d8
HID gamepad support
2018-04-23 23:51:23 -04:00
Damien George
8b91260169
stm32/dac: Support MCUs that don't have TIM4/5 and use new HAL macro.
2018-04-24 12:07:59 +10:00
Damien George
8a949ba599
stm32: Introduce MICROPY_PY_STM config to include or not the stm module.
...
By default the stm module is included in the build, but a board can now
define MICROPY_PY_STM to 0 to not include this module. This reduces the
firmware by about 7k.
2018-04-24 12:01:49 +10:00
Kevin Townsend
d0e00d7fbe
Added built to example
2018-04-23 20:01:53 +02:00
Kevin Townsend
0de8697315
Added note on USB CDC bootloader
2018-04-23 19:58:29 +02:00
hathach
ce9f05f91b
add missing files
2018-04-24 00:51:44 +07:00
hathach
50e7a4caa8
add bootloader hex
2018-04-24 00:19:04 +07:00
Damien George
a60efa8202
stm32/uart: Allow ctrl-C to work with UARTs put on REPL via os.dupterm.
2018-04-23 20:44:30 +10:00
Damien George
513e537215
stm32/uart: Allow ctrl-C to issue keyboard intr when REPL is over UART.
2018-04-23 17:06:40 +10:00
iabdalkader
d870a4e835
stm32/boards/NUCLEO_H743ZI: Enable RNG for this board.
2018-04-23 16:43:16 +10:00
iabdalkader
70a6a15f8c
stm32/rng: Set RNG clock source for STM32H7.
2018-04-23 16:43:05 +10:00
Scott Shawcroft
58ba74194e
Merge pull request #765 from jerryneedell/jerryn_tick
...
modify tick_delay to handle SysTick->VAL rollover
2018-04-20 15:40:00 -04:00
Jerry Needell
bef05ffbf1
cleanup in tick.c
2018-04-20 15:23:03 -04:00
Jerry Needell
fe738598da
modify tick.c to simplify - remove interupt disable from common_hal_pulseio_pulsein_resume
2018-04-20 11:59:33 -04:00
Shanee Vanstone
b5ee3b2f21
esp32/README.md: Fix typo readme.
2018-04-20 16:23:55 +10:00
Peter D. Gray
9adfd14644
stm32/sdcard: Implement BP_IOCTL_SEC_COUNT to get size of SD card.
2018-04-20 16:09:03 +10:00
Jerry Needell
16bb40b110
modify tic.c to chec if interrupts are enabled, rename us_between_ticks to us until_next_tick
2018-04-19 22:25:48 -04:00
Jerry Needell
3399d541c3
Merge remote-tracking branch 'origin/master' into jerryn_tick
2018-04-19 20:54:47 -04:00
Scott Shawcroft
898a7d92e3
atmel-samd: Fix M4 RTC and ItsyBitsy M4 definition
2018-04-19 14:42:03 -04:00
sommersoft
a0eb51cc97
updated asf4_config: reverted oscillators to use internal vs external for RTC
2018-04-18 03:35:58 +00:00
Jerry Needell
e09d95067c
update tick.c (fix LOAD value) update PulseIn.c (do not enable interrupts for trigger_duration > 1000
2018-04-17 21:46:15 -04:00
Scott Shawcroft
7f7cbe8efa
Merge pull request #760 from ladyada/master
...
don't use python nrfutil on windows, go with exe we have in repo
2018-04-16 15:27:44 -07:00
Scott Shawcroft
81d395d825
Merge pull request #745 from notro/time_rtc
...
RFC: Add rtc module
2018-04-16 15:26:54 -07:00
Jerry Needell
e55e06d501
modify tick.c to work when interrupts disabled - modify PulseIn.c to cast argument to common_hal_delay_us
2018-04-16 08:11:14 -04:00
Noralf Trønnes
8e2080411f
atmel-samd: Add rtc module support
...
Support the rtc module by using hal_calendar.
2018-04-16 13:15:08 +02:00
Scott Shawcroft
812fe0c93f
Turn on nvm in 3.0.
...
Its 256b on M0 and 8k on M4 to match flash erase sizes.
Fixes #758
2018-04-13 16:22:28 -07:00
Dan Halbert
10eabf6bc2
Merge pull request #756 from tannewt/audio3
...
Add audio output support!
2018-04-13 14:59:10 -04:00
ladyada
926849d7a8
don't use python nrfutil on windows, it doesnt work :/ tested feather52 makefile on windows/mingw
2018-04-13 14:00:20 -04:00
Scott Shawcroft
22194d5977
Tweaks based on dhalbert's feedback.
2018-04-13 10:51:01 -07:00
ladyada
ce6b94f5e2
deal with spaces in directories
2018-04-12 21:43:23 -04:00
Scott Shawcroft
8dcfeb6240
Fix Makefile
2018-04-12 18:17:46 -07:00
Scott Shawcroft
28642ab10d
Add audio output support!
...
This evolves the API from 2.x (and breaks it). Playback devices are now
separate from the samples themselves. This allows for greater playback
flexibility. Two sample sources are audioio.RawSample and audioio.WaveFile.
They can both be mono or stereo. They can be output to audioio.AudioOut or
audiobusio.I2SOut.
Internally, the dma tracking has changed from a TC counting block transfers
to an interrupt generated by the block event sent to the EVSYS. This reduces
the overhead of each DMA transfer so multiple can occure without using up TCs.
Fixes #652 . Fixes #522 . Huge progress on #263
2018-04-12 16:35:13 -07:00
Scott Shawcroft
2a26dac2bc
Add initial ItsyBitsy M4 support
2018-04-12 11:16:52 -07:00
Damien George
3d5d76fb73
stm32/main: Allow a board to configure the label of the flash FS.
...
To change the default label a board should define:
#define MICROPY_HW_FLASH_FS_LABEL "label"
2018-04-11 16:52:22 +10:00
Damien George
cf9fc7346d
stm32: Allow a board to configure the HSE in bypass mode.
...
To use HSE bypass mode the board should define:
#define MICROPY_HW_CLK_USE_BYPASS (1)
If this is not defined, or is defined to 0, then HSE oscillator mode is
used.
2018-04-11 16:46:47 +10:00
Damien George
68b70fac5c
stm32/stm32_it: Add IRQ handler for I2C4.
2018-04-11 16:37:45 +10:00
Damien George
a7ebac2eae
stm32/can: Allow CAN pins to be configured per board.
...
This patch allows a given board to configure which pins are used for the
CAN peripherals, in a similar way to all the other bus peripherals (I2C,
UART, SPI). To enable CAN on a board the mpconfigboard.h file should
define (for example):
#define MICROPY_HW_CAN1_TX (pin_B9)
#define MICROPY_HW_CAN1_RX (pin_B8)
#define MICROPY_HW_CAN2_TX (pin_B13)
#define MICROPY_HW_CAN2_RX (pin_B12)
And the board config file should no longer define MICROPY_HW_ENABLE_CAN.
2018-04-11 16:35:24 +10:00
Damien George
0041396f05
stm32/pin: In pin AF object, remove union of periph ptr types.
...
The individual union members (like SPI, I2C) are never used, only the
generic "reg" entry is. And the union names can clash with macro
definitions in the HAL so better to remove them.
2018-04-11 16:14:58 +10:00
Damien George
f1073e747d
stm32/adc: Factor common ADC init code into adcx_init_periph().
...
The only configuration that changes with this patch is that on L4 MCUs the
clock prescaler changed from ADC_CLOCK_ASYNC_DIV2 to ADC_CLOCK_ASYNC_DIV1
for the ADCAll object. This should be ok.
2018-04-11 14:46:13 +10:00
Damien George
1d6c155d6a
stm32/adc: Fix config of EOC selection and Ext-Trig for ADC periph.
...
A value of DISABLE for EOCSelection is invalid. This would have been
interpreted instead as ADC_EOC_SEQ_CONV, but really it should be
ADC_EOC_SINGLE_CONV for the uses in this code. So this has been fixed.
ExternalTrigConv should be ADC_SOFTWARE_START because all ADC
conversions are started by software. This is now fixed.
2018-04-11 14:29:37 +10:00
Damien George
06807c1bde
stm32/adc: Factor code to optimise adc_read_channel and adc_read.
...
Saves 200 bytes of code space.
2018-04-11 14:28:06 +10:00
Damien George
b30e0d2f26
stm32/dac: Add buffering argument to constructor and init() method.
...
This can be used to select the output buffer behaviour of the DAC. The
default values are chosen to retain backwards compatibility with existing
behaviour.
Thanks to @peterhinch for the initial idea to add this feature.
2018-04-11 14:22:21 +10:00
Damien George
aebd9701a7
stm32/adc: Optimise read_timed_multi() by caching buffer pointers.
2018-04-11 14:09:09 +10:00
Peter Hinch
4f40fa5cf4
stm32/adc: Add read_timed_multi() static method, with docs and tests.
2018-04-11 13:36:17 +10:00
Damien George
de9528d12c
stm32/adc: Fix verification of ADC channel 16 for F411 MCUs.
2018-04-11 13:16:54 +10:00
Dan Halbert
eaa9923a8f
force_create rename got lost due to editing error
2018-04-10 12:24:27 -04:00
Dan Halbert
04b2c8be5a
remove unnecessary includes in esp8266 common-hal storage code
2018-04-10 12:13:21 -04:00
Dan Halbert
5f98953ed8
esp8266 and nrf: raise NotImplementedError
2018-04-10 12:08:41 -04:00
Peter D. Gray
59dda71038
stm32/main: Guard usb_mode lines in default boot.py by relevant #if.
2018-04-10 23:52:51 +10:00
Damien George
4ff05ae4e9
esp32/machine_uart: Remove UART event queue object.
...
This event queue has UART events posted to it and they need to be drained
for it to operate without error. The queue is not used by the uPy UART
class so it should be removed to prevent the IDF emitting errors.
Fixes #3704 .
2018-04-10 15:24:10 +10:00
Damien George
22f1414abb
stm32/i2c: Fully support peripheral I2C4.
2018-04-10 14:33:18 +10:00
Damien George
69bf23c9cf
stm32/i2c: Update HAL macros to use new __HAL_RCC prefix.
2018-04-10 14:28:39 +10:00
iabdalkader
e1e49adb86
stm32/boards/NUCLEO_H743ZI: Enable DAC peripheral.
2018-04-10 14:21:26 +10:00
iabdalkader
90bb98e83d
stm32/dac: Add support for H7 MCUs.
...
Includes a fix for H7 DAC DMA requests.
2018-04-10 14:21:26 +10:00
Damien George
cf31d384f1
py/stream: Switch stream close operation from method to ioctl.
...
This patch moves the implementation of stream closure from a dedicated
method to the ioctl of the stream protocol, for each type that implements
closing. The benefits of this are:
1. Rounds out the stream ioctl function, which already includes flush,
seek and poll (among other things).
2. Makes calling mp_stream_close() on an object slightly more efficient
because it now no longer needs to lookup the close method and call it,
rather it just delegates straight to the ioctl function (if it exists).
3. Reduces code size and allows future types that implement the stream
protocol to be smaller because they don't need a dedicated close method.
Code size reduction is around 200 bytes smaller for x86 archs and around
30 bytes smaller for the bare-metal archs.
2018-04-10 13:41:32 +10:00
Jeff Epler
1e9a27177c
esp8266: Disable "strict aliasing" in compiler like in atmel-samd
...
This caused a fatal compiler diagnostic after #750 . This compiler
flag is already specified in the atmel-samd builds, so it makes
sense to do it here for the same reasons.
2018-04-09 22:23:39 -04:00
Jeff Epler
eb7d0e317a
Create genhdr/ directory in time
2018-04-09 22:23:39 -04:00
Dan Halbert
aa8c262d14
add storage.erase_filesystem() to erase and reformat CIRCUITPY
2018-04-09 12:52:42 -04:00
Scott Shawcroft
4e053cea0d
Merge pull request #628 from sommersoft/super_status
...
Added Function To Check the Serial Connection From CircuitPython Layer
2018-04-08 22:06:09 -07:00
Dan Halbert
1e87a785b9
Move CDC Comm back to Interface 0 for compat with Win7 drivers.
2018-04-08 15:59:19 -04:00
Dan Halbert
726d5e52a3
Merge branch 'master' into 3.0_hid
2018-04-08 09:52:29 -04:00
Dan Halbert
a159b85340
Reorder composite device interfaces; fix report length bug
2018-04-08 09:33:02 -04:00
Scott Shawcroft
9672f3891e
Merge pull request #742 from jepler/esp8266-sdk-fixes
...
Adapt to incompatible changes in the ESP8266 SDK
2018-04-07 10:01:33 -07:00
Jeff Epler
d69ef6bfd3
esp8266/etshal: delete incorrect function prototypes
...
these are function prototypes not used in circuitpython. The
declarations began to conflict with ones in the upstream SDK
at some point, so delete them.
2018-04-06 20:37:48 -05:00
Paul Sokolovsky
4982a3ad32
esp8266/esp8266_common.ld: Put .text of more libs into .irom0.text .
...
Recent vendor SDKs ship libs with code in .text section, which previously
was going into .irom0.text. Adjust the linker script to route these
sections back to iROM (follows upstream change).
2018-04-06 20:37:41 -05:00
Jeff Epler
fe6f5aaa70
atmel-samd: reset: reset() was always entering bootloader mode
...
.. set the dbl_tap word to a different special value unless
RUNMODE_BOOTLOADER was selected
2018-04-05 08:16:53 -05:00
Jeff Epler
5eb9f9d060
atmel-samd: Fix rebooting to bootloader
...
Commit efbf08266b
moved _estack in order to ensure 8-byte alignment
of the stack, but the address of _bootloader_dbl_tap must remain
right at the end of SRAM.
I verified by reading the source that the 4-byte-aligned address is
used for all samd21 / samd51 boards in
adafruit/circuitpython@efbf08266b . However, I only tested on
trinket_m0.
Closes : #739
2018-04-03 21:40:10 -05:00
Dan Halbert
beb6ad2e40
Add USB HID support, including Consumer Control
2018-04-02 21:37:44 -04:00
Dan Halbert
435e894fa0
Merge branch 'master' into 3.0_hid
2018-04-02 19:19:43 -04:00
Dan Halbert
d005b12326
WIP: seems to be done
2018-04-02 19:08:18 -04:00
Jeff Epler
c592b0e0f8
ports/windows: Remove appveyor.yml
...
.. this allows developers who want to work with both micropython and
circuitpython to enable appveyor on their fork, but not get errors
when pushing circuitpython changes.
In the appveyor configuration for your fork, simply enable the
checkbox "Skip branches without appveyor.yml".
2018-04-02 07:59:12 -05:00
Scott Shawcroft
d65ea992bf
Merge pull request #729 from jepler/tests-parallel-circuitpython
...
Optionally parallelize the testsuite
2018-03-31 09:55:21 -07:00
Jeff Epler
f8e0baa0b7
appveyor: parallelize tests
2018-03-31 10:43:57 -05:00
Jeff Epler
b59964f707
ports/unix/Makefile: parallelize tests
2018-03-31 10:42:33 -05:00
Dan Halbert
c00b25ec45
WIP: HID works with MSC interfaces removed
2018-03-30 23:31:28 -04:00
Dan Halbert
df91878d2e
WIP: works with just keyboard but not complex report descriptor
2018-03-30 23:24:00 -04:00
sommersoft
8af98d0dc9
ambiguized directory paths
2018-03-30 22:44:16 +00:00
sommersoft
a5b60647be
improved arrangement
2018-03-30 22:26:21 +00:00
sommersoft
7c0be04696
verbiage cleanup
2018-03-30 22:21:35 +00:00
sommersoft
c70acab8b3
updated README; added git submodule info
2018-03-30 22:16:36 +00:00
sommersoft
6ee573c7c9
Merge branch 'master' into super_status
2018-03-30 14:27:39 -05:00
Damien George
bc3a5f1917
stm32/mphalport: Use MCU regs to detect if cycle counter is started.
...
Instead of using a dedicated variable in RAM it's simpler to use the
relevant bits in the DWT register.
2018-03-29 16:23:52 +11:00
Damien George
b833f170c3
stm32/main: Only update reset_mode if board doesn't use a bootloader.
...
If the board is configured to use a bootloader then that bootloader will
pass through the reset_mode.
2018-03-29 16:16:58 +11:00
Damien George
7856a416bd
stm32/main: Rename main to stm32_main and pass through first argument.
...
The main() function has a predefined type in C which is not so useful for
embedded contexts. This patch renames main() to stm32_main() so we can
define our own type signature for this function. The type signature is
defined to have a single argument which is the "reset_mode" and is passed
through as r0 from Reset_Handler. This allows, for example, a bootloader
to pass through information into the main application.
2018-03-29 16:15:57 +11:00
Damien George
d9e69681f5
stm32: Add custom, optimised Reset_Handler code.
...
The Reset_Handler needs to copy the data section and zero the BSS, and
these operations should be as optimised as possible to reduce start up
time. The versions provided in this patch are about 2x faster (on a Cortex
M4) than the previous implementations.
2018-03-29 15:29:23 +11:00
Scott Shawcroft
676ed4e199
Merge pull request #724 from tannewt/fix_freetouch_submodule
...
Remove freetouch files that were accidentally checked in and
2018-03-28 14:24:32 -07:00
Scott Shawcroft
7b2215a27c
Merge pull request #723 from jepler/high-quality-float-hash
...
Enable high-quality float hash
2018-03-28 14:16:32 -07:00
Scott Shawcroft
19b0b414e6
Remove freetouch files that were accidentally checked in and
...
readd the submodule.
2018-03-28 14:04:53 -07:00
Damien George
7e28212352
stm32/boards/STM32L476DISC: Update to not take the address of pin objs.
2018-03-28 16:29:55 +11:00
Damien George
2dca693c24
stm32: Change pin_X and pyb_pin_X identifiers to be pointers to objects.
...
Rather than pin objects themselves. The actual object is now pin_X_obj and
defines are provided so that pin_X is &pin_X_obj. This makes it so that
code that uses pin objects doesn't need to know if they are literals or
objects (that need pointers taken) or something else. They are just
entities that can be passed to the map_hal_pin_xxx functions. This mirrors
how the core handles constant objects (eg mp_const_none which is
&mp_const_none_obj) and allows for the possibility of different
implementations of the pin layer.
For example, prior to this patch there was the following:
extern const pin_obj_t pin_A0;
#define pyb_pin_X1 pin_A0
...
mp_hal_pin_high(&pin_A0);
and now there is:
extern const pin_obj_t pin_A0_obj;
#define pin_A0 (&pin_A0_obj)
#define pyb_pin_X1 pin_A0
...
mp_hal_pin_high(pin_A0);
This patch should have minimal effect on board configuration files. The
only change that may be needed is if a board has .c files that configure
pins.
2018-03-28 16:29:50 +11:00
Jeff Epler
abec199c19
Enable high-quality float hash
...
This appears to have a relatively small impact on flash usage but
fixes some pathological slow behavior putting floats in dicts or sets.
Closes : #704
2018-03-27 21:56:30 -05:00
Jeff Epler
fe7f405fc7
Add VfsFat.label property
...
These allow accessing the filesystem label. For instance,
in boot.py, you can set the label on the built-in storage with:
storage.remount('/', False)
storage.getmount('/').label = "NEWLABEL"
storage.remount('/', True)
Users with multiple CIRCUITPY boards may find it desirable to
choose a different label for each board they own.
2018-03-27 21:28:18 -05:00
iabdalkader
cf1d6df05a
stm32/boards/NUCLEO_H743ZI: Enable SD card support.
2018-03-28 13:25:00 +11:00
iabdalkader
b4f814c9b7
stm32/sdcard: Add H7 SD card support.
2018-03-28 13:25:00 +11:00
iabdalkader
9b9896b44d
stm32/dma: Remove H7 SDMMC DMA descriptors.
...
The H7 SD peripheral has direct connection to MDMA instead.
2018-03-28 13:23:40 +11:00
Damien George
1efe6a0316
stm32/boards/NUCLEO_H743ZI: Update to build with new linker management.
2018-03-28 13:20:48 +11:00
Damien George
b121c9515d
stm32/boards/stm32h743.ld: Remove include of common.ld.
...
The relevant common.ld file should now be included explicitly by a
particular board.
2018-03-28 13:20:07 +11:00
Dan Halbert
4c2f729a7a
Merge pull request #713 from jepler/lto-type-diagnostic-bis
...
Allow building on gcc 5.4, while preserving ability to build with 7.2
2018-03-27 09:28:41 -04:00
Damien George
4d409b8e32
stm32/boards/stm32f767.ld: Add definition of FLASH_APP.
...
This allows F767 MCUs to support a bootloader in the first sector.
2018-03-27 21:35:03 +11:00
Damien George
04de9e33bc
stm32/system_stm32: Set VTOR pointer from TEXT0_ADDR.
2018-03-27 21:32:39 +11:00
Damien George
dcf4eb8134
stm32/boards: Add common_bl.ld for boards that need a bootloader.
2018-03-27 21:30:45 +11:00
Damien George
ddb3b84c70
stm32/boards: Add common_basic.ld for a board to have a single section.
2018-03-27 21:29:45 +11:00
Damien George
ed75b2655f
stm32/Makefile: Allow a board to config either 1 or 2 firmware sections.
...
This patch forces a board to explicitly define TEXT1_ADDR in order to
split the firmware into two separate pieces. Otherwise the default is now
to produce only a single continuous firmware image with all ISR, text and
data together.
2018-03-27 21:24:15 +11:00
Damien George
95b2cb008e
stm32/Makefile: Rename FLASH_ADDR/TEXT_ADDR to TEXT0_ADDR/TEXT1_ADDR.
...
To make it clearer that these addresses are both for firmware text and that
they have a prescribed ordering.
2018-03-27 21:20:04 +11:00
Damien George
7aec06ca9a
stm32/boards: Allow boards to have finer control over the linker script.
...
This patch allows a particular board to independently specify the linker
scripts for 1) the MCU memory layout; 2) how the different firmware
sections are arranged in memory. Right now all boards follow the same
layout with two separate firmware section, one for the ISR and one for the
text and data. This leaves room for storage (filesystem data) to live
between the firmware sections.
The idea with this patch is to accommodate boards that don't have internal
flash storage and only need to have one continuous firmware section. Thus
the common.ld script is renamed to common_ifs.ld to make explicit that it
is used for cases where the board has internal flash storage.
2018-03-27 21:17:48 +11:00
Damien George
a6009a9e35
stm32/*bdev.c: Eliminate dependency on sys_tick_has_passed.
...
Explicitly writing out the implementation of sys_tick_has_passed makes
these bdev files independent of systick.c and more reusable as a general
component. It also reduces the code size slightly.
The irq.h header is added to spibdev.c because it uses declarations in that
file (irq.h is usually included implicitly via mphalport.h but not always).
2018-03-27 20:38:57 +11:00
Damien George
6f1e857624
stm32/qspi: Don't take the address of pin configuration identifiers.
...
Taking the address assumes that the pin is an object (eg a struct), but it
could be a literal (eg an int). Not taking the address makes this driver
more general for other uses.
2018-03-27 20:34:55 +11:00
Damien George
6b51eb22c8
stm32: Consolidate include of genhdr/pins.h to single location in pin.h.
...
genhdr/pins.h is an internal header file that defines all of the pin
objects and it's cleaner to have pin.h include it (where the struct's for
these objects are defined) rather than an explicit include by every user.
2018-03-27 20:25:24 +11:00
Kattni
77938db8c8
Merge pull request #719 from tannewt/fix_i2c_hang
...
Fix I2C init hang when the SCL pin is pulled low.
2018-03-26 20:08:14 -04:00
Dan Halbert
4190aa2eed
Merge pull request #715 from jepler/array-operation-restrictions-bis
...
Remove 'O', 'P' support in arrays
2018-03-26 20:01:34 -04:00
Scott Shawcroft
cebcec5e63
Check for floating pins by pulling them low briefly before testing their values.
2018-03-26 16:32:16 -07:00
Jeff Epler
355bf8b553
Conditionally compile out nonstandard array/struct typecodes
...
.. defaulting to off for circuitpython-supported boards, on for others.
.. fixing up the tests that fail when it is turned off, so that they skip
instead of failing
2018-03-26 18:13:49 -05:00
Scott Shawcroft
25ba8ee489
Add an s because grammar.
2018-03-26 15:21:08 -07:00
Scott Shawcroft
37538fc0e7
Fix I2C init hang when the SCL pin is pulled low.
...
We added a check to make sure the pins are in a high state before
initing the bus. This leads to a friendly error message when someone
forgets to add the pull up resistors to their circuit.
2018-03-26 15:13:52 -07:00
Scott Shawcroft
ea39f4378e
Merge pull request #698 from sommersoft/repl_fix
...
Fix 128 Character Max Paste Into REPL
2018-03-26 13:02:43 -07:00
sommersoft
9bd55cf4c7
minor cleanup
2018-03-26 08:14:37 -05:00
sommersoft
23009fdd63
future-proof for buffer size changes
2018-03-26 06:25:04 +00:00
Dan Halbert
8b6aeb9e19
Merge pull request #702 from jepler/issue689bis
...
correct typo in filename
2018-03-25 23:58:00 -04:00
Jeff Epler
d57397f9c8
Remove an unneeded -Wno-error=lto-type-mismtach
2018-03-25 22:04:15 -05:00
Jeff Epler
c0029e1d97
Don't lose half of the processor's serial number
...
Before this change, `microcontroller.cpu.uid` returned values
where the top 4 bits of each byte were zero, because of
an incorrect bitmask used in this function.
2018-03-25 13:01:04 -05:00
Damien George
b63cc1e9ef
stm32/Makefile: Re-enable strict aliasing optimisation for ST HAL files.
...
The HAL requires strict aliasing optimisation to be turned on to function
correctly (at least for the SD card driver on F4 MCUs). This optimisation
was recently disabled with the addition of H7 support due to the H7 HAL
having errors with the strict aliasing optimisation enabled. But this is
now fixed in the latest stm32lib and so the optimisation can now be
re-enabled.
Thanks to @chuckbook for finding that there was a problem with the SD card
on F4 MCUs with the strict aliasing optimisation disabled.
2018-03-26 00:00:47 +11:00
Dan Halbert
31f5b6a238
WIP: simple working HID
2018-03-24 18:29:12 -04:00
Jeff Epler
d80e54458d
correct typo in filename
2018-03-24 10:44:24 -05:00
sommersoft
6205ed9a0c
updated cdc_enabled; now more dynamic status return
2018-03-24 03:42:58 +00:00
sommersoft
ef16109c5d
updated with requested changes
2018-03-24 00:55:48 +00:00
sommersoft
f237657e5e
extended buffer check to usb_cdc_background
2018-03-23 18:41:27 +00:00
Scott Shawcroft
63d826a52a
Update USB PID
2018-03-23 09:34:02 -07:00
sommersoft
ccbe557e30
removed leftover debugging bits
2018-03-23 15:45:30 +00:00
sommersoft
d434635822
add buffer check before triggering new usb read
2018-03-23 15:07:02 +00:00
Scott Shawcroft
fd7dcff4e9
Add Feather M4 Express support.
...
* Also fixed detection of SPI flash chip to correct look in the 2+
spots.
* Added support for using QSPI in dual read mode.
2018-03-23 00:00:13 -07:00
Scott Shawcroft
06b4c83f59
Add reminder to remove Saleae when going fast.
2018-03-22 17:44:44 -07:00
Scott Shawcroft
3bf4d69f67
Update Metro M4 to rev F and make flash reset on start.
2018-03-22 16:42:47 -07:00
Jeff Epler
a7e3c74fed
Autocreate files that prevent MacOS indexing of the CIRCUITPYTHON dive
...
.. the price of this appears to be about 112 bytes of flash and 12
bytes of RAM, according to the stats printed during the build.
It also uses up 4 directory entries (out of 128), but does not reduce
the number of blocks usable for storing file contents.
These are the same items noted in the Adafruit README for Trinket M0
as preventing MacOS indexing.
Closes : #689
2018-03-22 08:07:32 -05:00
Scott Shawcroft
9ab39eb2d2
Merge pull request #688 from jepler/atsamd-build-reqs
...
Better document build requirements and steps
2018-03-20 10:03:01 -07:00
Scott Shawcroft
0f90f35606
Merge pull request #685 from jepler/uart-diagnostic
...
UART: Fix maybe-uninitialized diagnostic
2018-03-20 09:59:31 -07:00
Jeff Epler
3f82fe8da9
README.rst: document mpy-cross gotcha
...
This was biting me, leading to an odd error later on.
2018-03-20 07:53:30 -05:00
Jeff Epler
fa491b4c32
README.rst: spell out gcc version requirements
...
.. the text was adapted from ports/stm32 and a conversation with
Dan Halbert.
2018-03-20 07:53:30 -05:00
iabdalkader
7b0a020a02
stm32/boards/NUCLEO_H743ZI: Disable uSD transceiver.
...
There's no uSD Transceiver on this NUCLEO board.
2018-03-20 23:26:03 +11:00
iabdalkader
1e0a67f290
stm32/boards/NUCLEO_H743ZI: Enable hardware I2C support.
2018-03-20 23:25:43 +11:00
iabdalkader
24a9facd89
stm32/i2c: Add H7 I2C timing configurations.
...
Found the timing for full (400 KHz) and FM+ (1MHz) in the HAL examples, and
used CubeMX to calculate the standard value (100KHz).
2018-03-20 23:25:01 +11:00
iabdalkader
2ebc538d63
stm32/dma: Enable H7 DMA descriptors.
2018-03-20 23:24:45 +11:00
Jeff Epler
dddfad6594
UART: Fix maybe-uninitialized diagnostic
...
The following error occurs when building with gcc 5.4.1 (debian stretch):
common-hal/busio/UART.c:104:83: error: 'sercom_index' may be used uninitialized in this function [-Werror=maybe-uninitialized]
sercom_insts[rx->sercom[j].index]->USART.CTRLA.bit.ENABLE == 0) ||
It may be related to the addition of rx-only UARTs; gcc is unable
to infer the intended relationship between have_tx and sercom_index
being set (I am still not entirely confident of it myself)
2018-03-19 20:40:04 -05:00
Damien George
0abbafd424
stm32/can: Add "list" param to CAN.recv() to receive data inplace.
...
This API matches (as close as possible) how other pyb classes allow inplace
operations, such as pyb.SPI.recv(buf).
2018-03-19 15:12:24 +11:00
Damien George
e37b8ba5a5
stm32: Use STM32xx macros instead of MCU_SERIES_xx to select MCU type.
...
The CMSIS files for the STM32 range provide macros to distinguish between
the different MCU series: STM32F4, STM32F7, STM32H7, STM32L4, etc. Prefer
to use these instead of custom ones.
2018-03-17 10:42:50 +11:00
Damien George
06aa13c350
stm32/can: Use explicit byte extraction instead of casting to word ptr.
...
Casting the Data array to a uint32_t* leads to strict aliasing errors on
older gcc compilers.
2018-03-16 23:52:13 +11:00
Damien George
a25e6c6b65
stm32/can: Add CAN.info() method to retrieve error and tx/rx buf info.
2018-03-16 18:28:35 +11:00
Damien George
d7e67fb1b4
stm32/can: Add CAN.state() method to get the state of the controller.
...
This is useful for monitoring errors on the bus and knowing when a restart
is needed.
2018-03-16 17:10:41 +11:00
Kattni
05e2a7d1ac
Added digital pin assignments
2018-03-15 20:28:09 -04:00
Damien George
1272c3c65d
stm32/can: Add CAN.restart() method so controller can leave bus-off.
2018-03-15 17:29:30 +11:00
Damien George
823ca03008
stm32/can: Add "auto_restart" option to constructor and init() method.
2018-03-15 17:17:33 +11:00
Damien George
1608c4f5be
stm32/can: Use enums to index keyword arguments, for clarity.
2018-03-15 17:15:41 +11:00
Damien George
2036196d71
stm32/can: Improve can.recv() so it checks for events, eg ctrl-C.
...
This patch provides a custom (and simple) function to receive data on the
CAN bus, instead of the HAL function. This custom version calls
mp_handle_pending() while waiting for messages, which, among other things,
allows to interrupt the recv() method via KeyboardInterrupt.
2018-03-15 16:34:07 +11:00
Damien George
22a9158ced
stm32/boards/STM32L476DISC: Enable CAN peripheral.
...
This board allows to test CAN support on the L4 series.
2018-03-15 16:32:11 +11:00
jerryneedell
04b4026666
fix dotstar for Gemma_M0 in CP3.0
...
Uncomment lines in mpconfigport.h for gemma_m0 to allow dotstar access. same issue as #514 for trinket_m0
2018-03-14 21:28:56 -04:00
Dan Halbert
f173d45941
Merge pull request #678 from tannewt/m0_no_timer_fix
...
Correct NO_TIMER index value for SAMD21.
2018-03-14 15:04:39 -04:00
Scott Shawcroft
88aa0e2660
Remove SERCOM pointers from pin data structure because index is
...
enough.
This saves 380 bytes on the Arduino Zero build. (More pins ==
more savings.)
2018-03-14 11:14:32 -07:00
Scott Shawcroft
7a3f86d184
Check usb_busy up front in usb background function.
...
Waiting to do so risks accidentally queueing another response.
Hopefully fixes #655 but we'll let @jerryneedell confirm.
2018-03-14 10:32:41 -07:00
Damien George
34e224a4af
esp32/machine_uart: Return None from UART read if no data is available.
...
This is instead of returning an empty bytes object, and matches how other
ports handle non-blocking UART read behaviour.
2018-03-14 13:18:43 +11:00
Scott Shawcroft
c37ade9aeb
Correct NO_TIMER index value for SAMD21.
...
We check validity by ensuring it's lower than the total number of
timers. 0 is a terrible number for the NO_TIMER value because its
valid even though it shouldn't be.
Fixes https://github.com/adafruit/Adafruit_CircuitPython_SimpleIO/issues/29
2018-03-13 12:44:00 -07:00
Dan Halbert
b64d568267
Merge pull request #677 from tannewt/usb_active_read
...
Move usb read finish into interrupt.
2018-03-13 15:16:40 -04:00
Scott Shawcroft
8157248189
Move usb read finish into interrupt.
...
Having the `active_read = false` in the background function left
a chance that a new_write occurs before active_read is set to false.
In that case, we'll read the appropriate data rather than write it
and never clear the active write.
Hopefully fixes #655 .
2018-03-13 11:29:29 -07:00
vesperk38
945f2f5aa1
line 172 has a typo correct 2MB to 4MB
2018-03-13 13:42:29 -04:00
Damien George
033c32e694
esp8266/esp_mphal.h: Fix I2C glitching by using input mode for od_high.
...
Certain pins (eg 4 and 5) seem to behave differently at the hardware level
when in open-drain mode: they glitch when set "high" and drive the pin
active high for a brief period before disabling the output driver. To work
around this make the pin an input to let it float high.
2018-03-12 12:45:09 +11:00
Radomir Dopieralski
81ab2526e4
gamepad: Enable the gamepad module for express boards in 3.x
2018-03-11 13:39:54 +01:00
Damien George
1345093401
stm32/qspi: Do an explicit read instead of using memory-mapped mode.
...
Using an explicit read eliminates the need to invalidate the D-cache after
enabling the memory mapping mode, which takes additional time.
2018-03-11 18:28:48 +11:00
sommersoft
8c9cc6b7c0
nrf: changed Status to Runtime; instituted runtime singleton
2018-03-10 01:07:17 +00:00
Scott Shawcroft
e7fc0b6aa7
Use DMA for long SPI transactions including those to the SPI Flash.
...
QSPI is not currently working so its commented out.
This is progress on #652 .
2018-03-09 12:45:46 -08:00
Damien George
0d5bccad11
stm32/storage: Provide support for a second block device.
2018-03-10 01:03:27 +11:00
Damien George
bb3359f357
stm32/boards/STM32L476DISC: Provide SPI-flash bdev config.
...
This board shows how to configure external SPI flash as the main storage
medium. It uses software SPI.
2018-03-10 00:59:43 +11:00
Damien George
626d6c9756
stm32/storage: Introduce MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE cfg.
...
This config variable controls whether to support storage on the internal
flash of the MCU. It is enabled by default and should be explicitly
disabled by boards that don't want internal flash storage.
2018-03-10 00:59:43 +11:00
Damien George
d1c4bd69df
stm32/storage: Remove all SPI-flash bdev cfg, to be provided per board.
...
If a board wants to use SPI flash for storage then it must now provide the
configuration itself, using the MICROPY_HW_BDEV_xxx macros.
2018-03-10 00:59:43 +11:00
Damien George
1803e8ef22
stm32/storage: Make spi_bdev interface take a data pointer as first arg.
...
This allows a board to have multiple instances of the SPI block device.
2018-03-10 00:59:43 +11:00
Damien George
1e4caf0b1e
stm32/storage: Merge all misc block-dev funcs into a single ioctl func.
...
It makes it cleaner, and simpler to support multiple different block
devices. It also allows to easily extend a given block device with new
ioctl operations.
2018-03-10 00:59:43 +11:00
Damien George
a739b35a96
drivers/memory/spiflash: Change to use low-level SPI object not uPy one.
...
This patch alters the SPI-flash memory driver so that it uses the new
low-level C SPI protocol (from drivers/bus/spi.h) instead of the uPy SPI
protocol (from extmod/machine_spi.h). This allows the SPI-flash driver to
be used independently from the uPy runtime.
2018-03-10 00:59:43 +11:00
Damien George
58ebeca6a9
drivers/bus: Pull out software SPI implementation to dedicated driver.
...
This patch takes the software SPI implementation from extmod/machine_spi.c
and moves it to a dedicated file in drivers/bus/softspi.c. This allows the
SPI driver to be used independently of the uPy runtime, making it a more
general component.
2018-03-10 00:59:43 +11:00
iabdalkader
ad2a6e538c
stm32/system_stm32: Fix CONFIG_RCC_CR_2ND value to use bitwise or.
2018-03-09 23:37:09 +11:00
Tom Collins
993f4345c0
stm32/usbd_conf.h: Add include of stdint.h to fix compilation issues.
2018-03-09 16:08:08 +11:00
Bryan Siepert
942b7ffbe0
fixes hardware dotstar support for 3.0 and addresses issue #514
2018-03-08 20:39:47 -08:00
Damien George
eb56efb434
stm32: Remove startup_stm32.S, now provided in boards/ for each MCU.
2018-03-09 15:14:24 +11:00
iabdalkader
66748aaf60
stm32/Makefile: Use separate startup file for each MCU series.
2018-03-09 15:14:17 +11:00
iabdalkader
88157715db
stm32/boards: Add startup_stm32l4.s for L4 series specific startup.
2018-03-09 15:14:10 +11:00
iabdalkader
e3b81f5712
stm32/boards: Add startup_stm32f4.s for F4 series specific startup.
2018-03-09 15:14:03 +11:00
iabdalkader
d84f1a90cc
stm32/boards: Add startup_stm32f7.s for F7 series specific startup.
2018-03-09 15:13:56 +11:00
iabdalkader
0f5cce7753
stm32/boards: Add startup_stm32h7.s for H7 series specific startup.
2018-03-09 15:13:13 +11:00
iabdalkader
bbf19bb64e
stm32/main: Enable D2 SRAM1/2/3 clocks on H7 MCUs.
2018-03-09 15:12:58 +11:00
iabdalkader
61d463ad07
stm32/mpconfigboard_common: Add STM32H7 common configuration.
2018-03-09 15:12:44 +11:00
iabdalkader
6d3f42f713
stm32/extint: Add EXTI support for H7 MCUs.
2018-03-09 15:12:34 +11:00
iabdalkader
711f817c2a
stm32/rtc: Add RTC support for H7 MCUs.
2018-03-09 15:12:29 +11:00
iabdalkader
0e51e4d139
stm32/dma: Add DMA support for H7 MCUs.
2018-03-09 15:12:19 +11:00
iabdalkader
fe29419c10
stm32/stm32_it: Add support for H7 MCUs.
2018-03-09 15:12:01 +11:00
iabdalkader
2858e0aef8
stm32/usbd_conf: Add USB support for H7 MCUs.
2018-03-09 15:11:22 +11:00
iabdalkader
d151adb791
stm32/modmachine: Support basic H7 MCU features.
2018-03-09 15:10:53 +11:00
iabdalkader
0989e0cdff
stm32/timer: Add Timer support for H7 MCUs.
2018-03-09 15:10:46 +11:00
iabdalkader
b982b95c18
stm32/uart: Add UART support for H7 MCUs.
2018-03-09 15:10:39 +11:00
iabdalkader
a863c60439
stm32/wdt: Add WDT support for H7 MCUs.
2018-03-09 15:10:31 +11:00
iabdalkader
3f86fbcb07
stm32/mphalport: Use GPIO BSRRL/BSRRH registers for H7 MCUs.
2018-03-09 15:10:10 +11:00
iabdalkader
2e93d4167d
stm32/system_stm32: Add H7 MCU system initialisation.
2018-03-09 15:09:56 +11:00
iabdalkader
81f8f5f163
stm32/flash: Add flash support for H7 MCUs.
2018-03-09 15:09:49 +11:00
iabdalkader
b8d09b9bef
stm32/Makefile: Add settings to support H7 MCUs.
2018-03-09 15:09:29 +11:00
iabdalkader
fabfacf3d7
stm32/boards: Add new NUCLEO_H743ZI board configuration files.
...
USB serial and mass storage works, and the REPL is also available via the
UART through the on-board ST-LINK.
2018-03-09 15:08:11 +11:00
Damien George
8522874167
stm32/boards: Add stm32h743.ld linker script.
2018-03-09 15:08:11 +11:00
Damien George
a3c721772e
stm32/boards: Add stm32h743_af.csv file describing H7 GPIO alt funcs.
2018-03-09 14:06:34 +11:00
sommersoft
c1c3a79ec4
atmel-samd: changed Status to Runtime; instituted runtime singleton
2018-03-09 02:19:51 +00:00
Damien George
0b88a9f02e
unix/coverage: Allow coverage tests to pass with debugging disabled.
2018-03-08 12:49:31 +11:00
sec2
250b24fe36
stm32/boards/NUCLEO_F767ZI: Update pins list to include 3 extra pins.
2018-03-07 18:53:02 +11:00
sec2
bda3620616
stm32/boards/stm32f767_af.csv: Add ADC column to pin capability list.
2018-03-07 18:40:06 +11:00
Damien George
024edafea0
stm32/i2c: On F4 MCUs report the actual I2C SCL frequency.
2018-03-07 14:59:03 +11:00
Lee Seong Per
478ce8f7e3
esp32/modnetwork: Implement status('stations') to list STAs in AP mode.
...
The method returns a list of tuples representing the connected stations.
The first element of the tuple is the MAC address of the station.
2018-03-05 17:59:19 +11:00
Damien George
d4470af239
esp32: Revert "esp32/machine_touchpad: Swap pins 32 and 33."
...
This reverts commit 5a82ba8e07
.
Touch sensor 8 and 9 have a mismatch in some of their registers and this is
now fixed in software by the ESP IDF.
2018-03-05 14:06:45 +11:00
Olivier Ortigues
b691aa0aae
esp8266/esppwm: Always start timer to avoid glitch from full to nonfull.
...
The PWM at full value was not considered as an "active" channel so if no
other channel was used the timer used to mange PWM was not started. So
when another duty value was set the PWM timer restarted and there was a
visible glitch when driving LEDs. Such a glitch can be seen with the
following code (assuming active-low LED on pin 0):
p = machine.PWM(machine.Pin(0))
p.duty(1023) # full width, LED is off
p.duty(1022) # LED flashes brightly then goes dim
This patch fixes the glitch.
2018-03-05 11:39:44 +11:00
Damien George
adda38cf76
stm32/qspi: Add hardware QSPI driver, with memory-map capability.
...
It supports the abstract QSPI protocol defined in drivers/bus/qspi.h.
2018-03-03 00:17:08 +11:00
Damien George
8bd0a51ca9
stm32/spibdev: Convert to use multiple block read/write interface.
...
The spiflash driver now supports read/write of multiple blocks at a time.
2018-03-03 00:13:15 +11:00
Damien George
861080aa3d
stm32/storage: Add option for bdev to supply readblock/writeblocks.
...
If the underlying block device supports it, it's more efficient to
read/write multiple blocks at once.
2018-03-02 23:57:53 +11:00
Damien George
0210383da5
stm32/spibdev: Add option to configure SPI block dev to use QSPI flash.
...
To use QSPI (in software QSPI mode) the configuration needed is:
#define MICROPY_HW_SPIFLASH_SIZE_BITS (n * 1024 * 1024)
#define MICROPY_HW_SPIFLASH_CS (pin_x1)
#define MICROPY_HW_SPIFLASH_SCK (pin_x2)
#define MICROPY_HW_SPIFLASH_IO0 (pin_x3)
#define MICROPY_HW_SPIFLASH_IO1 (pin_x4)
#define MICROPY_HW_SPIFLASH_IO2 (pin_x5)
#define MICROPY_HW_SPIFLASH_IO3 (pin_x6)
2018-03-02 23:55:45 +11:00
Damien George
a0dfc38641
stm32/spibdev: Update to work with new spiflash driver.
2018-03-02 23:55:40 +11:00
Damien George
c607b58efe
tests: Move heap-realloc-while-locked test from C to Python.
...
This test for calling gc_realloc() while the GC is locked can be done in
pure Python, so better to do it that way since it can then be tested on
more ports.
2018-03-02 10:59:09 +11:00
Scott Shawcroft
01aceaae50
Support all boards and remove erase and page sizes because they never change.
2018-03-01 12:45:12 -08:00
Damien George
c3f1b22338
tests/unix: Add coverage tests for various GC calls.
2018-03-01 22:49:15 +11:00
Scott Shawcroft
2ab923862b
Structify flash device definitions.
2018-02-28 19:15:54 -08:00
Dan Halbert
568c04e6af
Merge pull request #650 from tannewt/merge_2x
...
Merge in commits from 2.x branch.
2018-02-27 22:03:52 -05:00
Scott Shawcroft
bf05183158
Merge remote-tracking branch 'adafruit/2.x' into merge_2x
2018-02-27 15:24:16 -08:00
Dan Halbert
5c24023240
use CONF_GCLK_DAC_SRC and refactor a bit
2018-02-27 17:21:03 -05:00
Dan Halbert
4895a9d1d8
Use safe clock freqs for AnalogOut; use DAC REFRESH on SAMD51.
2018-02-27 15:44:27 -05:00
Bryan Siepert
e42209a6b2
fixes timer number assumptions for samd51s for issue #646
2018-02-27 00:42:40 -08:00
Damien George
d3cac18d49
tests/unix: Add coverage test for VM executing invalid bytecode.
2018-02-27 16:18:11 +11:00
Scott Shawcroft
586be2eb22
Merge pull request #643 from dhalbert/3.0_esp8266_uart1
...
Add .baudrate support to ESP8266.
2018-02-26 17:40:13 -08:00
Dan Halbert
cc7acfd491
consistently brand Itsy Bitsy M0 as 'Express'
2018-02-26 17:37:03 -05:00
Damien George
c5fe610ba1
esp8266/modnetwork: Implement WLAN.status('rssi') for STA interface.
...
This will return the RSSI of the AP that the STA is connected to.
2018-02-26 16:41:13 +11:00
Damien George
01dcd5bb71
esp8266/uart: Allow to compile with event-driven REPL.
2018-02-26 16:10:27 +11:00
Damien George
62be14d77c
tests/unix: Add coverage tests for mpz_set_from_float, mpz_mul_inpl.
...
These new tests cover cases that can't be reached from Python and get
coverage of py/mpz.c to 100%.
These "unreachable from Python" pieces of code could be removed but they
form an integral part of the mpz C API and may be useful for non-Python
usage of mpz.
2018-02-25 23:43:16 +11:00
Dan Halbert
907b4417c0
Add .baudrate support to ESP8266.
...
busio.UART on ESP8266 provides a TX-only UART on GPIO2.
Fixed some bugs in the implementation.
2018-02-24 15:45:15 -05:00
Dan Halbert
957a82b592
add board.RX and .TX pins to metro_m4_express_revb
2018-02-23 09:54:39 -05:00
Damien George
989fc16162
stm32: Move MCU-specific cfg from mphalport.h to mpconfigboard_common.h.
...
It's cleaner to have all the MCU-specific configuration in one location,
not least to help with adding support for a new MCU series.
2018-02-23 16:54:07 +11:00
Damien George
ea05b400df
stm32/flash: Use FLASH_TYPEPROGRAM_WORD to support newer HALs.
2018-02-23 16:30:47 +11:00
Damien George
e6220618ce
stm32: Use "GEN" for describing files generated in the build.
...
Instead of "Create", to match the build output from the py/ core.
2018-02-23 16:27:30 +11:00
Kattni
7399a1a5c7
Merge pull request #634 from dhalbert/3.0_UART
...
Implement UART for 3.0 + related fixes.
2018-02-21 23:07:27 -05:00
Dan Halbert
5f101f3535
Add dummy UART implementation to nrf so it builds with UART turned on. Also add OneWire.
2018-02-21 22:53:17 -05:00
Damien George
60b0982bb2
stm32: Add board config option to enable/disable the ADC.
...
The new option is MICROPY_HW_ENABLE_ADC and is enabled by default.
2018-02-22 14:22:45 +11:00
Damien George
a36c700d9b
minimal/Makefile: Explicitly include lib/utils/printf.c in build.
...
The bare-metal port needs it and it's no longer included by default since
the Makefile now uses $(PY_CORE_O).
2018-02-22 13:19:09 +11:00
Damien George
9df6451ec5
ports/{bare-arm,minimal}/Makefile: Only build with core source files.
...
These ports don't need anything from extmod so don't include those files
at all in the build. This speeds up the build by about 10% when building
with a single core.
2018-02-22 12:48:51 +11:00
Dan Halbert
9b4477e1dc
Implement UART for 3.0 + related fixes.
...
1. UART: ported to ASF4. Allow rx-only and tx-only. Add .baudrate r/w property.
2. Make NeoPixel timing deterministic by turning off caches during NeoPixel writes.
3. Incorporate asf4 updates:
a. async USART driver
b. bringing Atmel START configuration closer to what we use
c. Clock initialization order now specified by CIRCUITPY_GCLK_INIT_1ST and _LAST.
4. supervisor/port.c: Move commented-out clock-test pin setting to correct location.
2018-02-21 17:18:49 -05:00
James Devine
9c5a9e3411
Update boards URL in README.rst
...
Corrected a (probably) old URL in the read me.
2018-02-21 16:14:46 +00:00
Damien George
82828340a0
ports: Enable ucollections.deque on relevant ports.
...
These ports are all capable of running uasyncio.
2018-02-21 22:55:13 +11:00
Damien George
cced43feb8
esp32/modsocket: Allow getaddrinfo() to take up to 6 args.
...
Currently only the first 2 args are used, but this patch should at least
make getaddrinfo() signature-compatible with CPython and other bare-metal
ports that use the lwip bindings.
2018-02-21 19:09:38 +11:00
Damien George
e600810f39
esp32/main: Allocate the uPy heap via malloc instead of on the bss.
...
This allows to get slightly more memory for the heap (currently around 110k
vs previous 92k) because the ESP IDF frees up some RAM after booting up.
2018-02-21 14:25:51 +11:00
Damien George
c49a73ab0e
esp32: Update to the latest ESP IDF.
...
This update requires a new ESP32 toolchain: 1.22.0-80-g6c4433a-5.2.0.
2018-02-21 14:24:10 +11:00
Scott Shawcroft
d02251f8cd
Add a new board for Metro M4 Express Rev B. This is the board
...
send to community members for testing.
Also tweaked and commented reset pin list for main Metro M4 Express
which is currently unreleased and is Rev D.
2018-02-20 12:34:07 -08:00
Scott Shawcroft
653fc8877d
Remove breakpoint instruction used for debugging.
2018-02-19 21:38:14 -08:00
sommersoft
60d6ccc731
changed spaced supervisor/Status.c line to tabbed
2018-02-20 03:44:45 +00:00
sommersoft
5de8df7997
added Status submodule to ports/nrf/common-hal/supervisor; issue #544
2018-02-19 22:27:16 +00:00
Scott Shawcroft
15f626be58
m4 qspi works. m0 compiles
2018-02-19 14:02:04 -08:00
Scott Shawcroft
f20d5723aa
Reorganize things. Reading jdec works.
2018-02-19 14:02:04 -08:00
Scott Shawcroft
4710a2adba
Compiles for m4. Untested on m0.
...
This introduces a new spi_flash_api.h that works for both SPI and
QSPI. The previous spi_flash functions are now called external_flash
to minimize confusion.
2018-02-19 14:02:04 -08:00
Scott Shawcroft
a2bd772d5c
Begin rework to add qspi support.
2018-02-19 14:02:04 -08:00
sommersoft
9ee4d13756
added Status submodule to ports/atmel-samd/common-hal/supervisor; issue #544
2018-02-19 20:49:18 +00:00
Damien George
27fa9881a9
esp32/modnetwork: Implement dhcp_hostname for WLAN.config().
2018-02-19 17:02:56 +11:00
Damien George
5a82ba8e07
esp32/machine_touchpad: Swap pins 32 and 33.
...
Based on testing, this is how the mapping should be.
2018-02-19 00:36:55 +11:00
Dan Halbert
cb39bfcad9
Merge pull request #625 from tannewt/pulseio3
...
Re-enable pulseio for SAMD21 and SAMD51
2018-02-16 14:08:01 -05:00
Scott Shawcroft
a2b18b75d4
Fix loops and comma style.
2018-02-16 10:05:28 -08:00
Damien George
60c6b880fa
esp32/machine_rtc: Move export declaration from .c to common .h file.
2018-02-17 00:52:55 +11:00
Eric Poulsen
abec47a1cd
esp32/modesp32: Add new module "esp32" to support extra wake features.
...
The machine.Pin class is also updated to support these wake-on-pin
features.
2018-02-17 00:49:05 +11:00
Eric Poulsen
44033a1d27
esp32/machine_rtc: Add RTC class to machine module with sleep impl.
...
The machine.RTC class is added and the machine module is updated with the
implementation of sleep, deepsleep, reset_cause and wake_reason.
2018-02-17 00:47:17 +11:00
Scott Shawcroft
eb2b41810a
Turn on lto
2018-02-15 16:12:58 -08:00
Scott Shawcroft
538081528d
pulsein works on m0
2018-02-15 16:04:39 -08:00
Scott Shawcroft
fcde138ea3
pulsein works on m4
2018-02-15 15:12:58 -08:00
Kevin Townsend
fce0b0858f
Removed leftover build option
2018-02-15 21:46:14 +01:00
Kevin Townsend
10497d1db0
Update for style consistency
2018-02-15 21:44:05 +01:00
Kevin Townsend
6544f4cb5c
Cleanup minor typos
2018-02-15 21:42:24 +01:00
Kevin Townsend
da15053e0a
Fixed pin P0_00
2018-02-15 21:41:21 +01:00
Kevin Townsend
d4356f9416
Added second 'P0_00'
2018-02-15 17:00:58 +01:00
Kevin Townsend
cd7baed14d
Added note nrfutil and flashing
2018-02-15 16:00:34 +01:00
Kevin Townsend
70596b6641
Added note on MSDDisable
2018-02-15 15:51:10 +01:00
hathach
f989db25b5
more bootloader feather52840 update
2018-02-15 21:43:27 +07:00
hathach
2e0edd5a63
Merge branch 'nrf52840' of github.com:microbuilder/circuitpython into nrf52840
2018-02-15 15:19:47 +07:00
hathach
2c9cd38547
update bootloader for feather52840
2018-02-15 15:12:30 +07:00
Damien George
d966a33486
stm32: Change header include guards from STMHAL to STM32 to match dir.
2018-02-15 15:47:04 +11:00
Scott Shawcroft
07230f2637
pulsein compiles but doesn't work
2018-02-14 16:59:04 -08:00
Olivier Ortigues
359d2bdf84
esp8266/README.md: Update build instruction to reflect new ports dir.
2018-02-15 11:14:52 +11:00
Olivier Ortigues
5c83d05b49
esp8266/esppwm: Clip negative duty numbers to 0.
...
Prior to this patch a negative duty would lead to full PWM.
2018-02-15 11:12:41 +11:00
Scott Shawcroft
c7af17525b
m4 pulseout works
2018-02-14 11:38:52 -08:00
Damien George
ab7819c314
unix/mpconfigport_coverage: Enable range (in)equality comparison.
2018-02-14 23:22:02 +11:00
Damien George
24c513cbc3
unix/Makefile,embedding/Makefile: Remove obsolete use of STMHAL_SRC_C.
2018-02-14 15:24:21 +11:00
Scott Shawcroft
6a7d889dd4
m0 pulseout works. Factored out shared timer code.
2018-02-13 18:17:20 -08:00
Scott Shawcroft
8479eef578
m0 tc and tcc work
2018-02-13 16:44:04 -08:00
Damien George
e6235fe647
teensy: Update GPIO speed consts to align with changes in stm32 port.
2018-02-14 10:52:45 +11:00
Scott Shawcroft
6c3075bec6
m4 tc and tcc works. multi-tcc channels ok too.
2018-02-13 14:22:55 -08:00
Kevin Townsend
0981c579f0
Fixed pin names
2018-02-13 18:26:28 +01:00
Kevin Townsend
b65e97bdb3
Update pin names
2018-02-13 18:17:31 +01:00
Kevin Townsend
5160dda473
Merge branch 'master' into nrf52840
2018-02-13 18:13:47 +01:00
Kevin Townsend
7b1cc9985b
Merge branch 'master' of github.com:adafruit/circuitpython
2018-02-13 18:11:20 +01:00
Kevin Townsend
fac488fbf8
Merge pull request #617 from arturo182/nrf_gpio_cleanup
...
nrf: Change pin names on DKs to match silkscreen
2018-02-13 17:54:25 +01:00
Damien George
fa13e0d35b
stm32: Factor out flash and SPI block-device code to separate files.
...
Prior to this patch, storage.c was a combination of code that handled
either internal flash or external SPI flash and exposed one of them as a
block device for the local storage. It was also exposed to the USB MSC.
This patch splits out the flash and SPI code to separate files, which each
provide a general block-device interface (at the C level). Then storage.c
just picks one of them to use as the local storage medium. The aim of this
factoring is to allow to add new block devices in the future and allow for
easier configurability.
2018-02-13 22:21:46 +11:00
Kevin Townsend
283be4f58e
Added note on installing nrfutil
2018-02-13 11:55:24 +01:00
Kevin Townsend
7b6d1052d9
Improved README
2018-02-13 11:50:51 +01:00
Kevin Townsend
6a8bafc91b
Updated FATFS to 256KB
2018-02-13 11:50:29 +01:00
Kevin Townsend
fc28fc4f0b
Added notes on flashing bootloader
2018-02-13 11:26:10 +01:00
Kevin Townsend
4745272d6c
Added feather52840 readme
2018-02-13 09:34:09 +01:00
Damien George
34911f1a57
stm32/boards: Update all boards to work with new USB configuration.
2018-02-13 18:57:01 +11:00
Kevin Townsend
76eacad27b
Updated board detection macro
2018-02-13 08:52:17 +01:00
Damien George
5c320bd0b0
stm32: Introduce MICROPY_HW_ENABLE_USB and clean up USB config.
...
This patch allows to completely compile-out support for USB, and no-USB is
now the default. If a board wants to enable USB it should define:
#define MICROPY_HW_ENABLE_USB (1)
And then one or more of the following to select the USB PHY:
#define MICROPY_HW_USB_FS (1)
#define MICROPY_HW_USB_HS (1)
#define MICROPY_HW_USB_HS_IN_FS (1)
2018-02-13 18:51:08 +11:00
Kevin Townsend
9f1cd41d77
Update to S140
2018-02-13 08:44:35 +01:00
Kevin Townsend
d2b8ae66cb
Update mpconfigboard.h
2018-02-13 08:42:44 +01:00
Scott Shawcroft
cc616aea4e
m4 tc output works. Watch out for the PAC!
2018-02-12 23:41:26 -08:00
Kevin Townsend
59f25fb7a5
Update to S140
2018-02-13 08:40:40 +01:00
hathach
3a54a67f3d
add 52840 serial bootloader
2018-02-13 13:32:47 +07:00
hathach
3bb45511fa
add feather52840 board
2018-02-13 12:26:34 +07:00
Damien George
8aad22fdca
stm32/timer: Support MCUs that don't have TIM4 and/or TIM5.
2018-02-13 15:53:39 +11:00
Damien George
6e91ab5806
stm32/spi: Further updates to use newer versions of HAL names.
2018-02-13 15:53:08 +11:00
Damien George
3eb0694b97
stm32: Update HAL macro and constant names to use newer versions.
...
Newer versions of the HAL use names which are cleaner and more
self-consistent amongst the HAL itself. This patch switches to use those
names in most places so it is easier to update the HAL in the future.
2018-02-13 15:37:35 +11:00
arturo182
7579057ee2
nrf: Use -O1 for debug builds
...
While O0 is great for debugging, the produced binary doesn't fit on the
feather52 anymore.
2018-02-12 22:50:07 +01:00
arturo182
9962ea6449
nrf: Change pin names on DKs to match silkscreen
...
Quite a big revamp of the make-pins script, it is now used on each
build to generate the pin files, so the static ones are not needed
anymore.
2018-02-12 22:41:19 +01:00
Kevin Townsend
0388a57f77
Merge pull request #614 from arturo182/nrf_pca10040
...
nrf: Fix pca10040 support
2018-02-12 16:31:14 +01:00
Kevin Townsend
5d99cd0a20
Merge pull request #601 from arturo182/nrf_cleanup
...
Nrf cleanup
2018-02-12 11:28:47 +01:00
Damien George
8e1cb58a23
stm32/usbdev: Fix USBD setup request handler to use correct recipient.
...
Prior to this patch the USBD driver did not handle the recipient correctly
for setup requests. It was not interpreting the req->wIndex field in the
right way: in some cases this field indicates the endpoint number but the
code was assuming it always indicated the interface number.
This patch fixes this. The only noticeable change is to the MSC
interface, which should now correctly respond to the USB_REQ_CLEAR_FEATURE
request and hence unmount properly from the host when requested.
2018-02-12 17:22:59 +11:00
arturo182
f1d8a2d149
nrf: Fix memory misalignment during flash write
2018-02-10 14:43:58 +01:00
Scott Shawcroft
0397202288
m4 compiles, pwmout implemented but TC0 (A1) doesn't run
2018-02-09 17:21:06 -08:00
Scott Shawcroft
0398f308fa
m4 compiles, pwmout implemented
2018-02-09 16:37:27 -08:00
Scott Shawcroft
190e7d629e
WIP
2018-02-09 16:37:27 -08:00
Dan Halbert
b001c0711b
Correct _etext location; clean up .ld files
...
1. Make _extext and _sidata coincide. Old _etext location did not include
.ARM.exidx sections, which were usually absent but not always. So flash
data was copied to RAM in wrong place.
2. Use decimal constants with "K" and "M" suffixes in .ld files instead
of hex constants, to make them easier to read and check for accuracy.
2018-02-09 11:31:18 -05:00
Damien George
02f88cb2df
stm32/boards: Remove all config options that are set to defaults.
...
mpconfigboard_common.h now sets the defaults so there is no longer a need
to explicitly list all configuration options in a board's mpconfigboard.h
file.
2018-02-09 18:40:40 +11:00
Damien George
2d5bab46be
stm32: Add mpconfigboard_common.h with common/default board settings.
...
This file mirrors py/mpconfig.h but for board-level config options. It
provides a default configuration, to be overridden by a specific
mpconfigboard.h file, as well as setting up certain macros to automatically
configure a board.
2018-02-09 18:40:13 +11:00
Dan Halbert
6be6df6ae4
Merge pull request #609 from tannewt/bitbangio
...
Enable bitbangio now that we have digitalio.
2018-02-08 21:24:32 -05:00
Scott Shawcroft
3e63f59867
Use write instead of set because it clears the bits before setting them.
2018-02-08 16:12:33 -08:00
Scott Shawcroft
aeae0090af
Enable bitbangio now that we have digitalio.
...
Also remove a rogue neopixel_write.
2018-02-08 16:03:05 -08:00
Scott Shawcroft
82bc11585e
ports/atmel-samd: Re-enable analogio
...
This introduces SAMD51 support and re-enables SAMD21 support.
Fixes #263
2018-02-08 14:48:08 -08:00
Scott Shawcroft
3e79638b9c
Merge pull request #603 from siddacious/SAMD51G_support
...
Added SAMD51G support as per issue #597
2018-02-08 09:55:48 -08:00
Kevin Townsend
e5f0cfcf20
Merge pull request #604 from arturo182/nrf_bitbangio
...
nrf: Use the shared bitbangio module
2018-02-08 09:57:44 +01:00
Bryan Siepert
dfc2b82ede
Added SAMD51G support as per issue #597
2018-02-07 21:23:25 -08:00
Damien George
0b12cc8feb
.travis.yml,ports/unix/Makefile: Add coverage test for script via stdin.
2018-02-08 11:30:19 +11:00
Damien George
923ebe767d
tests/unix: Add coverage test for calling mp_obj_new_bytearray.
2018-02-08 11:14:30 +11:00
Kevin Townsend
71128b575f
Merge pull request #602 from arturo182/nrf_struct
...
nrf: Use the shared struct module
2018-02-08 00:56:31 +01:00
arturo182
a7cde0e49a
nrf: Fix pca10040 support
...
Works with no SD, or s132 2.0.1 and 5.0.0.
2018-02-07 23:41:21 +01:00
arturo182
381f47bfb0
nrf: Only support SD 132 v2.0.1 and v5.0.0 and SD 140 v6.0.0
2018-02-07 22:44:27 +01:00
arturo182
8bfdaa89b9
nrf: Remove SAMD mentions carried over while copying files
2018-02-07 22:44:27 +01:00
arturo182
05bd5d4ee6
nrf: Remove nRF51 boards and files, update README
2018-02-07 22:44:13 +01:00
arturo182
29ae4cdd1c
nrf: Fix building pca10056 without SD
2018-02-07 22:41:26 +01:00
arturo182
47c8e20e5a
nrf: Make sure to not use SD functions when SD not available
2018-02-07 22:41:20 +01:00
Kevin Townsend
9d191f7f9f
Merge pull request #589 from arturo182/nrf_gamepad
...
nrf: Implement ticks, add gamepad module and example
2018-02-07 22:17:05 +01:00
arturo182
afaee7f782
nrf: Use the shared bitbangio module
2018-02-07 00:03:23 +01:00
arturo182
021df5d3d3
nrf: Cleanup AnalogOut and throw an exception in constructor
...
The nRF MCUs do not support analog output. Throwing an exception
in the constructor will stop users from creating an instance of
the AnalogOut class.
In the future we can ifdef-out the whole class so it is not available
in the module at all.
2018-02-06 21:15:49 +01:00
Kevin Townsend
c433a82082
Merge pull request #573 from arturo182/master
...
nRF port improvements and pca10056 support
2018-02-06 15:26:40 +01:00
arturo182
d1b2f69771
nrf: Use the shared struct module
2018-02-05 20:50:06 +01:00
arturo182
1de2ee6884
nrf: Implement ticks, add gamepad module and example
2018-02-05 20:48:25 +01:00
arturo182
76f5c01798
nrf: Get the port working on pca10056 (nRF52840)
2018-02-05 20:38:41 +01:00
Damien George
cc92c0572e
stm32/main: Remove need for first_soft_reset variable.
2018-02-05 16:13:05 +11:00
Damien George
4607be3768
stm32/main: Reorder some init calls to put them before soft-reset loop.
...
The calls to rtc_init_start(), sdcard_init() and storage_init() are all
guarded by a check for first_soft_reset, so it's simpler to just put them
all before the soft-reset loop, without the check.
The call to machine_init() can also go before the soft-reset loop because
it is only needed to check the reset cause which can happen once at the
first boot. To allow this to work, the reset cause must be set to SOFT
upon a soft-reset, which is the role of the new function machine_deinit().
2018-02-05 15:52:36 +11:00
Damien George
12464f1bd2
stm32/rtc: Add compile-time option to set RTC source as LSE bypass.
...
To use the LSE bypass feature (where an external source provides the RTC
clock) a board must set the config variable MICROPY_HW_RTC_USE_BYPASS.
2018-02-05 15:22:15 +11:00
Damien George
011d1555cb
stm32/rtc: Fix RTC init to use LSI if LSI is already selected on boot.
...
Upon boot the RTC early-init function should detect if LSE or LSI is
already selected/running and, if so, use it. When the LSI has previously
(in the previous reset cycle) been selected as the clock source the only
way to reliably tell is if the RTCSEL bits of the RCC_BDCR are set to the
correct LSI value. In particular the RCC_CSR bits for LSI control do not
indicate if the LSI is ready even if it is selected.
This patch removes the check on the RCC_CSR bits for the LSI being on and
ready and only uses the check on the RCC_BDCR to see if the LSI should be
used straightaway. This was tested on a PYBLITEv1.0 and with the patch the
LSI persists correctly as the RTC source as long as the backup domain
remains powered.
2018-02-05 15:12:22 +11:00
Damien George
5a62f0faa6
stm32/rtc: Fix rtc_info flags when LSE fails and falls back to LSI.
...
Previously, if LSE is selected but fails and the RTC falls back to LSI,
then the rtc_info flags would incorrectly state that LSE is used. This
patch fixes that by setting the bit in rtc_info only after the clock is
ready.
2018-02-05 14:40:06 +11:00
Damien George
20f5de9b39
stm32/spi: Accept machine.SPI object in spi_from_mp_obj() function.
...
Also, change ValueError to TypeError if the argument to this function is
not of an SPI type.
2018-02-05 14:32:56 +11:00
Damien George
f8922627d3
stm32: Update LCD and network drivers to work with new SPI API.
2018-02-05 14:32:56 +11:00
Damien George
4ad3ede21a
stm32/spi: Provide better separation between SPI driver and uPy objs.
...
There is an underlying hardware SPI driver (built on top of the STM HAL)
and then on top of this sits the legacy pyb.SPI class as well as the
machine.SPI class. This patch improves the separation between these
layers, in particular decoupling machine.SPI from pyb.SPI.
2018-02-05 14:30:32 +11:00
arturo182
a64b5c84de
nrf: Fix missing LED GPIO initialization
...
led_init was never called, which means the GPIOs were never set to
output and the LEDs didn't work.
2018-02-03 13:51:11 +01:00
arturo182
6731b47d5a
nrf: Implement MCU temperature reading
...
If softdevice is available and enabled the SD function will be used,
otherwise use MCU registers.
2018-02-02 20:33:21 +01:00
arturo182
c6a542d166
nrf: Add SD 6.0.0-6.alpha to the download script
2018-02-02 20:31:47 +01:00
arturo182
fed9087274
nrf: Add flash section for fatfs for no SD pca10056
2018-02-02 20:31:47 +01:00
arturo182
616cbc6271
nrf: Use more generic header
...
It will include the mcu-specific header based on defines.
2018-02-02 20:31:47 +01:00
arturo182
d0b451be94
nrf: Use the right SPI registers on nRF52840
2018-02-02 20:31:47 +01:00
arturo182
a776c2a51c
nrf: Fix errorneous indent
...
Otherwise we get the "recipe commences before first target" messsage.
2018-02-02 20:31:47 +01:00
Damien George
4b8e58756b
stm32/i2c: Allow I2C peripheral state to persist across a soft reset.
...
The I2C sub-system is independent from the uPy state (eg the heap) and so
can safely persist across a soft reset.
2018-02-02 19:04:36 +11:00
Damien George
5ddd1488bd
stm32/spi: Allow SPI peripheral state to persist across a soft reset.
...
The SPI sub-system is independent from the uPy state (eg the heap) and so
can safely persist across a soft reset. And this is actually necessary for
drivers that rely on SPI and that also need to persist across soft reset
(eg external SPI flash memory).
2018-02-02 19:01:11 +11:00
Damien George
57d2ac1300
stm32/rng: Simplify RNG implementation by accessing raw peripheral regs.
...
It saves code size and RAM, and is more efficient to execute.
2018-02-02 18:22:57 +11:00
Damien George
762db9ad2f
stm32/spi: Add support for a board naming SPI peripherals 4, 5 and 6.
2018-02-02 17:44:05 +11:00
liamkinne
618aaa4a53
stm32/i2c: Use macros instead of magic numbers for I2C speed grades.
2018-02-02 12:15:05 +11:00
Damien George
db702ba722
stm32/usbdev: Add support for high-speed USB device mode.
...
This patch adds support in the USBD configuration and CDC-MSC-HID class for
high-speed USB mode. To enable it the board configuration must define
USE_USB_HS, and either not define USE_USB_HS_IN_FS, or be an STM32F723 or
STM32F733 MCU which have a built-in HS PHY. High-speed mode is then
selected dynamically by passing "high_speed=True" to the pyb.usb_mode()
function, otherwise it defaults to full-speed mode.
This patch has been tested on an STM32F733.
2018-02-01 17:57:44 +11:00
Damien George
71312d0bd1
stm32/usb: Allow board to select which USBD is used as the main one.
...
By defining MICROPY_HW_USB_MAIN_DEV a given board can select to use either
USB_PHY_FS_ID or USB_PHY_HS_ID as the main USBD peripheral, on which the
REPL will appear. If not defined this will be automatically configured.
2018-02-01 17:47:28 +11:00
Damien George
3130424b54
stm32/usbdev: Add support for MSC-only USB device class.
...
Select this mode in boot.py via: pyb.usb_mode('MSC')
2018-02-01 15:47:16 +11:00
Damien George
72ca049de7
stm32/sdcard: Use maximum speed SDMMC clock on F7 MCUs.
...
This will get the SDMMC clock up to 48MHz.
2018-02-01 15:17:18 +11:00
Damien George
467a5926bc
stm32/sdcard: Only define IRQ handler if using SDMMC1 peripheral.
...
So that the IRQ can be used by other peripheral drivers if needed.
2018-02-01 15:02:04 +11:00
Damien George
9e7d2c7abb
stm32/modmachine: In freq(), select flash latency value based on freq.
2018-02-01 14:06:18 +11:00
Damien George
e8a8fa77ca
stm32: Improve support for STM32F722, F723, F732, F733 MCUs.
2018-02-01 13:11:32 +11:00
Damien George
4e35d10829
stm32/can: Support MCUs without a CAN2 peripheral.
2018-02-01 13:11:02 +11:00
Damien George
583472e068
stm32/usbdev: Combine all str descriptor accessor funcs into one func.
...
There's no need to have these as separate functions, they just take up
unnecessary code space and combining them allows to factor common code, and
also allows to support arbitrary string descriptor indices.
2018-02-01 12:46:37 +11:00
Damien George
1d4246a2e8
stm32/usbdev: Reduce dependency on py header files.
2018-02-01 12:44:16 +11:00
Damien George
fed1b4fb56
stm32/sdcard: Make SD wait routine more power efficient by using WFI.
...
Using WFI allows the CPU to sleep while it is waiting, reducing power
consumption.
2018-02-01 12:20:45 +11:00
Damien George
c0496fd44d
stm32/spi: Make SPI DMA wait routine more power efficient by using WFI.
...
The routine waits for the DMA to finish, which is signalled from a DMA IRQ
handler. Using WFI makes the CPU sleep while waiting for the IRQ to arrive
which decreases power consumption. To make it work correctly the check for
the change in state must be atomic and so IRQs must be disabled during the
check. The key feature of the Cortex MCU that makes this possible is that
WFI will exit when an IRQ arrives even if IRQs are disabled.
2018-02-01 11:45:29 +11:00
Damien George
524ff30275
minimal/README: Update text to better describe what "make run" does.
2018-01-31 21:05:21 +11:00
Damien George
23f9f9495f
esp32/machine_uart: Fix check of UART id so it only allows valid UARTs.
2018-01-31 19:38:32 +11:00
Damien George
efdda2c62d
stm32: Add support for DHT11/DHT22 sensors.
2018-01-31 18:12:53 +11:00
Damien George
a40ce1d829
esp8266/modules: Move dht.py driver to drivers/dht directory.
2018-01-31 18:11:06 +11:00
stijn
df952633ef
windows: Add Appveyor CI builds for windows mingw port
...
Build and test 32bit and 64bit versions of the windows port using gcc
from mingw-w64. Note a bunch of tests which rely on floating point
math/printing have been disabled for now since they fail.
2018-01-31 16:09:15 +11:00
Peter D. Gray
1ed2c23efb
stm32/modmachine: Handle case of no MICROPY_PY_MACHINE_I2C.
2018-01-31 15:59:04 +11:00
Dan Halbert
eb49359aec
CPX: typo in mpconfigboard.h broke CIRCUITPY
2018-01-30 15:48:22 -05:00
Dan Halbert
64831f4e7d
add SPI.frequency to nRF
2018-01-30 13:23:00 -05:00
Dan Halbert
e550b024c5
atmel-samd: Correct computation of SPI baud rate.
...
all: Add .frequency read-only property for busio.SPI to return actual frequency.
Fix esp8266/posix_helpers.c, which was not up to date for the new
long-lived/short-lived heap allocation scheme.
2018-01-30 12:08:41 -05:00
Dan Halbert
a1e279a9d8
Merge pull request #556 from python-ugame/ugame10-3.0
...
Update ugame port for the final ugame10 version
2018-01-29 13:35:06 -08:00
Radomir Dopieralski
d595a03bbd
Update ugame port for the final ugame10 version
...
There have been multiple uGame prototypes with differences in the pins
and other details. This updates the board definition to fit the final
uGame 10 design.
2018-01-29 22:19:09 +01:00
Radomir Dopieralski
189c62ac7d
Bring back the _stage library
...
I have tested the _stage module, and it works fine, so I'm including it
in he sources again. It's still disabled by default in the
mpconfigport.h.
2018-01-29 21:24:46 +01:00
Dan Halbert
efbf08266b
make _estack be double-word aligned
2018-01-24 19:24:36 -05:00
Scott Shawcroft
6560596864
Switch to m_malloc_maybe and m_free to reduce our dependence on gc_alloc.
...
gc_alloc's API is changing and we shouldn't need to care about it.
So, we switch to m_malloc which has the default behavior we expect.
2018-01-23 16:45:07 -08:00
sommersoft
fe851fc15e
re-added header inlcusion for system_get_chip_id
2018-01-23 13:50:24 -08:00
brentrubell
ab1f133667
issue #536 CPX change SPI pin designations to externally available pins ( #540 )
...
* issue #536 CPX
* switched pin assignment
2018-01-22 19:31:55 -08:00
Tony DiCola
4bd1d09d74
Add missing Feather M0 RadioFruit boards: RFM69, RFM9x ( #539 )
2018-01-19 11:53:47 -08:00
sommersoft
44bc1711aa
Added Unique ID Functions/Updated Support Matrix ( #527 )
...
shared_bindings/index.rst: updated Support Matrix format as discussed in PR #503 & Issue #448 .
shared-bindings/microcontroller/Processor.c & .h: added UID lookup functionality for use with all ports. Fixes #462 .
2018-01-18 11:39:11 -08:00
hathach
dfa6b6e9c5
add Ctrl+C for REPL over bleuart
2018-01-18 11:32:47 -08:00
Kevin Townsend
d5af898999
Added note on REPL over NUS
2018-01-18 11:32:47 -08:00
hathach
5e6f113779
add REPL via bleuart
2018-01-18 11:32:47 -08:00
microbuilder
fda065ea89
Minor scan example cleanup
2018-01-18 11:32:47 -08:00
microbuilder
e2ebcbe514
Simple BLE scanner example
2018-01-18 11:32:47 -08:00
microbuilder
1276c12097
Enable SD132v2.0.1 BLE and UBLUEPY support by default
2018-01-18 11:32:47 -08:00
Dan Halbert
23eb79ca8f
turn on MICROPY_ENABLE_SOURCE_LINE in nrf
2018-01-16 18:11:54 -08:00
Dan Halbert
01443a9619
Make chosen features consistent across all boards and ports atmel-samd, esp8266, and nrf.
...
1. Turn off MICROPY_CPYTHON_COMPAT, which includes a number of minor CPython compatibility features,
most of which have workarounds, but uses up significant flash.
2. Turn on MICROPY_PY_SYS_MAXSIZE, which implements sys.maxsize.
3. Turn on MICROPY_CAN_OVERRIDE_BUILTINS, which implements "_" as the most recent value in the REPL,
and also enables redefining builtins.
2018-01-16 18:11:54 -08:00
Dan Halbert
2d5483082d
Checked wrong RCAUSE bit for system_reset
2018-01-08 15:45:07 -08:00
Dan Halbert
1805bcac76
enable use of CIRCUITPY_CANARY_WORD (needed for 2.2 merge) ( #513 )
...
enable use of CIRCUITPY_CANARY_WORD (needed for 2.2 merge)
RCAUSE (reset cause) is fetched differently in SAMD21 vs SAMD51
2018-01-08 09:44:06 -08:00
Dan Halbert
d0cc8abd31
revise boards/ files for 3.0. All now compiled (but I don't have all to test).
2018-01-04 14:16:53 -05:00
Dan Halbert
19d353ccd9
nrf: fixups for changes from 2.2
...
1. bidirectional SPI support (@microbuilder please check)
2. slight changes in DigitalIO types
3. placeholders (not implemented yet) for single/double-click bootloader support
2018-01-03 16:50:57 -05:00
Dan Halbert
d8686cc002
use correct LD_FILE in mpconfigboard.mk for boards with external flash
2018-01-03 16:49:38 -05:00
Dan Halbert
065e82015f
merge from 2.2.0 + fix up board defs
2018-01-02 21:25:41 -05:00
Dan Halbert
ce81c8dda9
Avoid gcc 7.2.1 compiler issues in nlr_push() ( #506 )
...
Avoid gcc 7.2.1 compiler issues in nlr_push()
2018-01-02 13:41:34 -08:00
hathach
a997ab258e
spacing clean up
2017-12-29 23:07:32 +07:00
hathach
7f79a0e78c
added Ctrl+C interrupt
2017-12-29 22:43:31 +07:00
hathach
a021a9e5f0
update uart to remove dependency on machine uart module
2017-12-29 21:25:43 +07:00
stijn
b184b6ae53
py/nlr: Fix nlr functions for 64bit ports built with gcc on Windows
...
The number of registers used should be 10, not 12, to match the assembly
code in nlrx64.c. With this change the 64bit mingw builds don't need to
use the setjmp implementation, and this fixes miscellaneous crashes and
assertion failures as reported in #1751 for instance.
To avoid mistakes in the future where something gcc-related for Windows
only gets fixed for one particular compiler/environment combination,
make use of a MICROPY_NLR_OS_WINDOWS macro.
To make sure everything nlr-related is now ok when built with gcc this
has been verified with:
- unix port built with gcc on Cygwin (i686-pc-cygwin-gcc and
x86_64-pc-cygwin-gcc, version 6.4.0)
- windows port built with mingw-w64's gcc from Cygwin
(i686-w64-mingw32-gcc and x86_64-w64-mingw32-gcc, version 6.4.0)
and MSYS2 (like the ones on Cygwin but version 7.2.0)
2017-12-29 22:24:46 +11:00
stijn
8041de59fe
windows/mpconfigport: Enable some features, including the Python stack
...
Add some features which are already enabled in the unix port and
default to using the Python stack for scoped allocations: this can be
more performant in cases the heap is heavily used because for example
the memory needed for storing *args and **kwargs doesn't require
scanning the heap to find a free block.
2017-12-29 22:14:16 +11:00
stijn
6fc58db5d8
windows/mpconfigport: Provide off_t definition for MSVC port
...
For MSVC off_t is defined in sys/types.h but according to the comment
earlier in mpconfigport.h this cannot be included directly.
So just make off_t the same as mp_off_t.
This fixes the build for MSVC with MICROPY_STREAMS_POSIX_API
enabled because stream.h uses off_t.
2017-12-29 22:14:16 +11:00
Peter D. Gray
dfe8980acf
stm32/spi: If MICROPY_HW_SPIn_MISO undefined, do not claim pin on init.
...
This permits output-only SPI use.
2017-12-28 18:00:20 +11:00
microbuilder
178925640b
Moved comment to avoid abbreviation
2017-12-27 21:13:39 +01:00
Paul Sokolovsky
7a9a73ee84
zephyr/main: Remove unused do_str() function.
...
The artifact of initial porting effort.
2017-12-26 20:16:08 +02:00
Paul Sokolovsky
d9977a8ad9
zephyr/Makefile: clean: Clean libmicropython.a too.
2017-12-26 14:46:16 +02:00
Damien George
b806889512
stm32/i2c: Support more I2C baudrates for F746, and more F7 MCUs.
2017-12-23 19:24:24 +11:00
Damien George
008e1788e8
stm32/i2c: Fix bug with I2C4 initialisation.
2017-12-23 19:22:52 +11:00
Damien George
d32417c096
stm32/uart: Support board configs with CTS/RTS on UART6.
2017-12-23 19:03:16 +11:00
microbuilder
a14bfeba64
Merge branch 'nrf52_3.x' of github.com:microbuilder/circuitpython into nrf52_3.x
2017-12-22 12:03:41 +01:00
microbuilder
60feb1a9aa
Added .gitattributes for ZIP bin support
2017-12-22 12:03:25 +01:00
Kevin Townsend
b3928288f0
Add files via upload
2017-12-22 12:02:15 +01:00
Kevin Townsend
8dcd9cc35c
Delete feather52_bootloader_5.0.0_s132_single.zip
2017-12-22 12:00:41 +01:00
Kevin Townsend
de72f7fabb
Delete feather52_bootloader_2.0.1_s132_single.zip
2017-12-22 12:00:34 +01:00
microbuilder
ad7cd0399d
Added 'mp_raise_NotImplementedError(NULL)'
2017-12-22 11:48:07 +01:00
microbuilder
b9e229f739
Removed old code snippets
2017-12-22 11:47:15 +01:00
microbuilder
ace872bf11
Added 'mp_raise_NotImplementedError(NULL)'
2017-12-22 11:45:51 +01:00
microbuilder
a3289c3c2f
Added D13 for standard LED examples
2017-12-22 11:42:33 +01:00
microbuilder
393bc9bce9
Removed leftover code snippet
2017-12-22 11:39:40 +01:00
microbuilder
c868b66f5b
Minor typo removed in path
2017-12-22 11:33:17 +01:00
microbuilder
99dd0a61ff
Spaces to tabs
2017-12-22 11:29:39 +01:00
Damien George
9bcdb0acd1
esp8266/Makefile: Remove commented-out unused lines.
...
These were copied from the stm32 port (then stmhal) at the very beginning
of this port, with the anticipation that the esp8266 port would have board
definition files with a list of valid pins and their names. But that has
not been implemented and likely won't be, so remove the corresponding lines
from the Makefile.
2017-12-22 17:16:42 +11:00
Ayke van Laethem
f16c775a07
esp32/README: Update toolchain setup.
2017-12-22 16:27:24 +11:00
Peter D. Gray
7a46d9ae73
stm32/uart: Add support for 7-bit modes: 7N1 and 7N2.
2017-12-22 15:37:17 +11:00
Damien George
c73360bfdb
stm32: Allow to build a board without any hardware I2C ports defined.
...
This patch adds in internal config value MICROPY_HW_ENABLE_HW_I2C that is
automatically configured, and enabled only if one or more hardware I2C
ports are defined in the mpconfigboard.h file. If none are defined then
the pyb.I2C class is excluded from the build, along with all supporting
code. The machine.I2C class will still be available for software I2C.
Disabling all hardware I2C on an F4 board saves around 10,000 bytes of code
and 200 bytes of RAM.
2017-12-22 15:20:42 +11:00
Peter D. Gray
82dc5c1d8c
stm32: Use corrected capitalization of HAL_SD_CardStateTypedef.
...
It was originally TypeDef. STM32L4 only supports Typedef and F4/F7 have
legacy macros in stm32_hal_legacy.h to support both.
2017-12-22 14:49:31 +11:00
microbuilder
60a23f0fb6
nRF52 update with internal file system support
2017-12-21 13:49:14 +01:00
Damien George
d7a52e1539
qemu-arm/test_main: Include setjmp.h because it's used by gc_collect.
...
And it's no longer unconditionally included by nlr.h, only if NLR_SETJMP
is defined.
2017-12-20 15:42:06 +11:00
Damien George
d8d633f156
unix/mpconfigport_coverage.h: Enable MICROPY_PY_IO_RESOURCE_STREAM.
...
Where possible it's important to test all code in the code base.
2017-12-19 17:04:55 +11:00
Damien George
e800e4463d
tests/unix: Add test for printf with %lx format.
2017-12-19 15:01:17 +11:00
Damien George
d1fd889ad0
esp32/machine_hw_spi: Remove unnecessary white space for consistency.
2017-12-18 15:46:08 +11:00
Eric Poulsen
9123c8d946
esp32/machine_hw_spi: Fix large HW SPI transfers by splitting them up.
...
Breaks up HW SPI transfers into maximum chunks of 32736 bits (4092 bytes),
because this is the maximum that the underlying ESP IDF will accept.
2017-12-18 15:44:35 +11:00
Paul Sokolovsky
ea742085ed
unix/mpconfigport.h: Allow to override stackless options from commandline.
2017-12-16 20:43:04 +02:00
Paul Sokolovsky
7f9a62408d
unix/Makefile: coverage: Allow user to pass CFLAGS_EXTRA.
...
This build sets CFLAGS_EXTRA itself, but preserve user's value as passed
on make command line/etc.
2017-12-16 20:23:12 +02:00
Paul Sokolovsky
dd35fe7ca0
zephyr/prj_base.conf: Bump MAIN_STACK_SIZE to let builtin testsuite run.
2017-12-15 18:17:00 +02:00
Paul Sokolovsky
6b19520a74
zephyr: Add support for binary with builtin testsuite.
...
If TEST is defined, file it refers to will be used as the testsuite
source (should be generated with tools/tinytest-codegen.py).
"make-bin-testsuite" script is introduce to build such a binary.
2017-12-15 12:10:39 +02:00
Damien George
badaf3ecfe
esp8266/machine_hspi: After an SPI write wait for last byte to transfer.
...
Because otherwise the function can return with data still waiting to be
clocked out, and CS might then be disabled before the SPI transaction is
complete. Fixes issue #3487 .
2017-12-14 10:43:18 +11:00