Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5982 commits
Select commit Hold shift + click to select a range
8633abc
py/emitinlinerv32: Reduce the footprint of compiled code.
Jan 4, 2025
50fab08
py/emitinlinextensa: Simplify register name lookup.
Jan 28, 2025
5fdd249
py/parsenum: Reduce code footprint of mp_parse_num_float.
Jan 30, 2025
86526e9
tools/mpremote: Optimise readline support in mount.
Feb 26, 2025
71c7c03
tools/mpremote/tests: Add test for RemoteFile.readline.
Feb 26, 2025
13b0237
lib/pico-sdk: Update to version 2.1.1.
Feb 19, 2025
9939b6c
rp2/boards/MACHDYNE_WERKZEUG: Add support for Machdyne Werkzeug.
Dec 20, 2024
cad62c2
rp2/boards/SPARKFUN_XRP_CONTROLLER_BETA: Add SparkFun XRP Controller.
Feb 18, 2025
bb4ec88
rp2/machine_i2c: Make I2C bus ID arg optional with default.
Jan 24, 2025
c143eb5
esp32/machine_i2c: Make I2C bus ID arg optional with default.
Jan 24, 2025
ec876a5
esp32/README: Make some minor improvements to the README.
Dec 22, 2024
cbd21b3
esp32/esp32_common.cmake: Allow overriding linker.lf.
Jan 27, 2025
61cb293
esp32/machine_pin: Implement Pin.toggle() method.
Jan 17, 2025
e009ab0
esp8266/machine_pin: Implement Pin.toggle() method.
Jan 19, 2025
22310ae
cc3200/mods/pybpin: Implement Pin.toggle() method.
Jan 19, 2025
48925fd
docs/library/machine.Pin: Show availability of low, high and toggle.
Jan 22, 2025
69ffd2a
renesas-ra/modrenesas: Expose the Flash block device to Python code.
Dec 8, 2024
eb45d97
py/objstr: Support tuples and start/end args in startswith and endswith.
Feb 25, 2025
213f1c1
samd/machine_i2c: Support default instance and SCL/SDA pin values.
Feb 7, 2025
62ed69b
samd/machine_spi: Support default instance and SCK/MOSI/MISO pin values.
Feb 7, 2025
daef1c1
samd/machine_uart: Support default instance and TX/RX pin values.
Feb 7, 2025
4cbaab1
samd/boards: Add missing TX/RX, SCL/SDA and SCK/MOSI/MISO pin names.
Feb 8, 2025
b9b4f1b
samd/boards: Provide default IDs for UART, I2C and SPI.
Feb 11, 2025
016ae19
docs/samd: Update the SAMD documentation describing default IDs/pins.
Feb 9, 2025
5f01232
tests/run-tests: Remove any 'expected' file from a unittest run.
Feb 25, 2025
b4cf82b
test/run-tests: Print a note if it looks like unittest.main() missing.
Feb 26, 2025
f5b4545
py/modsys: Add sys.implementation._build entry.
Mar 2, 2025
859b6ef
zephyr/machine_wdt: Add watchdog timer implementation.
Feb 21, 2025
fc71f78
py/makeqstrdata.py: Implement MicroPython compatibility.
Oct 18, 2024
e1b2f2e
tools/mpy-tool.py: Add support for self-hosting of mpy-tool.
Oct 18, 2024
6fba1e4
tools/mpy-tool.py: Support calling main() from an external script.
Oct 18, 2024
4d034f8
esp8266/network_wlan: Allow enumerating connected stations in AP mode.
Feb 14, 2025
6be7570
nrf/modules: Fix access of read-only buffer in Flash.writeblocks.
Mar 3, 2025
9dd4cef
py/objarray: Add MP_DEFINE_MEMORYVIEW_OBJ convenience macro.
Jan 3, 2025
89e6c58
extmod/modvfs: Add vfs.rom_ioctl function and its ioctl constants.
Nov 15, 2024
d4b8ca2
extmod/vfs: Add mp_vfs_mount_romfs_protected() helper.
Feb 20, 2025
840b641
py/runtime: Automatically mount ROMFS as part of mp_init.
Feb 21, 2025
0c98c60
tools/mpremote: Add romfs query, build and deploy commands.
Mar 3, 2022
bea7645
stm32: Implement vfs.rom_ioctl with support for internal/external flash.
Mar 3, 2022
45c36f8
stm32/boards: Enable ROMFS partitions on PYBD_SFx boards.
Feb 20, 2025
50a7362
rp2: Implement vfs.rom_ioctl with support for external flash.
Mar 3, 2022
0255cb7
esp32: Implement vfs.rom_ioctl with support for external flash.
Mar 3, 2022
75ff8e5
esp8266: Implement vfs.rom_ioctl with support for external flash.
Nov 15, 2024
6bec36a
esp8266/boards: Add FLASH_2M_ROMFS variant with 320k ROM partition.
Mar 1, 2025
be0fce9
unix/main: Add coverage test for mounting ROMFS filesystem at startup.
Mar 4, 2025
3823aeb
zephyr/machine_timer: Add machine.Timer class implementation.
Feb 21, 2025
0ec496a
lib/cyw43-driver: Update driver to latest version v1.1.0.
Mar 12, 2025
dafff1f
extmod/network_cyw43: Add WPA3 security constants.
Mar 12, 2025
4b1c666
esp32: Merge the per-SoC "main" components back together.
Mar 4, 2025
4d65b4e
esp32: Remove the ESP32 ringbuffer linker workaround.
Mar 4, 2025
79fb5aa
esp32/machine_sdcard: Add SDCard pin assignments for ESP32-S3 support.
Feb 5, 2025
c85eefc
esp32/machine_sdcard: Add SDCard SPI mode support for ESP32-S2,C3,C6.
Feb 5, 2025
464121f
esp32/boards: Enable machine.SDCard on all boards.
Feb 5, 2025
bfd974d
esp32/machine_pwm: Correctly stop LEDC timer.
Dec 6, 2024
4d2d60d
esp32/machine_pin: Fix logic clearing USB_SERIAL_JTAG_USB_PAD_ENABLE.
Nov 14, 2024
1d5dc72
esp32/machine_pin: Fix availability of USB Serial/JTAG pins on ESP32-C6.
Nov 15, 2024
e75ffc3
rp2/modrp2: Fix rp2.bootsel_button() function for RP2350.
Mar 11, 2025
9a070fe
rp2/boards/SPARKFUN_IOTREDBOARD_RP2350: Add support for IoT RedBoard.
Mar 4, 2025
8dcf929
rp2/boards/WEACTSTUDIO_RP2350B_CORE: Add WeAct Studio RP2350B Core.
Mar 8, 2025
ac30dcb
rp2/boards/SPARKFUN_XRP_CONTROLLER: Add SparkFun XRP Controller.
Mar 10, 2025
2264340
rp2/boards/SPARKFUN_XRP_CONTROLLER_BETA: Fix XRP Controller Beta URL.
Mar 10, 2025
416c6cf
rp2/boards/SEEED_XIAO_RP2350: Add new Seeed XIAO board definition.
Nov 26, 2024
bf9cdd2
stm32: Rename ROMFS partition config variables to start at index 0.
Mar 11, 2025
d5aeca2
esp8266: Rename ROMFS partition config variables to include "part0".
Mar 11, 2025
043dc79
stm32/boards/ARDUINO_GIGA: Enable 4MiB ROMFS partition in ext flash.
Jan 14, 2025
edc927a
stm32/boards/ARDUINO_NICLA_VISION: Enable 4MiB ROMFS part in ext flash.
Jan 14, 2025
96ce08e
stm32/boards/ARDUINO_PORTENTA_H7: Enable 4MiB ROMFS part in ext flash.
Jan 14, 2025
9db2398
stm32/can: Refactor can.h API to not depend on pyboard can types.
Oct 9, 2024
dbda43b
tests/multi_pyb_can: Add multitests for pyboard CAN controller.
May 23, 2024
f187c77
shared/runtime/pyexec: Add helper function to execute a vstr.
Feb 27, 2025
5197611
tools/mpy_ld.py: Allow linking static libraries.
Sep 12, 2024
1a7cbac
tools/ci.sh: Build Xtensa natmods as part of the CI process.
Mar 6, 2025
31a008c
tools/ci.sh: Do not assume the Python interpreter is called "python".
Mar 6, 2025
f1018ee
mimxrt/boards/MAKERDIARY_RT1011_NANO_KIT: Add new Makerdiary board.
Mar 3, 2025
58f1ade
mimxrt/machine_adc: Add ADC.read_uv() method.
Dec 6, 2024
d8edae0
mimxrt/mpconfigport: Enable support for exFAT.
Jan 17, 2025
2a5b97b
mimxrt/mpconfigport: Enable PPP for boards with lwIP.
Feb 15, 2025
2d20dbc
mimxrt/machine_uart: Remove duplicate init and make IRQ optional.
Feb 22, 2025
1398e7f
mimxrt/hal/qspi_nor_flash_config: Use a safe common CS timing.
Feb 23, 2025
b85ad4b
mimxrt/machine_uart: Fix rx/tx buffer allocation bug.
Mar 9, 2025
1e7328c
mimxrt/machine_i2c: Support the timeout keyword argument.
Mar 13, 2025
cdcc70d
mimxrt: Enable default devices for I2C, SPI and UART.
Mar 13, 2025
274c8c4
mimxrt/boards: Update deploy instructions.
Mar 23, 2025
c61e859
drivers: Add MP_QSPI_IOCTL_MEMORY_MODIFIED to indicate flash changed.
Mar 19, 2025
396ab26
stm32/qspi: Implement MP_QSPI_IOCTL_MEMORY_MODIFIED ioctl.
Mar 19, 2025
1e92bdd
rp2/boards: Fix SparkFun vendor name.
Mar 17, 2025
93a8c53
rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350: Add SD card support.
Mar 17, 2025
39452db
docs/rp2: Add network information to the rp2 quickref.
Dec 22, 2024
f315a37
rp2/machine_i2c: Require an I2C bus ID when no default is available.
Mar 13, 2025
a861223
rp2/machine_spi: Make SPI ID optional.
Mar 12, 2025
dd7a950
rp2/machine_spi: Allow MISO to be unspecified.
Mar 12, 2025
6fa498c
rp2/mpnetworkport: Fix lost CYW43 WiFi events when using both cores.
Mar 12, 2025
23fb171
rp2/mpnetworkport: Refactor out cyw43_has_pending global variable.
Mar 18, 2025
35d4d2d
rp2/pendsv: Account for PendSV running on both cores, and without CYW43.
Mar 12, 2025
2b2a431
rp2/machine_uart: Fix unintended UART buffer allocation on init().
Mar 9, 2025
6db7b47
samd/machine_uart: Fix unintended UART buffer allocation on init().
Mar 9, 2025
4dfee50
samd/machine_uart: Fix lock-up in loopback mode if read buffer is full.
Mar 9, 2025
56e90cb
py/mpconfig: Enable 2-argument built-in next() at basic feature level.
Mar 11, 2025
994751c
tests/cpydiff: Remove builtin_next_arg2.py difference.
Mar 17, 2025
fdc0c6f
py/dynruntime: Make malloc functions raise MemoryError on failure.
Mar 17, 2025
fa42487
extmod/moddeflate: Keep DeflateIO state consistent on window alloc fail.
Mar 17, 2025
458a8f2
extmod/vfs: Refactor mp_vfs_mount to enable no-args mount overload.
Mar 14, 2025
1487a13
extmod/vfs: Return mount table from no-args vfs.mount call.
Mar 14, 2025
9fcc25b
tests/extmod/vfs_mountinfo.py: Add test for no-args mount output.
Mar 3, 2025
c68a40a
docs/library/vfs: Document no-args mount output.
Mar 3, 2025
e4051a1
extmod/vfs_rom: Implement minimal VfsRom.getcwd() method.
Mar 11, 2025
2db0c02
tools/mpremote: Make mip install skip /rom*/lib directories.
Mar 11, 2025
cccac2c
rp2,esp32,extmod: Implement UPDATE_SUBMODULES in CMake.
Mar 11, 2025
50da085
rp2: Print an error message if pico-sdk submodule is missing.
Mar 11, 2025
a828b99
esp32/Makefile: Use $(Q) prefix on all commands.
Mar 28, 2025
5eee5a6
rp2/Makefile: Use $(Q) prefix on all commands.
Mar 28, 2025
f96417d
rp2/cyw43_configport: Fix cyw43 mDNS by properly starting mDNS on netif.
Mar 31, 2025
b33b9f8
stm32/main: Catch and report corrupted lfs filesystem at startup.
Jan 23, 2024
1a47379
stm32/boards: Add F427 AF CSV file.
Jan 15, 2025
3b94889
stm32/stm32_it: Add handler for timer 20 interrupt.
Feb 5, 2025
91386b3
stm32/timer: Use APB2 to calculate timer 20 source frequency.
Feb 5, 2025
c18e925
stm32/timer: Add support for STM32H5 Timer 1.
Mar 23, 2025
ac1cbef
stm32/qspi: Add qspi_memory_map_exit and restart.
Mar 19, 2025
1660faa
stm32/boards/PYBD_SF2: Restart qspi memory-mapped mode during startup.
Mar 19, 2025
9ab6906
esp32/esp32_common.cmake: Use native gchelper for RISC-V.
Mar 22, 2025
fda9bf4
esp32/esp32_common.cmake: Clean up RISC-V directives.
Mar 22, 2025
6bb5866
esp32/esp32_common.cmake: Remove obsolete definition.
Mar 22, 2025
3805e65
tools/mpy_ld.py: Give better error for unsupported ARM absolute relocs.
Mar 28, 2025
e34412f
tools/ci.sh: Manually install picotool for rp2 builds.
Apr 5, 2025
57f1e60
tests/cpydiff: Update CPy diff for assign expr in nested comprehensions.
Apr 1, 2025
e9a80fc
tests/cpydiff: Remove types_str_endswith.
Apr 1, 2025
74a5bf9
tools/gen-cpydiff.py: Fail CPython diff generation if output matches.
Apr 1, 2025
9e9be83
tools/mpremote: Allow .img for ROMFS file and validate ROMFS image.
Mar 29, 2025
11f057d
rp2: Add support for PSRAM with auto-detection.
Aug 6, 2024
b7d5caf
rp2/mpconfigport: Configure heap for PSRAM.
Aug 9, 2024
89eea0f
rp2/rp2_flash: Support flash writes from PSRAM.
Aug 11, 2024
91cff8e
rp2/rp2_flash: Configure optimal flash timings.
Mar 25, 2025
0ee160e
extmod/extmod.mk: Add cyw43_spi.c to list of sources.
Dec 18, 2024
a9384c7
extmod/extmod.mk: Switch from drivers/cyw43/cywbt to lib/cyw43-drivers.
Feb 28, 2025
7268034
top: Add "ser" to codespell exclusion list.
Feb 20, 2025
c5102a7
lib/alif_ensemble-cmsis-dfp: Add new submodule for Alif SDK v1.3.2.
Dec 11, 2023
1356860
lib/alif-security-toolkit: Add new submodule for Alif Security Toolkit.
Mar 11, 2025
092d855
alif/tinyusb_port: Add Alif TinyUSB DCD driver.
Dec 11, 2023
ebecd6d
alif/tinyusb_port: Disable USB IRQ on deinit.
Oct 22, 2024
b8a9cdf
alif/tinyusb_port: Implement SOF event.
Mar 27, 2025
ccc5935
alif: Add initial port to Alif Ensemble MCUs.
Dec 11, 2023
40ff0c2
alif/system_tick: Use a UTIMER for system ticks and timing.
Jan 10, 2024
975f84f
alif/mphalport: Enable efficient events and implement quiet timing.
Jan 10, 2024
ada0939
alif/system_tick: Integrate soft timer.
Jan 10, 2024
53b7c14
alif/modmachine: Enable machine.Timer.
Jan 10, 2024
4e62ade
alif/se_services: Add SE services interface.
Jan 26, 2024
c6cb082
alif/mpconfigport: Enable os.urandom().
Jan 26, 2024
64af93e
alif/mpconfigport: Enable MICROPY_PY_RANDOM_SEED_INIT_FUNC.
Jan 26, 2024
2a580b0
alif/modalif: Add alif.info() function.
Feb 2, 2024
2f85a19
alif/modmachine: Implement machine.unique_id(), fix machine.reset().
Feb 2, 2024
31d18c5
alif/usbd: Implement proper USB serial number.
Feb 2, 2024
62beb54
alif/machine_adc: Add basic ADC support.
Feb 13, 2024
b7df5aa
alif/mcu: Add ToC config for dual images.
Jul 10, 2024
8f82089
alif: Support building the port for HE or HP or both cores.
Jul 10, 2024
6b4d465
alif: Support running the port on the HE core.
Jul 17, 2024
4f6f283
alif: Implement Open-AMP port backend.
Jul 17, 2024
cee8e11
alif/irq: Define more IRQ priorities.
Jul 28, 2024
bbb8fd7
alif/system_tick: Implement optional LPTIMER support for systick.
Aug 14, 2024
c6ebecc
alif/system_tick: Implement optional ARM SysTick support for systick.
Aug 28, 2024
58d6fe2
alif/mpconfigport: Select SysTick on HE core.
Sep 3, 2024
4c4b484
alif/mpu: Add custom MPU_Load_Regions function.
Oct 10, 2024
84effb3
alif/ospi_flash: Generalise flash driver to support MX chips.
Oct 7, 2024
41e1688
alif/ospi_flash: Enter XIP mode when flash is idle.
Oct 31, 2024
3d17f63
alif/mpu: Define constants for MPU regions.
Nov 21, 2024
5152a1f
alif/mpmetalport: Add Open-AMP MPU region.
Nov 21, 2024
1585080
alif/ospi_flash: Fix XIP for 8-bit instructions (ISSI).
Dec 14, 2024
aec0300
alif/ospi_flash: Support flash device auto-detection in runtime.
Dec 16, 2024
8807f8d
alif/ospi_flash: Configure dummy cycles.
Dec 16, 2024
872f3d7
alif/ospi_flash: Add negative clock pin.
Dec 14, 2024
0709936
alif/ospi_flash: Enable pull-up IO2/WP.
Dec 19, 2024
df06bf9
alif/ospi_ext: Optimize XIP speed.
Dec 20, 2024
602bc86
alif/ospi_flash: Use OSPI in XIP mode only.
Jan 8, 2025
92f056d
alif/ospi_flash: Add 16-bit words swap flash setting.
Feb 6, 2025
ff6ed73
alif/se_services: Use EUI extension for unique id.
Feb 5, 2025
039df0c
alif/modmachine: Implement proper low-power modes.
Feb 3, 2025
82bae65
alif: Add support for pin alternate function selection.
Jan 9, 2025
9073270
alif/machine_i2c: Add machine.I2C peripheral support.
Jan 2, 2025
280e6e2
alif/machine_spi: Add machine.SPI peripheral support.
Jan 19, 2025
ec92bcf
alif/machine_rtc: Add basic machine.RTC support.
Jan 31, 2025
facd0b7
alif/ospi_flash: Use mp_hal_pin_config to configure OSPI pins.
Feb 7, 2025
b9e5f1f
alif/se_services: Add a secondary MHU channel.
Feb 15, 2025
182b5f3
alif/mpmetalport: Use MHU to notify remote cores.
Feb 15, 2025
68b1dae
alif: Link with libnosys.
Feb 19, 2025
7e32c23
alif/mpmetalport: Only notify after metal subsystem is init'd.
Mar 6, 2025
ca3d50a
alif/mpuart: Use mp_hal_pin_config for TX/RX configuration.
Mar 6, 2025
af574a8
alif/alif_flash: Distinguish between total flash size and FS size.
Dec 23, 2024
d895a62
alif/alif_flash: Make flash respond to the buffer protocol.
Dec 23, 2024
f83f6e7
alif/mpu: Add function to set read-only bit on MRAM MPU region.
Mar 6, 2025
8297c95
alif/vfs_rom_ioctl: Add vfs_rom_ioctl with support for OSPI and MRAM.
Mar 6, 2025
d1b12cb
alif/modules: Make HE core set /rom as current dir.
Mar 8, 2025
4f2a8bd
alif/mphalport: Add mp_hal_pin_config_irq_falling helper.
Oct 23, 2024
411146b
alif/mpuart: Generalise UART driver to suppot all UART instances.
Oct 14, 2024
526c7ea
alif: Integrate lwIP and mbedTLS.
Oct 14, 2024
d6e3342
alif: Integrate cyw43 WLAN driver.
Mar 10, 2025
30dfbe5
alif: Integrate cyw43 Bluetooth with NimBLE.
Mar 10, 2025
da46b4d
alif/mcu: Remove json config files.
Mar 13, 2025
19a4689
alif/mcu: Pre-process Alif ToC config file.
Mar 13, 2025
293e8db
alif/mpuart: Enhance UART to support bits/parity/stop and more IRQs.
Mar 17, 2025
29a873e
alif/machine_uart: Add machine.UART peripheral support.
Mar 14, 2025
737acef
alif: Support more fine-grained pin alternate function selection.
Mar 20, 2025
3564ce5
alif/ospi_flash: Don't invalidate cache after erasing/writing.
Mar 31, 2025
df5e4ce
alif/ospi_flash_settings: Use 8-bit DFS for XIP.
Mar 31, 2025
c395f5e
alif/ospi_flash: Restore XIP settings after erase and write.
Apr 1, 2025
b79b64a
alif/mpu: Add MPU region for OSPI1 XIP memory range.
Mar 31, 2025
7c216d1
alif/boards/ALIF_ENSEMBLE: Add Alif Ensemble board config.
Dec 17, 2023
704d2f2
alif/boards/OPENMV_AE3: Add OpenMV AE3 board definition.
Sep 2, 2024
547207d
github/workflows: Add Alif port to CI.
Feb 20, 2025
2ad5925
tests/ports/alif_hardware: Add flash testing script.
Oct 21, 2024
037f2da
tests: Update UART and SPI tests to work on Alif boards.
Mar 17, 2025
1aa9b3d
tools/mpremote: Add recursive remove functionality to filesystem cmds.
Apr 7, 2025
72d4c40
tools/mpremote/tests: Add tests for mpremote rm -r.
Apr 7, 2025
ef8282c
docs/reference/mpremote: Update docs for mpremote rm -r.
Apr 7, 2025
e7edf07
drivers/memory/spiflash: Allow a board/port to configure chip params.
Apr 9, 2025
b078569
drivers/memory/spiflash: Allow a board/port to detect SPI flash.
Apr 2, 2025
2c0240e
drivers/bus/qspi: Make num_dummy configurable for quad reads.
Apr 2, 2025
1d83c81
stm32/vfs_rom_ioctl: Allow ROMFS configuration to be dynamic.
Apr 1, 2025
aa09456
stm32/qspi: Allow SPI flash size to be decided at runtime.
Mar 13, 2025
de08190
stm32/mboot: Allow USB strings to be dynamic.
Apr 2, 2025
ed4833d
stm32/modmachine: Add SPI flash size to machine.info dump.
Apr 2, 2025
db85427
stm32/boards/PYBD_SF6: Support boards with larger SPI flash.
Apr 2, 2025
0b3ad98
mimxrt/Makefile: Fix dependencies for generation of flexram_config.s.
Apr 10, 2025
9ee2ef5
py/emitinlinerv32: Move include of asmrv32.h to within feature guard.
Apr 10, 2025
9f30627
lib/micropython-lib: Update submodule to latest.
Apr 14, 2025
f498a16
all: Bump version to 1.25.0.
Apr 15, 2025
34f0223
Update .gitmodules after merge
May 21, 2025
569fddd
Merge upstream release v1.25.0
May 25, 2025
d9d7de5
Define STATIC for compatibility with usermods of Specter
Jun 3, 2025
d8bfffd
Fix code formatting
Jun 9, 2025
34b03bd
Fix spelling
Jun 9, 2025
717a757
Fix directory case to match upstream
Jun 9, 2025
d0c85a9
tools/ci.sh: Update URL for xtensa-lx106-elf-standalone.tar.gz.
Apr 30, 2025
1349fc2
Fix path to smartcard HAL driver
Jun 9, 2025
c87c6ca
Fix outdated prototype of factory_reset_create_filesystem
Jun 9, 2025
39dcecb
Update memory map of STM32F469xI
Jun 24, 2025
46c6287
Enable SPI cache on STM32F469
Jun 24, 2025
67d5035
Extend .gitignore for intermediate files of lv_binding_micropython
Jun 26, 2025
0fb31bd
Enable memory debugging for the Unix build of Specter
Aug 15, 2025
730f8c2
py: Add 'sources-file' argument in makeqstrdefs.py to handle long sou…
Sep 16, 2025
c4e148e
Fix Python formatting
Sep 18, 2025
133eadb
Fix redefinition of MICROPY_HW_SDCARD_MOUNT_AT_BOOT
Sep 18, 2025
06ab887
Add FFI support to Unix coverage build
Sep 18, 2025
e0e8df4
nrf/drivers/bluetooth: Change soft-device download URL to self hosted.
Jul 31, 2025
be93c47
py/emitinlinethumb: Refactor string literal as array initializer.
May 9, 2025
c3bc5d0
github/workflows: Use windows-latest runner for all Windows CI jobs.
Jun 10, 2025
2fa6a1c
github/workflows: Fix build issues on Windows caused by empty PyVaria…
Sep 22, 2025
1450174
github/workflows: Fix path separator in QstrDependencies for Windows …
Sep 22, 2025
c6f0eb6
github/workflows: Fix path separator in FrozenManifest for Windows bu…
Sep 22, 2025
2372bd3
py/misc: Use _Static_assert for MP_STATIC_ASSERT where possible.
Sep 26, 2025
15d5575
py/misc: Don't warn about a GNU extension for static assert macro.
Sep 28, 2025
d79d337
stm32/boards/STM32F469DISC: Configure QSPI flash as a secondary flash…
Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
68 changes: 68 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# all: Prune trailing whitespace.
dda9b9c6da5d3c31fa8769e581a753e95a270803

