aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-19esp32: Add basic support for Non-Volatile-Storage in esp32 module.Thorsten von Eicken
This commit implements basic NVS support for the esp32. It follows the pattern of the esp32.Partition class and exposes an NVS object per NVS namespace. The initial support provided is only for signed 32-bit integers and binary blobs. It's easy (albeit a bit tedious) to add support for more types. See discussions in: #4436, #4707, #6780
2021-02-19esp32: Add support to build with ESP-IDF v4.3 pre-release.Damien George
The esp32 port now builds against IDF v4.3-beta1, as well as v4.4-dev. Signed-off-by: Damien George <damien@micropython.org>
2021-02-19esp32/boards: Enable size optimisation for builds.Damien George
This enables -Os for compilation, but still keeps full assertion messages. With IDF v4.2, -Os changes the GENERIC firmware size from 1512176 down to 1384640, and the GENERIC_SPIRAM firmware is now 1452320 which fits in the allocated partition. Signed-off-by: Damien George <damien@micropython.org>
2021-02-18stm32/mboot: After sig verify, only write firmware-head if latter valid.Damien George
So that mboot can be used to program encrypted/signed firmware to regions of flash that are not the main application, eg that are the filesystem. Signed-off-by: Damien George <damien@micropython.org>
2021-02-17extmod/btstack: Use MICROPY_HW_BLE_UART_BAUDRATE for first UART init.Damien George
Otherwise the UART may be left in a state at baudrate=0. Signed-off-by: Damien George <damien@micropython.org>
2021-02-17stm32/mpbtstackport: Allow chipset and secondary baudrate to be set.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-17stm32/mpbthciport: Use mp_printf instead of printf for error message.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-17stm32/mpbthciport: Fix initial baudrate to use provided value.Andrew Leech
Fixes bug introduced in the recent bffb71f523e4bcc21b913af291deeb67091bed88
2021-02-17stm32/boards: Disable onewire module on boards with small flash.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-17stm32: Make pyb, uos, utime, machine and onewire modules configurable.Damien George
The default for these is to enable them, but they can now be disabled individually by a board configuration. Signed-off-by: Damien George <damien@micropython.org>
2021-02-17stm32/usb: Allow a board to configure USBD_VID and all PIDs.Damien George
If a board defines USBD_VID then that will be used instead of the default. And then the board must also define all USBD_PID_xxx values that it needs. Signed-off-by: Damien George <damien@micropython.org>
2021-02-17extmod/modussl: Fix ussl read/recv/send/write errors when non-blocking.Thorsten von Eicken
Also fix related problems with socket on esp32, improve docs for wrap_socket, and add more tests.
2021-02-17stm32/mboot: Add unpack-dfu command to mboot_pack_dfu.py tool.David Michieli
This command unpacks a previously packed DFU file, writing out a DFU which should be the same as the original (before packing).
2021-02-17extmod/modbluetooth: Allow NimBLE to use Zephyr static address.Jim Mussared
Zephyr controllers can be queried for a static address (computed from the device ID). BlueKitchen already supports this, but make them both use the same macro to enable the feature.
2021-02-17extmod/nimble/hal/hal_uart: Fix HCI_TRACE format specifiers.Jim Mussared
Makes this work consistently on unix and stm32 ports.
2021-02-17zephyr/modusocket: Fix parameter in calls to net_context_get_XXX().PTH
The following simple usocket example throws an error EINVAL on connect import usocket s = usocket.socket() s.connect(usocket.getaddrinfo('www.micropython.org', 80)[0][-1]) Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: [Errno 22] EINVAL Fixing the context parameter in calls of net_context_get_family() and net_context_get_type(), the connect works fine. Tested on a nucleo_h743zi board.
2021-02-17zephyr/boards: Add support for the nucleo_h743zi board.PTH
2021-02-16tools/ci.sh: Update zephyr docker image to v0.11.13.Maureen Helm
Updates the zephyr docker image to the latest, v0.11.13. This updates CI to use zephyr SDK v0.12.2 and GCC v10.2.0 for the zephyr port. Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-02-16zephyr: Build MicroPython as a cmake target.Maureen Helm
Refactors the zephyr build infrastructure to build MicroPython as a cmake target, using the recently introduced core cmake rules. This change makes it possible to build the zephyr port like most other zephyr applications using west or cmake directly. It simplifies building with extra cmake arguments, such as specifying an alternate conf file or adding an Arduino shield. It also enables building the zephyr port anywhere in the host file system, which will allow regressing across multiple boards with the zephyr twister script. Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-02-16zephyr: Remove unused build files.Maureen Helm
Removes zephyr port build files that aren't being used anymore. Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-02-16zephyr: Disable frozen source modules.Maureen Helm
Disables frozen source modules in the zephyr port. They are deprecated in the makefile rules and not implemented in the new cmake rules. Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-02-16py: Expand lists in core cmake custom commands.Maureen Helm
The core cmake rules use custom commands to invoke qstr processing scripts. For the zephyr port, it's possible that list arguments to these commands may contain generator expressions, therefore we need to expand them properly. Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-02-16zephyr: Update to zephyr v2.5.0.Maureen Helm
Updates the zephyr port build instructions and CI to use the latest zephyr release tag. Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-02-16tools/makemanifest.py: Allow passing option args to include().Jim Mussared
This allows customising which features can be enabled in a frozen library. e.g. `include("path.py", extra_features=True)` in path.py: options.defaults(standard_features=True) if options.standard_features: # freeze standard modules. if options.extra_features: # freeze extra modules. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-02-16tests/extmod: Add test for ThreadSafeFlag.Jim Mussared
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-02-16docs/library/uasyncio.rst: Add docs for ThreadSafeFlag.Jim Mussared
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-02-16extmod/uasyncio: Add ThreadSafeFlag.Jim Mussared
This is a MicroPython-extension that allows for code running in IRQ (hard or soft) or scheduler context to sequence asyncio code. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-02-16unix/moduselect: Don't allow both posix and non-posix configurations.Jim Mussared
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-02-16extmod/moduselect: Fix unsigned/signed comparison for timeout!=-1.Jim Mussared
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-02-16extmod/nimble: Ensure handle is set on read error.Jim Mussared
On error, the handle is only available on err->att_handle rather than in attr->handle used in the non-error case. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-02-15esp32: Set MICROPY_USE_INTERNAL_ERRNO=0 to use toolchain's errno.h.Thorsten von Eicken
The underlying OS (the ESP-IDF) uses it's own internal errno codes and so it's simpler and cleaner to use those rather than trying to convert everything to the values defined in py/mperrno.h.
2021-02-15esp32/modsocket: Remove unix socket error code translation.Thorsten von Eicken
The ESP-IDF has its own errno codes which should propagate out to the user.
2021-02-15esp32: Remove obsolete IDF v3 code wrapped in MICROPY_ESP_IDF_4.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-15esp32: Add support to build with ESP-IDF v4.2.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-15esp32: Add support to build with ESP-IDF v4.1.1.Damien George
ESP-IDF v4.0.2 is still supported. Signed-off-by: Damien George <damien@micropython.org>
2021-02-15esp32/README: Update based on new IDF v4 cmake build process.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-15tools/ci.sh: Change esp32 CI to work with idf.py and IDF v4.0.2.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-15esp32/boards: Enable BLE on all boards.Damien George
BLE was enabled by default on all boards in the existing make build. Signed-off-by: Damien George <damien@micropython.org>
2021-02-15esp32/boards: Remove old IDF v3 sdkconfig values.Damien George
IDF v3 is no longer supported with the move to cmake. Signed-off-by: Damien George <damien@micropython.org>
2021-02-15esp32: Remove traditional "make" capability.Damien George
It's now replaced by cmake/idf.py. But a convenience Makefile is still provided with traditional targets like "all" and "deploy". Signed-off-by: Damien George <damien@micropython.org>
2021-02-15esp32: Add explicit initialisers to silence compiler warnings.Damien George
This makes no functional change. See similar commit 9aa58cf8bac353297ff5e7b4f3331e5618046095 Signed-off-by: Damien George <damien@micropython.org>
2021-02-15esp32/esp32_rmt: Don't do unnecessary check for unsigned less than zero.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-15esp32: Add support to build using IDF with cmake.Damien George
This commit adds support for building the esp32 port with cmake, and in particular it builds MicroPython as a component within the ESP-IDF. Using cmake and the ESP-IDF build infrastructure makes it much easier to maintain the port, especially with the various new ESP32 MCUs and their required toolchains. Signed-off-by: Damien George <damien@micropython.org>
2021-02-15py,extmod: Add core cmake rule files.Damien George
These allow a port to use cmake natively instead of make. Signed-off-by: Damien George <damien@micropython.org>
2021-02-14stm32/mpbthciport: Only init the uart once, then use uart_set_baudrate.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-14stm32/uart: Add uart_set_baudrate function.Damien George
This allows changing the baudrate of the UART without reinitialising it (reinitialising can lead to spurious characters sent on the TX line). Signed-off-by: Damien George <damien@micropython.org>
2021-02-13extmod/uasyncio: Add asyncio.current_task().Jim Mussared
Matches CPython behavior. Fixes #6686
2021-02-13tools: Add filesystem action examples to pyboard.py help.Brianna Laugher
Signed-off-by: Brianna Laugher <brianna.laugher@gmail.com>
2021-02-13nrf/drivers/usb: Add USBD_IRQHandler which calls tud_int_handler.Damien George
This is needed for TinyUSB to process USB device IRQs. Related to #6325. Signed-off-by: Damien George <damien@micropython.org>
2021-02-12samd/mphalport: Fix USB CDC tx handling to work reliably.Damien George
Signed-off-by: Damien George <damien@micropython.org>