Commit graph

23 commits

Author SHA1 Message Date
Scott Shawcroft
b5517cb04b
Always clear RX buffer on CTRL-C
Some serial sources clear their RX buffers and others didn't. This
cause CP to skip into the REPL based on characters typed before the
CTRL-C. The serial file transfer code looks for "press any key"
which is skipped in this case.

Fixes https://github.com/circuitpython/web-editor/issues/238
2024-09-12 13:35:25 -07:00
Dan Halbert
3f4d9310ff CircuitPython files: replace STATIC with static 2024-05-20 11:02:17 -04:00
Dan Halbert
747b7619ea update headers of most CircuitPython-only files 2024-05-17 14:56:28 -04:00
Dan Halbert
bb9968215c Runtime.serial_bytes_available: return count isntead of bool 2024-04-04 12:26:06 -04: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
Scott Shawcroft
2910dea6fd
Almost fix extra_coverage test 2023-10-11 10:04:02 -07:00
Ted Hess
9825b7fbb7 Web Workflow sockets and threads handling improvements.
Fixes polling thread looping forever hangs preventing new connections.
Don't lose listening sockets on mp resets and re-init.
Keep better separation of "system" and "user" sockets.
Track socket states to prevent re-use of sockets before closed.
Close REST socket when transaction completes. No post-init.
Remove unnecessary state flags.
2023-04-05 13:50:42 -04:00
root
59f56a438a Fix for issue #7054 by avoiding recursive calls to websocket_background. 2023-03-08 13:09:45 -06:00
Scott Shawcroft
b354cec8cb
Three small ESP web workflow fixes
* Set nonblock on all accepted sockets. Not just ones for user code.
* Close an open websocket if another is accepted.
* Set debug level to INFO rather than DEBUG because DEBUG crashes
  on ESP32-S3 USB OTG.
2022-12-06 11:49:04 -08:00
Scott Shawcroft
c3a96a63c0
Enable* web workflow for Pico W
* Except for circuitpython.local which depends on MDNS and will be
done in a follow up PR.

Progress on #7214
2022-11-21 16:24:05 -08:00
Dan Halbert
52080e24eb status bar control 2022-08-30 15:23:44 -04:00
Scott Shawcroft
704ecc34fb
Guard against workflow background happening early
Fixes #6756 because the ringbuf size is zero and the empty check
does % which leads to division by zero error.
2022-08-17 15:44:07 -07:00
Scott Shawcroft
5823bcc744
Merge branch 'main' into c3_short_send 2022-08-11 12:45:02 -07:00
Scott Shawcroft
f9d724c09e
Fix retries after successful connection.
We may have set retries to 0 to enforce a timeout but the connect
succeeded. When it succeeds, we want to allow retries later in
case we lose signal briefly. (The callback will do this too but
the connect function will override it after.)

Also, remove extra code from websocket that is leftover from
debugging.
2022-08-10 15:24:08 -07:00
Scott Shawcroft
0b098f5013
Retry send if only some bytes sent
Fixes #6654 and fixes #6689
2022-08-10 11:34:49 -07:00
Scott Shawcroft
51b65cbea5
Read websocket in background to look for ctrl-c
Otherwise busy Python code that isn't reading input characters
won't be interruptible.

Fixes #6707
2022-08-09 13:57:03 -07:00
Scott Shawcroft
d6344812e8
Lots of web workflow, C3 and title bar fixes
* Fixes #6221 - C3 hang on `import wifi`. Enabling the WiFi PHY was
  disabling USB. Now boards that use it set CONFIG_ESP_PHY_ENABLE_USB
  explicitly.
* Fixes #6655 - Allows pasting into the web serial page. Fixes reading
  more than 0xf bytes at a time.
* Fixes #6653 - Fixes web socket encoding of payloads >125 bytes. Can
  happen when printing a long string.
* Fixes C3 responsiveness when waiting for key to enter REPL. (It
  now correctly stops sleeping.)
* Disables title bar updates when in raw REPL. Related to #6548.
* Adds version to title bar.
2022-07-28 16:06:56 -07:00
Scott Shawcroft
15fe386457
Fix build and minify html and js 2022-07-12 11:13:17 -07:00
Scott Shawcroft
8cfdfb95f7
Remove extra logging, auth /cp/serial and add doc 2022-07-11 14:32:28 -07:00
Scott Shawcroft
557e35469f
Make serial page work ok including on mobile 2022-07-08 16:57:19 -07:00
Scott Shawcroft
8d9c995298
Support ping & close. Refine html and js for serial 2022-07-07 16:55:04 -07:00
Scott Shawcroft
a4035aa1f7
websocket serial kinda works 2022-07-06 17:05:14 -07:00
Scott Shawcroft
07b2697ae3
WIP websocket to serial 2022-07-01 16:57:10 -07:00