8000 ports/rp2: Fix rp2 mdns responder issue. by mseminatore · Pull Request #16641 · micropython/micropython · GitHub
[go: up one dir, main page]

Skip to content

ports/rp2: Fix rp2 mdns responder issue. #16641

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 211 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
6a28a3f
ports/rp2: Fix rp2 mDNS responder issue.
Jan 28, 2025
1395161
ports/rp2: Fix code formatting issue.
Jan 28, 2025
da95ed8
tests/basics/nanbox_smallint.py: Fix incorrect use of int() in test.
jepler Feb 9, 2024
fb176f7
py/parsenum: Throw an exception for invalid int literals like "01".
jepler Jan 4, 2024
7d5737f
py/emitnative: Optimise Viper register offset load/stores on Xtensa.
agatti Jan 23, 2025
f3542ad
py/emitnative: Emit shorter exception handler entry code on RV32.
agatti Jan 23, 2025
a0b4a50
py/emitnative: Optimise Viper immediate offset load/stores on Xtensa.
agatti Jan 24, 2025
14384aa
tools/mpremote: Avoid initial blocking read in read_until().
hmaerki Jan 26, 2025
eb9334c
tools/mpremote: Introduce timeout_overall for read_until().
hmaerki Jan 27, 2025
c109b37
extmod/modlwip: Fix incorrect peer address for IPv6.
greezybacon Jan 19, 2025
20e5396
esp32: Disable component manager when running 'make submodules'.
projectgus Jan 14, 2025
c43cb67
esp32: Don't add TinyUSB files to an ECHO_SUBMODULES build.
projectgus Jan 14, 2025
e8d5be2
py/mkrules: Add GIT_SUBMODULES_FAIL_IF_EMPTY flag for CMake ports.
projectgus Jan 14, 2025
5213e54
extmod/lwip-include: Factor common lwIP config into lwipopts_common.h.
dpgeorge Jan 25, 2025
a83d72f
py/parsenumbase: Favor clarity of code over manual optimisation.
jepler Jan 27, 2025
d276502
tests: Add a test for SSL socket memory leaks.
projectgus Oct 15, 2024
b02d469
extmod/mbedtls: Try GC before failing to setup socket on esp32, unix.
projectgus Jan 28, 2025
49aff8b
unix: Use the bare metal mbedTLS config in the coverage buiid.
projectgus Oct 16, 2024
0b45539
py/gc: Split out running finalizers to a separate pass.
projectgus Dec 3, 2024
2137585
py/gc: Allow gc_free from inside a gc_sweep finalizer.
projectgus Dec 3, 2024
e1a88bc
py: Add optional support for recursive mutexes, use for gc mutex.
projectgus Dec 10, 2024
f36977d
rp2: Migrate to the new mp_thread_recursive_mutex_t.
projectgus Dec 10, 2024
c5d6816
unix: Add recursive mutex support.
projectgus Jan 9, 2025
c6f8b1f
py/gc: Reorder static functions for clarity.
projectgus Jan 28, 2025
7a2f643
stm32/eth: Make ETH DMA buffer attributes configurable.
kwagyeman Jan 24, 2025
55f5b25
rp2/modmachine: Make lightsleep preserve SLEEP_EN0 and SLEEP_EN1.
cpottle9 Dec 29, 2024
ef50964
tests/ports/rp2: Add test for SLEEP_ENx registers over lightsleep.
dpgeorge Jan 23, 2025
99fe50a
rp2/rp2_flash: Workaround multicore lockout not being reset.
MichaelBell Jan 21, 2025
5244af0
esp8266/network_wlan: Make WLAN.config('channel') use wifi_get_channel.
glenn20 May 19, 2023
44324ae
esp8266/network_wlan: Make WLAN.config(channel=x) use wifi_set_channel.
glenn20 Jun 26, 2023
938aca2
tests/multi_wlan: Remove esp8266 port workaround.
projectgus Feb 4, 2025
5926283
esp32/README: Fix board in octal-SPIRAM example make command.
eggfly Dec 23, 2024
6719144
py/mkrules.mk: Reset USER_C_MODULES when building mpy-cross dependency.
pi-anl Feb 3, 2025
16337fd
tests/run-natmodtests.py: Autodetect the test target architecture.
agatti Jan 24, 2025
1ddf7dd
qemu/Makefile: Fix shell interpolation for automated natmod tests.
agatti Jan 24, 2025
73b3bf8
tools/ci.sh: Add natmod tests for QEMU/Arm.
agatti Jan 24, 2025
6ace7ed
py/emitnative: Mark condition code tables as const.
agatti Feb 3, 2025
a7cd016
py/emitnative: Load and store words just once for Viper code.
agatti Feb 3, 2025
75fdc2f
samd/boards: Add generic SAMD21x18 board definitions.
robert-hh Jan 23, 2025
9b9e81f
samd/boards: Add generic SAMD51x19 board definitions.
robert-hh Jan 23, 2025
e0b3bae
samd/boards: Add generic SAMD51x20 board definitions.
robert-hh Jan 23, 2025
0751cad
samd/Makefile: Add support for board variants.
robert-hh Jan 23, 2025
620c69f
samd/boards: Add support for the Adafruit QT Py board.
robert-hh Jan 23, 2025
cac5acf
samd/boards: Add support for the Adafruit NeoKey Trinkey board.
robert-hh Jan 23, 2025
69350cc
docs/samd/pinout: Add pinout for Adafruit NeoKey Trinkey and QT Py.
robert-hh Jan 23, 2025
e919c7e
docs/samd/pinout: Add pinout for the Generic SAMD board types.
robert-hh Jan 23, 2025
e62fd03
mimxrt/irq: Add CSI IRQ.
iabdalkader Jan 25, 2025
35d1284
mimxrt/machine_rtc: Fix build with new SDKs.
iabdalkader Jan 25, 2025
94728f7
mimxrt/mpconfigport: Remove hard-coded CMSIS header.
iabdalkader Jan 25, 2025
1150eb4
esp32/boards: Enable I2S on ESP32C3 boards.
StrayCatNZ Jan 2, 2025
e6af7cf
rp2/rp2_pio: Add side_pindir support for PIO.
magy00 Dec 31, 2024
242e968
rp2/boards: Add SparkFun IoT Node LoRaWAN board.
sfe-SparkFro Dec 4, 2024
9b2ca20
mimxrt: Add support for a UF2 bootloader.
robert-hh Oct 3, 2024
03db0ef
mimxrt/hal: Update the LUT and re-enable PAGEPROGRAM_QUAD.
robert-hh Oct 5, 2024
a3e4b9c
mimxrt/flash: Swap the order of disabling IRQ and disabling the cache.
robert-hh Jan 26, 2025
4e13d72
mimxrt/boards: Update the deploy instructions for the UF2 bootloader.
robert-hh Oct 7, 2024
4e40b66
mimxrt/boards: Add flash configuration constants to mpconfigboard.mk.
robert-hh Feb 3, 2025
18292ba
mimxrt/hal: Set the flexspi flash CLK frequency on boot.
robert-hh Feb 4, 2025
f36c6af
mimxrt: Add optional MSC support.
iabdalkader Nov 29, 2024
f79bf57
mimxrt/boards: Reduce stack size for 1011 and 1015 MCUs.
iabdalkader Feb 7, 2025
91106d8
tools/ci.sh: Build MIMXRT1060_EVK with MSC enabled as part of mimxrt CI.
iabdalkader Feb 7, 2025
2eb7655
tools/mpremote: Support mip install from package.json on local fs.
glenn20 Sep 19, 2023
4d985fc
rp2/modules: Fix memory leak and logic bug in handling of _pio_funcs.
nludban Jan 25, 2025
ad71e8a
docs/esp32: Add documentation for SPI Ethernet devices on esp32 port.
projectgus Jan 29, 2025
931243e
docs: Note which ports have default or optional network.PPP support.
projectgus Jan 28, 2025
2a62265
docs/reference: Add strings vs bytes to speed optimisation tips.
projectgus Feb 4, 2025
001f6c4
docs/library/espnow: Clarify usage of the "rate" configuration key.
agatti Feb 10, 2025
3df16e9
tests/run-tests.py: Give more information when CPython crashes.
dpgeorge Jan 20, 2025
de6dc4f
py/objcode: Factor code object out into its own file.
dpgeorge Jan 19, 2025
67a45c3
py/objfun: Implement function.__code__ and function constructor.
dpgeorge Jan 20, 2025
94626e3
py/persistentcode: Add mp_raw_code_save_fun_to_bytes.
dpgeorge Jul 17, 2024
4f1931d
extmod/modmarshal: Add new marshal module.
dpgeorge Jan 20, 2025
651773b
docs/library/marshal: Document the marshal module.
dpgeorge Jan 22, 2025
5e2dddc
extmod/vfs_rom: Remove ability to create VfsRom from an address.
dpgeorge Jan 3, 2025
0e953b2
tools/pyboard.py: Make get_time use machine.RTC instead of pyb.RTC.
rufusclark Aug 5, 2024
20c6139
esp32/machine_sdcard: Fix invalid result of SDCard.read/writeblocks.
projectgus Feb 5, 2025
16ae359
renesas-ra/Makefile: Remove id_code section from binary file generation.
iabdalkader Dec 11, 2024
025672e
extmod/lwip-include: Increase number of lwIP timers when mDNS enabled.
tpwrules Jan 22, 2025
f56dddf
extmod/modtls_mbedtls: Wire in support for DTLS.
keenanjohnson Feb 13, 2025
38b8e39
tests/multi_net: Add test for DTLS server and client.
dpgeorge Feb 13, 2025
bed4d64
rp2: Fix build failure if threads are disabled.
projectgus Feb 11, 2025
4143598
py/mkrules.cmake: Support passing CFLAGS_EXTRA in environment variable.
projectgus Feb 11, 2025
7855df1
tools/ci.sh: Build the W5100S_EVB_PICO board with no threads.
projectgus Feb 11, 2025
3b5b04c
esp32: Remove unneeded "memory.h" header file.
agatti Feb 13, 2025
e514032
mimxrt/boards/ADAFRUIT_METRO_M7: Reduce flash freq to 100MHz.
robert-hh Feb 20, 2025
7f5060a
mimxrt/hal/flexspi_nor_flash: Fix typo in comment about frequency.
robert-hh Feb 20, 2025
1741ab4
tools/mpremote: Add support for relative urls in package.json files.
glenn20 Sep 19, 2023
b368cb8
github/workflows: Stop using ubuntu-20.04.
dpgeorge Feb 12, 2025
0ac4a20
github/workflows: Include the Python version in the ESP-IDF cache key.
projectgus Feb 12, 2025
8e4501a
all: Upgrade codespell to v2.4.1.
cclauss Feb 18, 2025
80dc53f
docs: Fix double 'the' in documentation.
rxwb Feb 24, 2025
1481236
all: Upgrade to ruff v0.9.6.
cclauss Feb 18, 2025
554df2a
tests: Four typos in tests directory.
cclauss Feb 25, 2025
5f8c5f3
stm32/sdcard: Fix unchecked uint32_t overflow in SD card driver.
projectgus Feb 18, 2025
a65dcd9
stm32/sdcard: Drop the pyb.SDCard timeout from 60 to 30 seconds.
projectgus Feb 18, 2025
bc9ced1
qemu/boards/SABRELITE: Increase MicroPython heap to 160k.
dpgeorge Feb 25, 2025
4ae456f
extmod/vfs_rom: Add bounds checking for all filesystem accesses.
dpgeorge Feb 24, 2025
523df9d
py/emitinlinerv32: Fix compilation with ESP-IDF v5.2 and later.
agatti Jan 4, 2025
4b4e412
py/emitinlinerv32: Reduce the footprint of compiled code.
agatti Jan 4, 2025
59c99dc
py/emitinlinextensa: Simplify register name lookup.
agatti Jan 28, 2025
35d7ca6
py/parsenum: Reduce code footprint of mp_parse_num_float.
yoctopuce Jan 30, 2025
97df0b2
tools/mpremote: Optimise readline support in mount.
pi-anl Feb 26, 2025
281192e
tools/mpremote/tests: Add test for RemoteFile.readline.
dpgeorge Feb 26, 2025
c87a14f
lib/pico-sdk: Update to version 2.1.1.
dpgeorge Feb 19, 2025
9ddf16b
rp2/boards/MACHDYNE_WERKZEUG: Add support for Machdyne Werkzeug.
machdyne Dec 20, 2024
626eebd
rp2/boards/SPARKFUN_XRP_CONTROLLER_BETA: Add SparkFun XRP Controller.
sfe-SparkFro Feb 18, 2025
b99fd96
rp2/machine_i2c: Make I2C bus ID arg optional with default.
malcolm-sparkfun Jan 24, 2025
a0fed73
esp32/machine_i2c: Make I2C bus ID arg optional with default.
malcolm-sparkfun Jan 24, 2025
b525030
esp32/README: Make some minor improvements to the README.
garywill Dec 22, 2024
fc9aebb
esp32/esp32_common.cmake: Allow overriding linker.lf.
karlp Jan 27, 2025
517673c
esp32/machine_pin: Implement Pin.toggle() method.
robert-hh Jan 17, 2025
9ed11b3
esp8266/machine_pin: Implement Pin.toggle() method.
robert-hh Jan 19, 2025
20c28b6
cc3200/mods/pybpin: Implement Pin.toggle() method.
robert-hh Jan 19, 2025
69813bc
docs/library/machine.Pin: Show availability of low, high and toggle.
robert-hh Jan 22, 2025
473f0b1
renesas-ra/modrenesas: Expose the Flash block device to Python code.
robert-hh Dec 8, 2024
8b76e1a
py/objstr: Support tuples and start/end args in startswith and endswith.
glenn20 Feb 25, 2025
0d89e1e
samd/machine_i2c: Support default instance and SCL/SDA pin values.
robert-hh Feb 7, 2025
4fa713c
samd/machine_spi: Support default instance and SCK/MOSI/MISO pin values.
robert-hh Feb 7, 2025
1f7c15a
samd/machine_uart: Support default instance and TX/RX pin values.
robert-hh Feb 7, 2025
531f331
samd/boards: Add missing TX/RX, SCL/SDA and SCK/MOSI/MISO pin names.
robert-hh Feb 8, 2025
bf78dcc
samd/boards: Provide default IDs for UART, I2C and SPI.
robert-hh Feb 11, 2025
eb34bc2
docs/samd: Update the SAMD documentation describing default IDs/pins.
robert-hh Feb 9, 2025
87f23ec
tests/run-tests: Remove any 'expected' file from a unittest run.
projectgus Feb 25, 2025
d9ac36f
test/run-tests: Print a note if it looks like unittest.main() missing.
projectgus Feb 26, 2025
b82d877
py/modsys: Add sys.implementation._build entry.
dpgeorge Mar 2, 2025
65291be
zephyr/machine_wdt: Add watchdog timer implementation.
danicampora Feb 21, 2025
f9e297a
py/makeqstrdata.py: Implement MicroPython compatibility.
vshymanskyy Oct 18, 2024
f7d19cc
tools/mpy-tool.py: Add support for self-hosting of mpy-tool.
vshymanskyy Oct 18, 2024
7c3f52c
tools/mpy-tool.py: Support calling main() from an external script.
vshymanskyy Oct 18, 2024
d8cf71a
esp8266/network_wlan: Allow enumerating connected stations in AP mode.
agatti Feb 14, 2025
309d1bc
nrf/modules: Fix access of read-only buffer in Flash.writeblocks.
dpgeorge Mar 3, 2025
44291bb
py/objarray: Add MP_DEFINE_MEMORYVIEW_OBJ convenience macro.
dpgeorge Jan 3, 2025
1fd9d8c
extmod/modvfs: Add vfs.rom_ioctl function and its ioctl constants.
dpgeorge Nov 15, 2024
81abc1c
extmod/vfs: Add mp_vfs_mount_romfs_protected() helper.
dpgeorge Feb 20, 2025
b8fd0e8
py/runtime: Automatically mount ROMFS as part of mp_init.
dpgeorge Feb 21, 2025
93d0b80
tools/mpremote: Add romfs query, build and deploy commands.
dpgeorge Mar 3, 2022
c7be951
stm32: Implement vfs.rom_ioctl with support for internal/external flash.
dpgeorge Mar 3, 2022
56b5c5d
stm32/boards: Enable ROMFS partitions on PYBD_SFx boards.
dpgeorge Feb 20, 2025
e4f4e1f
rp2: Implement vfs.rom_ioctl with support for external flash.
dpgeorge Mar 3, 2022
1e9e581
esp32: Implement vfs.rom_ioctl with support for external flash.
dpgeorge Mar 3, 2022
f7a1861
esp8266: Implement vfs.rom_ioctl with support for external flash.
dpgeorge Nov 15, 2024
a9c89b1
esp8266/boards: Add FLASH_2M_ROMFS variant with 320k ROM partition.
dpgeorge Mar 1, 2025
8b9bb3d
unix/main: Add coverage test for mounting ROMFS filesystem at startup.
dpgeorge Mar 4, 2025
6960d95
zephyr/machine_timer: Add machine.Timer class implementation.
danicampora Feb 21, 2025
cd8df53
lib/cyw43-driver: Update driver to latest version v1.1.0.
dpgeorge Mar 12, 2025
cb414e1
extmod/network_cyw43: Add WPA3 security constants.
dpgeorge Mar 12, 2025
ff84391
esp32: Merge the per-SoC "main" components back together.
projectgus Mar 4, 2025
3030217
esp32: Remove the ESP32 ringbuffer linker workaround.
projectgus Mar 4, 2025
0dbeab2
esp32/machine_sdcard: Add SDCard pin assignments for ESP32-S3 support.
projectgus Feb 5, 2025
dc30963
esp32/machine_sdcard: Add SDCard SPI mode support for ESP32-S2,C3,C6.
projectgus Feb 5, 2025
52c8742
esp32/boards: Enable machine.SDCard on all boards.
projectgus Feb 5, 2025
27e7e43
esp32/machine_pwm: Correctly stop LEDC timer.
garywill Dec 6, 2024
ee94db5
esp32/machine_pin: Fix logic clearing USB_SERIAL_JTAG_USB_PAD_ENABLE.
garywill Nov 14, 2024
0c75dae
esp32/machine_pin: Fix availability of USB Serial/JTAG pins on ESP32-C6.
projectgus Nov 15, 2024
dbecc5f
rp2/modrp2: Fix rp2.bootsel_button() function for RP2350.
Gadgetoid Mar 11, 2025
08e9ff0
rp2/boards/SPARKFUN_IOTREDBOARD_RP2350: Add support for IoT RedBoard.
SFE-Brudnerd Mar 4, 2025
6677bcc
rp2/boards/WEACTSTUDIO_RP2350B_CORE: Add WeAct Studio RP2350B Core.
mattytrentini Mar 8, 2025
6522410
rp2/boards/SPARKFUN_XRP_CONTROLLER: Add SparkFun XRP Controller.
sfe-SparkFro Mar 10, 2025
5cc92be
rp2/boards/SPARKFUN_XRP_CONTROLLER_BETA: Fix XRP Controller Beta URL.
sfe-SparkFro Mar 10, 2025
7a2f08a
rp2/boards/SEEED_XIAO_RP2350: Add new Seeed XIAO board definition.
Lesords Nov 26, 2024
ca004f4
stm32: Rename ROMFS partition config variables to start at index 0.
dpgeorge Mar 11, 2025
e979f7a
esp8266: Rename ROMFS partition config variables to include "part0".
dpgeorge Mar 11, 2025
c04c9c9
stm32/boards/ARDUINO_GIGA: Enable 4MiB ROMFS partition in ext flash.
iabdalkader Jan 14, 2025
20c94dc
stm32/boards/ARDUINO_NICLA_VISION: Enable 4MiB ROMFS part in ext flash.
iabdalkader Jan 14, 2025
7a9a2ca
stm32/boards/ARDUINO_PORTENTA_H7: Enable 4MiB ROMFS part in ext flash.
iabdalkader Jan 14, 2025
1c752d5
stm32/can: Refactor can.h API to not depend on pyboard can types.
projectgus Oct 9, 2024
6102dfe
tests/multi_pyb_can: Add multitests for pyboard CAN controller.
projectgus May 23, 2024
1de7eaf
shared/runtime/pyexec: Add helper function to execute a vstr.
iabdalkader Feb 27, 2025
6500e6b
tools/mpy_ld.py: Allow linking static libraries.
vshymanskyy Sep 12, 2024
b4e2c32
tools/ci.sh: Build Xtensa natmods as part of the CI process.
agatti Mar 6, 2025
54b5a6c
tools/ci.sh: Do not assume the Python interpreter is called "python".
agatti Mar 6, 2025
6c97744
mimxrt/boards/MAKERDIARY_RT1011_NANO_KIT: Add new Makerdiary board.
robert-hh Mar 3, 2025
43e6039
mimxrt/machine_adc: Add ADC.read_uv() method.
robert-hh Dec 6, 2024
03d47b0
mimxrt/mpconfigport: Enable support for exFAT.
robert-hh Jan 17, 2025
f444480
mimxrt/mpconfigport: Enable PPP for boards with lwIP.
robert-hh Feb 15, 2025
935e35d
mimxrt/machine_uart: Remove duplicate init and make IRQ optional.
robert-hh Feb 22, 2025
65441a9
mimxrt/hal/qspi_nor_flash_config: Use a safe common CS timing.
robert-hh Feb 23, 2025
1454c72
mimxrt/machine_uart: Fix rx/tx buffer allocation bug.
robert-hh Mar 9, 2025
5d339f6
mimxrt/machine_i2c: Support the timeout keyword argument.
robert-hh Mar 13, 2025
6ded2c7
mimxrt: Enable default devices for I2C, SPI and UART.
robert-hh Mar 13, 2025
f4845c1
mimxrt/boards: Update deploy instructions.
robert-hh Mar 23, 2025
3d5c044
drivers: Add MP_QSPI_IOCTL_MEMORY_MODIFIED to indicate flash changed.
dpgeorge Mar 19, 2025
ad84486
stm32/qspi: Implement MP_QSPI_IOCTL_MEMORY_MODIFIED ioctl.
dpgeorge Mar 19, 2025
3d69c3f
rp2/boards: Fix SparkFun vendor name.
malcolm-sparkfun Mar 17, 2025
bfa9c45
rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350: Add SD card support.
malcolm-sparkfun Mar 17, 2025
6071aba
docs/rp2: Add network information to the rp2 quickref.
mattytrentini Dec 22, 2024
0d7834c
rp2/machine_i2c: Require an I2C bus ID when no default is available.
Gadgetoid Mar 13, 2025
db4a111
rp2/machine_spi: Make SPI ID optional.
Gadgetoid Mar 12, 2025
18fc5af
rp2/machine_spi: Allow MISO to be unspecified.
Gadgetoid Mar 12, 2025
e192e83
rp2/mpnetworkport: Fix lost CYW43 WiFi events when using both cores.
projectgus Mar 12, 2025
336d863
rp2/mpnetworkport: Refactor out cyw43_has_pending global variable.
projectgus Mar 18, 2025
7a7e699
rp2/pendsv: Account for PendSV running on both cores, and without CYW43.
projectgus Mar 12, 2025
057dbdb
rp2/machine_uart: Fix unintended UART buffer allocation on init().
robert-hh Mar 9, 2025
56cd285
samd/machine_uart: Fix unintended UART buffer allocation on init().
robert-hh Mar 9, 2025
0001f76
samd/machine_uart: Fix lock-up in loopback mode if read buffer is full.
robert-hh Mar 9, 2025
a6994d9
py/mpconfig: Enable 2-argument built-in next() at basic feature level.
dpgeorge Mar 11, 2025
f954a1c
tests/cpydiff: Remove builtin_next_arg2.py difference.
dpgeorge Mar 17, 2025
df0a616
py/dynruntime: Make malloc functions raise MemoryError on failure.
dpgeorge Mar 17, 2025
3edc04d
extmod/moddeflate: Keep DeflateIO state consistent on window alloc fail.
dpgeorge Mar 17, 2025
521d599
extmod/vfs: Refactor mp_vfs_mount to enable no-args mount overload.
AJMansfield Mar 14, 2025
98eb453
extmod/vfs: Return mount table from no-args vfs.mount call.
AJMansfield Mar 14, 2025
d8e4889
tests/extmod/vfs_mountinfo.py: Add test for no-args mount output.
AJMansfield Mar 3, 2025
610406c
docs/library/vfs: Document no-args mount output.
AJMansfield Mar 3, 2025
7e70ef0
extmod/vfs_rom: Implement minimal VfsRom.getcwd() method.
dpgeorge Mar 11, 2025
49ef86a
tools/mpremote: Make mip install skip /rom*/lib directories.
dpgeorge Mar 11, 2025
af38206
rp2,esp32,extmod: Implement UPDATE_SUBMODULES in CMake.
projectgus Mar 11, 2025
3ac6b88
rp2: Print an error message if pico-sdk submodule is missing.
projectgus Mar 11, 2025
e8675cd
esp32/Makefile: Use $(Q) prefix on all commands.
dpgeorge Mar 28, 2025
1c665ab
rp2/Makefile: Use $(Q) prefix on all commands.
dpgeorge Mar 28, 2025
d6ce67e
ports/rp2: Rework to use new driver hooks.
Mar 31, 2025
22f6cb0
ports/rp2: Remove unnecessary code.
Mar 31, 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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ jobs:
steps:
- uses: actions/checkout@v4
# codespell version should be kept in sync with .pre-commit-config.yml
- run: pip install --user codespell==2.2.6 tomli
- run: pip install --user codespell==2.4.1 tomli
- run: codespell

