53#define PX_VT100_CHAR_BEL 0x07
54#define PX_VT100_CHAR_BS 0x08
55#define PX_VT100_CHAR_TAB 0x09
56#define PX_VT100_CHAR_CR 0x0D
57#define PX_VT100_CHAR_LF 0x0A
58#define PX_VT100_CHAR_ESC 0x1B
59#define PX_VT100_CHAR_DEL 0x7F
64#define PX_VT100_CURSOR_HOME "\x1B[H"
65#define PX_VT100_CURSOR_UP "\x1B[1A"
66#define PX_VT100_CURSOR_DOWN "\x1B[1B"
67#define PX_VT100_CURSOR_FORWARD "\x1B[1C"
68#define PX_VT100_CURSOR_BACKWARD "\x1B[1D"
69#define PX_VT100_SAVE_CURSOR "\x1B[s"
70#define PX_VT100_UNSAVE_CURSOR "\x1B[u"
71#define PX_VT100_SAVE_CURSOR_AND_ATTRS "\x1B7"
72#define PX_VT100_RESTORE_CURSOR_AND_ATTRS "\x1B8"
74#define PX_VT100_SCROLL_SCREEN "\x1B[r"
75#define PX_VT100_SCROLL_DOWN "\x1BD"
76#define PX_VT100_SCROLL_UP "\x1BM"
78#define PX_VT100_SET_TAB "\x1BH"
79#define PX_VT100_CLR_TAB "\x1B[g"
80#define PX_VT100_CLR_ALL_TABS "\x1B[3g"
82#define PX_VT100_ERASE_END_OF_LINE "\x1B[K"
83#define PX_VT100_ERASE_START_OF_LINE "\x1B[1K"
84#define PX_VT100_ERASE_LINE "\x1B[2K"
85#define PX_VT100_ERASE_DOWN "\x1B[J"
86#define PX_VT100_ERASE_UP "\x1B[1J"
87#define PX_VT100_ERASE_SCREEN "\x1B[2J"
89#define PX_VT100_ATTR_RST "\x1B[0m"
90#define PX_VT100_ATTR_BRIGHT "\x1B[1m"
91#define PX_VT100_ATTR_DIM "\x1B[2m"
92#define PX_VT100_ATTR_UNDERSCORE "\x1B[4m"
93#define PX_VT100_ATTR_BLINK "\x1B[5m"
94#define PX_VT100_ATTR_REVERSE "\x1B[7m"
95#define PX_VT100_ATTR_HIDDEN "\x1B[8m"
97#define PX_VT100_FG_BLACK "\x1B[30m"
98#define PX_VT100_FG_RED "\x1B[31m"
99#define PX_VT100_FG_GREEN "\x1B[32m"
100#define PX_VT100_FG_YELLOW "\x1B[33m"
101#define PX_VT100_FG_BLUE "\x1B[34m"
102#define PX_VT100_FG_MAGENTA "\x1B[35m"
103#define PX_VT100_FG_CYAN "\x1B[36m"
104#define PX_VT100_FG_WHITE "\x1B[37m"
106#define PX_VT100_BG_BLACK "\x1B[40m"
107#define PX_VT100_BG_RED "\x1B[41m"
108#define PX_VT100_BG_GREEN "\x1B[42m"
109#define PX_VT100_BG_YELLOW "\x1B[43m"
110#define PX_VT100_BG_BLUE "\x1B[44m"
111#define PX_VT100_BG_MAGENTA "\x1B[45m"
112#define PX_VT100_BG_CYAN "\x1B[46m"
113#define PX_VT100_BG_WHITE "\x1B[47m"
void px_vt100_clr_display(void)
Send 'clear screen' command to terminal.
void px_vt100_erase_line(void)
Send 'erase line' command to terminal.
void px_vt100_del_chars(uint8_t nr_of_chars)
Delete specified number of characters.
void px_vt100_init(void)
Initialise module.
px_vt100_state_t px_vt100_on_rx_char(char data)
Process a received character byte.
px_vt100_state_t
VT100 Terminal receive state.
@ PX_VT100_ESC_SEQ_BUSY
Busy with escape sequence; data must be discarded.
@ PX_VT100_CHAR_INVALID
An invalid key code has been sent and must be discarded.
@ PX_VT100_ESC_SEQ_ARROW_LEFT
Left Arrow has been pressed.
@ PX_VT100_ESC_SEQ_ARROW_UP
Up Arrow has been pressed.
@ PX_VT100_ESC_SEQ_ARROW_DN
Down Arrow has been pressed.
@ PX_VT100_CHAR_NORMAL
A normal key has been pressed and must be used.
@ PX_VT100_ESC_SEQ_ARROW_RIGHT
Right Arrow has been pressed.