Commit graph

40 commits

Author SHA1 Message Date
foamyguy
b2a3eefa94 cursor_x and cursor_y props on Terminal 2025-06-25 11:45:46 -05:00
foamyguy
5b621b0bad format 2025-05-08 14:32:18 -05:00
foamyguy
dc676f194b show 4 spaces in place of tab in Terminal 2025-05-08 13:57:23 -05:00
Scott Shawcroft
1cb188d6d3
Add native support for LVGL binary fonts on disk
This allows the terminal to use a font from the disk at
/fonts/terminal.lvfontbin for languages that need more
characters than we want to ship.

TileGrid now support 16bit indices as well.

Font files for use with it are generated by the GitHub actions
here:
https://github.com/adafruit/circuitpython-font-generator
2025-03-28 15:54:41 -07:00
RetiredWizard
f02a3dc850 Circuitpython standard for function macros is upper case 2025-03-05 10:11:37 -05:00
RetiredWizard
a52d35744d remove redundant code 2025-03-05 09:21:54 -05:00
RetiredWizard
1c643bd3e5 local pre-commit run.... 2025-03-05 08:02:07 -05:00
RetiredWizard
2259731e2b down arrow code is redundant 2025-03-05 07:59:37 -05:00
RetiredWizard
98117645e1 vt_args can be negative 2025-03-04 15:26:36 -05:00
RetiredWizard
8c5c62432a Add VT100 ranged scroll 2025-03-04 15:08:54 -05:00
RetiredWizard
7cbe3b550a Guard n_args variable with CIRCUITPY_TERMINALIO_VT100 flag 2025-03-03 14:36:53 -05:00
RetiredWizard
9820c854d5 increase possible length of <digits> portion of sequence 2025-03-03 13:41:19 -05:00
RetiredWizard
8f66fedfe7 forgot local pre-commit :/ 2025-03-03 13:27:21 -05:00
RetiredWizard
8813308133 small (170 bytes) code size optimization 2025-03-03 13:23:15 -05:00
RetiredWizard
0501a8e78f fix for sequence params and compile flag (not enabled yet) 2025-03-03 12:00:46 -05:00
RetiredWizard
bc96ce831b Add basic VT100 scrolling 2025-03-01 15:50:02 -05:00
RetiredWizard
1f2e66f508 Add support for VT100 terminal color ESC sequences 2025-02-27 04:06:42 -05:00
Dan Halbert
747b7619ea update headers of most CircuitPython-only files 2024-05-17 14:56:28 -04:00
Dan Halbert
0cd37376a0 finish status bar internal simplification 2022-09-27 15:14:40 -04:00
Dan Halbert
52080e24eb status bar control 2022-08-30 15:23:44 -04:00
Scott Shawcroft
6446010753
Wi-Fi autoconnect and title bar status
This adds support for CIRCUITPY_WIFI_SSID and CIRCUITPY_WIFI_PASSWORD
in `/.env`. When both are defined, CircuitPython will attempt to
connect to the network even when user code isn't running. If the
user code attempts to a network with the same SSID, it will return
immediately. Connecting to another SSID will disconnect from the
auto-connected network. If the user code initiates the connection,
then it will be shutdown after user code exits. (Should match <8
behavior.)

This PR also reworks the default displayio terminal. It now supports
a title bar TileGrid in addition to the (newly renamed) scroll area.
The default title bar is the top row of the display and is positioned
to the right of the Blinka logo when it is enabled. The scroll area
is now below the Blinka logo.

