Commit Graph

950 Commits

Author SHA1 Message Date
Dan Halbert
c3f8e0f551
Merge pull request #8667 from tannewt/ww_large_file
Improve web workflow error handling
2023-11-28 23:24:55 -05:00
Scott Shawcroft
96b0c211d1
Fix websocket input processing
It was skipped in many cases which breaks ctrl-cing running code.

Fixes #8132
2023-11-28 14:10:37 -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
Jeff Epler
9b2bc6b349
note an assmued invariant that may not be obvious 2023-11-28 13:38:13 -06:00
Jeff Epler
a38cd711ce
translate: share vstr_add_chr's implementation of utf8 encoding
this saves ~44 bytes on trinket_m0
2023-11-28 08:13:18 -06:00
Dan Halbert
75fcacd481
Merge pull request #8575 from dhalbert/8.2.x-to-main-2023-11-09
merge 8.2.x to main
2023-11-10 20:42:13 -05:00
Bob Abeles
c83e203d37 Change part type to 0x06, Big FAT12/16 CHS 2023-11-10 12:07:02 -08:00
Dan Halbert
3a34acb93c merge 8.2.x to main 2023-11-09 19:58:34 -05:00
Scott Shawcroft
eb1b27431a
Fix pre-commit 2023-11-06 11:15:38 -08:00
Scott Shawcroft
8137e2d6d2
Switch all ports to auto-growing split heap
This simplifies allocating outside of the VM because the VM doesn't
take up all remaining memory by default.

On ESP we delegate to the IDF for allocations. For all other ports,
we use TLSF to manage an outer "port" heap. The IDF uses TLSF
internally and we use their fork for the other ports.

This also removes the dynamic C stack sizing. It wasn't often used
and is not possible with a fixed outer heap.

Fixes #8512. Fixes #7334.
2023-11-01 15:24:16 -07:00
Daniel James
f9d3ec5027
Support for publishing TXT records via mDNS
- Update lwIP+Raspberry Pi implementation to use lwIP API correctly
- Add translations
2023-10-30 20:39:38 -07:00
Jeff Epler
7fe886aeae
Fix mpy-cross and lto builds (again) 2023-10-30 14:54:22 +01:00
Jeff Epler
8724b43e15
revert incorrect translate() change 2023-10-30 10:37:22 +01:00
Jeff Epler
774f6ac6ab
Switch to using MP_ERROR_TEXT instead of translate, globally 2023-10-30 09:49:06 +01:00
Jeff Epler
de541cf155
Fix pointer-ness, const-ness of compressed messages
micropython puts the pointer-ness into the typedef; we can put the
const-ness there too.

this reduces the delta to micropython; for instance, emitinlinextensa
and emitinlinethumb now match upstream.
2023-10-25 21:40:11 +02:00
Jeff Epler
54a5878ee0
WIP 2023-10-25 21:24:52 +02:00
Jeff Epler
55874b6470
Rename compressed_string_t to mp_rom_error_text_t to match upstream 2023-10-25 08:14:13 +02:00
Scott Shawcroft
e1df598199
Split displayio hardware support from core
These are moved:
* Display -> busdisplay.BusDisplay
* FourWire -> fourwire.FourWire
* EPaperDisplay -> epaperdisplay.EPaperDisplay
* I2CDisplay -> i2cdisplaybus.I2CDisplayBus

`paralleldisplay` is now `paralleldisplaybus` (and registered as
`paralleldisplay` too).

Bus related helpers are split out of display_core into bus_core.
It is in still displayio since it is a dependency of both
busdisplay and epaperdisplay.

Fixes #7667
2023-10-24 15:43:34 -07:00
RetiredWizard
5dfe92ba8e web_workflow: adjust indent and move #endif 2023-10-24 16:30:19 -04:00
Pascal Bakhuis
621805639b Added support the Waveshare ESP32-S3-Zero and GRB status LEDs 2023-10-21 01:22:46 +01:00
Scott Shawcroft
5a19971efd
Fix pre-commit 2023-10-16 10:46:11 -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
2910dea6fd
Almost fix extra_coverage test 2023-10-11 10:04:02 -07:00
Dan Halbert
68a2927385 MP_REGISTER_ROOT_POINTER for port-specific root pointers 2023-09-29 15:46:42 -04:00
Dan Halbert
1c388ab315 finish converting to MP_REGISTER_ROOT_POINTER() 2023-09-29 10:49:34 -04:00
Dan Halbert
76ff01452b Trinket M0 comes up; still very much wip 2023-09-28 16:22:10 -04:00
Dan Halbert
4d175ab41a convert to MP_DEFINED_CONST_OBJ_TYPE() 2023-09-19 21:09:29 -04:00
Dan Halbert
2c0fa0f7dc initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
Scott Shawcroft
4087960dfd
Fix MDNS. C3 works 2023-09-14 15:04:07 -07:00
Scott Shawcroft
0928a95bb2
Merge pull request #8351 from jepler/dotclockframebuffer
Dotclockframebuffer
2023-09-07 13:21:29 -07:00
Scott Shawcroft
e776f3840f
Merge pull request #8367 from bill88t/web_workflow_disable
Web workflow skip init when no password, freeing socket. Also reconnect wifi on reload.
2023-09-05 13:47:05 -07:00
Scott Shawcroft
e0fa155037
Merge pull request #8327 from jepler/translation-compression-qstr
Use qstrs to improve compression
2023-09-05 13:12:13 -07:00
Bill Sideris
5869af395e
Wifi fully seperate from web-workflow 2023-09-05 22:39:41 +03:00
Jeff Epler
5e26862b2c
Allow use of CONFIG_SPIRAM_USE_CAPS_ALLOC
.. and switch makerfabs tft7 over to it as a test.

