chrismas9
868f23b362
stm32/boards/NUCLEO_F091RC: Enable LFS1 filesystem.
...
And disable some less common features to make space for it.
Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
2022-06-17 21:27:41 +10:00
chrismas9
fdbca3c143
stm32/boards/stm32f091xc.ld: Allocate space for a small filesystem.
...
Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
2022-06-17 21:27:32 +10:00
David Lechner
17f0297c1a
tools/ci.sh: Drop ppa requirement for code formatting CI.
...
The CI scripts were using a PPA to get a backported version of uncrustify
on Ubuntu 20.04. However, this causes CI to intermittently fail due to
connection issues to launchpad.net or the key server.
Ubuntu 22.04 has a newer version of uncrustify removing the need for the
PPA. Ubuntu 22.04 is now in beta on GitHub actions, so it can be used.
Signed-off-by: David Lechner <david@pybricks.com>
2022-06-17 16:56:41 +10:00
Maureen Helm
bada8b3cad
zephyr: Upgrade to Zephyr v3.1.0.
...
Updates the Zephyr port build instructions and CI to use the latest Zephyr
release tag.
Tested on frdm_k64f.
Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-06-17 16:51:34 +10:00
Maureen Helm
4fd54a4756
zephyr: Update include paths to use the zephyr namespace.
...
Zephyr v3.1.0 moved all public headers to include/zephyr.
Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-06-17 16:44:30 +10:00
Damien George
49c23ac08f
renesas-ra/machine_i2c: Remove unnecessary start/stop dummy functions.
...
The code in extmod/machine_i2c.c will check for NULL slots and raise an
appropriate exception.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-17 14:58:42 +10:00
Damien George
dea1ba3309
tools/metrics.py: Add mimxrt and renesas-ra to list of available ports.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-17 14:57:58 +10:00
Damien George
d8e7ecd231
stm32/modmachine: Factor out mboot enter code to a function.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-17 13:57:47 +10:00
iabdalkader
c5d26ee5e7
renesas-ra/modmachine: Allow boards to provide custom bootloader code.
...
And expose the machine_bootloader() C function so it can be used elsewhere.
2022-06-17 13:38:55 +10:00
iabdalkader
f522aabab2
rp2/modmachine: Allow boards to provide custom bootloader code.
...
And expose the machine_bootloader() C function so it can be used elsewhere.
2022-06-17 13:38:21 +10:00
iabdalkader
d8f5669532
nrf/modmachine: Add machine.bootloader() and make it customisable.
2022-06-17 13:37:44 +10:00
iabdalkader
0adf0dd3d7
stm32/modmachine: Allow boards to provide custom bootloader code.
...
And expose the machine_bootloader() C function so it can be used elsewhere.
2022-06-17 13:36:55 +10:00
iabdalkader
921dd94676
nrf/main: Add startup and early-init board hook macros.
...
Following stm32 for naming and location of the hooks. Also allow a board
to provide custom .c files to implement code for these hooks.
2022-06-17 13:23:45 +10:00
Damien George
9b486340da
all: Bump version to 1.19.1.
...
esp32 port / build_idf44 (push) Has been cancelled
esp8266 port / build (push) Has been cancelled
javascript port / build (push) Has been cancelled
mimxrt port / build (push) Has been cancelled
nrf port / build (push) Has been cancelled
powerpc port / build (push) Has been cancelled
qemu-arm port / build_and_test (push) Has been cancelled
renesas-ra port / build_renesas_ra_board (push) Has been cancelled
rp2 port / build (push) Has been cancelled
samd port / build (push) Has been cancelled
stm32 port / build_pyb (push) Has been cancelled
stm32 port / build_nucleo (push) Has been cancelled
teensy port / build (push) Has been cancelled
unix port / minimal (push) Has been cancelled
unix port / reproducible (push) Has been cancelled
unix port / standard (push) Has been cancelled
unix port / dev (push) Has been cancelled
unix port / coverage (push) Has been cancelled
unix port / coverage_32bit (push) Has been cancelled
unix port / nanbox (push) Has been cancelled
unix port / float (push) Has been cancelled
unix port / stackless_clang (push) Has been cancelled
unix port / float_clang (push) Has been cancelled
unix port / settrace (push) Has been cancelled
unix port / settrace_stackless (push) Has been cancelled
unix port / macos (push) Has been cancelled
unix port / qemu_mips (push) Has been cancelled
unix port / qemu_arm (push) Has been cancelled
windows port / build (push) Has been cancelled
zephyr port / build (push) Has been cancelled
Signed-off-by: Damien George <damien@micropython.org>
v1.19.1
2022-06-17 12:57:59 +10:00
Damien George
5233fb3a3d
extmod/machine_i2c: Only use WRITE1 option if transfer supports it.
...
When MICROPY_PY_MACHINE_I2C_TRANSFER_WRITE1 is enabled the port's hardware
I2C transfer functions should support the MP_MACHINE_I2C_FLAG_WRITE1
option, but software I2C will not. So add a flag to the I2C protocol
struct so each individual protocol can indicate whether it supports this
option or not.
Fixes issue #8765 .
Signed-off-by: Damien George <damien@micropython.org>
2022-06-17 11:57:57 +10:00
Damien George
d7919ea71e
all: Bump version to 1.19.
...
esp32 port / build_idf44 (push) Has been cancelled
esp8266 port / build (push) Has been cancelled
javascript port / build (push) Has been cancelled
mimxrt port / build (push) Has been cancelled
nrf port / build (push) Has been cancelled
powerpc port / build (push) Has been cancelled
qemu-arm port / build_and_test (push) Has been cancelled
renesas-ra port / build_renesas_ra_board (push) Has been cancelled
rp2 port / build (push) Has been cancelled
samd port / build (push) Has been cancelled
stm32 port / build_pyb (push) Has been cancelled
stm32 port / build_nucleo (push) Has been cancelled
teensy port / build (push) Has been cancelled
unix port / minimal (push) Has been cancelled
unix port / reproducible (push) Has been cancelled
unix port / standard (push) Has been cancelled
unix port / dev (push) Has been cancelled
unix port / coverage (push) Has been cancelled
unix port / coverage_32bit (push) Has been cancelled
unix port / nanbox (push) Has been cancelled
unix port / float (push) Has been cancelled
unix port / stackless_clang (push) Has been cancelled
unix port / float_clang (push) Has been cancelled
unix port / settrace (push) Has been cancelled
unix port / settrace_stackless (push) Has been cancelled
unix port / macos (push) Has been cancelled
unix port / qemu_mips (push) Has been cancelled
unix port / qemu_arm (push) Has been cancelled
windows port / build (push) Has been cancelled
zephyr port / build (push) Has been cancelled
Signed-off-by: Damien George <damien@micropython.org>
v1.19
2022-06-16 15:11:02 +10:00
Damien George
096954337f
stm32/mboot: Only include UI code if at least one board LED is defined.
...
Otherwise the board must provide dummy definitions of MBOOT_LED1.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-16 14:31:09 +10:00
Damien George
d75892c0b0
zephyr/modusocket: Fix function object wrapper for listen method.
...
This was missed by 919f696ad254bcc39effe7ce7fddae8cf406c954
Signed-off-by: Damien George <damien@micropython.org>
2022-06-15 11:38:09 +10:00
Phil Howard
37d5114cec
py/makemoduledefs.py: Emit useful error for legacy MP_REGISTER_MODULE.
...
Catch calls to legacy:
MP_REGISTER_MODULE(name, module, enable)
Emit a friendly error suggesting they be rewritten to:
MP_REGISTER_MODULE(name, module).
Signed-off-by: Phil Howard <phil@pimoroni.com>
2022-06-14 15:05:37 +01:00
Andrew Scheller
cedb93c179
docs: Update Raspberry Pi URLs from .org to .com.
2022-06-14 11:41:13 +10:00
iabdalkader
99d3a73d59
nrf/modules/uos/microbitfs: Fix MICROPY_MBFS build to use mp_obj_malloc.
...
Changes introduced in 0e7bfc88c6ac6b5d64240f91183a3cfe2ab67ade missed
changing this call to mp_obj_malloc.
2022-06-11 21:09:58 +10:00
iabdalkader
58b35c9abd
extmod/extmod.cmake: Fix hard-coded mbedtls config file path.
...
* The mbedtls config file path is hard-coded to the config file in
the stm32 port. Any port using this cmake fragment is not actually
using its own config file.
2022-06-11 21:00:13 +10:00
Damien George
cf7d962cf3
docs/reference/mpyfiles: Update .mpy description to match latest format.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-10 16:42:43 +10:00
Damien George
1f1afae622
examples/natmod/features3: Add example to test more natmod features.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-10 16:42:43 +10:00
Damien George
0e556f22a2
py/dynruntime: Add macros to access more types and mp_const_empty_bytes.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-10 16:42:43 +10:00
Jeremy Herbert
148d12252b
py/dynruntime: Add macros to create a new dict and store to dicts.
2022-06-10 16:42:43 +10:00
Damien George
17a0d65ee4
tools/mpy_ld.py: Support GOT entries that reference inside mp_fun_table.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-10 16:42:43 +10:00
Damien George
ee9feacc00
drivers/sdcard: Fix address calculation on v2 SDSC cards.
...
For v2 cards that are standard capacity the read/write/erase commands take
byte address values. Use the result of CMD58 to distinguish SDSC from
SDHC/SDXC.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-10 12:56:31 +10:00
Damien George
203b98c42b
drivers/sdcard: Make ioctl(4), ioctl(5) return num blocks, block size.
...
For CSD v1.0 the computed size is in bytes, so convert it to number of
512-byte blocks, and then ioctl(4) will return the correct value.
Also implement ioctl(5) to return the block size, which is always 512.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-10 12:56:30 +10:00
Yukai Li
ab6ad86793
drivers/sdcard: Fix CSD version 1.0 device size calculation.
...
Signed-off-by: Yukai Li <yukaili.geek@gmail.com>
2022-06-10 12:56:15 +10:00
Damien George
f63b4f85aa
py/parse: Work around xtensa esp-2020r3 compiler bug.
...
This commit works around a bug in xtensa-esp32-elf-gcc version esp-2020r3.
The bug is in generation of loop constructs. The below code is generated
by the xtensa-esp32 compiler. The first extract is the buggy machine code
and the second extract is the corrected machine code. The test
`basics/logic_constfolding.py` fails with the first code and succeeds with
the second.
Disassembly of section .text.push_result_rule:
00000000 <push_result_rule>:
...
d6: 209770 or a9, a7, a7
d9: 178976 loop a9, f4 <push_result_rule+0xf4>
d9: R_XTENSA_SLOT0_OP .text.push_result_rule+0xf4
dc: 030190 rsr.lend a9
df: 130090 wsr.lbeg a9
e2: a8c992 addi a9, a9, -88
e5: 06d992 addmi a9, a9, 0x600
e8: 130190 wsr.lend a9
eb: 002000 isync
ee: 030290 rsr.lcount a9
f1: 01c992 addi a9, a9, 1
f4: 1494e7 bne a4, a14, 10c <push_result_rule+0x10c>
f4: R_XTENSA_SLOT0_OP .text.push_result_rule+0x10c
Disassembly of section .text.push_result_rule:
00000000 <push_result_rule>:
...
d6: 209770 or a9, a7, a7
d9: 178976 loop a9, f4 <push_result_rule+0xf4>
d9: R_XTENSA_SLOT0_OP .text.push_result_rule+0xf4
dc: 030190 rsr.lend a9
df: 130090 wsr.lbeg a9
e2: 000091 l32r a9, fffc00e4 <push_result_rule+0xfffc00e4>
e2: R_XTENSA_SLOT0_OP .literal.push_result_rule+0x18
e5: 0020f0 nop
e8: 130190 wsr.lend a9
eb: 002000 isync
ee: 030290 rsr.lcount a9
f1: 01c992 addi a9, a9, 1
f4: 1494e7 bne a4, a14, 10c <push_result_rule+0x10c>
f4: R_XTENSA_SLOT0_OP .text.push_result_rule+0x10c
Work done in collaboration with @jimmo.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 13:56:30 +10:00
Damien George
3452ee58d3
stm32/boards/LEGO_HUB_NO6: Add comment to readme about powering off.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 13:24:08 +10:00
Damien George
45a0c6da5b
stm32/mboot: Remove MP_WEAK on led funcs and make some of them static.
...
Both led_init and led_state are configurable via MBOOT_BOARD_LED_INIT and
MBOOT_BOARD_LED_STATE respectively, so don't need to be MP_WEAK.
Furthermore, led_state and led0_state are private to ui.c so can be made
static.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 13:24:08 +10:00
Damien George
bd5152c928
stm32/mboot: Add board-configurable SysTick hook.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 13:24:08 +10:00
Damien George
313f082896
tools/ci.sh: Build native .mpy examples for armv7emsp, xtensawin in CI.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 13:24:08 +10:00
Damien George
abb3850398
tools/mpy_ld.py: Support R_XTENSA_PDIFF32 relocation.
...
Newer versions of the ESP-IDF's toolchain use this relocation.
Fixes issue #8436 .
Signed-off-by: Damien George <damien@micropython.org>
2022-06-09 11:57:22 +10:00
Damien George
85597aa68e
esp32/machine_pin: Only expose IO20 on esp32 for IDF 4.3.2 and above.
...
This IO was enabled in IDF commit 68f8b999bb69563f2f3d1d897bc073968f41f3bf,
which is available in IDF release v4.3.2 and above.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-08 18:29:01 +10:00
Damien George
6a1dbaad1c
tools/ci.sh: Build NUCLEO_H743ZI with -O2 optimisation level.
...
This tests the build when -O2 is used, which can lead to additional
compiler analysis and warnings.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-08 15:00:59 +10:00
Damien George
182256dc13
tests/stress: Adjust bytecode_limit test so it can SKIP if no memory.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-08 15:00:59 +10:00
Damien George
c7271a86ca
py/makemoduledefs.py: Remove shebang line and adjust style of comment.
...
This file is not executable so shouldn't have the shebang line. This line
can cause issues when building on Windows msvc when the PyPython variable
is set to something other than "python", because it reverts back to using
the shebang line.
The top comment is also changed to """ style which matches all other
preprocessing scripts in the py/ directory.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-08 15:00:59 +10:00
Damien George
cbad559366
py/compile: Give the compiler a hint about num nodes being non-zero.
...
Without this, newer versions of gcc (eg 11.2.0) used with -O2 can warn
about `q_ptr` being maybe uninitialized, because it doesn't know that there
is at least one qstr being written in to this (alloca'd) memory.
As part of this, change the type of `n` to `size_t` so the compiler knows
it's unsigned and can generate better code.
Code size change for this commit:
bare-arm: -28 -0.049%
minimal x86: -4 -0.002%
unix x64: +0 +0.000%
unix nanbox: -16 -0.003%
stm32: -24 -0.006% PYBV10
cc3200: -32 -0.017%
esp8266: +8 +0.001% GENERIC
esp32: -52 -0.003% GENERIC
nrf: -24 -0.013% pca10040
rp2: -32 -0.006% PICO
samd: -28 -0.020% ADAFRUIT_ITSYBITSY_M4_EXPRESS
Signed-off-by: Damien George <damien@micropython.org>
2022-06-08 14:59:43 +10:00
iabdalkader
a4eef90b22
extmod/modusocket: Fix polling of closed sockets.
...
Unbound sockets in NEW state should return HUP|WR when polled, and return
NVAL when in CLOSED state.
2022-06-08 14:15:01 +10:00
iabdalkader
70bf6ab6fb
extmod/modusocket: Add socket state to track new/listening/conn/closed.
2022-06-08 14:13:59 +10:00
Damien George
bd375df02c
extmod/extmod.cmake: Require components to be explicitly enabled.
...
Otherwise include directories are added unconditionally to the build
variables if the component (submodule) is checked out. This can lead to,
eg, the esp32 build using lib/lwip header files, instead of lwip header
files from the IDF.
Fixes issue #8727 .
Signed-off-by: Damien George <damien@micropython.org>
2022-06-08 13:03:34 +10:00
Damien George
e8e8c7c354
extmod/modurandom: Fix missing void in empty argument list.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 23:41:49 +10:00
Damien George
ac3fb974bc
unix/variants: Enable seeding random module on import in dev, coverage.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 23:41:49 +10:00
Damien George
d2f018bff1
unix,windows: Factor out code that generates random bytes to a new func.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 23:41:30 +10:00
stijn
5bb2a85d74
windows: Use BCryptGenRandom to implement os.urandom.
...
Fix urandom not working on windows (there's no /dev/urandom) by using
a proper cryptographic random function (same one as CPython >= 3.11).
2022-06-07 23:32:30 +10:00
Damien George
5290bfaefe
tools/mpremote: Bump version to 0.3.0.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 23:23:14 +10:00
Damien George
646fcdadbf
tools/mpremote: Add command to print the version.
...
Signed-off-by: Damien George <damien@micropython.org>
2022-06-07 23:22:04 +10:00