# all: Remove the "STATIC" macro and just use "static" instead.
decf8e6a8bb940d5829ca3296790631fcece7b21

# renesas-ra: Fix spelling mistakes found by codespell.
b3f2f18f927fa2fad10daf63d8c391331f5edf58

# all: Update Python formatting to ruff-format.
bbd8760bd9a2302e5abee29db279102bb11d7732

# all: Fix various spelling mistakes found by codespell 2.2.6.
cf490a70917a1b2d38ba9b58e763e0837d0f7ca7

# all: Fix spelling mistakes based on codespell check.
b1229efbd1509654dec6053865ab828d769e29db

# top: Update Python formatting to black "2023 stable style".
8b2748269244304854b3462cb8902952b4dcb892

# all: Reformat remaining C code that doesn't have a space after a comma.
5b700b0af90591d6b1a2c087bb8de6b7f1bfdd2d

# ports: Reformat more C and Python source code.
5c32111fa0e31e451b0f1666bdf926be2fdfd82c

# all: Update Python formatting to latest Black version 22.1.0.
ab2923dfa1174dc177f0a90cb00a7e4ff87958d2

# all: Update Python formatting to latest Black version 21.12b0.
3770fab33449a5dadf8eb06edfae0767e75320a6

# tools/gen-cpydiff.py: Fix formatting of doc strings for new Black.
0f78c36c5aa458a954eed39a46942209107a553e