2 changes: 1 addition & 1 deletion .github/workflows/mpy_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ concurrency:

jobs:
test:
runs-on: ubuntu-20.04 # use 20.04 to get python2
runs-on: ubuntu-22.04 # use 22.04 to get python2
steps:
- uses: actions/checkout@v4
- name: Install packages
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ports_esp32.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ jobs:
ci_func: # names are functions in ci.sh
- esp32_build_cmod_spiram_s2
- esp32_build_s3_c3
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- id: idf_ver
name: Read the ESP-IDF version
run: source tools/ci.sh && echo "IDF_VER=$IDF_VER" | tee "$GITHUB_OUTPUT"
name: Read the ESP-IDF version (including Python version)
run: source tools/ci.sh && echo "IDF_VER=${IDF_VER}-py${PYTHON_VER}" | tee "$GITHUB_OUTPUT"

- name: Cached ESP-IDF install
id: cache_esp_idf
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ports_mimxrt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
defaults:
run:
working-directory: 'micropython repo' # test build with space in path
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ports_nrf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install packages
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ports_renesas-ra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ concurrency:

jobs:
build_renesas_ra_board:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install packages
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ports_stm32.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- stm32_pyb_build
- stm32_nucleo_build
- stm32_misc_build
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install packages
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ports_unix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ jobs:
run: tests/run-tests.py --print-failures

coverage_32bit:
runs-on: ubuntu-20.04 # use 20.04 to get libffi-dev:i386
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386
steps:
- uses: actions/checkout@v4
- name: Install packages
Expand All @@ -116,7 +116,7 @@ jobs:
run: tests/run-tests.py --print-failures

nanbox:
runs-on: ubuntu-20.04 # use 20.04 to get python2, and libffi-dev:i386
runs-on: ubuntu-22.04 # use 22.04 to get python2, and libffi-dev:i386
steps:
- uses: actions/checkout@v4
- name: Install packages
Expand All @@ -142,7 +142,7 @@ jobs:
run: tests/run-tests.py --print-failures

stackless_clang:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install packages
Expand All @@ -156,7 +156,7 @@ jobs:
run: tests/run-tests.py --print-failures

float_clang:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install packages
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ruff.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ jobs:
steps:
- uses: actions/checkout@v4
# ruff version should be kept in sync with .pre-commit-config.yaml
- run: pip install --user ruff==0.1.3
- run: pipx install ruff==0.9.6
- run: ruff check --output-format=github .
- run: ruff format --diff .
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ repos:
stages: [commit-msg]
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Version should be kept in sync with .github/workflows/ruff.yml
rev: v0.1.3
rev: v0.9.6
hooks:
- id: ruff
- id: ruff-format
- repo: https://github.com/codespell-project/codespell
# Version should be kept in sync with .github/workflows/codespell.yml
rev: v2.2.6
rev: v2.4.1
hooks:
- id: codespell
name: Spellcheck for changed files (codespell)
Expand Down
7 changes: 7 additions & 0 deletions docs/develop/natmod.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,13 @@ The known limitations are:
So, if your C code has writable data, make sure the data is defined globally,
without an initialiser, and only written to within functions.

