Commit graph

1577 commits

Author SHA1 Message Date
Scott Shawcroft
9537b1dca7
Improve neopixel on ESP
Greedily grab as much RMT memory as we can. It blocks other RMT
transmit channels but we only use it temporarily anyway. The more
we can grab, the fewer interrupts are needed to keep the transmit
going.

Flickers may still happen due to file system writes but most of the
time the animation just pauses.

On ESP32, move CircuitPython to the second core. This helps NeoPixel
by moving the RMT interrupt to the second core as well.

When testing ESP32 I noticed that settings.toml writes won't apply
until after hard reset. This removes that constraint but still
requires the password to enable the web workflow.

Fixes #3835
2024-02-14 15:10:07 -08:00
b71daced33 docs: Allow them to build faster by skipping the shared bindings matrix
I've identified that this is a bottleneck when I am
refining documentation; by returning a bare minimum of data
to allow the doc build to complete, I can do more builds in less time.

To use, `env NO_BINDINGS_MATRIX= make html`
2024-01-29 11:17:13 -06:00
1e7d368b00 document MP_REGISTER_MODULE 2024-01-27 11:45:43 -06:00
Scott Shawcroft
234ce7cfa4
Fix move, mkdir and tweak dir listing
Makes sure mount point is a directory.

Fixes #8110 by making it explicit that progress is per-file.
2024-01-18 14:22:16 -08:00
Scott Shawcroft
25e862d110
Make SD cards available over web workflow
This changes storage.mount() to require that a mount point exist
on the parent file system.

A bug in background tasks is also fixed where the function
parameter is cleared on pending callbacks during "reset".

Disk usage is shown on the directory listing and changes based on
the mounted file system. Writable is also loaded per-directory.

Fixes #8108. Fixes #8690. Fixes #8107.
2024-01-16 14:12:16 -08:00
Scott Shawcroft
31d5779561
Update docs/workflows.md
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2023-11-28 15:55:22 -08:00
Scott Shawcroft
8208ca3c6f
Improve web workflow error handling
* Disable Nagle at the end of error messages so they are sent before
  the socket is closed.
* Correctly discard file contents when the PUT file is too large.
* Correctly reset file size after failure to setting it too large.
* Change diskinfo.json to be list of disks in preparation of supporting
  multiple disks.
* Bump version to 3 for the above change.
* Document diskinfo.json.

Fixes #8109
2023-11-28 12:02:33 -08:00
Dan Halbert
e7fabe11c1
Merge pull request #8582 from tannewt/document_heap_config
Document CIRCUITPY_HEAP_START_SIZE
2023-11-10 21:16:39 -05:00
Dan Halbert
2eb283004d
fix title underline 2023-11-10 20:27:32 -05:00
Dan Halbert
57238aa02c
Update docs/environment.rst 2023-11-10 20:25:06 -05:00
Scott Shawcroft
3e6456d7e1
Document CIRCUITPY_HEAP_START_SIZE
and remove CIRCUITPY_RESERVED_PSRAM.

Fixes #8581
2023-11-10 15:53:49 -08:00
Dan Halbert
3a34acb93c merge 8.2.x to main 2023-11-09 19:58:34 -05:00
Scott Shawcroft
53bc6d4bd1
Fix docs build by splitting out support matrix 2023-10-24 16:20:51 -07:00
Scott Shawcroft
88db598186
Remove mpremote ref 2023-10-24 14:14:43 -07:00
Scott Shawcroft
3a8603314a
Remove packages reference 2023-10-24 13:03:34 -07:00
Dan Halbert
339b7e584e add platform.rst to library docs 2023-10-24 14:20:56 -04:00
Dan Halbert
557efbeb29 restore lib/mbedtls; remove gzip doc; restore zlib tests 2023-10-24 12:51:54 -04:00
Dan Halbert
4b42a6f4a0 restore old uzlib; remove remaining U and u prefixes 2023-10-19 21:29:57 -04:00
Dan Halbert
f2ebe6839c Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
Scott Shawcroft
dc016769fe
Add back glossary to fix docs build 2023-10-16 12:15:42 -07:00
Scott Shawcroft
9633c4e78f
Merge remote-tracking branch 'adafruit/main' into v1.20-merge 2023-10-11 11:21:57 -07:00
Scott Shawcroft
26a503f56c
Remove two mpy docs 2023-10-11 10:05:02 -07:00
Damien George
040a96d00e docs,tools: Change remaining "urequests" references to "requests".
Signed-off-by: Damien George <damien@micropython.org>
2023-10-05 14:04:45 +11:00
Jim Mussared
b329fdcb73 extmod/modnetwork: Increase max hostname length to 32.
This changes from the previous limit of 15 characters.  Although DHCP and
mDNS allow for up to 63, ESP32 and ESP8266 only allow 32, so this seems
like a reasonable limit to enforce across all ports (and avoids wasting the
additional memory).

