aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-05stm32: Support optional lwIP mDNS responder.Damien George
2019-06-05extmod/extmod.mk: Include mdns app source in lwIP build.Damien George
2019-06-05stm32/boards/PYBD_SFx: Enable ussl module using mbedTLS.Damien George
2019-06-05stm32: Integrate optional mbedTLS component for ussl module.Damien George
To use it a board should define MICROPY_PY_USSL=1 and MICROPY_SSL_MBEDTLS=1 at the Makefile level. With the provided configuration it adds about 64k to the build.
2019-06-05extmod/modussl_mbedtls: Allow to build with object representation D.Damien George
2019-06-05unix/mpconfigport.mk: Update comment about TLS implementations.Damien George
As long as the submodule is checked out, mbedTLS is now fully integrated into the unix build if MICROPY_SSL_MBEDTLS=1.
2019-06-05extmod/extmod.mk: Integrate mbedTLS so it is built from source.Damien George
Setting MICROPY_PY_USSL and MICROPY_SSL_MBEDTLS at the Makefile-level will now build mbedTLS from source and include it in the build, with the ussl module using this TLS library. Extra settings like MBEDTLS_CONFIG_FILE may need to be provided by a given port. If a port wants to use its own mbedTLS library then it should not set MICROPY_SSL_MBEDTLS at the Makefile-level but rather set it at the C level, and provide the library as part of the build in its own way (see eg esp32 port).
2019-06-05lib: Add new submodule for mbedtls, currently at v2.17.0.Damien George
From upstream source: https://github.com/ARMmbed/mbedtls.git
2019-06-05extmod: Factor out makefile rules from py.mk to new extmod.mk file.Damien George
To logically separate extmod related rules out, and prevent py.mk from growing too large.
2019-06-05py/obj: Optimise small-int comparison to 0 in mp_obj_is_true.Yonatan Goldschmidt
Instead of converting to a small-int at runtime this can be done at compile time, then we only have a simple comparison during runtime. This reduces code size on some ports (e.g -4 on qemu-arm, -52 on unix nanbox), and for others at least doesn't increase code size.
2019-06-04tools/mpy-tool.py: Fix linking qstrs in native code, and multiple files.Damien George
Fixes errors in the tool when 1) linking qstrs in native ARM-M code; 2) freezing multiple files some of which use native code and some which don't. Fixes issue #4829.
2019-06-03stm32/modnetwork: Replace generic netif NIC polling with specific code.Damien George
It doesn't work to tie the polling of an underlying NIC driver (eg to check the NIC for pending Ethernet frames) with its associated lwIP netif. This is because most NICs are implemented with IRQs and don't need polling, because there can be multiple lwIP netif's per NIC driver, and because it restricts the use of the netif->state variable. Instead the NIC should have its own specific way of processing incoming Ethernet frame. This patch removes this generic NIC polling feature, and for the only driver that uses it (Wiznet5k) replaces it with an explicit call to the poll function (which could eventually be improved by using a proper external interrupt).
2019-06-03stm32/boards/PYBD_SFx: Enable CYW43 WLAN driver.Damien George
2019-06-03stm32: Integrate in the cyw43 driver and network.WLAN class.Damien George
Enable it by setting MICROPY_PY_NETWORK_CYW43=1 at the Makefile level.
2019-06-03stm32: Add low-level SDIO interface for cyw43 driver.Damien George
2019-06-03stm32/mphalport: Add support for having MAC in OTP region.Damien George
2019-06-03stm32/extint: Add extint_set() function for internal C access to EXTI.Damien George
2019-06-03stm32/modpyb: Add pyb.country() function to set the country.Damien George
To be used for peripherals (like radio) that must be location aware.
2019-06-03extmod: Add network-level class binding to cyw43 driver.Damien George
2019-06-03drivers: Add driver for CYW43xx WiFi SoCs.Damien George
2019-06-03gitattributes: Mark *.a files as binary.Damien George
2019-06-03lib/netutils: Add DHCP server component.Damien George
2019-06-03mpy-cross: Do not automatically build mpy-cross, rather do it manually.Damien George
Building mpy-cross automatically leads to some issues with the build process and slows it down. Instead, require it to be built manually.
2019-06-03lib/cmsis: Upgrade to CMSIS 5.5.1.Damien George
From https://github.com/ARM-software/CMSIS_5.git, tag 5.5.1
2019-06-03docs/machine: Add initial docs for new machine.SDCard class.Nicko van Someren
2019-06-03esp32: Add machine.SDCard class using built-in HW SD/MMC controller.Nicko van Someren
This adds support for SD cards using the ESP32's built-in hardware SD/MMC host controller, over either the SDIO bus or SPI. The class is available as machine.SDCard and using it can be as simple as: uos.mount(machine.SDCard(), '/sd')
2019-05-31travis: Build PYBD_SF2 board as part of the stm32 job.Damien George
2019-05-31stm32/boards: Add board definition files for PYBD -SF2, -SF3, -SF6.Damien George
These are core configurations providing PYBv1.x-level features.
2019-05-31stm32/boards/pllvalues.py: Search nested headers for HSx_VALUE defines.Damien George
2019-05-31stm32/boards/make-pins.py: Allow pins.csv to skip or hide board-pin nameDamien George
If the board-pin name is left empty then only the cpu-pin name is used, eg ",PA0". If the board-pin name starts with a hyphen then it's available as a C definition but not in the firmware, eg "-X1,PA0".
2019-05-31stm32/usb: Include py/mpconfig.h instead of mpconfigboard.h.Damien George
Because py/mpconfig.h has header include guards.
2019-05-31esp32/machine_timer: Reuse Timer handles, deallocate only on soft-reset.Martin Dybdal
The patch solves the problem where multiple Timer objects (e.g. multiple Timer(0) instances) could initialise multiple handles to the same internal timer. The list of timers is now maintained not for "active" timers (where init is called), but for all timers created. The timers are only removed from the list of timers on soft-reset (machine_timer_deinit_all). Fixes #4078.
2019-05-31stm32/usb: Support up to 3 VCP interfaces on USB device peripheral.Damien George
To enable define MICROPY_HW_USB_CDC_NUM to 3.
2019-05-30stm32/usb: Refactor CDC VCP code to enable N CDC interfaces.Damien George
The board config option MICROPY_HW_USB_ENABLE_CDC2 is now changed to MICROPY_HW_USB_CDC_NUM, and the latter should be defined to the maximum number of CDC interfaces to support (defaults to 1).
2019-05-29py/nativeglue: Remove dependency on mp_fun_table in dyn-compiler mode.Damien George
mpy-cross uses MICROPY_DYNAMIC_COMPILER and MICROPY_EMIT_NATIVE but does not actually need to execute native functions, and does not need mp_fun_table. This commit makes it so mp_fun_table and all its entries are not built when MICROPY_DYNAMIC_COMPILER is enabled, significantly reducing the size of the mpy-cross executable and allowing it to be built on more machines/OS's.
2019-05-29py/nativeglue: Make private glue funs all static, remove commented code.Damien George
2019-05-29all: Bump version to 1.11.Damien George
2019-05-29LICENSE: Update year range in top-level license.Damien George
2019-05-29stm32/mboot/README: Fix some typos, describe bootloader and fwupdate.py.Damien George
2019-05-29stm32/modmachine: In bootloader() disable caches before reset of periphsAndrew Leech
Otherwise flushing and disabling the D-cache will give a hard-fault when SDRAM is used. Fixes #4818.
2019-05-29extmod/modlwip: Register TCP close-timeout callback before closing PCB.Damien George
In d5f0c87bb985ae344014dc2041fbaad5c522f638 this call to tcp_poll() was added to put a timeout on closing TCP sockets. But after calling tcp_close() the PCB may be freed and therefore invalid, so tcp_poll() can not be used at that point. As a fix this commit calls tcp_poll() before closing the TCP PCB. If the PCB is subsequently closed and freed by tcp_close() or tcp_abort() then the PCB will not be on any active list and the callback will not be executed, which is the desired behaviour (the _lwip_tcp_close_poll() callback only needs to be called if the PCB remains active for longer than the timeout).
2019-05-29extmod/modlwip: Free any incoming bufs/connections before closing PCB.Damien George
Commit 2848a613ac61fce209962354c2698ee587a2c26a introduced a bug where lwip_socket_free_incoming() accessed pcb.tcp->state after the PCB was closed. The state may have changed due to that close call, or the PCB may be freed and therefore invalid. This commit fixes that by calling lwip_socket_free_incoming() before the PCB is closed.
2019-05-28esp32/modsocket: Raise EAGAIN when accept fails in non-blocking mode.Damien George
EAGAIN should be for pure non-blocking mode and ETIMEDOUT for when there is a finite (but non-zero) timeout enabled.
2019-05-28unix/modusocket: Raise ETIMEDOUT when connect or accept has timeout.Damien George
2019-05-28esp32/machine_touchpad: Use HW timer for FSM to enable wake-on-touch.Tom Manning
2019-05-27py/vm: Remove obsolete comments about matching of exception opcodes.Damien George
These are incorrect since 5a2599d96299ad37cda954f1de345159f9acf11c
2019-05-24stm32/sdram: Update MPU settings to block invalid region, change attrs.Andrew Leech
Set the active MPU region to the actual size of SDRAM configured and invalidate the rest of the memory-mapped region, to prevent errors due to CPU speculation. Also update the attributes of the SDRAM region as per ST recommendations, and change region numbers to avoid conflicts elsewhere in the codebase (see eth usage).
2019-05-24esp8266: Fix ticks_ms to correctly handle wraparound of system counter.Damien George
Fixes issue #4795.
2019-05-24zephyr: Switch back to enabling I2C in board-specific configs.Paul Sokolovsky
I2C can't be enabled in prj_base.conf because it's a board-specific feature. For example, if a board doesn't have I2C but CONFIG_I2C=y then the build will fail (on Zephyr build system side). The patch here gets the qemu_cortex_m3 build working again.
2019-05-24zephyr/README: Reorder content related to recently added I2C.Paul Sokolovsky
So it fits better with existing narrative.