Add support for curses color output over serial.

Note that the sequence \e[m for turning off bold resets all attributes,
including color.

Signed-off-by: Ulf Jordan <jordan@chalmers.se>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3561 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Ulf Jordan
2008-09-03 19:59:44 +00:00
committed by Jordan Crouse
parent d21f68bbd5
commit d57a680632
3 changed files with 26 additions and 0 deletions

View File

@ -110,6 +110,8 @@ int serial_getchar(void)
enacs=\E(B\E)0, smacs=^N, rmacs=^O. */
#define VT100_SMACS "\e(0"
#define VT100_RMACS "\e(B"
/* A vt100 doesn't do color, setaf/setab below are from xterm-color. */
#define VT100_SET_COLOR "\e[3%d;4%dm"
static void serial_putcmd(char *str)
{
@ -142,6 +144,19 @@ void serial_end_altcharset(void)
serial_putcmd(VT100_RMACS);
}
/**
* Set the foreground and background colors on the serial console.
*
* @param fg Foreground color number.
* @param bg Background color number.
*/
void serial_set_color(short fg, short bg)
{
char buffer[32];
snprintf(buffer, sizeof(buffer), VT100_SET_COLOR, fg, bg);
serial_putcmd(buffer);
}
void serial_set_cursor(int y, int x)
{
char buffer[32];