675 Commits

Author SHA1 Message Date
Gabor Peresztegi
22d4c25aa6 Update LVGL binding: use it as USER_C_MODULE; add unix-lvgl variant and M5Core2 board; remove ESP32 specific LVGL modules (soft links) 2025-03-04 00:35:47 +01:00
Gabor Peresztegi
c767aba09b Update MicroPython bindings 2025-03-04 00:29:41 +01:00
Gabor Peresztegi
06ebf74c14 Merge tag 'v1.24.1' of https://github.com/micropython/micropython into update/micropython_v1.24.1-usermod
Patch release for mpremote, rp2 IGMP, esp32 PWM, SDCard, and AP channel

This is a patch release containing the following commits:
- tools/mpremote: fix UnboundLocalError in Transport.fs_writefile()
- esp32/machine_pwm: use IDF functions to calculate resolution correctly
- pic16bit: make it build with recent XC16 versions
- py/objdeque: fix buffer overflow in deque_subscr
- extmod/modlwip: fix IGMP address type when IPv6 is enabled
- esp32/machine_pwm: restore PWM support for ESP-IDF v5.0.x and v5.1.x
- esp32: workaround native code execution crash on ESP32-S2
- tools/mpremote: make sure stdout and stderr output appear in order
- tools/mpremote: add test for forced copy
- tools/mpremote: support trailing slash on dest for non-recursive copy
- esp32/modsocket: fix getaddrinfo hints to set AI_CANONNAME
- extmod/vfs_blockdev: support bool return from Python read/write blocks
- extmod/network_cyw43: fix isconnected() result on AP interface
- extmod/network_cyw43: fix uninitialised variable in status('stations')
- extmod/network_cyw43: allow configuring active AP interface
- esp32: fix setting WLAN channel in AP mode
- esp32: use hardware version for touchpad macro defines
- esp32: fix machine.TouchPad startup on ESP32-S2 and S3
- extmod/modframebuf: fix 0 radius bug in FrameBuffer.ellipse
- nrf/drivers/ticker: reset slow ticker callback count on soft reboot
- py/objfloat: workaround non-constant NAN definition on Windows MSVC

# Conflicts:
#	.github/workflows/code_formatting.yml
#	.github/workflows/code_size.yml
#	.github/workflows/commit_formatting.yml
#	.github/workflows/docs.yml
#	.github/workflows/examples.yml
#	.github/workflows/mpremote.yml
#	.github/workflows/mpy_format.yml
#	.github/workflows/ports.yml
#	.github/workflows/ports_cc3200.yml
#	.github/workflows/ports_esp32.yml
#	.github/workflows/ports_esp8266.yml
#	.github/workflows/ports_mimxrt.yml
#	.github/workflows/ports_nrf.yml
#	.github/workflows/ports_powerpc.yml
#	.github/workflows/ports_renesas-ra.yml
#	.github/workflows/ports_rp2.yml
#	.github/workflows/ports_samd.yml
#	.github/workflows/ports_stm32.yml
#	.github/workflows/ports_unix.yml
#	.github/workflows/ports_webassembly.yml
#	.github/workflows/ports_windows.yml
#	.github/workflows/ports_zephyr.yml
#	README.md
#	extmod/extmod.mk
#	ports/esp32/.gitignore
#	ports/esp32/CMakeLists.txt
#	ports/esp32/boards/ESP32_GENERIC/mpconfigboard.cmake
#	ports/esp32/boards/sdkconfig.base
#	ports/esp32/main.c
#	ports/esp32/main/CMakeLists.txt
#	ports/stm32/Makefile
#	ports/stm32/boards/STM32F7DISC/mpconfigboard.mk
#	ports/stm32/boards/manifest.py
#	ports/stm32/boards/stm32f7xx_hal_conf_base.h
#	ports/unix/Makefile
#	ports/unix/variants/manifest.py
#	ports/unix/variants/mpconfigvariant_common.h
#	ports/windows/mpconfigport.h
#	py/makeqstrdata.py
#	py/qstr.c
#	py/qstr.h
#	tools/ci.sh
#	tools/makemanifest.py
#	tools/mpy-tool.py
2025-03-01 17:41:20 +01:00
Damien George
18c9abc329 lib/micropython-lib: Update submodule to latest.
This brings in:
- requests improvements with overriding headers
- use non-u versions of built-in modules, including asyncio
- fix to logging so StreamHandler calls parent constructor
- various fixes to usb-device packages
- fixes to lora sx126x and sx127x drivers
- improvements to unix-ffi/sqlite3
- support additional gap_connect arguments in aioble

