496 Commits

Author SHA1 Message Date
Damien George
0a6c479187 lib/cmsis: Upgrade to CMSIS 5.5.1.
From https://github.com/ARM-software/CMSIS_5.git, tag 5.5.1
2019-06-03 14:40:57 +10:00
Glenn Ruben Bakke
85bde0889d lib/nrfx: Upgrade nrfx to master.
Updating the nrfx git submodule containing HAL drivers for nrf-port
from v1.3.1 to current master. The version pointed to is one commit
ahead of v1.7.1 release. The extra commit contains a bugfix for
nrfx_uart_tx_in_progress() making it report correctly.

The general upgrade of nrfx is considered to be safe, as almost all
changes in between 1.3.1 and 1.7.1 are related to peripherals and
target devices not used by the nrf-port as of today.
2019-05-21 17:45:01 +02:00
Damien George
1b3c1f9e6b lib/stm32lib: Update library to fix UART9/10 baudrate on F4 MCUs. 2019-05-20 15:16:14 +10:00
Damien George
b3939e2513 lib/utils/printf: Exclude __GI_vsnprintf alias for gcc 9 and above.
See issue #4457.
2019-05-11 00:31:40 -05:00
Scott Shawcroft
6440af5c06
Hide the traceback for the ReloadException.
Many users think it's an error when it's us simply stopping the
code.
2019-05-08 14:53:20 -07:00
Damien George
2459162599 lib/utils/interrupt_char: Invalidate interrupt char at start up.
Otherwise mp_interrupt_char will have a value of zero on start up (because
it's in the BSS) and a KeyboardInterrupt may be raised during start up.
For example this can occur if there is a UART attached to the REPL which
sends spurious null bytes when the device turns on.
2019-05-01 12:41:07 +10:00
Andrew Leech
859596ce25 lib/utils: Make pyexec_file_if_exists run frozen scripts if they exist.
So that boot.py and/or main.py can be frozen (either as STR or MPY) in the
same way that other scripts are frozen.  Frozen scripts have preference to
scripts in the VFS.
2019-05-01 11:27:51 +10:00
Damien George
06a532c227 lib/utils/pyexec: Add pyexec_file_if_exists() helper function.
It will only execute the script if it can be stat'd and is a file.
2019-04-26 15:21:09 +10:00
hathach
9d43a25d6e update tinyusb to fix disconnect/suspend issue with #1681 2019-04-04 17:59:20 -04:00
Damien George
ca5f8975fa lib/stm32lib: Update library to fix F7 MMC capacity calculation. 2019-04-01 17:04:43 +11:00
Scott Shawcroft
ab6896206d
Remove lwip submodule because it is unused. 2019-03-29 15:03:10 -07:00
Scott Shawcroft
1b97325418
Update TinyUSB to fix CDC OUT buffering
Fixes #1630
2019-03-26 16:15:52 -07:00
Damien George
350dbb89e6 lib/oofatfs: Update oofatfs library to fix issue with logic not.
From https://github.com/micropython/oofatfs, branch work-R0.13c,
commit 3b4ee5a646af2769b3dddfe17d5d866233c1e45b.
2019-03-07 15:03:09 +11:00
Damien George
7eadcaa8c6 lib/oofatfs: Update ffconf.h config for new oofatfs version. 2019-03-05 15:56:39 +11:00
Damien George
1a24bac6cb lib/oofatfs: Update oofatfs library to R0.13c working branch.
From https://github.com/micropython/oofatfs, branch work-R0.13c,
commit cb05c9486d3b48ffd6bd7542d8dbbab4b1caf790.

Large code pages (932, 936, 949, 950) have been removed from ffunicode.c
because they were not included in previous versions here.
2019-03-05 15:56:39 +11:00
Damien George
b6791ffbbe lib/netutils: Add function to print tracing info for Ethernet frames. 2019-02-26 23:32:19 +11:00
Dan Halbert
d218069f03
Merge pull request #1584 from tannewt/disable_concurrent_write_protection
Add option to disable the concurrent write protection
2019-02-21 17:15:50 -05:00
Scott Shawcroft
1a0596a2fb
Add option to disable the concurrent write protection
This allows writing to the filesystem from the host computer and
CircuitPython by increasing the risk of filesystem corruption.
2019-02-21 10:45:41 -08:00
Craig Forbes
1532863d83 Set __file__ for the main source file (e.g. code.py, main.py) 2019-02-20 21:37:29 -06:00
Scott Shawcroft
e6b140e7a0
Support print("", flush=True)
Fixes #1127
2019-02-15 16:53:19 -08:00
Mike Causer
812969d615 all: Change PYB message prefix to MPY.
Replaces "PYB: soft reboot" with "MPY: soft reboot", etc.

Having a consistent prefix across ports reduces the difference between
ports, which is a general goal.  And this change won't break pyboard.py
because that tool only looks for "soft reboot".
2019-02-12 15:18:33 +11:00
Damien George
8d1275ec0f lib/utils/gchelper: Add gchelper.h header file for assembler functions. 2019-02-12 14:37:41 +11:00
Damien George
f608f54ab0 lib/utils/gchelper_m3: Add gc_helper_get_sp() function. 2019-02-12 14:37:01 +11:00
Damien George
90e1303b2d lib/utils/gchelper_m3: Add license header and clean up code.
This file generates the same code with the cortex-m3 and cortex-m4
assembler directive, so use cortex-m3 to support more CPUs.
2019-02-12 14:16:24 +11:00
Damien George
e6d97e8a0b stm32: Move gchelper assembler code to lib/utils for use by other ports. 2019-02-12 14:11:21 +11:00
Lionel Debroux
591eb23e0f Fix a couple variable shadowing varnings.
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-02-07 20:10:43 +01:00
Damien George
7bbde67cb2 lib/utils/printf: Exclude __GI_vsnprintf alias for gcc 9 and above.
See issue #4457.
2019-02-06 01:12:51 +11:00
Scott Shawcroft
a393a6e0c5
Add fast seek support to file objects 2019-02-03 13:41:20 -08:00
Damien George
8faf17b93c lib/nrfx: Upgrade to nrfx v1.3.1. 2019-01-31 17:38:13 +11:00
hathach
d1fb384a4a
update tinyusb, work better with sd 2019-01-29 21:03:18 +07:00
Damien George
1fa8f977f5 lib/utils/pyexec: Implement paste mode with event driven REPL. 2019-01-28 23:00:19 +11:00
Damien George
f874e8184c lib/stm32lib: Update library to get F413 BOR defs and fix gcc 8 warning. 2019-01-24 11:33:59 +11:00
Scott Shawcroft
b5e40f52c2
Add USB MIDI support for SAMD and nRF.
The API should be identical to using a UART for MIDI.

Fixes #672
2019-01-09 14:02:11 -08:00
Tobias Badertscher
06236bf28e lib/utils: Add generic MicroPython IRQ helper functions.
Initial implementation of this is taken from the cc3200 port.
2018-12-29 17:08:55 +11:00
Scott Shawcroft
45b301856c
Switch TinyUSB back to hathach's version. The merge commit of the commit we were on. 2018-12-06 15:39:47 -08:00
Dan Halbert
f6c73b35f9
Merge pull request #1323 from notro/os_mkdir_a_b
shared-module/os: Fix os.mkdir('a/b')
2018-11-27 17:08:51 -05:00
Scott Shawcroft
324301e3bc
Update tinyusb to include control fixes. 2018-11-23 13:28:10 -08:00
Scott Shawcroft
fd3178b2fe
Update TinyUSB with SAMD fixes.
Fixes #1327
2018-11-14 14:54:00 -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
Noralf Trønnes
28383afa11 shared-module/os: Fix os.mkdir('a/b')
This fixes commit a99f9427420d("'/' and '\' are also acceptable ends of the path now") which broke mkdir.
The problem is where the directory name is a single letter like this:
>>> os.mkdir('a')
>>> os.mkdir('a/b')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 17] File exists
>>> os.mkdir('a/bb')
>>>

