aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2019-05-24mpy-cross/mpconfigport.h: Remove defn of MP_NOINLINE to use global one.Damien George
A global definition of MP_NOINLINE was added to py/mpconfig.h long ago in 0f5bf1aafe0ca073d958f271bd96addc6da8fe10
2019-05-23windows: Fix line wrapping behaviour on the REPL.stijn
This enables going back to previous wrapped lines using backspace or left arrow: instead of just sticking to the beginning of a line, the cursor will move a line up.
2019-05-23stm32/sdcard: Add switch break to ensure only correct SD/MMC IRQ is run.Andrew Leech
2019-05-22py/mkrules.mk: Remove unnecessary ; in makefile.Sebastien Rinsoz
This ; make Windows compilation fail with GNU makefile 4.2.1. It was added in 0dc85c9f86735c35cf14555482b2c8923cf31a6a as part of a shell if- statement, but this if-statement was subsequently removed in 23a693ec2d8c2a194f61482dc0e1adb070fb6ad4 so the semicolon is not needed.
2019-05-22py: Update makefiles to use $(TOUCH) instead of hard coded "touch".Sebastien Rinsoz
The variable $(TOUCH) is initialized with the "touch" value in mkenv.mk like for the other command line tools (rm, echo, cp, mkdir etc). With this, for example, Windows users can specify the path of touch.exe.
2019-05-22nrf/mphalport: Use wfi to save power while waiting at the UART REPL.Damien George
2019-05-22nrf/uart: Make UART print output something, and add write method.Damien George
2019-05-22nrf/mpconfigport.h: Enable MICROPY_KBD_EXCEPTION by default.Damien George
2019-05-22nrf/uart: Change UART driver to be non-blocking and use IRQs.Damien George
As part of this, ctrl-C is now able to interrupt a running program.
2019-05-21nrf/nrfx_glue: Adapt to nrfx v.1.7.1.Glenn Ruben Bakke
Defining NRFX_STATIC_ASSERT macro to be empty, but available to nrfx.
2019-05-21lib/nrfx: Upgrade nrfx to master.Glenn Ruben Bakke
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.