Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Konsole (VT100) über serielle Schnittstelle.Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden. Mehr ...

#include <device/serial_stream.h>

Klassendiagramm für Serial_Stream:
Zusammengehörigkeiten von Serial_Stream:

Ö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 ...
 
- Öffentliche Typen geerbt von Serial
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

 Serial_Stream (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 ...
 
 ~Serial_Stream ()
 Destruktor.
 
void flush ()
 Methode zur Ausgabe des Pufferinhalts der Basisklasse Stringbuffer. Mehr ...
 
void setForeground (Serial_Stream::Color c)
 Vordergrundfarbe (für alle nachfolgenden Ausgaben) ändern. Mehr ...
 
void setBackground (Serial_Stream::Color c)
 Hintergrundfarbe (für alle nachfolgenden Ausgaben) ändern. Mehr ...
 
void setAttribute (Serial_Stream::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 ...
 
- Öffentliche Methoden geerbt von O_Stream
 O_Stream ()
 Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem. Mehr ...
 
virtual ~O_Stream ()
 Destruktor.
 
O_Streamoperator<< (char c)
 Stellt ein einzelnes Zeichen dar. Mehr ...
 
O_Streamoperator<< (unsigned char c)
 Stellt ein einzelnes Zeichen dar. Mehr ...
 
O_Streamoperator<< (const char *string)
 Darstellung einer nullterminierten Zeichenkette. Mehr ...
 
O_Streamoperator<< (bool b)
 Stellt ein Boolean dar. Mehr ...
 
O_Streamoperator<< (short ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned short ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (int ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned int ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (long long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned long long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (const void *ptr)
 Darstellung eines Zeigers als hexadezimale ganze Zahl. Mehr ...
 
O_Streamoperator<< (O_Stream &(*f)(O_Stream &))
 Aufruf einer Manipulatorfunktion. Mehr ...
 
- Öffentliche Methoden geerbt von Stringbuffer
virtual ~Stringbuffer ()
 Destruktor (hier nichts zu tun)
 
- Öffentliche Methoden geerbt von Serial
 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

- Öffentliche Attribute geerbt von O_Stream
int base
 Basis des zur Anzeige verwendeten Zahlensystems (z.B. 2, 8, 10 oder 16) Mehr ...
 
- Geschützte Methoden geerbt von Stringbuffer
 Stringbuffer ()
 Konstruktor; Markiert Puffer als leer. Mehr ...
 
void put (char c)
 Fügt das Zeichen c in den Puffer ein. Mehr ...
 
- Geschützte Attribute geerbt von Stringbuffer
char buffer [80]
 Zeichenpuffer.
 
int pos
 Aktuelle Position im Puffer.
 

Ausführliche Beschreibung

Konsole (VT100) über serielle Schnittstelle.

Mit Hilfe dieser Klasse kann ein VT100-kompatibles Anzeigeterminal über die serielle Schnittstelle verbunden werden.

Eine Anwendung, welche komfortabel eine Verbindung erstellt (mit der Möglichkeit die Geschwindigkeit sowie Übertragungsformat einzustellen), ist /proj/i4bs/tools/serial.

Beispielaufruf für eine Verbindung mit dem Rechner StuBS4 bei 19200 Baud mit 7 Datenbits, geradem Paritätsbit und 2 Stoppbits:

/proj/i4bs/tools/serial 4 19200 7e2

Durch Escape-Codes kann die Darstellung (u.a. Farbe und Position) beeinflusst werden.

Dokumentation der Aufzählungstypen

◆ Attrib

Attribtue.

Mittels Attribute kann die Darstellung der Ausgabe beeinflusst werden.

◆ 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.

Beschreibung der Konstruktoren und Destruktoren

◆ Serial_Stream()

Serial_Stream::Serial_Stream ( 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

Optional:
Methode implementieren

Dokumentation der Elementfunktionen

◆ flush()

void Serial_Stream::flush ( )
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.

Optional:
Methode implementieren

Implementiert O_Stream.

◆ getpos()

bool Serial_Stream::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.

Optional:
Methode implementieren
Parameter
xSpalte
yZeile
Rückgabe
true , falls die Position erfolgreich empfangen wurde

◆ print()

void Serial_Stream::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.

Optional:
Methode implementieren
Parameter
stringAuszugebende Zeichenkette
lengthLänge der Zeichenkette

◆ reset()

void Serial_Stream::reset ( )

Terminal zurücksetzen.

Bildschirm löschen, Cursor auf den Anfang setzen und Farben sowie Attribute auf den Standardwert zurücksetzen

Optional:
Methode implementieren

◆ setAttribute()

void Serial_Stream::setAttribute ( Serial_Stream::Attrib  a)

Ausgabeformatierung (für alle nachfolgenden Ausgaben) ändern.

Optional:
Methode implementieren
Parameter
aAusgabettribut

◆ setBackground()

void Serial_Stream::setBackground ( Serial_Stream::Color  c)

Hintergrundfarbe (für alle nachfolgenden Ausgaben) ändern.

Optional:
Methode implementieren
Parameter
cFarbe

◆ setForeground()

void Serial_Stream::setForeground ( Serial_Stream::Color  c)

Vordergrundfarbe (für alle nachfolgenden Ausgaben) ändern.

Optional:
Methode implementieren
Parameter
cFarbe

◆ setpos()

void Serial_Stream::setpos ( int  x,
int  y 
)

Setzen des Cursors in Spalte x und Zeile y.

Optional:
Methode implementieren
Parameter
xSpalte
yZeile

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: