forked from micropython/micropython
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Merge MicroPython v1.25.0 #10437
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
Merged
Merged
Merge MicroPython v1.25.0 #10437
Changes from all commits
Commits
Show all changes
548 commits
Select commit
Hold shift + click to select a range
842e361
renesas-ra/Makefile: Remove id_code section from binary file generation.
iabdalkader aef6705
extmod/lwip-include: Increase number of lwIP timers when mDNS enabled.
tpwrules 321b30c
extmod/modtls_mbedtls: Wire in support for DTLS.
keenanjohnson 8987b39
tests/multi_net: Add test for DTLS server and client.
dpgeorge 71df9d0
rp2: Fix build failure if threads are disabled.
projectgus 516709b
py/mkrules.cmake: Support passing CFLAGS_EXTRA in environment variable.
projectgus 1034b17
tools/ci.sh: Build the W5100S_EVB_PICO board with no threads.
projectgus 6425c9e
esp32: Remove unneeded "memory.h" header file.
agatti 1e3cce1
mimxrt/boards/ADAFRUIT_METRO_M7: Reduce flash freq to 100MHz.
robert-hh 4364d94
mimxrt/hal/flexspi_nor_flash: Fix typo in comment about frequency.
robert-hh 2992e34
tools/mpremote: Add support for relative urls in package.json files.
glenn20 7e9d19e
github/workflows: Stop using ubuntu-20.04.
dpgeorge 8b1ed44
github/workflows: Include the Python version in the ESP-IDF cache key.
projectgus 5e206fd
all: Upgrade codespell to v2.4.1.
cclauss 3f0dd13
docs: Fix double 'the' in documentation.
rxwb dc2fcfc
all: Upgrade to ruff v0.9.6.
cclauss 8ce7a58
tests: Four typos in tests directory.
cclauss 731f7ad
stm32/sdcard: Fix unchecked uint32_t overflow in SD card driver.
projectgus 78728dc
stm32/sdcard: Drop the pyb.SDCard timeout from 60 to 30 seconds.
projectgus e3101ce
qemu/boards/SABRELITE: Increase MicroPython heap to 160k.
dpgeorge 14ba32b
extmod/vfs_rom: Add bounds checking for all filesystem accesses.
dpgeorge dc2c33b
py/emitinlinerv32: Fix compilation with ESP-IDF v5.2 and later.
agatti 8633abc
py/emitinlinerv32: Reduce the footprint of compiled code.
agatti 50fab08
py/emitinlinextensa: Simplify register name lookup.
agatti 5fdd249
py/parsenum: Reduce code footprint of mp_parse_num_float.
yoctopuce 86526e9
tools/mpremote: Optimise readline support in mount.
pi-anl 71c7c03
tools/mpremote/tests: Add test for RemoteFile.readline.
dpgeorge 13b0237
lib/pico-sdk: Update to version 2.1.1.
dpgeorge 9939b6c
rp2/boards/MACHDYNE_WERKZEUG: Add support for Machdyne Werkzeug.
machdyne cad62c2
rp2/boards/SPARKFUN_XRP_CONTROLLER_BETA: Add SparkFun XRP Controller.
sfe-SparkFro bb4ec88
rp2/machine_i2c: Make I2C bus ID arg optional with default.
malcolm-sparkfun c143eb5
esp32/machine_i2c: Make I2C bus ID arg optional with default.
malcolm-sparkfun ec876a5
esp32/README: Make some minor improvements to the README.
garywill cbd21b3
esp32/esp32_common.cmake: Allow overriding linker.lf.
karlp 61cb293
esp32/machine_pin: Implement Pin.toggle() method.
robert-hh e009ab0
esp8266/machine_pin: Implement Pin.toggle() method.
robert-hh 22310ae
cc3200/mods/pybpin: Implement Pin.toggle() method.
robert-hh 48925fd
docs/library/machine.Pin: Show availability of low, high and toggle.
robert-hh 69ffd2a
renesas-ra/modrenesas: Expose the Flash block device to Python code.
robert-hh eb45d97
py/objstr: Support tuples and start/end args in startswith and endswith.
glenn20 213f1c1
samd/machine_i2c: Support default instance and SCL/SDA pin values.
robert-hh 62ed69b
samd/machine_spi: Support default instance and SCK/MOSI/MISO pin values.
robert-hh daef1c1
samd/machine_uart: Support default instance and TX/RX pin values.
robert-hh 4cbaab1
samd/boards: Add missing TX/RX, SCL/SDA and SCK/MOSI/MISO pin names.
robert-hh b9b4f1b
samd/boards: Provide default IDs for UART, I2C and SPI.
robert-hh 016ae19
docs/samd: Update the SAMD documentation describing default IDs/pins.
robert-hh 5f01232
tests/run-tests: Remove any 'expected' file from a unittest run.
projectgus b4cf82b
test/run-tests: Print a note if it looks like unittest.main() missing.
projectgus f5b4545
py/modsys: Add sys.implementation._build entry.
dpgeorge 859b6ef
zephyr/machine_wdt: Add watchdog timer implementation.
danicampora fc71f78
py/makeqstrdata.py: Implement MicroPython compatibility.
vshymanskyy e1b2f2e
tools/mpy-tool.py: Add support for self-hosting of mpy-tool.
vshymanskyy 6fba1e4
tools/mpy-tool.py: Support calling main() from an external script.
vshymanskyy 4d034f8
esp8266/network_wlan: Allow enumerating connected stations in AP mode.
agatti 6be7570
nrf/modules: Fix access of read-only buffer in Flash.writeblocks.
dpgeorge 9dd4cef
py/objarray: Add MP_DEFINE_MEMORYVIEW_OBJ convenience macro.
dpgeorge 89e6c58
extmod/modvfs: Add vfs.rom_ioctl function and its ioctl constants.
dpgeorge d4b8ca2
extmod/vfs: Add mp_vfs_mount_romfs_protected() helper.
dpgeorge 840b641
py/runtime: Automatically mount ROMFS as part of mp_init.
dpgeorge 0c98c60
tools/mpremote: Add romfs query, build and deploy commands.
dpgeorge bea7645
stm32: Implement vfs.rom_ioctl with support for internal/external flash.
dpgeorge 45c36f8
stm32/boards: Enable ROMFS partitions on PYBD_SFx boards.
dpgeorge 50a7362
rp2: Implement vfs.rom_ioctl with support for external flash.
dpgeorge 0255cb7
esp32: Implement vfs.rom_ioctl with support for external flash.
dpgeorge 75ff8e5
esp8266: Implement vfs.rom_ioctl with support for external flash.
dpgeorge 6bec36a
esp8266/boards: Add FLASH_2M_ROMFS variant with 320k ROM partition.
dpgeorge be0fce9
unix/main: Add coverage test for mounting ROMFS filesystem at startup.
dpgeorge 3823aeb
zephyr/machine_timer: Add machine.Timer class implementation.
danicampora 0ec496a
lib/cyw43-driver: Update driver to latest version v1.1.0.
dpgeorge dafff1f
extmod/network_cyw43: Add WPA3 security constants.
dpgeorge 4b1c666
esp32: Merge the per-SoC "main" components back together.
projectgus 4d65b4e
esp32: Remove the ESP32 ringbuffer linker workaround.
projectgus 79fb5aa
esp32/machine_sdcard: Add SDCard pin assignments for ESP32-S3 support.
projectgus c85eefc
esp32/machine_sdcard: Add SDCard SPI mode support for ESP32-S2,C3,C6.
projectgus 464121f
esp32/boards: Enable machine.SDCard on all boards.
projectgus bfd974d
esp32/machine_pwm: Correctly stop LEDC timer.
garywill 4d2d60d
esp32/machine_pin: Fix logic clearing USB_SERIAL_JTAG_USB_PAD_ENABLE.
garywill 1d5dc72
esp32/machine_pin: Fix availability of USB Serial/JTAG pins on ESP32-C6.
projectgus e75ffc3
rp2/modrp2: Fix rp2.bootsel_button() function for RP2350.
Gadgetoid 9a070fe
rp2/boards/SPARKFUN_IOTREDBOARD_RP2350: Add support for IoT RedBoard.
SFE-Brudnerd 8dcf929
rp2/boards/WEACTSTUDIO_RP2350B_CORE: Add WeAct Studio RP2350B Core.
mattytrentini ac30dcb
rp2/boards/SPARKFUN_XRP_CONTROLLER: Add SparkFun XRP Controller.
sfe-SparkFro 2264340
rp2/boards/SPARKFUN_XRP_CONTROLLER_BETA: Fix XRP Controller Beta URL.
sfe-SparkFro 416c6cf
rp2/boards/SEEED_XIAO_RP2350: Add new Seeed XIAO board definition.
Lesords bf9cdd2
stm32: Rename ROMFS partition config variables to start at index 0.
dpgeorge d5aeca2
esp8266: Rename ROMFS partition config variables to include "part0".
dpgeorge 043dc79
stm32/boards/ARDUINO_GIGA: Enable 4MiB ROMFS partition in ext flash.
iabdalkader edc927a
stm32/boards/ARDUINO_NICLA_VISION: Enable 4MiB ROMFS part in ext flash.
iabdalkader 96ce08e
stm32/boards/ARDUINO_PORTENTA_H7: Enable 4MiB ROMFS part in ext flash.
iabdalkader 9db2398
stm32/can: Refactor can.h API to not depend on pyboard can types.
projectgus dbda43b
tests/multi_pyb_can: Add multitests for pyboard CAN controller.
projectgus f187c77
shared/runtime/pyexec: Add helper function to execute a vstr.
iabdalkader 5197611
tools/mpy_ld.py: Allow linking static libraries.
vshymanskyy 1a7cbac
tools/ci.sh: Build Xtensa natmods as part of the CI process.
agatti 31a008c
tools/ci.sh: Do not assume the Python interpreter is called "python".
agatti f1018ee
mimxrt/boards/MAKERDIARY_RT1011_NANO_KIT: Add new Makerdiary board.
robert-hh 58f1ade
mimxrt/machine_adc: Add ADC.read_uv() method.
robert-hh d8edae0
mimxrt/mpconfigport: Enable support for exFAT.
robert-hh 2a5b97b
mimxrt/mpconfigport: Enable PPP for boards with lwIP.
robert-hh 2d20dbc
mimxrt/machine_uart: Remove duplicate init and make IRQ optional.
robert-hh 1398e7f
mimxrt/hal/qspi_nor_flash_config: Use a safe common CS timing.
robert-hh b85ad4b
mimxrt/machine_uart: Fix rx/tx buffer allocation bug.
robert-hh 1e7328c
mimxrt/machine_i2c: Support the timeout keyword argument.
robert-hh cdcc70d
mimxrt: Enable default devices for I2C, SPI and UART.
robert-hh 274c8c4
mimxrt/boards: Update deploy instructions.
robert-hh c61e859
drivers: Add MP_QSPI_IOCTL_MEMORY_MODIFIED to indicate flash changed.
dpgeorge 396ab26
stm32/qspi: Implement MP_QSPI_IOCTL_MEMORY_MODIFIED ioctl.
dpgeorge 1e92bdd
rp2/boards: Fix SparkFun vendor name.
malcolm-sparkfun 93a8c53
rp2/boards/SPARKFUN_IOTNODE_LORAWAN_RP2350: Add SD card support.
malcolm-sparkfun 39452db
docs/rp2: Add network information to the rp2 quickref.
mattytrentini f315a37
rp2/machine_i2c: Require an I2C bus ID when no default is available.
Gadgetoid a861223
rp2/machine_spi: Make SPI ID optional.
Gadgetoid dd7a950
rp2/machine_spi: Allow MISO to be unspecified.
Gadgetoid 6fa498c
rp2/mpnetworkport: Fix lost CYW43 WiFi events when using both cores.
projectgus 23fb171
rp2/mpnetworkport: Refactor out cyw43_has_pending global variable.
projectgus 35d4d2d
rp2/pendsv: Account for PendSV running on both cores, and without CYW43.
projectgus 2b2a431
rp2/machine_uart: Fix unintended UART buffer allocation on init().
robert-hh 6db7b47
samd/machine_uart: Fix unintended UART buffer allocation on init().
robert-hh 4dfee50
samd/machine_uart: Fix lock-up in loopback mode if read buffer is full.
robert-hh 56e90cb
py/mpconfig: Enable 2-argument built-in next() at basic feature level.
dpgeorge 994751c
tests/cpydiff: Remove builtin_next_arg2.py difference.
dpgeorge fdc0c6f
py/dynruntime: Make malloc functions raise MemoryError on failure.
dpgeorge fa42487
extmod/moddeflate: Keep DeflateIO state consistent on window alloc fail.
dpgeorge 458a8f2
extmod/vfs: Refactor mp_vfs_mount to enable no-args mount overload.
AJMansfield 1487a13
extmod/vfs: Return mount table from no-args vfs.mount call.
AJMansfield 9fcc25b
tests/extmod/vfs_mountinfo.py: Add test for no-args mount output.
AJMansfield c68a40a
docs/library/vfs: Document no-args mount output.
AJMansfield e4051a1
extmod/vfs_rom: Implement minimal VfsRom.getcwd() method.
dpgeorge 2db0c02
tools/mpremote: Make mip install skip /rom*/lib directories.
dpgeorge cccac2c
rp2,esp32,extmod: Implement UPDATE_SUBMODULES in CMake.
projectgus 50da085
rp2: Print an error message if pico-sdk submodule is missing.
projectgus a828b99
esp32/Makefile: Use $(Q) prefix on all commands.
dpgeorge 5eee5a6
rp2/Makefile: Use $(Q) prefix on all commands.
dpgeorge f96417d
rp2/cyw43_configport: Fix cyw43 mDNS by properly starting mDNS on netif.
b33b9f8
stm32/main: Catch and report corrupted lfs filesystem at startup.
pi-anl 1a47379
stm32/boards: Add F427 AF CSV file.
iabdalkader 3b94889
stm32/stm32_it: Add handler for timer 20 interrupt.
H-Grobben 91386b3
stm32/timer: Use APB2 to calculate timer 20 source frequency.
H-Grobben c18e925
stm32/timer: Add support for STM32H5 Timer 1.
mattytrentini ac1cbef
stm32/qspi: Add qspi_memory_map_exit and restart.
dpgeorge 1660faa
stm32/boards/PYBD_SF2: Restart qspi memory-mapped mode during startup.
dpgeorge 9ab6906
esp32/esp32_common.cmake: Use native gchelper for RISC-V.
agatti fda9bf4
esp32/esp32_common.cmake: Clean up RISC-V directives.
agatti 6bb5866
esp32/esp32_common.cmake: Remove obsolete definition.
agatti 3805e65
tools/mpy_ld.py: Give better error for unsupported ARM absolute relocs.
jonnor e34412f
tools/ci.sh: Manually install picotool for rp2 builds.
dpgeorge 57f1e60
tests/cpydiff: Update CPy diff for assign expr in nested comprehensions.
projectgus e9a80fc
tests/cpydiff: Remove types_str_endswith.
projectgus 74a5bf9
tools/gen-cpydiff.py: Fail CPython diff generation if output matches.
projectgus 9e9be83
tools/mpremote: Allow .img for ROMFS file and validate ROMFS image.
iabdalkader 11f057d
rp2: Add support for PSRAM with auto-detection.
Gadgetoid b7d5caf
rp2/mpconfigport: Configure heap for PSRAM.
Gadgetoid 89eea0f
rp2/rp2_flash: Support flash writes from PSRAM.
MichaelBell 91cff8e
rp2/rp2_flash: Configure optimal flash timings.
MichaelBell 0ee160e
extmod/extmod.mk: Add cyw43_spi.c to list of sources.
dpgeorge a9384c7
extmod/extmod.mk: Switch from drivers/cyw43/cywbt to lib/cyw43-drivers.
dpgeorge 7268034
top: Add "ser" to codespell exclusion list.
dpgeorge c5102a7
lib/alif_ensemble-cmsis-dfp: Add new submodule for Alif SDK v1.3.2.
dpgeorge 1356860
lib/alif-security-toolkit: Add new submodule for Alif Security Toolkit.
dpgeorge 092d855
alif/tinyusb_port: Add Alif TinyUSB DCD driver.
dpgeorge ebecd6d
alif/tinyusb_port: Disable USB IRQ on deinit.
iabdalkader b8a9cdf
alif/tinyusb_port: Implement SOF event.
dpgeorge ccc5935
alif: Add initial port to Alif Ensemble MCUs.
dpgeorge 40ff0c2
alif/system_tick: Use a UTIMER for system ticks and timing.
dpgeorge 975f84f
alif/mphalport: Enable efficient events and implement quiet timing.
dpgeorge ada0939
alif/system_tick: Integrate soft timer.
dpgeorge 53b7c14
alif/modmachine: Enable machine.Timer.
dpgeorge 4e62ade
alif/se_services: Add SE services interface.
dpgeorge c6cb082
alif/mpconfigport: Enable os.urandom().
dpgeorge 64af93e
alif/mpconfigport: Enable MICROPY_PY_RANDOM_SEED_INIT_FUNC.
dpgeorge 2a580b0
alif/modalif: Add alif.info() function.
dpgeorge 2f85a19
alif/modmachine: Implement machine.unique_id(), fix machine.reset().
dpgeorge 31d18c5
alif/usbd: Implement proper USB serial number.
dpgeorge 62beb54
alif/machine_adc: Add basic ADC support.
dpgeorge b7df5aa
alif/mcu: Add ToC config for dual images.
iabdalkader 8f82089
alif: Support building the port for HE or HP or both cores.
iabdalkader 6b4d465
alif: Support running the port on the HE core.
iabdalkader 4f6f283
alif: Implement Open-AMP port backend.
iabdalkader cee8e11
alif/irq: Define more IRQ priorities.
iabdalkader bbb8fd7
alif/system_tick: Implement optional LPTIMER support for systick.
dpgeorge c6ebecc
alif/system_tick: Implement optional ARM SysTick support for systick.
dpgeorge 58d6fe2
alif/mpconfigport: Select SysTick on HE core.
dpgeorge 4c4b484
alif/mpu: Add custom MPU_Load_Regions function.
dpgeorge 84effb3
alif/ospi_flash: Generalise flash driver to support MX chips.
dpgeorge 41e1688
alif/ospi_flash: Enter XIP mode when flash is idle.
dpgeorge 3d17f63
alif/mpu: Define constants for MPU regions.
iabdalkader 5152a1f
alif/mpmetalport: Add Open-AMP MPU region.
iabdalkader 1585080
alif/ospi_flash: Fix XIP for 8-bit instructions (ISSI).
iabdalkader aec0300
alif/ospi_flash: Support flash device auto-detection in runtime.
iabdalkader 8807f8d
alif/ospi_flash: Configure dummy cycles.
iabdalkader 872f3d7
alif/ospi_flash: Add negative clock pin.
iabdalkader 0709936
alif/ospi_flash: Enable pull-up IO2/WP.
iabdalkader df06bf9
alif/ospi_ext: Optimize XIP speed.
iabdalkader 602bc86
alif/ospi_flash: Use OSPI in XIP mode only.
iabdalkader 92f056d
alif/ospi_flash: Add 16-bit words swap flash setting.
iabdalkader ff6ed73
alif/se_services: Use EUI extension for unique id.
iabdalkader 039df0c
alif/modmachine: Implement proper low-power modes.
iabdalkader 82bae65
alif: Add support for pin alternate function selection.
iabdalkader 9073270
alif/machine_i2c: Add machine.I2C peripheral support.
iabdalkader 280e6e2
alif/machine_spi: Add machine.SPI peripheral support.
iabdalkader ec92bcf
alif/machine_rtc: Add basic machine.RTC support.
iabdalkader facd0b7
alif/ospi_flash: Use mp_hal_pin_config to configure OSPI pins.
iabdalkader b9e5f1f
alif/se_services: Add a secondary MHU channel.
iabdalkader 182b5f3
alif/mpmetalport: Use MHU to notify remote cores.
iabdalkader 68b1dae
alif: Link with libnosys.
iabdalkader 7e32c23
alif/mpmetalport: Only notify after metal subsystem is init'd.
dpgeorge ca3d50a
alif/mpuart: Use mp_hal_pin_config for TX/RX configuration.
dpgeorge af574a8
alif/alif_flash: Distinguish between total flash size and FS size.
dpgeorge d895a62
alif/alif_flash: Make flash respond to the buffer protocol.
dpgeorge f83f6e7
alif/mpu: Add function to set read-only bit on MRAM MPU region.
dpgeorge 8297c95
alif/vfs_rom_ioctl: Add vfs_rom_ioctl with support for OSPI and MRAM.
dpgeorge d1b12cb
alif/modules: Make HE core set /rom as current dir.
dpgeorge 4f2a8bd
alif/mphalport: Add mp_hal_pin_config_irq_falling helper.
dpgeorge 411146b
alif/mpuart: Generalise UART driver to suppot all UART instances.
dpgeorge 526c7ea
alif: Integrate lwIP and mbedTLS.
dpgeorge d6e3342
alif: Integrate cyw43 WLAN driver.
dpgeorge 30dfbe5
alif: Integrate cyw43 Bluetooth with NimBLE.
dpgeorge da46b4d
alif/mcu: Remove json config files.
iabdalkader 19a4689
alif/mcu: Pre-process Alif ToC config file.
iabdalkader 293e8db
alif/mpuart: Enhance UART to support bits/parity/stop and more IRQs.
dpgeorge 29a873e
alif/machine_uart: Add machine.UART peripheral support.
dpgeorge 737acef
alif: Support more fine-grained pin alternate function selection.
dpgeorge 3564ce5
alif/ospi_flash: Don't invalidate cache after erasing/writing.
dpgeorge df5e4ce
alif/ospi_flash_settings: Use 8-bit DFS for XIP.
dpgeorge c395f5e
alif/ospi_flash: Restore XIP settings after erase and write.
dpgeorge b79b64a
alif/mpu: Add MPU region for OSPI1 XIP memory range.
dpgeorge 7c216d1
alif/boards/ALIF_ENSEMBLE: Add Alif Ensemble board config.
iabdalkader 704d2f2
alif/boards/OPENMV_AE3: Add OpenMV AE3 board definition.
dpgeorge 547207d
github/workflows: Add Alif port to CI.
iabdalkader 2ad5925
tests/ports/alif_hardware: Add flash testing script.
dpgeorge 037f2da
tests: Update UART and SPI tests to work on Alif boards.
dpgeorge 1aa9b3d
tools/mpremote: Add recursive remove functionality to filesystem cmds.
Josverl 72d4c40
tools/mpremote/tests: Add tests for mpremote rm -r.
Josverl ef8282c
docs/reference/mpremote: Update docs for mpremote rm -r.
Josverl e7edf07
drivers/memory/spiflash: Allow a board/port to configure chip params.
dpgeorge b078569
drivers/memory/spiflash: Allow a board/port to detect SPI flash.
dpgeorge 2c0240e
drivers/bus/qspi: Make num_dummy configurable for quad reads.
dpgeorge 1d83c81
stm32/vfs_rom_ioctl: Allow ROMFS configuration to be dynamic.
dpgeorge aa09456
stm32/qspi: Allow SPI flash size to be decided at runtime.
dpgeorge de08190
stm32/mboot: Allow USB strings to be dynamic.
dpgeorge ed4833d
stm32/modmachine: Add SPI flash size to machine.info dump.
dpgeorge db85427
stm32/boards/PYBD_SF6: Support boards with larger SPI flash.
dpgeorge 0b3ad98
mimxrt/Makefile: Fix dependencies for generation of flexram_config.s.
dpgeorge 9ee2ef5
py/emitinlinerv32: Move include of asmrv32.h to within feature guard.
dpgeorge 9f30627
lib/micropython-lib: Update submodule to latest.
dpgeorge f498a16
all: Bump version to 1.25.0.
dpgeorge 5fb3f96
MicroPython v1.25.0 merge
dhalbert 1263d11
Merge remote-tracking branch 'adafruit/main' into merge-micropython-v…
dhalbert b874e04
micropython v1.25.0 merge: fix tests, fix typos, fix includes
dhalbert 2d9f304
shrink wiznet boards
dhalbert File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,3 +26,4 @@ ftbfs | |
straightaway | ||
ftbs | ||
ftb | ||
curren |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
/* | ||
* This file is part of the MicroPython project, http://micropython.org/ | ||
* | ||
* The MIT License (MIT) | ||
* | ||
* Copyright (c) 2025 Damien P. George | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
*/ | ||
#ifndef MICROPY_INCLUDED_LWIPOPTS_COMMON_H | ||
#define MICROPY_INCLUDED_LWIPOPTS_COMMON_H | ||
|
||
#include "py/mpconfig.h" | ||
|
||
// This sys-arch protection is not needed. | ||
// Ports either protect lwIP code with flags, or run it at PendSV priority. | ||
#define SYS_ARCH_DECL_PROTECT(lev) do { } while (0) | ||
#define SYS_ARCH_PROTECT(lev) do { } while (0) | ||
#define SYS_ARCH_UNPROTECT(lev) do { } while (0) | ||
|
||
#define NO_SYS 1 | ||
#define SYS_LIGHTWEIGHT_PROT 1 | ||
#define MEM_ALIGNMENT 4 | ||
|
||
#define LWIP_CHKSUM_ALGORITHM 3 | ||
#define LWIP_CHECKSUM_CTRL_PER_NETIF 1 | ||
|
||
#define LWIP_ARP 1 | ||
#define LWIP_ETHERNET 1 | ||
#define LWIP_RAW 1 | ||
#define LWIP_NETCONN 0 | ||
#define LWIP_SOCKET 0 | ||
#define LWIP_STATS 0 | ||
#define LWIP_NETIF_HOSTNAME 1 | ||
|
||
#define LWIP_DHCP 1 | ||
#define LWIP_DHCP_CHECK_LINK_UP 1 | ||
#define LWIP_DHCP_DOES_ACD_CHECK 0 // to speed DHCP up | ||
#define LWIP_DNS 1 | ||
#define LWIP_DNS_SUPPORT_MDNS_QUERIES 1 | ||
#define LWIP_MDNS_RESPONDER 1 | ||
#define LWIP_IGMP 1 | ||
|
||
#if MICROPY_PY_LWIP_PPP | ||
#define PPP_SUPPORT 1 | ||
#define PAP_SUPPORT 1 | ||
#define CHAP_SUPPORT 1 | ||
#endif | ||
|
||
#define LWIP_NUM_NETIF_CLIENT_DATA LWIP_MDNS_RESPONDER | ||
#define MEMP_NUM_UDP_PCB (4 + LWIP_MDNS_RESPONDER) | ||
|
||
// The mDNS responder requires 5 timers per IP version plus 2 others. Not having enough silently breaks it. | ||
#define MEMP_NUM_SYS_TIMEOUT (LWIP_NUM_SYS_TIMEOUT_INTERNAL + (LWIP_MDNS_RESPONDER * (2 + (5 * (LWIP_IPV4 + LWIP_IPV6))))) | ||
|
||
#define SO_REUSE 1 | ||
#define TCP_LISTEN_BACKLOG 1 | ||
|
||
// TCP memory settings. | ||
// Default lwIP settings takes 15800 bytes; TCP d/l: 380k/s local, 7.2k/s remote; TCP u/l is very slow. | ||
#ifndef MEM_SIZE | ||
|
||
#if 0 | ||
// lwIP takes 19159 bytes; TCP d/l and u/l are around 320k/s on local network. | ||
#define MEM_SIZE (5000) | ||
#define TCP_WND (4 * TCP_MSS) | ||
#define TCP_SND_BUF (4 * TCP_MSS) | ||
#endif | ||
|
||
#if 1 | ||
// lwIP takes 26700 bytes; TCP dl/ul are around 750/600 k/s on local network. | ||
#define MEM_SIZE (8000) | ||
#define TCP_MSS (800) | ||
#define TCP_WND (8 * TCP_MSS) | ||
#define TCP_SND_BUF (8 * TCP_MSS) | ||
#define MEMP_NUM_TCP_SEG (32) | ||
#endif | ||
|
||
#if 0 | ||
// lwIP takes 45600 bytes; TCP dl/ul are around 1200/1000 k/s on local network. | ||
#define MEM_SIZE (16000) | ||
#define TCP_MSS (1460) | ||
#define TCP_WND (8 * TCP_MSS) | ||
#define TCP_SND_BUF (8 * TCP_MSS) | ||
#define MEMP_NUM_TCP_SEG (32) | ||
#endif | ||
|
||
#endif // MEM_SIZE | ||
|
||
// Needed for PPP. | ||
#define sys_jiffies sys_now | ||
|
||
typedef uint32_t sys_prot_t; | ||
|
||
#endif // MICROPY_INCLUDED_LWIPOPTS_COMMON_H |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.