
Konsole (VT100) über serielle Schnittstelle.Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden. Mit dem Programm screen
kann komfortabel ein Terminal unter Angabe der Schnittstelle sowie Verbindungsgeschwindigkeit geöffnet werden, z.B. screen /dev/ttyS0 115200
Mehr ...
#include <device/console.h>
Öffentliche Typen | |
enum | attrib { RESET = 0, BRIGHT = 1, DIM = 2, UNDERSCORE = 4, BLINK = 5, REVERSE = 7, HIDDEN = 8 } |
Attribtue. Mehr ... | |
enum | color { BLACK = 0, RED = 1, GREEN = 2, YELLOW = 3, BLUE = 4, MAGENTA = 5, CYAN = 6, WHITE = 7 } |
Farbcodes. Mehr ... | |
![]() | |
enum | comPort { COM1 = 0x3f8, COM2 = 0x2f8, COM3 = 0x3e8, COM4 = 0x238 } |
COM-Port. Mehr ... | |
enum | baudRate { BAUD_300 = 384, BAUD_600 = 192, BAUD_1200 = 96, BAUD_2400 = 48, BAUD_4800 = 24, BAUD_9600 = 12, BAUD_19200 = 6, BAUD_38400 = 3, BAUD_57600 = 2, BAUD_115200 = 1 } |
Übertragungsgeschwindigkeit. Mehr ... | |
enum | dataBits { DATA_5BIT = 0, DATA_6BIT = 1, DATA_7BIT = 2, DATA_8BIT = 3 } |
Anzahl der Datenbits pro Zeichen. | |
enum | stopBits { STOP_1BIT = 0, STOP_1_5BIT = 4, STOP_2BIT = 4 } |
Anzahl der Stopbits pro Zeichen. | |
enum | parity { PARITY_NONE = 0, PARITY_ODD = 8, PARITY_EVEN = 24, PARITY_MARK = 40, PARITY_SPACE = 56 } |
Paritätsbit. | |
Öffentliche Methoden | |
Console (Serial::comPort port=COM1, Serial::baudRate baudrate=BAUD_115200, Serial::dataBits databits=DATA_8BIT, Serial::stopBits stopbits=STOP_1BIT, Serial::parity parity=PARITY_NONE) | |
Konstruktor für die VT100 kompatible Konsole. Mehr ... | |
~Console () | |
Destruktor. | |
void | flush () |
Methode zur Ausgabe des Pufferinhalts der Basisklasse Stringbuffer. Mehr ... | |
void | setForeground (Console::color c) |
Vordergrundfarbe (für alle nachfolgenden Ausgaben) ändern. Mehr ... | |
void | setBackground (Console::color c) |
Hintergrundfarbe (für alle nachfolgenden Ausgaben) ändern. Mehr ... | |
void | setAttribute (Console::attrib a) |
Ausgabeformatierung (für alle nachfolgenden Ausgaben) ändern. Mehr ... | |
void | reset () |
Terminal zurücksetzen. Mehr ... | |
void | setpos (int x, int y) |
Setzen des Cursors in Spalte x und Zeile y . Mehr ... | |
bool | getpos (int &x, int &y) |
Abfragen der Cursorposition. Mehr ... | |
void | print (char *string, int length) |
Anzeige mehrerer Zeichen ab der aktuellen Cursorposition. Mehr ... | |
![]() | |
O_Stream () | |
Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem. Mehr ... | |
virtual | ~O_Stream () |
Destruktor. | |
O_Stream & | operator<< (char c) |
Stellt ein einzelnes Zeichen dar. Mehr ... | |
O_Stream & | operator<< (unsigned char c) |
Stellt ein einzelnes Zeichen dar. Mehr ... | |
O_Stream & | operator<< (const char *string) |
Darstellung einer nullterminierten Zeichenkette. Mehr ... | |
O_Stream & | operator<< (bool b) |
Stellt ein Boolean dar. Mehr ... | |
O_Stream & | operator<< (short ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (unsigned short ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (int ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (unsigned int ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (long ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (unsigned long ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (const void *ptr) |
Darstellung eines Zeigers als hexadezimale ganze Zahl. Mehr ... | |
O_Stream & | operator<< (O_Stream &(*f)(O_Stream &)) |
Aufruf einer Manipulatorfunktion. Mehr ... | |
![]() | |
virtual | ~Stringbuffer () |
Destruktor (hier nichts zu tun) | |
![]() | |
Serial (Serial::comPort port=COM1, Serial::baudRate baudrate=BAUD_115200, Serial::dataBits databits=DATA_8BIT, Serial::stopBits stopbits=STOP_1BIT, Serial::parity parity=PARITY_NONE) | |
Konstruktor. Mehr ... | |
int | read (bool blocking=true) |
Lese ein Byte von serieller Schnittstelle. Mehr ... | |
int | write (char out, bool blocking=true) |
Schreibe ein Byte auf die serieller Schnittstelle. Mehr ... | |
Weitere Geerbte Elemente | |
![]() | |
int | base |
Basis des zur Anzeige verwendeten Zahlensystems (z.B. 2, 8, 10 oder 16) Mehr ... | |
![]() | |
Stringbuffer () | |
Konstruktor; Markiert Puffer als leer. | |
void | put (char c) |
Fügt das Zeichen c in den Puffer ein. Mehr ... | |
![]() | |
char | buffer [80] |
Zeichenpuffer. | |
int | pos |
Aktuelle Position im Puffer. | |
Konsole (VT100) über serielle Schnittstelle.
Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden. Mit dem Programm screen
kann komfortabel ein Terminal unter Angabe der Schnittstelle sowie Verbindungsgeschwindigkeit geöffnet werden, z.B. screen /dev/ttyS0 115200
Durch Escape-Codes kann die Darstellung (u.a. Farbe und Position) beeinflusst werden.
enum Console::attrib |
Attribtue.
Mittels Attribute kann die Darstellung der Ausgabe beeinflusst werden.
enum Console::color |
Farbcodes.
Für Vorder- und Hintergrund sind acht Farbattribute vorhanden. Die tatsächliche Farbe wird von den anderen Attributen beeinflusst und kann je nach Terminalemulator deutlich unterschiedlich aussehen.
Console::Console | ( | Serial::comPort | port = COM1 , |
Serial::baudRate | baudrate = BAUD_115200 , |
||
Serial::dataBits | databits = DATA_8BIT , |
||
Serial::stopBits | stopbits = STOP_1BIT , |
||
Serial::parity | parity = PARITY_NONE |
||
) |
Konstruktor für die VT100 kompatible Konsole.
beinhaltet die serielle Verbindung
|
virtual |
Methode zur Ausgabe des Pufferinhalts der Basisklasse Stringbuffer.
Die Methode wird implizit aufgerufen, sobald der Puffer voll ist, kann aber auch explizit verwendet werden, um eine Ausgabe zu erzwingen.
Implementiert O_Stream.
bool Console::getpos | ( | int & | x, |
int & | y | ||
) |
Abfragen der Cursorposition.
Es ist möglich die aktuelle Cursorposition über einen speziellen Escape- code zu empfangen. Allerdings kann es abhängig von der Implementierung sein, dass aufgrund eines nicht angeschlossenen Terminals oder Datenübertragungsfehlers endlos gewartet wird.
x | Spalte |
y | Zeile |
true
, falls die Position erfolgreich empfangen wurde void Console::print | ( | char * | string, |
int | length | ||
) |
Anzeige mehrerer Zeichen ab der aktuellen Cursorposition.
Mit dieser Methode kann eine Zeichenkette string
ausgegeben werden, wobei an der aktuellen Position des Cursors begonnen wird. Da die Zeichenkette anders als sonst bei C üblich keine Nullterminierung zu enthalten braucht, wird der Parameter length
benötigt, der angeben muss, aus wievielen Zeichen string besteht.
string | Auszugebende Zeichenkette |
length | Länge der Zeichenkette |
void Console::reset | ( | ) |
Terminal zurücksetzen.
Bildschirm löschen, Cursor auf den Anfang setzen und Farben sowie Attribute auf den Standardwert zurücksetzen
void Console::setAttribute | ( | Console::attrib | a | ) |
Ausgabeformatierung (für alle nachfolgenden Ausgaben) ändern.
a | Ausgabettribut |
void Console::setBackground | ( | Console::color | c | ) |
Hintergrundfarbe (für alle nachfolgenden Ausgaben) ändern.
c | Farbe |
void Console::setForeground | ( | Console::color | c | ) |
Vordergrundfarbe (für alle nachfolgenden Ausgaben) ändern.
c | Farbe |
void Console::setpos | ( | int | x, |
int | y | ||
) |
Setzen des Cursors in Spalte x
und Zeile y
.
x | Spalte |
y | Zeile |