# tests/run-tests.py: Reformat with Black.
2a38d7103672580882fb621a5b76e8d26805d593

# all: Update Python code to conform to latest black formatting.
06659077a81b85882254cf0953c33b27614e018e

# tools/uncrustify: Enable more opts to remove space between func and '('.
77ed6f69ac35c1663a5633a8ee1d8a2446542204

# tools/codeformat.py: Include extmod/{btstack,nimble} in code formatting.
026fda605e03113d6e753290d65fed774418bc53

# all: Format code to add space after C++-style comment start.
84fa3312cfa7d2237d4b56952f2cd6e3591210c4

# tests: Format all Python code with black, except tests in basics subdir.
3dc324d3f1312e40d3a8ed87e7244966bb756f26

# all: Remove spaces inside and around parenthesis.
1a3e386c67e03a79eb768cb6e9f6777e002d6660

# all: Remove spaces between nested paren and inside function arg paren.
feb25775851ba0c04b8d1013716f442258879d9c

# all: Reformat C and Python source code with tools/codeformat.py.
69661f3343bedf86e514337cff63d96cc42f8859

# stm32/usbdev: Convert files to unix line endings.
abde0fa2267f9062b28c3c015d7662a550125cc6

# all: Remove trailing spaces, per coding conventions.
761e4c7ff62896c7d8f8c3dfc3cc98a4cc4f2f6f
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@