I wasn't smart enough to fix this in the oofatfs library, so I did it in the os shared module by
creating a path lookup function for the os methods that only deals with directories. I reverted
the library change introduced by the aforementioned commit.

This means that os.stat and os.rename can't handle trailing slashes. This is to avoid allowing
filenames with trailing slashes to pass through. In order to handle trailing slashes for these
it would be necessary to check if it really is a directory before stripping. I didn't do this
since the original issue was to make os.chdir tolerate trailing slashes.

There's an open MicroPython issue #2929 wrt. trailing slashes and mkdir.
2018-11-09 19:20:56 +01:00
Scott Shawcroft
168e23e466
Build refinement to handle warnings and quiet output 2018-11-09 00:11:43 -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
Damien George
f5d46a88aa lib/utils/pyexec: Forcefully unlock the heap if locked and REPL active.
Otherwise there is really nothing that can be done, it can't be unlocked by
the user because there is no way to allocate memory to execute the unlock.

See issue #4205 and #4209.
2018-10-13 16:21:08 +11:00
hathach
21ddb6b9b9 fix tinyusb cdc issue 2018-10-05 21:37:16 +07:00
Damien George
8960a28238 lib/libm/math: Add implementation of __signbitf, if needed by a port. 2018-09-27 15:21:04 +10:00
Damien George
4c08932e73 lib/libm/math: Fix int type in float union, uint64_t should be uint32_t.
A float is 32-bits wide.
2018-09-27 15:19:53 +10:00
Damien George
5f92756c2c lib/stm32lib: Update library to fix issue with filling USB TX FIFO. 2018-09-26 12:00:25 +10:00
hathach
d3e5ba83eb update nrfx to 1.3.0 2018-09-25 13:00:57 +07:00
Andrew Leech
57a73973ad lib/libm_dbl: Add implementation of copysign() for DEBUG builds.
This provides a double variant of the float copysignf from libm/math.c
which is required for DEBUG=1 builds when MICROPY_FLOAT_IMPL=double
2018-09-20 16:46:19 +10:00