- 10 Jun, 2022 2 commits
-
-
Damien George authored
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>
-
Yukai Li authored
Signed-off-by: Yukai Li <yukaili.geek@gmail.com>
-
- 09 Jun, 2022 6 commits
-
-
Damien George authored
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>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
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>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Newer versions of the ESP-IDF's toolchain use this relocation. Fixes issue #8436. Signed-off-by: Damien George <damien@micropython.org>
-
- 08 Jun, 2022 8 commits
-
-
Damien George authored
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>
-
Damien George authored
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>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
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>
-
Damien George authored
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>
-
iabdalkader authored
Unbound sockets in NEW state should return HUP|WR when polled, and return NVAL when in CLOSED state.
-
iabdalkader authored
-
Damien George authored
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>
-
- 07 Jun, 2022 21 commits
-
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
stijn authored
Fix urandom not working on windows (there's no /dev/urandom) by using a proper cryptographic random function (same one as CPython >= 3.11).
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
robert-hh authored
With keyword arguments only or just a single non-keyword argument, UART.init() did not perform the settings.
-
Clayton Mills authored
System config block contains hardware unrelated to USB. So calling `__SYSCFG_CLK_DISABLE()` during `HAL_PCD_MspDeInit()` has an adverse effect on other system functionality. Removing call to `__SYSCFG_CLK_DISABLE()` to rectify this issue. This call was there since the beginning of the USB CDC code, added in b30c02af.
-
Clayton Mills authored
According to ST Errata ES0206 Rev 18, Section 2.2.1, on STM32F427x, STM32F437x, STM32F429x and STM32F439x. If the system tick interrupt is enabled during stop mode while certain bits are set in the DBGMCU_CR, then the system will immediately wake from stop mode. Suggested workaround is to disable system tick timer interrupt when entering stop mode. According to ST Errate ES0394 Rev 11, Section 2.2.17, on STM32WB55Cx and STM32WB35Cx. If the system tick interrupt is enabled during stop 0, stop 1 or stop 2 while certain bits are set in DBGMCU_CR, then system will immediately wake from stop mode but the system remains in low power state. The CPU therefore fetches incorrect data from inactive Flash, which can cause a hard fault. Suggested workaround is to disable system tick timer interrupt when entering stop mode.
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
This was added by mistake in 8f68e26f when adding support for G4 MCUs, which does not using this get_bank() function. FLASH_OPTR_DBANK is only defined on G4 and L4 MCUs, so on H7 this FLASH_BANK_2 code was being wrongly excluded. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Frozen identifiers now include their full name hierarchy, eg their class name. This makes it easier to understand the generated code. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
The sys.tracebacklimit feature has changed semantics a bit from CPython 3.7 (in the way it modifies the output), so provide a .exp file for the test so it doesn't rely on CPython. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
To match MICROPY_PY_NETWORK_CYW43 and MICROPY_PY_NETWORK_NINAW10. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Also remove redundant modusocket.c and modnetwork.c sources, they are already added by extmod/extmod.cmake. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
The callback passed to add_alarm_in_ms must return microseconds, even though the initial delay is in milliseconds. Fix this use, and to avoid further confusion use the add_alarm_in_us function instead. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Now that the native qstr link table is gone, merging a native .mpy file with a bytecode .mpy file is not as simple as concatenating the .mpy data. The qstr_table and obj_table tables from all merged .mpy files must now be joined together, because they are global to the .mpy file (and hence global to the merged .mpy file). This means the bytecode needs to be be decoded, qstr_table and obj_table indices updated to point to the correct entries in the new tables, and then the bytecode re-encoded. This commit makes this change to the merging feature in mpy-tool.py. This can now merge an arbitrary number of bytecode .mpy files, and up to one native .mpy file. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
This was made redundant by f2040bfc, which also did not update this function for the change to qstr-opcode encoding, so it does not work correctly anyway. Signed-off-by: Damien George <damien@micropython.org>
-
Damien George authored
Support for architecture-specific qstr linking was removed in d4d53e9e, where native code was changed to access qstr values via qstr_table. The only remaining use for the special qstr link table in persistentcode.c is to support native module written in C, linked via mpy_ld.py. But native modules can also use the standard module-level qstr_table (and obj_table) which was introduced in the .mpy file reworking in f2040bfc. This commit removes the remaining native qstr liking support in persistentcode.c's load_raw_code function, and adds two new relocation options for constants.qstr_table and constants.obj_table. mpy_ld.py is updated to use these relocations options instead of the native qstr link table. Signed-off-by: Damien George <damien@micropython.org>
-
- 03 Jun, 2022 3 commits
-
-
iabdalkader authored
This PID is allocated for the Arduino Nano RP2040 running MicroPython.
-
Andrew Leech authored
This exercises the inclusion of a number of libraries in the rp2 port including mbedtls and lwip. Signed-off-by: Andrew Leech <andrew@alelec.net>
-
Andrew Leech authored
This works if your network is pre-configured in boot.py as an object called "nic". Without this, multitests expects to access the WLAN/LAN class which isn't always correct. Signed-off-by: Andrew Leech <andrew@alelec.net>
-