aboutsummaryrefslogtreecommitdiff
path: root/ports
AgeCommit message (Collapse)Author
2021-03-17stm32/Makefile: Allow QSTR_DEFS,QSTR_GLOBAL_DEPENDENCIES to be extended.Damien George
So a board can provide custom qstr definitions if needed. Signed-off-by: Damien George <damien@micropython.org>
2021-03-16stm32/Makefile: Fix C++ linker flags when toolchain has spaces in path.stijn
The GNU Make dir command uses spaces as item separator so it does not work for e.g building the STM32 port on Cygwin with a default Arm installation in "c:/program files (x86)/GNU Arm Embedded Toolchain". Fix by using POSIX dirname on a quoted path instead.
2021-03-14rp2: Use core-provided cmake fragments instead of custom ones.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-03-14extmod/extmod.cmake: Add modonewire.c to MICROPY_SOURCE_EXTMOD list.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-03-14rp2/modmachine: Enable machine.Signal class.Damien George
Fixes issue #6863. Signed-off-by: Damien George <damien@micropython.org>
2021-03-14rp2: Enabled more core Python features.Damien George
This brings the port's configuration closer to the stm32 and esp32 ports. Signed-off-by: Damien George <damien@micropython.org>
2021-03-13rp2: Enable uerrno module.Kevin Köck
Fixes #6991.
2021-03-12tests: Rename run-tests to run-tests.py for consistency.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-03-12esp32/machine_hw_spi: Use default pins when making SPI if none given.Damien George
The default pins can be optionally configured by a board. Fixes issue #6974. Signed-off-by: Damien George <damien@micropython.org>
2021-03-12rp2/rp2_flash: Prevent MICROPY_HW_FLASH_STORAGE_BASE being set negative.Andrew Scheller
2021-03-12rp2/modmachine: Re-init UART for REPL on frequency change.robert-hh
When UART is used for REPL and the MCU frequency is changed, the UART has to be re-initialised. Besides that the UART may have to be recreated after a frequency change, but with USB REPL this is not a problem. Thanks to @HermannSW for spotting and providing the change.
2021-03-12rp2/modmachine: Allow changing CPU clock frequency.robert-hh
Using the standard machine.freq(). The safe ranges tested were 10 and 12-270MHz, at which USB REPL still worked. Requested settings can be checked with the script: pico-sdk/src/rp2_common/hardware_clocks/scripts/vcocalc.py. At frequencies like 300MHz the script still signaled OK, but USB did not work any more.
2021-03-12rp2/rp2_pio: Fix sm.get(buf) to not wait after getting last item.robert-hh
sm.get(buf) was waiting for one item more than the length of the supplied buffer. Even if this item was not stored, sm_get would block trying to get an item from the RX fifo. As part of the fix, the edge case for a zero length buffer was moved up to the section where the function arguments are handled. In case of a zero length buffer, sm.get() now returns immediately that buffer.
2021-03-12rp2/rp2_pio: Allow more than 8 consecutive pins for PIO out/set/sideset.robert-hh
The bitmasks supplied for initialization of out/set/sideset were only 8 bit instead of 32. This resulted in an error, that not more than 8 consecutive pins would get initialized. Fixes issue #6933.
2021-03-11rp2/machine_uart: Add support for inverted TX and RX lines.robert-hh
Usage as in the other ports: keyword "invert" constants: INV_TX and INV_RX Sample: uart = UART(1, invert=UART.INV_TX | UART.INV_RX)
2021-03-11rp2/machine_uart: Add timeout/timeout_char to read and write.robert-hh
2021-03-11rp2: Enable VfsFat class for FAT filesystem support.StereoRocker
Allows interfacing with SD cards, for example.
2021-03-11mimxrt/boards: Add MIMXRT1050_EVK board, based on MIMXRT1060_EVK.svetelna
2021-03-11esp32/Makefile: Specify port and baud on erase_flash command.Mike Causer
2021-03-11stm32/boardctrl: Add MICROPY_BOARD_STARTUP hook.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-03-11stm32/spi: Fix baudrate calculation for H7 series.Reinhard Feger
Fixes issue #6342.
2021-03-11stm32/powerctrl: Save and restore EWUP state when configuring standby.Peter Hinch
This allows the user to enable wake-up sources using the EWUP bits, on F7 MCUs. Disabling the wake-up sources while clearing the wake-up flags follows the reference manual and ST examples.
2021-03-10stm32/main: Fix passing state.reset_mode to init_flash_fs.Braiden Kindt
state.reset_mode is updated by `MICROPY_BOARD_BEFORE_SOFT_RESET_LOOP` but not passed to `init_flash_fs`, and so factory reset is not executed on boards that do not have a bootloader. This bug was introduced by 4c3976bbcaf58266fdcaab264fee5b7a94a682e5 Fixes #6903.
2021-03-10stm32/make-stmconst.py: Allow "[]" chars when parsing source comments.Herwin Grobben
For STM32WB MCUs, EXTI offset addresses were not parsed due to the appearance of "[31:0]" in a comment in the .h file.
2021-03-09stm32/storage: Prevent attempts to read/write invalid block addresses.Andrew Leech
A corrupt filesystem may lead to a request for a block which is out of range of the block device limits. Return an error instead of passing the request down to the lower layer.
2021-03-02stm32/rfcore: Allow BLE settings to be changed by a board.Damien George
Two of the defaults have also changed in this commit: - MICROPY_HW_RFCORE_BLE_LSE_SOURCE changed from 1 to 0, which configures the LsSource to be LSE (needed due to errata 2.2.1). - MICROPY_HW_RFCORE_BLE_VITERBI_MODE changed from 0 to 1, which enables Viterbi mode, following all the ST examples. Signed-off-by: Damien George <damien@micropython.org>
2021-02-23rp2,stm32: Enable MICROPY_PY_UBINASCII_CRC32 to get ubinascii.crc32().Damien George
These ports already have uzlib enabled so this additional ubinascii.crc32 function only costs about 90 bytes of flash. Signed-off-by: Damien George <damien@micropython.org>
2021-02-21esp32: Define MICROPY_QSTRDEFS_PORT to include special qstrs.Damien George
Fixes issue #6942. Signed-off-by: Damien George <damien@micropython.org>
2021-02-21stm32/boards/NUCLEO_WB55: Enable LPUART1 on PA2/PA3.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-21stm32/uart: Add support for LPUART1 on L0, L4, H7 and WB MCUs.Chris Mason
Add LPUART1 as a standard UART. No low power features are supported, yet. LPUART1 is enabled as the next available UART after the standard U(S)ARTs: STM32WB: LPUART1 = UART(2) STM32L0: LPUART1 = UART(6) STM32L4: LPUART1 = UART(6) STM32H7: LPUART1 = UART(9) On all ports: LPUART1 = machine.UART('LP1') LPUART1 is enabled by defining MICROPY_HW_LPUART1_TX and MICROPY_HW_LPUART1_RX in mpconfigboard.h. Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
2021-02-19esp32: Make machine.soft_reset() work in main.py and reset_cause().Thorsten von Eicken
This commit fixes two issues on the esp32: - it enables machine.soft_reset() to be called in main.py; - it enables machine.reset_cause() to correctly identify a soft reset. The former is useful in that it enables soft resets in applications that are started at boot time. The support is patterned after the stm32 port.
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-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-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-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-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-16unix/moduselect: Don't allow both posix and non-posix configurations.Jim Mussared
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>