A TextDisplay driver that supports graphical displays using on of the SED133x conrtrolers. Allows stdout and stderr output to be redirected to the display.

Committer:
llagendijk
Date:
Sat Jan 29 21:04:53 2011 +0000
Revision:
7:d79600310cfe
Parent:
5:684f79f70ac9
Child:
8:66be6a696e4e
and again more documentation fixes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
llagendijk 0:9e72c57b16fd 1 /* mbed Terminal TextDisplay Library
llagendijk 0:9e72c57b16fd 2 * Copyright (c) 2007-2009 sford
llagendijk 0:9e72c57b16fd 3 * Released under the MIT License: http://mbed.org/license/mit
llagendijk 0:9e72c57b16fd 4 *
llagendijk 0:9e72c57b16fd 5 * Modified by Ned Konz
llagendijk 0:9e72c57b16fd 6 * to add baud rate setting
llagendijk 0:9e72c57b16fd 7 *
llagendijk 0:9e72c57b16fd 8 * Implementation of a TextDisplay using a VT100 Terminal and
llagendijk 0:9e72c57b16fd 9 * escape codes (e.g. Teraterm, Hyperterminal)
llagendijk 0:9e72c57b16fd 10 */
llagendijk 0:9e72c57b16fd 11
llagendijk 0:9e72c57b16fd 12 #include "TextDisplay.h"
llagendijk 0:9e72c57b16fd 13
llagendijk 0:9e72c57b16fd 14 #ifndef MBED_TERMINAL_H
llagendijk 0:9e72c57b16fd 15 #define MBED_TERMINAL_H
llagendijk 0:9e72c57b16fd 16
llagendijk 5:684f79f70ac9 17 /** Terminal Textdisplay
llagendijk 5:684f79f70ac9 18 *
llagendijk 5:684f79f70ac9 19 * Provides an TextDisplay version with output to a serial port
llagendijk 5:684f79f70ac9 20 * Example:
llagendijk 5:684f79f70ac9 21 * @code
llagendijk 5:684f79f70ac9 22 / simple test for TextDisplay class
llagendijk 5:684f79f70ac9 23 #include "mbed.h"
llagendijk 5:684f79f70ac9 24 #include "Terminal.h"
llagendijk 5:684f79f70ac9 25
llagendijk 5:684f79f70ac9 26 Terminal lcd(USBTX, USBRX);
llagendijk 5:684f79f70ac9 27
llagendijk 5:684f79f70ac9 28 int main() {
llagendijk 5:684f79f70ac9 29 lcd.printf("Hello TextDisplay world!\r\n");
llagendijk 5:684f79f70ac9 30 lcd.claim(stdout);
llagendijk 5:684f79f70ac9 31 printf("hello stream world\r\n");
llagendijk 5:684f79f70ac9 32 }
llagendijk 5:684f79f70ac9 33
llagendijk 5:684f79f70ac9 34 * @endcode
llagendijk 5:684f79f70ac9 35 */
llagendijk 0:9e72c57b16fd 36 class Terminal : public TextDisplay {
llagendijk 0:9e72c57b16fd 37 public:
llagendijk 5:684f79f70ac9 38 /** Create the TextDisplay interface
llagendijk 5:684f79f70ac9 39 *
llagendijk 7:d79600310cfe 40 * @param tx PinName for data sending (USBTX for pc connection)
llagendijk 5:684f79f70ac9 41 * @param rx PinName for data reception (USBRX for pc connection)
llagendijk 5:684f79f70ac9 42 * @param name The name used in the path to access the strean through the filesystem (default: "term")
llagendijk 5:684f79f70ac9 43 */
llagendijk 5:684f79f70ac9 44 Terminal(PinName tx, PinName rx, const char *name = "term");
llagendijk 0:9e72c57b16fd 45
llagendijk 0:9e72c57b16fd 46 virtual void character(uint16_t column, uint16_t row, int c);
llagendijk 0:9e72c57b16fd 47 virtual uint16_t rows();
llagendijk 0:9e72c57b16fd 48 virtual uint16_t columns();
llagendijk 0:9e72c57b16fd 49
llagendijk 0:9e72c57b16fd 50 virtual void cls();
llagendijk 0:9e72c57b16fd 51 virtual void foreground(uint32_t colour);
llagendijk 0:9e72c57b16fd 52 virtual void background(uint32_t colour);
llagendijk 0:9e72c57b16fd 53 virtual void baud(uint16_t newbaud) { _serial.baud(newbaud); }
llagendijk 0:9e72c57b16fd 54
llagendijk 0:9e72c57b16fd 55 protected:
llagendijk 0:9e72c57b16fd 56
llagendijk 0:9e72c57b16fd 57 Serial _serial;
llagendijk 0:9e72c57b16fd 58
llagendijk 0:9e72c57b16fd 59 };
llagendijk 0:9e72c57b16fd 60
llagendijk 0:9e72c57b16fd 61 #endif