The native module is not automatically linked against the standard static libraries
like ``libm.a`` and ``libgcc.a``, which can lead to ``undefined symbol`` errors.
You can link the runtime libraries by setting ``LINK_RUNTIME = 1``
in your Makefile. Custom static libraries can also be linked by adding
``MPY_LD_FLAGS += -l path/to/library.a``. Note that these are linked into
the native module and will not be shared with other modules or the system.

Linker limitation: the native module is not linked against the symbol table of the
full MicroPython firmware. Rather, it is linked against an explicit table of exported
symbols found in ``mp_fun_table`` (in ``py/nativeglue.h``), that is fixed at firmware
Expand Down
136 changes: 109 additions & 27 deletions docs/esp32/quickref.rst
Original file line number Diff line number Diff line change
Expand Up @@ -83,30 +83,30 @@ The :class:`network.WLAN` class in the :mod:`network` module::

import network

wlan = network.WLAN(network.WLAN.IF_STA) # create station interface
wlan.active(True) # activate the interface
wlan.scan() # scan for access points
wlan.isconnected() # check if the station is connected to an AP
wlan = network.WLAN() # create station interface (the default, see below for an access point interface)
wlan.active(True) # activate the interface
wlan.scan() # scan for access points
wlan.isconnected() # check if the station is connected to an AP
wlan.connect('ssid', 'key') # connect to an AP
wlan.config('mac') # get the interface's MAC address
wlan.ipconfig('addr4') # get the interface's IPv4 addresses
wlan.config('mac') # get the interface's MAC address
wlan.ipconfig('addr4') # get the interface's IPv4 addresses

