1270 |
kakl |
1 |
/*! \file vt100.h \brief VT100 terminal function library. */ |
|
|
2 |
//***************************************************************************** |
|
|
3 |
// |
|
|
4 |
// File Name : 'vt100.h' |
|
|
5 |
// Title : VT100 terminal function library |
|
|
6 |
// Author : Pascal Stang - Copyright (C) 2002 |
|
|
7 |
// Created : 2002.08.27 |
|
|
8 |
// Revised : 2002.08.27 |
|
|
9 |
// Version : 0.1 |
|
|
10 |
// Target MCU : Atmel AVR Series |
|
|
11 |
// Editor Tabs : 4 |
|
|
12 |
// |
|
|
13 |
// NOTE: This code is currently below version 1.0, and therefore is considered |
|
|
14 |
// to be lacking in some functionality or documentation, or may not be fully |
|
|
15 |
// tested. Nonetheless, you can expect most functions to work. |
|
|
16 |
// |
|
|
17 |
/// \ingroup general |
|
|
18 |
/// \defgroup vt100 VT100 Terminal Function Library (vt100.c) |
|
|
19 |
/// \code #include "vt100.h" \endcode |
|
|
20 |
/// \par Overview |
|
|
21 |
/// This library provides functions for sending VT100 escape codes to |
|
|
22 |
/// control a connected VT100 or ANSI terminal. Commonly useful functions |
|
|
23 |
/// include setting the cursor position, clearing the screen, setting the text |
|
|
24 |
/// attributes (bold, inverse, blink, etc), and setting the text color. This |
|
|
25 |
/// library will slowly be expanded to include support for codes as needed and |
|
|
26 |
/// may eventually receive VT100 escape codes too. |
|
|
27 |
// |
|
|
28 |
// This code is distributed under the GNU Public License |
|
|
29 |
// which can be found at http://www.gnu.org/licenses/gpl.txt |
|
|
30 |
// |
|
|
31 |
//***************************************************************************** |
|
|
32 |
|
|
|
33 |
#ifndef VT100_H |
|
|
34 |
#define VT100_H |
|
|
35 |
|
|
|
36 |
#include "global.h" |
|
|
37 |
|
|
|
38 |
// constants/macros/typdefs |
|
|
39 |
// text attributes |
|
|
40 |
#define VT100_ATTR_OFF 0 |
|
|
41 |
#define VT100_BOLD 1 |
|
|
42 |
#define VT100_USCORE 4 |
|
|
43 |
#define VT100_BLINK 5 |
|
|
44 |
#define VT100_REVERSE 7 |
|
|
45 |
#define VT100_BOLD_OFF 21 |
|
|
46 |
#define VT100_USCORE_OFF 24 |
|
|
47 |
#define VT100_BLINK_OFF 25 |
|
|
48 |
#define VT100_REVERSE_OFF 27 |
|
|
49 |
|
|
|
50 |
// functions |
|
|
51 |
|
|
|
52 |
//! vt100Init() initializes terminal and vt100 library |
|
|
53 |
/// Run this init routine once before using any other vt100 function. |
|
|
54 |
void vt100Init(void); |
|
|
55 |
|
|
|
56 |
//! vt100ClearScreen() clears the terminal screen |
|
|
57 |
void vt100ClearScreen(void); |
|
|
58 |
|
|
|
59 |
//! vt100SetAttr() sets the text attributes like BOLD or REVERSE |
|
|
60 |
/// Text written to the terminal after this function is called will have |
|
|
61 |
/// the desired attribuutes. |
|
|
62 |
void vt100SetAttr(u08 attr); |
|
|
63 |
|
|
|
64 |
//! vt100SetCursorMode() sets the cursor to visible or invisible |
|
|
65 |
void vt100SetCursorMode(u08 visible); |
|
|
66 |
|
|
|
67 |
//! vt100SetCursorPos() sets the cursor position |
|
|
68 |
/// All text which is written to the terminal after a SetCursorPos command |
|
|
69 |
/// will begin at the new location of the cursor. |
|
|
70 |
void vt100SetCursorPos(u08 line, u08 col); |
|
|
71 |
|
|
|
72 |
#endif |