Signed-off-by: Damien George <damien@micropython.org>
2024-10-25 01:26:58 +11:00
iabdalkader
bab6a016b3 lib/arduino-lib: Update submodule.
Changes:
- Add ISO7816, APDU and SE05x package.
- Add support for Opta Expansion protocol.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-10-25 01:18:33 +11:00
Damien George
70a884d6ec lib/pico-sdk: Update to version 2.0.0.
Adds support for the new RP2350 MCU.

Signed-off-by: Damien George <damien@micropython.org>
2024-10-15 11:51:56 +11:00
Damien George
09fa90ed47 lib/tinyusb: Update to version 0.17.0.
Includes support for RP2350, and improvements for ESP32.

Signed-off-by: Damien George <damien@micropython.org>
2024-09-26 23:13:34 +10:00
Alessandro Gatti
2b5feb9121 lib/libffi: Update libffi to 3.4.6.
Libffi is updated to the latest stable version (v3.4.6) as the version
of libffi that was linked by the repository predates the introduction of
RISC-V processors (both 32 and 64 bits).

This is necessary as the packaged version of libffi used by the CI for
RISC-V 64 turned out to simply not work correctly, whilst a source-built
version of libffi worked just fine.

Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
2024-09-23 11:47:18 +10:00
Damien George
067ef81cd0 all: Remove tinytest component.
With the recent qemu (d9a0fdda9a7b0db55c1115b55bb1b83cd5ce739c and
0426934969d06aa649ba903f5408cb331b5b9c2d) and zephyr
(05cad7b56f5d460db26a468a05bfdeabe4a656db) changes to how their tests are
run, two things became unused:

- The tinytest framework, which embedded a set of tests and their expected
  output within firmware, so these tests could be run stand-alone.

- The `--write-exp` and `--list-tests` options to `tests/run-tests.py`,
  which were needed primarily to generated the expected test output for
  tinytest (also the associated `tests/run-tests-exp.py/.sh` scripts are
  now unused).

This commit removes the tinytest component and all its helper code.  This
eliminates a maintenance burden.

Signed-off-by: Damien George <damien@micropython.org>
2024-09-19 13:31:36 +10:00
liamHowatt
ac025d583d check structs for alternative name in JSON 2024-09-02 09:59:21 -04:00
Damien George
a89ac9e24a lib/lwip: Update lwIP to STABLE-2_2_0_RELEASE.
This updates lwIP from STABLE-2_1_3_RELEASE, which was released in November
2021.  The latest STABLE-2_2_0_RELEASE was released in September 2023.

Signed-off-by: Damien George <damien@micropython.org>
2024-08-29 23:45:34 +10:00
iabdalkader
6f27e1c968 lib/arduino-lib: Update submodule to the latest.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-07-31 16:51:13 +10:00
liamHowatt
445aa48fab use lv_bindings support for JSON in CMake builds, and small fix 2024-07-22 06:23:08 -04:00
liamHowatt
a190ce41c7 update lv_binding_micropython submodule to version with JSON handling 2024-07-19 08:07:39 -04:00
Alessandro Gatti
d7aa2fe9d7 lib/libm: Define _IEEE_LIBM only if not set.
fdilibm was originally meant to see _IEEE_LIBM defined from outside the
libm code, not it being hardcoded in.  Picolibc assumes this assumption
holds true and attempts to define itself, conflicting with the existing
definition.

Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
2024-06-06 13:01:42 +10:00
Andrew Leech
d144f0699d lib/tinyusb: Update to the most recent master.
Signed-off-by: Andrew Leech <andrew@alelec.net>
2024-06-04 17:47:51 +10:00
Alessandro Gatti
3613ad9624 lib/libm: Do not force floating point type size evaluation.
Since C99, `FLT_EVAL_METHOD` should be left for the compiler/libc to
define.  Its redefinition breaks compilation with picolibc as the
target's libc, since it defines said symbol in math.h before the libm
define is evaluated by the compiler.