ap = network.WLAN(network.WLAN.IF_AP) # create access-point interface
ap.config(ssid='ESP-AP') # set the SSID of the access point
ap.config(max_clients=10) # set how many clients can connect to the network
ap.active(True) # activate the interface
ap.config(ssid='ESP-AP') # set the SSID of the access point
ap.config(max_clients=10) # set how many clients can connect to the network
ap.active(True) # activate the interface

A useful function for connecting to your local WiFi network is::

def do_connect():
import network
wlan = network.WLAN(network.WLAN.IF_STA)
import machine, network
wlan = network.WLAN()
wlan.active(True)
if not wlan.isconnected():
print('connecting to network...')
wlan.connect('ssid', 'key')
while not wlan.isconnected():
pass
machine.idle()
print('network config:', wlan.ipconfig('addr4'))

Once the network is established the :mod:`socket <socket>` module can be used
Expand All @@ -121,11 +121,20 @@ calling ``wlan.config(reconnects=n)``, where n are the number of desired reconne
attempts (0 means it won't retry, -1 will restore the default behaviour of trying
to reconnect forever).

.. _esp32_network_lan:

LAN
^^^

To use the wired interfaces via :class:`network.LAN` one has to specify the pins
and mode ::
Built-in MAC (original ESP32)
"""""""""""""""""""""""""""""

The original ESP32 SoC has a built-in Ethernet MAC. Using this MAC requires an
external Ethernet PHY to be wired to the chip's EMAC pins. Most of the EMAC pin
assignments are fixed, consult the ESP32 datasheet for details.

If the PHY is connected, the internal Ethernet MAC can be configured via
the :class:`network.LAN` constructor::

import network

Expand All @@ -134,20 +143,33 @@ and mode ::
lan.ipconfig('addr4') # get the interface's IPv4 addresses


The keyword arguments for the constructor defining the PHY type and interface are:
Required keyword arguments for the constructor:

- ``mdc`` and ``mdio`` - :class:`machine.Pin` objects (or integers) specifying
the MDC and MDIO pins.
- ``phy_type`` - Select the PHY device type. Supported devices are
``PHY_LAN8710``, ``PHY_LAN8720``, ``PHY_IP101``, ``PHY_RTL8201``,
``PHY_DP83848``, ``PHY_KSZ8041`` and ``PHY_KSZ8081``. These values are all
constants defined in the ``network`` module.
- ``phy_addr`` - The address number of the PHY device. Must be an integer in the
range 0x00 to 0x1f, inclusive. Common values are ``0`` and ``1``.

All of the above keyword arguments must be present to configure the interface.

Optional keyword arguments:

- mdc=pin-object # set the mdc and mdio pins.
- mdio=pin-object
- reset=pin-object # set the reset pin of the PHY device.
- power=pin-object # set the pin which switches the power of the PHY device.
- phy_type=<type> # Select the PHY device type. Supported devices are PHY_LAN8710,
PHY_LAN8720, PH_IP101, PHY_RTL8201, PHY_DP83848 and PHY_KSZ8041
- phy_addr=number # The address number of the PHY device.
- ref_clk_mode=mode # Defines, whether the ref_clk at the ESP32 is an input
or output. Suitable values are Pin.IN and Pin.OUT.
- ref_clk=pin-object # defines the Pin used for ref_clk.
- ``reset`` - :class:`machine.Pin` object (or integer) specifying the PHY reset pin.
- ``power`` - :class:`machine.Pin` object (or integer) specifying a pin which
switches the power of the PHY device.
- ``ref_clk`` - :class:`machine.Pin` object (or integer) specifying the pin used
for the EMAC ``ref_clk`` signal. If not specified, the board default is used
(typically GPIO 0, but may be different if a particular board has Ethernet.)
- ``ref_clk_mode`` - Defines whether the EMAC ``ref_clk`` pin of the ESP32
should be an input or an output. Suitable values are ``machine.Pin.IN`` and
``machine.Pin.OUT``. If not specified, the board default is used
(typically input, but may be different if a particular board has Ethernet.)

These are working configurations for LAN interfaces of popular boards::
These are working configurations for LAN interfaces of some popular ESP32 boards::

# Olimex ESP32-GATEWAY: power controlled by Pin(5)
# Olimex ESP32 PoE and ESP32-PoE ISO: power controlled by Pin(12)
Expand All @@ -172,6 +194,66 @@ These are working configurations for LAN interfaces of popular boards::
lan = network.LAN(id=0, mdc=Pin(23), mdio=Pin(18), power=Pin(5),
phy_type=network.PHY_IP101, phy_addr=1)


.. _esp32_spi_ethernet:

SPI Ethernet Interface
""""""""""""""""""""""

