aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-24stm32/boards: Enable ussl module via mbedtls for boards with network.Damien George
2019-06-22esp32/modnetwork: Still try to reconnect to WLAN even with AUTH_FAIL.Damien George
WIFI_REASON_AUTH_FAIL does not necessarily mean the password is wrong, and a wrong password may not lead to a WIFI_REASON_AUTH_FAIL error code. So to improve reliability connecting to a WLAN always reconnect regardless of the error.
2019-06-19py/nlrthumb: Save and restore VFP registers s16-s21 when CPU has them.Damien George
These s16-s21 registers are used by gcc so need to be saved. Future versions of gcc (beyond v9.1.0), or other compilers, may eventually need additional registers saved/restored. See issue #4844.
2019-06-19esp32: Update to use ESP IDF v3.3-beta3.Damien George
This updates ESP IDF to use v3.3-beta3. And also adjusts README.md to point to stable docs which provide a link to download the correct toolchain for this IDF version, namely 1.22.0-80-g6c4433a-5.2.0
2019-06-17esp32/machine_sdcard: Fix bug in SPI slot number selection.Nicko van Someren
And fix minor typo in docs when referring to SDCard class.
2019-06-17esp8266/uart: Fix invalid ringbuf name when event driven REPL enabled.Paul m. p. P
2019-06-14stm32: In link script, define start of stack separately from heap end.Chris Mason
Previously the end of the heap was the start (lowest address) of the stack. With the changes in this commit these addresses are now independent, allowing a board to place the heap and stack in separate locations.
2019-06-11stm32/usbd_msc: Allow to compile when USB enabled and SD card disabled.Damien George
2019-06-11stm32/usb: Add "msc" kw-arg to pyb.usb_mode to select MSC logical units.Damien George
With this the user can select multiple logical units to expose over USB MSC at once, eg: pyb.usb_mode('VCP+MSC', msc=(pyb.Flash(), pyb.SDCard())). The default behaviour is the original behaviour of just one unit at a time.
2019-06-11stm32/usb: Use ARG_xxx enums to access kw args in pyb_usb_mode.Damien George
2019-06-11stm32/usbd_msc: Provide Mode Sense response data in MSC interface.Damien George
Eventually these responses could be filled in by a function to make their contents dynamic, depending on the attached logical units. But for now they are fixed, and this patch fixes the MODE SENSE(6) responses so it is the correct length with the correct header.
2019-06-11stm32/usbd_msc: Provide custom irquiry processing by MSC interface.Damien George
So the MSC interface can customise the inquiry response based on the attached logical units.
2019-06-11stm32/usbd_msc: Rework USBD MSC code to support multiple logical units.Damien George
SCSI can support multiple logical units over the one interface (in this case over USBD MSC) and here the MSC code is reworked to support this feature. At this point only one LU is used and the behaviour is mostly unchanged from before, except the INQUIRY result is different (it will report "Flash" for both flash and SD card).
2019-06-11tools/mpy-tool.py: Fix linking of qstr objects in native ARM Thumb code.Damien George
Previously, when linking qstr objects in native code for ARM Thumb, the index into the machine code was being incremented by 4, not 8. It should be 8 to account for the size of the two machine instructions movw and movt. This patch makes sure the index into the machine code is incremented by the correct amount for all variations of qstr linking. See issue #4829.
2019-06-05stm32/lwip_inc: Update to enable mDNS, TCP listen backlog, faster DHCP.Damien George
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.