Basic Intro & Nomenclature

VT102

ESPTerm emulates VT102 (pictured) with some additions from later VT models and Xterm. All commonly used attributes and commands are supported. ESPTerm is capable of displaying ncurses applications such as _Midnight Commander_ using _agetty_.

ESPTerm accepts UTF-8 characters received on the communication UART and displays them on the screen, interpreting some codes as Control Characters. Those are e.g. _Carriage Return_ (13), _Line Feed_ (10), _Tab_ (9), _Backspace_ (8) and _Bell_ (7).

Escape sequences start with the control character _ESC_ (27), followed by any number of ASCII characters forming the body of the command.

Nomenclature & Command Types

Examples on this help page use the following symbols for special characters and command types:\\ (spaces are for clarity only, _DO NOT_ include them in the commands!)

NameSymbolASCIIC stringFunction
*ESC* `\e` `ESC` (27) `"\e"`, `"\x1b"`, `"\033"` Introduces an escape sequence. _(Note: `\e` is a GCC extension)_
*Bell* `\a` `BEL`~(7) `"\a"`, `"\x7"`, `"\07"` Audible beep
*String Terminator* `ST` `ESC \`~(27~92)
_or_~`\a`~(7)
`"\x1b\\"`, `"\a"` Terminates a string command (`\a` can be used as an alternative)
*Control Sequence Introducer* `CSI` `ESC [` `"\x1b["` Starts a CSI command. Examples: `\e[?7;10h`, `\e[2J`
*Operating System Command* `OSC` `ESC ]` `"\x1b]"` Starts an OSC command. Is followed by a command string terminated by `ST`. Example: `\e]0;My Screen Title\a`
*Select Graphic Rendition* `SGR` `CSI n;n;nm` `"\x1b[1;2;3m"` Set text attributes, like color or style. 0 to 10 numbers can be used, `\e[m` is treated as `\e[0m`

There are also some other commands that don't follow the CSI, SGR or OSC pattern, such as `\e7` or `\e#8`. A list of the most important escape sequences is presented in the following sections.