All ESP32 SoCs support external SPI Ethernet interface chips. These are Ethernet
interfaces that connect via a SPI bus, rather than an Ethernet RMII interface.

.. note:: The only exception is the ESP32 ``d2wd`` variant, where this feature is disabled
to save code size.

SPI Ethernet uses the same :class:`network.LAN` constructor, with a different
set of keyword arguments::

import machine, network

spi = machine.SPI(1, sck=SCK_PIN, mosi=MOSI_PIN, miso=MISO_PIN)
lan = network.LAN(spi=spi, cs=CS_PIN, ...) # Set the pin and mode configuration
lan.active(True) # activate the interface
lan.ipconfig('addr4') # get the interface's IPv4 addresses

Required keyword arguments for the constructor:

- ``spi`` - Should be a :class:`machine.SPI` object configured for this
connection. Note that any clock speed configured on the SPI object is ignored,
the SPI Ethernet clock speed is configured at compile time.
- ``cs`` - :class:`machine.Pin` object (or integer) specifying the CS pin
connected to the interface.
- ``int`` - :class:`machine.Pin` object (or integer) specifying the INT pin
connected to the interface.
- ``phy_type`` - Select the SPI Ethernet interface type. Supported devices are
``PHY_KSZ8851SNL``, ``PHY_DM9051``, ``PHY_W5500``. These values are all
constants defined in the ``network`` module.
- ``phy_addr`` - The address number of the PHY device. Must be an integer in the
range 0x00 to 0x1f, inclusive. This is usually ``0`` for SPI Ethernet devices.

