A TextDisplay driver that supports graphical displays using on of the SED133x conrtrolers. Allows stdout and stderr output to be redirected to the display.
Terminal.h@8:66be6a696e4e, 2011-01-29 (annotated)
- Committer:
- llagendijk
- Date:
- Sat Jan 29 21:22:08 2011 +0000
- Revision:
- 8:66be6a696e4e
- Parent:
- 7:d79600310cfe
document color settings
Who changed what in which revision?
User | Revision | Line number | New 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 | 8:66be6a696e4e | 42 | * @param name The name used in the path to access the strean through the filesystem |
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 |