The Wi-Fi auto-connect code now uses the title bar to show its
state including the IP address when connected. It does this through
the "standard" OSC control sequence `ESC ] 0 ; <s> ESC \` where <s>
is the title bar string. This is commonly supported by terminals
so it should work over USB and UART as well.

Related to #6174
2022-06-09 14:55:54 -07:00
Kevin Matocha
790af2d9a6 fix REPL terminal garbled characters upon code.py finished 2022-02-21 14:58:16 -06:00
Kevin Matocha
6b2266b240 retains REPL terminal data after display.show(None) when terminal size is not changed 2022-02-21 10:33:48 -06:00
621953c960
Additional missing-prototypes fixes
I think this correctly enables missing-prototypes in atmel-samd
and raspberrypi ports.
2021-11-10 10:55:53 -06:00
Scott Shawcroft
1e225610cc
Add ability to disable BLE workflow
Call `supervisor.disable_ble_workflow()` and the BLE workflow will
be disabled until the chip is reset.

This also includes a couple fixes:
1. Terminals can now be deinit by setting the tilegrid to NULL. This
  prevents using the tilegrid before display is init.
2. Fix BLE serial send amount when sending more than a single packet.

Fixes #5049
2021-08-02 18:37:19 -07:00
Tsutomu IKEGAMI
a4be61912c Fix move cursor esc sequence of terminalio to meet ANSI standard 2021-06-03 20:40:37 +09:00
Tsutomu IKEGAMI
171820e53f Fix format 2021-04-01 20:45:15 +09:00
Tsutomu IKEGAMI
5f77d07760 Fix format 2021-04-01 20:26:10 +09:00
Tsutomu IKEGAMI
3c4d763fef Fix format. 2021-04-01 18:04:33 +09:00
Tsutomu IKEGAMI
7810cb275c Add two escape sequences to terminalio.Termial:
- ESC[yy;xxH : move cursor to (xx, yy)
- ESC[2J     : clear screen
2021-04-01 17:33:57 +09:00
microDev
a52eb88031
run code formatting script 2021-03-15 19:27:36 +05:30
brentru
1b7e213be4 fix terminalio not clearing on construct 2019-08-08 14:58:51 -04:00
Scott Shawcroft
6797ec6ed3
Add support for grayscale displays that are < 8 bit depth.
This also improves Palette so it stores the original RGB888 colors.

Lastly, it adds I2CDisplay as a display bus to talk over I2C. Particularly
useful for the SSD1306.

Fixes #1828. Fixes #1956
2019-07-19 16:06:11 -07:00
Scott Shawcroft
5e2fec714c
Move Glyph and BuiltinFont into fontio
It was confusing in displayio.

Fixes #1662
2019-03-19 16:22:09 -07:00
Scott Shawcroft
224e9b1009
Standardize TileGrid to x and y properties over position
This brings it inline with Group. Also fixes #1613

This also includes a number of fixes for where a method is called
through a subclass. We now correctly get the native object.
Fixes #1567

Lastly, this adds subscript support to TileGrid for changing tile
indices. Similar to Bitmap, it accepts ints or 2-tuples.
2019-03-12 17:18:33 -07:00
Scott Shawcroft
c17f147be9
A variety of displayio improvements
This changes a number of things in displayio:
* Introduces BuiltinFont and Glyph so the built in font can be used by libraries. For boards with
  a font it is available as board.TERMINAL_FONT. Fixes #1172
* Remove _load_row from Bitmap in favor of bitmap[] access. Index can be x/y tuple or overall index. Fixes #1191
* Add width and height properties to Bitmap.
* Add insert and [] access to Group. Fixes #1518
* Add index param to pop on Group.
* Terminal no longer takes unicode character info. It takes a BuiltinFont instead.
* Fix Terminal's handling of [###D vt100 commands used when up arrowing into repl history.
* Add x and y positions to Group plus scale as well.
* Add bitmap accessor for BuiltinFont
2019-02-11 20:55:05 -08:00
Scott Shawcroft
601a910f4e
More improvements to Terminal:
* Fix Hallowing.
* Fix builds without displayio.
* Fix y bounds that appears as untrollable row of pixels.
* Add scrolling to TileGrid.
* Remove Sprite to save space. TileGrid is a drop in replacement.
2019-01-31 11:42:14 -08:00
Scott Shawcroft
6145f08cc8
Support adjustable backlight brightness 2019-01-31 11:42:14 -08:00
Scott Shawcroft
1a1dbef992
Hook up the terminal based on the first display. 2019-01-31 11:42:14 -08:00
Scott Shawcroft
fb0970ec6e
Add terminalio 2019-01-31 11:42:13 -08:00