# These are binary so should never be modified by git.
*.a binary
*.ico binary
*.png binary
*.jpg binary
*.dxf binary
*.mpy binary
*.der binary

# These should also not be modified by git.
tests/basics/string_cr_conversion.py -text
Expand Down
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: micropython
109 changes: 109 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Bug report
description: Report a bug or unexpected behaviour
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Please provide as much detail as you can, it really helps us find and fix bugs faster.

#### Not a bug report?

* If you have a question \"How Do I ...?\", please post it on [GitHub Discussions](https://github.com/orgs/micropython/discussions/) or [Discord](https://discord.gg/RB8HZSAExQ) instead of here.
* For missing or incorrect documentation, or feature requests, then please [choose a different issue type](https://github.com/micropython/micropython/issues/new/choose).

#### Existing issue?

* Please search for [existing issues](https://github.com/micropython/micropython/issues) matching this bug before reporting.
- type: input
id: port-board-hw
attributes:
label: Port, board and/or hardware
description: |
Which MicroPython port(s) and board(s) are you using?
placeholder: |
esp32 port, ESP32-Fantastic board.
validations:
required: true
- type: textarea
id: version
attributes:
label: MicroPython version
description: |
To find the version:

1. Open a serial REPL.
2. Type Ctrl-B to see the startup message.
3. Copy-paste that output here.

If the issue is about building MicroPython, please provide output of `git describe --dirty` and as much information as possible about the build environment.

If the version or configuration is modified from the official MicroPython releases or the master branch, please tell us the details of this as well.
placeholder: |
MicroPython v6.28.3 on 2029-01-23; PyBoard 9 with STM32F9
validations:
required: true
- type: textarea
id: steps-reproduce
attributes:
label: Reproduction
description: |
What steps will reproduce the problem? Please include all details that could be relevant about the environment, configuration, etc.

If there is Python code to reproduce this issue then please either:
a. Type it into a code block below ([code block guide](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks)), or
b. Post longer code to a [GitHub gist](https://gist.github.com/), or
c. Create a sample project on GitHub.

For build issues, please provide the exact build commands that you ran.
placeholder: |
1. Copy paste the code provided below into a new file
2. Use `mpremote run` to execute it on the board.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behaviour
description: |
What did you expect MicroPython to do? If comparing output with CPython or a different MicroPython port/version then please provide that output here.
placeholder: |
Expected to print "Hello World".

Here is the correct output, seen with previous MicroPython version v3.14.159:

> [...]
- type: textarea
id: what-happened
attributes:
label: Observed behaviour
description: |
What actually happened? Where possible please paste exact output, or the complete build log, etc. Very long output can be linked in a [GitHub gist](https://gist.github.com/).
placeholder: |
This unexpected exception appears:

> [...]
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional Information
description: |
Is there anything else that might help to resolve this issue?
value: No, I've provided everything above.
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
- type: markdown
attributes:
value: |
Thanks for taking the time to help improve MicroPython.
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: MicroPython GitHub Discussions
url: https://github.com/orgs/micropython/discussions
about: Community discussion about all things MicroPython. This is the best place to start if you have questions about using MicroPython or getting started with MicroPython development.
- name: MicroPython Documentation
url: https://docs.micropython.org/
about: Documentation for using and working with MicroPython and libraries.
- name: MicroPython Downloads
url: https://micropython.org/download/
about: Pre-built firmware and information for most supported boards.
46 changes: 46 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Documentation issue
description: Report areas of the documentation or examples that need improvement
title: "docs: "
labels: ["documentation"]
body:
- type: markdown
attributes:
value: |
This form is for reporting issues with the documentation or examples provided with MicroPython.

If you have a general question \"How Do I ...?\", please post it on [GitHub Discussions](https://github.com/orgs/micropython/discussions/) or [Discord](https://discord.gg/RB8HZSAExQ) instead of here.

#### Existing issue?

* Please search for [existing issues](https://github.com/micropython/micropython/issues) before reporting a new one.
- type: input
id: page
attributes:
label: Documentation URL
description: |
Does this issue relate to a particular page in the [online documentation](https://docs.micropython.org/en/latest/)? If yes, please paste the URL of the page:
placeholder: |
https://docs.micropython.org/en/latest/
- type: textarea
id: version
attributes:
label: Description
description: |
Please describe what was missing from the documentation and/or what was incorrect/incomplete.
validations:
required: true
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
- type: markdown
attributes:
value: |
Thanks for taking the time to help improve MicroPython.
74 changes: 74 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Feature request
description: Request a feature or improvement
labels: ['enhancement']
body:
- type: markdown
attributes:
value: |
This form is for requesting features or improvements in MicroPython.

#### Get feedback first

Before submitting a new feature idea here, suggest starting a discussion on [Discord](https://discord.gg/RB8HZSAExQ) or [GitHub Discussions](https://github.com/orgs/micropython/discussions/) to get early feedback from the community and maintainers.

#### Not a MicroPython core feature?

* If you have a question \"How Do I ...?\", please post it on GitHub Discussions or Discord instead of here.
* Could this feature be implemented as a pure Python library? If so, please open the request on the [micropython-lib repository](https://github.com/micropython/micropython-lib/issues) instead.

#### Existing issue?

* Please search for [existing issues](https://github.com/micropython/micropython/issues) before opening a new one.
- type: textarea
id: feature
attributes:
label: Description
description: |
Describe the feature you'd like to see added to MicroPython. What does this feature enable and why is it useful?

* For core Python features, where possible please include a link to the relevant PEP or CPython documentation.
* For new architectures / ports / boards, please provide links to relevant documentation, specifications, and toolchains. Any information about the popularity and unique features about this hardware would also be useful.
* For features for existing ports (e.g. new peripherals or microcontroller features), please describe which port(s) it applies to, and whether this is could be an extension to the machine API or a port-specific module?
* For drivers (e.g. for external hardware), please link to datasheets and/or existing drivers from other sources.

If there is an existing discussion somewhere about this feature, please add a link to it as well.
validations:
required: true
- type: textarea
id: size
attributes:
label: Code Size
description: |
MicroPython aims to strike a balance between functionality and code size. Can this feature be optionally enabled?

If you believe the usefulness of this feature would outweigh the additional code size, please explain. (It's OK to say you're unsure here, we're happy to discuss this with you.)
- type: dropdown
id: implementation
attributes:
label: Implementation
description: |
What is your suggestion for implementing this feature?

(See also: [How to sponsor](https://github.com/sponsors/micropython#sponsors), [How to submit a Pull Request](https://github.com/micropython/micropython/wiki/ContributorGuidelines).)
options:
- I hope the MicroPython maintainers or community will implement this feature
- I intend to implement this feature and would submit a Pull Request if desirable
- I would like to sponsor development of this feature
multiple: true
validations:
required: true
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
- type: markdown
attributes:
value: |
Thanks for taking the time to suggest improvements for MicroPython.
60 changes: 60 additions & 0 deletions .github/ISSUE_TEMPLATE/security.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Security report
description: Report a security issue or vulnerability in MicroPython
labels: ["security"]
body:
- type: markdown
attributes:
value: |
This form is for reporting security issues in MicroPython that are not readily exploitable.

1. For issues that are readily exploitable or have high impact, please email contact@micropython.org instead.
1. If this is a question about security, please ask it in [Discussions](https://github.com/orgs/micropython/discussions/) or [Discord](https://discord.gg/RB8HZSAExQ) instead.

#### Existing issue?

* Please search for [existing issues](https://github.com/micropython/micropython/issues) before reporting a new one.

- type: input
id: port-board-hw
attributes:
label: Port, board and/or hardware
description: |
Which MicroPython port(s) and board(s) are you using?
placeholder: |
esp32 port, ESP32-Duper board.
- type: textarea
id: version
attributes:
label: MicroPython version
description: |
To find the version:

1. Open a serial REPL.
2. Type Ctrl-B to see the startup message.
3. Copy-paste that output here.

If the version or configuration is modified from the official MicroPython releases or the master branch, please tell us the details of this as well.
placeholder: |
MicroPython v6.28.3 on 2029-01-23; PyBoard 9 with STM32F9
- type: textarea
id: report
attributes:
label: Issue Report
description: |
Please provide a clear and concise description of the security issue.

* What does this issue allow an attacker to do?
* How does the attacker exploit this issue?
validations:
required: true
- type: dropdown
id: code-of-conduct
attributes:
label: Code of Conduct
description: |
Do you agree to follow the MicroPython [Code of Conduct](https://github.com/micropython/micropython/blob/master/CODEOFCONDUCT.md) to ensure a safe and respectful space for everyone?
options:
- "Yes, I agree"
multiple: true
validations:
required: true
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
Loading