circuitpython/supervisor
Jeff Epler 406e46f46b
Allow serial "break" to trigger KeyboardInterrupt
When the USB serial buffer is full, the Ctrl-C code to send
KeyboardInterrupt can't be sent, which creates a problem if you've
pasted code or otherwise filled the buffer and need to recover.
A similar problem affects advanced UIs that interact with CircuitPython
and may send characters when they're unexpected, such as mu when it
tries to move the cursor based on the user clicking on the screen.

The main way forward seems to be to use some kind of message that can
still reach CircuitPython when its internal serial recieve buffer is full.
RS232 defines a "break" signal, in which the transmitting device holds its
data line in the "space" state for many entire character times. This still
exists in the world of USB serial.

This does work, sort of, except that your host computer software will need
to properly handle blocking serial writes; tio can send a break with
the **ctrl-c b** sequence, but this only works if it hasn't yet written
too much data, so it doesn't actually help in most situations :-/
2022-11-18 14:35:06 -06:00
..
messages Support internationalisation. 2018-08-07 14:58:57 -07:00
shared Allow serial "break" to trigger KeyboardInterrupt 2022-11-18 14:35:06 -06:00
stub Add ability to reserve psram 2022-08-03 16:19:40 -05:00
background_callback.h Check background pending before sleep 2021-08-19 12:18:13 -07:00
board.h Move hook implementation to supervisor 2022-04-18 14:09:36 +00:00
cpu.h Mark pointers in cpu registers as in use. 2018-07-03 05:45:50 -07:00
fatfs_port.h v3 BLE file service: Add file modification times 2021-09-13 14:46:14 -07:00
filesystem.h Get CIRCUITPY FATFS directly. 2022-08-04 16:06:27 -07:00
flash_root_pointers.h Automatically count EXTERNAL_FLASH_DEVICES (mk2) 2021-03-07 12:51:47 -06:00
flash.h update storage extension implementation 2022-10-06 09:19:56 +05:30
linker.h Redo RP2040 flash settings 2021-03-18 16:55:42 -07:00
memory.h run code formatting script 2021-03-15 19:27:36 +05:30
port.h cyw43 basic gpio support, hwaddr in boot_out 2022-09-28 10:06:33 -05:00
serial.h finish status bar internal simplification 2022-09-27 15:14:40 -04:00
spi_flash_api.h Fix devices include by splitting type from defines 2021-03-25 11:37:08 -07:00
supervisor.mk status bar control 2022-08-30 15:23:44 -04:00
usb.h supervisor: Add supervisor.set_usb_identification() function 2022-05-04 11:38:38 +02:00
workflow.h Wi-Fi autoconnect and title bar status 2022-06-09 14:55:54 -07:00