We have our existing way of "reserving" PSRAM for esp-idf (we actually
control it all but add back the "reserved" part). However, this does
not work with off the shelf esp_lcd, which only will allocate a
framebuffer in PSRAM if CONFIG_SPIRAM_USE_CAPS_ALLOC (or CONFIG_SPIRAM_USE_ALLOC)
is defined, not if CONFIG_SPIRAM_USE_MEMMAP is.

This new way is possibly compatible with more esp-idf code, but it complicates
CircuitPython's initial startup since nothing until port_heap_init is
permitted to use the CP heap or supervisor allocator. In practice this
seems to be OK today.

Right now this doesn't change the setting across all boards with PSRAM and so
it does not revert esp-idf to its prior state. Instead, what I'm thinking is
that we can do it during or just after the IDF5 update when sdkconfig files
will be getting an overhaul anyway.
2023-09-05 12:43:22 -05:00
Bill Sideris
9eaae37dfc
When no password is passed, connect to wifi but do not init web_workflow. 2023-09-05 19:31:18 +03:00
Jeff Epler
5c23e28208
add explanation for newer compression features 2023-08-31 13:27:16 -05:00
Jeff Epler
17015b48ad
translations don't always use unicode code points now 2023-08-30 10:09:50 -05:00
Bill Sideris
f204b17164
Disable dotfiles on boards without native usb 2023-08-29 17:23:17 +03:00
Bill Sideris
029c912bf0
Comment and reorder the files creation. 2023-08-28 17:03:32 +03:00
Bill Sideris
57ac916ccd
.Trash-1000 on filesystem creation 2023-08-27 23:29:08 +03:00
RetiredWizard
8fbde14286 utilize CIRCUITPY_CONSOLE_UART_BAUDRATE parameter 2023-08-24 14:50:23 -04:00
Jeff Epler
4d8b354c13
Use qstrs to improve compression
any qstr of >= 3 chars long is a candidate for use; the input byte value
(1) is used to indicate a fixed-length qstr number follows.

Before accounting for the code size changes, this saves ~100 bytes
on trinket m0, but it may end up being a wash due to added code.

A cutoff of length>2 is slightly better for ja and ru and worse for others.
This has to do with the relative frequency of latin characters vs non-latin
characters, is my guess.

lang    after   before  change (- = more free space)
en_US   3132    2996    -134
fr      2136    2060    -76
ja      1916    1724    -232
ru      2196    2000    -196
2023-08-23 15:16:53 -05:00
Dan Halbert
e08ad22ef6
Merge pull request #8317 from jepler/merge-82x
Merge 8.2.x into main
2023-08-22 17:28:30 -04:00
Jeff Epler
c07fff574e
Merge pull request #8304 from ccattuto/main
Fixed compilation error when FF_MAX_SS != FF_MIN_SS
2023-08-22 09:47:40 -05:00
Jeff Epler
c029d6a165
Merge remote-tracking branch 'origin/8.2.x' into merge-82x 2023-08-22 08:49:16 -05:00
Dan Halbert
282e93d3e3
Merge pull request #8281 from dhalbert/merge-micropython-v1.19.1
Merge micropython v1.19.1
2023-08-21 19:24:26 -04:00
Ciro Cattuto
a5578cf067 Fixed compilion error when FF_MAX_SS != FF_MIN_SS 2023-08-21 22:47:09 +02:00
Dan Halbert
4593008317
Merge pull request #8297 from dhalbert/better-hard-fault-message
improve hard fault message
2023-08-20 12:16:33 -04:00
Radomir Dopieralski
3120bd3d7d Fix displayio when CIRCUITPY_REPL_LOGO is disabled
We have to make room for the status bar no matter if the logo is enabled
or not. We probably should add a similar option for disabling the status
bar.

This makes the PewPew M4 port stop crashing.

(cherry picked from commit b50a7fb913)
2023-08-20 00:59:34 +02:00
Radomir Dopieralski
b50a7fb913 Fix displayio when CIRCUITPY_REPL_LOGO is disabled
We have to make room for the status bar no matter if the logo is enabled
or not. We probably should add a similar option for disabling the status
bar.

This makes the PewPew M4 port stop crashing.
2023-08-20 00:21:33 +02:00