summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2025-04-24lib/lwip: Update lwIP to STABLE-2_2_1_RELEASE.Damien George
This updates lwIP from STABLE-2_2_0_RELEASE, which was released in September 2023. The latest STABLE-2_2_1_RELEASE was released in February 2025. Signed-off-by: Damien George <damien@micropython.org>
2025-04-14lib/micropython-lib: Update submodule to latest.Damien George
This brings in: - requests: do not leak header modifications when calling request - mip: allow relative URLs in package.json - mip: make mip.install() skip /rom*/lib directories - umqtt.simple: restore legacy ssl/ssl_params arguments - nrf24l01: increase startup delay - nrf24l01: properly handle timeout - nrf24l01: optimize status reading - lora-sx126x: fix invert_iq_rx / invert_iq_tx behaviour - unix-ffi/json: accept both str and bytes as arg for json.loads() - unix-ffi/machine: use libc if librt is not present - requests: use the host in the redirect url, not the one in headers - aiohttp: fix header case sensitivity - aiohttp: allow headers to be passed to a WebSocketClient - usb-device-cdc: optimise writing small data so it doesn't require alloc - inspect: fix isgenerator logic - inspect: implement iscoroutinefunction and iscoroutine Signed-off-by: Damien George <damien@micropython.org>
2025-04-08lib/alif-security-toolkit: Add new submodule for Alif Security Toolkit.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-08lib/alif_ensemble-cmsis-dfp: Add new submodule for Alif SDK v1.3.2.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-03-12lib/cyw43-driver: Update driver to latest version v1.1.0.Damien George
Includes various fixes and improvements to the WLAN driver, in particular: - Add WPA3 STA and AP support. - Attempt to reconnect to AP in response to validation error. - Update 43439 BT firmware for Data Length Extension fix. Signed-off-by: Damien George <damien@micropython.org>
2025-02-28lib/pico-sdk: Update to version 2.1.1.Damien George
Release notes: https://github.com/raspberrypi/pico-sdk/releases/tag/2.1.1 Signed-off-by: Damien George <damien@micropython.org>
2025-01-17lib/mbedtls: Update to mbedtls v3.6.2.Glenn Strauss
Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
2024-12-19lib/pico-sdk: Update to version 2.1.0.Peter Harper
Brings in support for Pico 2 W, among other things. Signed-off-by: Peter Harper <peter.harper@raspberrypi.com>
2024-12-06lib/micropython-lib: Update submodule to latest.Damien George
This brings in: - umqtt.simple: add optional socket timeout to connect method - aioespnow,webrepl: use recommended network.WLAN.IF_[AP|STA] constants - unittest: allow SkipTest to work within a subTest - unittest: always use "raise" with an argument Signed-off-by: Damien George <damien@micropython.org>
2024-10-25lib/micropython-lib: Update submodule to latest.Damien George
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-25lib/arduino-lib: Update submodule.iabdalkader
Changes: - Add ISO7816, APDU and SE05x package. - Add support for Opta Expansion protocol. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-10-15lib/pico-sdk: Update to version 2.0.0.Damien George
Adds support for the new RP2350 MCU. Signed-off-by: Damien George <damien@micropython.org>
2024-09-26lib/tinyusb: Update to version 0.17.0.Damien George
Includes support for RP2350, and improvements for ESP32. Signed-off-by: Damien George <damien@micropython.org>
2024-09-23lib/libffi: Update libffi to 3.4.6.Alessandro Gatti
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-19all: Remove tinytest component.Damien George
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-08-29lib/lwip: Update lwIP to STABLE-2_2_0_RELEASE.Damien George
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-07-31lib/arduino-lib: Update submodule to the latest.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-06-06lib/libm: Define _IEEE_LIBM only if not set.Alessandro Gatti
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-04lib/tinyusb: Update to the most recent master.Andrew Leech
Signed-off-by: Andrew Leech <andrew@alelec.net>
2024-05-31lib/libm: Do not force floating point type size evaluation.Alessandro Gatti
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-27lib/micropython-lib: Update submodule to latest.Damien George
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-04-11lib/arduino-lib: Update submodule to the latest.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-03-26lib/arduino-lib: Add Arduino's external library.iabdalkader
This library contains external modules for Arduino boards. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-03-16lib/berkeley-db-1.xx: Update submodule URL and version.Damien George
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-15lib/libmetal: Add libmetal submodule.iabdalkader
libmetal provides an abstraction of the underlying hardware, to support other OpenAMP components. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2024-03-15lib/open-amp: Add OpenAMP submodule.iabdalkader
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-07lib/cyw43-driver: Update driver to latest version v1.0.3.Damien George
Includes various bug fixes. Signed-off-by: Damien George <damien@micropython.org>
2024-02-07lib/micropython-lib: Update submodule to latest.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2024-01-30lib/mbedtls_errors: Update error list for latest mbedtls.Carlosgg
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-30lib/mbedtls: Update to mbedtls v3.5.1.Carlosgg
Signed-off-by: Carlos Gil <carlosgilglez@gmail.com>
2024-01-22lib/cmsis: Update to CMSIS 5.9.0.iabdalkader
This update brings support for Cortex-M55 and Cortex-M85, zero and copy tables and more. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2023-12-22lib/micropython-lib: Update submodule to latest.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-12-12lib/mbedtls_errors: Update error list for latest esp32 mbedtls.Damien George
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-11-30lib/uzlib: For matches of the same length, take the closest one.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-11-01lib/littlefs: Update LittleFS to v2.8.1.Daniël van de Giessen
Signed-off-by: Daniël van de Giessen <daniel@dvdgiessen.nl>
2023-10-05lib/micropython-lib: Update submodule to latest.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-10-05lib/cyw43-driver: Update driver to latest version v1.0.2.Damien George
Includes more error checking, and a fix to handle buffer overflow when getting STA MACs. Signed-off-by: Damien George <damien@micropython.org>
2023-09-14lib/protobuf-c: Add protobuf-c library.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2023-09-14lib/tinyusb: Update to the most recent master.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2023-09-01extmod/moddeflate: Change default window size.Jim Mussared
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-07-21lib/uzlib: Add a source_read_data var to pass to source_read_cb.Jim Mussared
For better abstraction for users of this API. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21lib/uzlib/defl_static: Optimize zlib_start/finish_block.Jim Mussared
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-21lib/uzlib/tinflate: Implement more compact lookup tables.Jim Mussared
Saves 68 bytes on PYBV11. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21lib/uzlib: Combine zlib/gzip header parsing to allow auto-detect.Jim Mussared
This supports `wbits` values between +40 to +47. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21lib/uzlib: Clean up tinf -> uzlib rename.Jim Mussared
This library used a mix of "tinf" and "uzlib" to refer to itself. Remove all use of "tinf" in the public API. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21lib/uzlib/defl_static: Implement some code size improvements.Jim Mussared
This commit makes the following changes: - Replace 256-byte reverse-bits-in-byte lookup table with computation. - Replace length and distance code lookup tables with computation. - Remove comp_disabled check (it's unused). - Make the dest_write_cb take the data pointer directly, rather than the Outbuf. Saves 500 bytes on PYBV11. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21lib/uzlib/lz77: Always use separate history buffer.Jim Mussared
Because we only use the streaming source, this is just extra code size. Saves 64 bytes on PYBV11. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21lib/uzlib: Add memory-efficient, streaming LZ77 compression support.Damien George
The compression algorithm implemented in this commit uses much less memory compared to the standard way of implementing it using a hash table and large look-back window. In particular the algorithm here doesn't allocate hash table to store indices into the history of the previously seen text. Instead it simply does a brute-force-search of the history text to find a match for the compressor. This is slower (linear search vs hash table lookup) but with a small enough history (eg 512 bytes) it's not that slow. And a small history does not impact the compression too much. To give some more concrete numbers comparing memory use between the approaches: - Standard approach: inplace compression, all text to compress must be in RAM (or at least memory addressable), and then an additional 16k bytes RAM of hash table pointers, pointing into the text - The approach in this commit: streaming compression, only a limited amount of previous text must be in RAM (user selectable, defaults to 512 bytes). To compress, say, 1k of data, the standard approach requires all that data to be in RAM, plus an additional 16k of RAM for the hash table pointers. With this commit, you only need the 1k of data in RAM. Or if it's streaming from a file (or elsewhere), you could get away with only 256 bytes of RAM for the sliding history and still get very decent compression. In summary: because compression takes such a large amount of RAM (in the standard algorithm) and it's not really suitable for microcontrollers, the approach taken in this commit is to minimise RAM usage as much as possible, and still have acceptable performance (speed and compression ratio). Signed-off-by: Damien George <damien@micropython.org>
2023-06-21lib/oofatfs: Fix speculative read in create_name.Duncan Lowther
Signed-off-by: Duncan Lowther <Duncan.Lowther@glasgow.ac.uk>
2023-06-15lib/stm32lib: Update library for H5 v1.0.0.Damien George
Changes in this new library version are: - Add H5 HAL at v1.0.0. Signed-off-by: Damien George <damien@micropython.org>