0,0 → 1,69 |
/*! \file vt100.c \brief VT100 terminal function library. */ |
//***************************************************************************** |
// |
// File Name : 'vt100.c' |
// Title : VT100 terminal function library |
// Author : Pascal Stang - Copyright (C) 2002 |
// Created : 2002.08.27 |
// Revised : 2002.08.27 |
// Version : 0.1 |
// Target MCU : Atmel AVR Series |
// Editor Tabs : 4 |
// |
// NOTE: This code is currently below version 1.0, and therefore is considered |
// to be lacking in some functionality or documentation, or may not be fully |
// tested. Nonetheless, you can expect most functions to work. |
// |
// This code is distributed under the GNU Public License |
// which can be found at http://www.gnu.org/licenses/gpl.txt |
// |
//***************************************************************************** |
|
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
|
#include "global.h" |
#include "rprintf.h" |
#include "vt100.h" |
|
// Program ROM constants |
|
// Global variables |
|
// Functions |
void vt100Init(void) |
{ |
// initializes terminal to "power-on" settings |
// ESC c |
rprintfProgStrM("\x1B\x63"); |
} |
|
void vt100ClearScreen(void) |
{ |
// ESC [ 2 J |
rprintfProgStrM("\x1B[2J"); |
} |
|
void vt100SetAttr(u08 attr) |
{ |
// ESC [ Ps m |
rprintf("\x1B[%dm",attr); |
} |
|
void vt100SetCursorMode(u08 visible) |
{ |
if(visible) |
// ESC [ ? 25 h |
rprintf("\x1B[?25h"); |
else |
// ESC [ ? 25 l |
rprintf("\x1B[?25l"); |
} |
|
void vt100SetCursorPos(u08 line, u08 col) |
{ |
// ESC [ Pl ; Pc H |
rprintf("\x1B[%d;%dH",line,col); |
} |
|