All of the above keyword arguments must be present to configure the interface.

Optional keyword arguments for the constructor:

- ``reset`` - :class:`machine.Pin` object (or integer) specifying the SPI Ethernet
interface reset pin.
- ``power`` - :class:`machine.Pin` object (or integer) specifying a pin which
switches the power of the SPI Ethernet interface.

Here is a sample configuration for a WIZNet W5500 chip connected to pins on
an ESP32-S3 development board::

import machine, network
from machine import Pin, SPI

spi = SPI(1, sck=Pin(12), mosi=Pin(13), miso=Pin(14))
lan = network.LAN(spi=spi, phy_type=network.PHY_W5500, phy_addr=0,
cs=Pin(10), int=Pin(11))

.. note:: WIZnet W5500 Ethernet is also supported on some other MicroPython
ports, but using a :ref:`different software interface
<network.WIZNET5K>`.

Delay and timing
----------------

Expand Down Expand Up @@ -665,7 +747,7 @@ See :ref:`machine.SDCard <machine.SDCard>`. ::

import machine, os, vfs

# Slot 2 uses pins sck=18, cs=5, miso=19, mosi=23
# On original ESP32, slot 2 uses pins sck=18, cs=5, miso=19, mosi=23
sd = machine.SDCard(slot=2)
vfs.mount(sd, '/sd') # mount