Also clarifies that `MICROPY_PY_NETWORK_HOSTNAME_MAX_LEN` does not include
the null terminator (which was unclear before).

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-10-04 12:39:23 +11:00
Damien George
cf490a7091 all: Fix various spelling mistakes found by codespell 2.2.6.
Signed-off-by: Damien George <damien@micropython.org>
2023-10-03 11:24:50 +11:00
Scott Shawcroft
7938c6cfd2
Remove one I2CPeripheral leftover 2023-10-02 14:36:19 -07:00
Jos Verlinde
a93ebd0e03 docs: Add requirements.txt file with dependencies for Sphinx.
Signed-off-by: Jos Verlinde <Jos.Verlinde@Microsoft.com>
2023-10-02 12:35:12 +11:00
Jos Verlinde
58c2c503a9 tools/mpremote: Add support for rfc2217, serial over TCP.
Signed-off-by: Jos Verlinde <jos_verlinde@hotmail.com>
2023-09-29 14:40:17 +10:00
c261ac6318
shared_bindings_matrix: Explicitly fetch SRC_SUPERVISOR for ci_set_matrix 2023-09-27 21:33:19 -05:00
8e00c69cdf
spelling 2023-09-20 11:22:34 -05:00
Dan Halbert
2c0fa0f7dc initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
Damien George
9dd40d1b60 docs/conf.py: Add sphinxcontrib.jquery to extensions.
This is needed by recent versions of sphinx-rtd-theme.

Signed-off-by: Damien George <damien@micropython.org>
2023-09-18 11:02:27 +10:00
Angus Gratton
92f379cce4 docs/library/gc: Clarify mem_alloc and mem_free only for Python heap.
As raised in discussions of the ESP32 memory management changes.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-09-15 12:19:13 +10:00
Angus Gratton
26160e8ed5 docs/library/esp32: Update ESP32 idf_heap_info docs to match behaviour.
Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-09-15 12:19:13 +10:00
Bill Sideris
5869af395e
Wifi fully seperate from web-workflow 2023-09-05 22:39:41 +03:00
Glenn Moloney
0bafdaf5f0 esp32: Skip validation of image on boot from deepsleep.
sdkconfig.base: Add CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y.
This reduces time to boot from deepsleep by at least 200ms and can
provide significant power savings for deepsleep-based battery
applications.

docs/library/esp32.rst: Add note cautioning not to enter deepsleep after
changing the boot partition, without first performing a hard reset.

Signed-off-by: Glenn Moloney <glenn.moloney@gmail.com>
2023-09-05 22:36:06 +10:00
IhorNehrutsa
1a5bfa5024 docs/esp32/tutorial: Add example for pin access via registers.
Synchronous access to pins directly via registers.

Signed-off-by: Ihor Nehrutsa <Ihor.Nehrutsa@gmail.com>
2023-09-04 23:21:50 +10:00
Jim Mussared
304f13a74e docs/library/network: Clarify network.hostname() behaviour.
This must be called before the interface connects.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-09-04 22:45:37 +10:00
Francis Dela Cruz
d00105494f docs/library/platform: Add docs for the platform library.
Signed-off-by: Francis Dela Cruz <rainyworlds1@outlook.com>
2023-09-04 22:40:56 +10:00
Andy Piper
845d0c79ff docs/library/neopixel: Change link to a micropython-lib reference.
Signed-off-by: Andy Piper <andypiperuk@gmail.com>
2023-09-01 13:56: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
Angus Gratton
02620c2236 stm32/subghz: Add STM32WL55 subghz radio interface to stm module.
This is the minimum C interface to allow a modem driver to be built in
Python.  Interface is simple, with the intention that the micropython-lib
driver is the main (only) consumer of it.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-08-23 11:58:11 +10:00
c029d6a165
Merge remote-tracking branch 'origin/8.2.x' into merge-82x 2023-08-22 08:49:16 -05:00
2fc413db24
Use the ".. jinja" tag to render support_matrix template
.. and remove the substring check for the file.

this fixes the problem with sphinx 7.2.2 that the "docname" can
be None (see https://github.com/sphinx-doc/sphinx/issues/11620)
2023-08-21 21:34:14 -05:00
a94301122a
Make natmods work again.
And put back our magic number, because our bytecode format differs
from upstream

drop btree & framebuf natmods, they had additional problems I didn't
want to fix right now.
2023-08-19 16:59:13 -05:00
Angus Gratton
05dcb8be99 esp32: Enable automatic Python heap growth.
Via MICROPY_GC_SPLIT_HEAP_AUTO feature flag added in previous commit.

Tested on ESP32 GENERIC_SPIRAM and GENERIC_S3 configurations, with some
worst-case allocation patterns and the standard test suite.

This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-08-15 10:50:46 +10:00
Dan Halbert
4a579f7242 fix doc build; reorganize placement of library docs 2023-08-14 12:34:00 -04:00
Dan Halbert
2171e67c1b merge latest adafruit/main 2023-08-13 19:43:54 -04:00
Elecia White
b714f41812 docs/develop/gettingstarted: Update ARM package list.
Signed-off-by: Elecia White <elecia@logicalelegance.com>
2023-08-05 20:05:50 +10:00
Rene Straub
7fad499d1e docs/develop/gettingstarted: Clarify submodule initialization.
When building for a specific board this must be specified in make
submodules.  I.e. make BOARD=STM32F769DISC submodules.

Signed-off-by: Rene Straub <rene@see5.ch>
2023-08-04 21:45:31 +10:00