In its place, there is a check to make sure floating point type sizes
are what are expected to be, triggering a compilation error if those
assumptions are no longer valid.

Co-authored-by: Angus Gratton <angus@redyak.com.au>
Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
2024-05-31 17:04:24 +10:00
Damien George
8a8c65f309 lib/micropython-lib: Update submodule to latest.
This brings in:
- fixes to: aiohttp, tarfile, lora, gzip
- fixes and improvements to aioble
- deprecation of cbor2 decoder and encoder modules
- new usb package
- new pyusb package

Signed-off-by: Damien George <damien@micropython.org>
2024-05-27 16:27:41 +10:00
Gabor Kiss-Vamosi
52c11cf4e0 update lv_bindigs 2024-05-20 20:41:04 +02:00
iabdalkader
53d0050255 lib/arduino-lib: Update submodule to the latest.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-04-11 17:04:10 +02:00
iabdalkader
438e522911 lib/arduino-lib: Add Arduino's external library.
This library contains external modules for Arduino boards.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-03-26 17:03:56 +11:00
PGNetHun
78abbb1488
Update LVGL to 9.1.0 (#80) 2024-03-20 20:06:17 +01:00
Damien George
305707b281 lib/berkeley-db-1.xx: Update submodule URL and version.
This updates the berkeley-db-1.xx submodule URL to a repository hosted
under the micropython organisation, and makes the following changes:

- Moves the berkeley-db header files to a single directory within the
  submodule, and references all these headers with a much fuller path,
  which prevents symbol clashes (eg with esp32 and queue.h).

- Removes unused/non-working files from berkeley-db, which removes all
  symlinks in that repo (symlinks don't play well under Windows).

- Allows injecting an external configuration header into berkeley-db, so
  the configuration doesn't have to be provided by -Dxx=yy flags to the
  compiler (and possibly clashing with other symbols).

- Removes the advertising clause from the BSD 4-clause license of
  berkeley-db (see relevant commit and README.Impt.License.Change for
  details).

Signed-off-by: Damien George <damien@micropython.org>
2024-03-16 12:12:48 +11:00
iabdalkader
f6213ffc5c lib/libmetal: Add libmetal submodule.
libmetal provides an abstraction of the underlying hardware, to support
other OpenAMP components.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-03-15 17:35:39 +11:00
iabdalkader
5bed292c06 lib/open-amp: Add OpenAMP submodule.
OpenAMP framework provides a standard inter processor communications
infrastructure for RTOS and bare metal environments. There are 3 major
components in OpenAMP: libmetal, remoteproc and RPMsg. libmetal provides
abstraction of the low-level underlying hardware, remoteproc is used for
processor Life Cycle Management (LCM) like loading firmware, starting,
stopping a core etc., and RPMsg is a bus infrastructure that enables Inter
Processor Communications (IPC) between different cores.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-03-15 17:35:13 +11:00
Damien George
ab6d59d7bd lib/cyw43-driver: Update driver to latest version v1.0.3.
Includes various bug fixes.

Signed-off-by: Damien George <damien@micropython.org>
2024-03-07 14:07:53 +11:00
Gabor Kiss-Vamosi
eb9a48a77b update lv_bindings 2024-03-05 21:12:00 +01:00
PGNetHun
939cca276f
update lv_bindings (#79) 2024-02-15 10:55:30 +01:00
PGNetHun
87a6c00772
update lv_bindings (#78) 2024-02-11 11:43:27 +01:00
Damien George
c68462d996 lib/micropython-lib: Update submodule to latest.
Signed-off-by: Damien George <damien@micropython.org>
2024-02-07 12:58:50 +11:00
PGNetHun
8706f22b33
update lv_bindings (#77) 2024-02-04 19:20:14 +01:00
PGNetHun
899ef5ee65
update lv_bindings (#76) 2024-02-04 16:44:21 +01:00
PGNetHun
bbd60882ac
update lv_bindings (#75) 2024-02-04 15:01:01 +01:00
PGNetHun
cc50c7aa5d
update lv_bindings (#74) 2024-01-30 09:02:40 +01:00
Carlosgg
92136cbe67 lib/mbedtls_errors: Update error list for latest mbedtls.
Running `./do-mp.sh` now generates this `mp_mbedtls_errors.c` file.  The
`esp32_mbedtls_errors.c` file is already up-to-date.

Signed-off-by: Carlos Gil <carlosgilglez@gmail.com>
2024-01-30 10:56:38 +11:00
Carlosgg
3f217e413d lib/mbedtls: Update to mbedtls v3.5.1.
Signed-off-by: Carlos Gil <carlosgilglez@gmail.com>
2024-01-30 10:53:48 +11:00
PGNetHun
72d5c66cdb
update lv_bindings (#73) 2024-01-27 19:52:14 +01:00
PGNetHun
7ff7d1cbb2
Update LVGL to v9 (#69)
* Update LVGL

* RP2 port fix: remove old lv_gc.h reference
2024-01-24 13:25:35 +01:00
iabdalkader
e2fa0c6395 lib/cmsis: Update to CMSIS 5.9.0.
This update brings support for Cortex-M55 and Cortex-M85, zero and copy
tables and more.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-01-22 12:36:35 +11:00
Damien George
0b2676db5c lib/micropython-lib: Update submodule to latest.
Signed-off-by: Damien George <damien@micropython.org>
2023-12-22 14:18:09 +11:00
Damien George
58e75264c1 lib/mbedtls_errors: Update error list for latest esp32 mbedtls.
Running `./do-esp32.sh` now generates this esp32_mbedtls_errors.c file,
with IDF v5.0.4.

Signed-off-by: Damien George <damien@micropython.org>
2023-12-12 16:25:07 +11:00
Damien George
6ba57f760c lib/uzlib: For matches of the same length, take the closest one.
Signed-off-by: Damien George <damien@micropython.org>
2023-11-30 12:13:29 +11:00
Daniël van de Giessen
7ad84e0422
lib/littlefs: Update LittleFS to v2.8.1.
Signed-off-by: Daniël van de Giessen <daniel@dvdgiessen.nl>
2023-11-01 17:07:18 +01:00
Damien George
342ebcb41d lib/micropython-lib: Update submodule to latest.
Signed-off-by: Damien George <damien@micropython.org>
2023-10-05 11:21:34 +11:00
Damien George
5d53783a46 lib/cyw43-driver: Update driver to latest version v1.0.2.
Includes more error checking, and a fix to handle buffer overflow when
getting STA MACs.

Signed-off-by: Damien George <damien@micropython.org>
2023-10-05 11:20:05 +11:00
iabdalkader
dc5ea0c77d lib/protobuf-c: Add protobuf-c library.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2023-09-14 23:51:30 +10:00
iabdalkader
86fd958212 lib/tinyusb: Update to the most recent master.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2023-09-14 23:35:34 +10:00
Jim Mussared
32db4c58f7 extmod/moddeflate: Change default window size.
The primary purpose of this commit is to make decompress default to
wbits=15 when the format is gzip (or auto format with gzip detected). The
idea is that someone decompressing a gzip stream should be able to use the
default `deflate.DeflateIO(f)` and it will "just work" for any input
stream, even though it uses a lot of memory.

This is done by making uzlib report gzip files as having wbits set to 15
in their header (where it previously only set the wbits out parameter for
zlib files), and then fixing up the logic in `deflateio_init_read`.

Updates the documentation to match.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-09-01 12:23:37 +10:00
Jim Mussared
e6c290c3d1 lib/uzlib: Add a source_read_data var to pass to source_read_cb.
For better abstraction for users of this API.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 19:29:34 +10:00
Jim Mussared
7f16bfca9f lib/uzlib/defl_static: Optimize zlib_start/finish_block.
Collapsing the two adjacent calls to outbits saves 32 bytes.

Bringing defl_static.c into lz77.c allows better inlining, saves 24 bytes.

Merge the Outbuf/uzlib_lz77_state_t structs, a minor simplification that
doesn't change code size.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 19:29:34 +10:00