Expand Down
2 changes: 1 addition & 1 deletion docs/esp8266/tutorial/repl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ browser. The latest versions of Firefox and Chrome are supported.

For your convenience, WebREPL client is hosted at
`<http://micropython.org/webrepl>`__. Alternatively, you can install it
locally from the the GitHub repository
locally from the GitHub repository
`<https://github.com/micropython/webrepl>`__.

Before connecting to WebREPL, you should set a password and enable it via
Expand Down
4 changes: 4 additions & 0 deletions docs/library/array.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ Classes
array are given by *iterable*. If it is not provided, an empty
array is created.

In addition to the methods below, array objects also implement the buffer
protocol. This means the contents of the entire array can be accessed as raw
bytes via a `memoryview` or other interfaces which use this protocol.

.. method:: append(val)

Append new element *val* to the end of array, growing it.
Expand Down
4 changes: 4 additions & 0 deletions docs/library/builtins.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ Functions and types

.. class:: bytearray()

|see_cpython| `python:bytearray`.

.. class:: bytes()

|see_cpython| `python:bytes`.
Expand Down Expand Up @@ -104,6 +106,8 @@ Functions and types

.. class:: memoryview()

|see_cpython| `python:memoryview`.

.. function:: min()

.. function:: next()
Expand Down
8 changes: 5 additions & 3 deletions docs/library/espnow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -164,11 +164,13 @@ Configuration
wait forever. The timeout can also be provided as arg to
`recv()`/`irecv()`/`recvinto()`.

*rate*: (ESP32 only, IDF>=4.3.0 only) Set the transmission speed for
*rate*: (ESP32 only) Set the transmission speed for
ESPNow packets. Must be set to a number from the allowed numeric values
in `enum wifi_phy_rate_t
<https://docs.espressif.com/projects/esp-idf/en/v4.4.1/esp32/
api-reference/network/esp_wifi.html#_CPPv415wifi_phy_rate_t>`_.
<https://docs.espressif.com/projects/esp-idf/en/v5.2.3/esp32/
api-reference/network/esp_wifi.html#_CPPv415wifi_phy_rate_t>`_. This
parameter is actually *write-only* due to ESP-IDF not providing any
means for querying the radio interface's rate parameter.

.. data:: Returns:

Expand Down
2 changes: 1 addition & 1 deletion docs/library/framebuf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Drawing text

.. method:: FrameBuffer.text(s, x, y[, c])

Write text to the FrameBuffer using the the coordinates as the upper-left
Write text to the FrameBuffer using the coordinates as the upper-left
corner of the text. The color of the text can be defined by the optional
argument but is otherwise a default value of 1. All characters have
dimensions of 8x8 pixels and there is currently no way to change the font.
Expand Down
Loading
Loading
0