lcd for LPC1768

Dependents:   exercise_application_shield FRDM_K64F_LCD shot_game shot_game ... more

Committer:
askksa12543
Date:
Thu Feb 26 14:52:52 2015 +0000
Revision:
0:990d5eec2ef6
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
askksa12543 0:990d5eec2ef6 1 /* mbed TextDisplay Library Base Class
askksa12543 0:990d5eec2ef6 2 * Copyright (c) 2007-2009 sford
askksa12543 0:990d5eec2ef6 3 * Released under the MIT License: http://mbed.org/license/mit
askksa12543 0:990d5eec2ef6 4 *
askksa12543 0:990d5eec2ef6 5 * A common base class for Text displays
askksa12543 0:990d5eec2ef6 6 * To port a new display, derive from this class and implement
askksa12543 0:990d5eec2ef6 7 * the constructor (setup the display), character (put a character
askksa12543 0:990d5eec2ef6 8 * at a location), rows and columns (number of rows/cols) functions.
askksa12543 0:990d5eec2ef6 9 * Everything else (locate, printf, putc, cls) will come for free
askksa12543 0:990d5eec2ef6 10 *
askksa12543 0:990d5eec2ef6 11 * The model is the display will wrap at the right and bottom, so you can
askksa12543 0:990d5eec2ef6 12 * keep writing and will always get valid characters. The location is
askksa12543 0:990d5eec2ef6 13 * maintained internally to the class to make this easy
askksa12543 0:990d5eec2ef6 14 */
askksa12543 0:990d5eec2ef6 15
askksa12543 0:990d5eec2ef6 16 #ifndef MBED_TEXTDISPLAY_H
askksa12543 0:990d5eec2ef6 17 #define MBED_TEXTDISPLAY_H
askksa12543 0:990d5eec2ef6 18
askksa12543 0:990d5eec2ef6 19 #include "mbed.h"
askksa12543 0:990d5eec2ef6 20
askksa12543 0:990d5eec2ef6 21 class TextDisplay : public Stream {
askksa12543 0:990d5eec2ef6 22 public:
askksa12543 0:990d5eec2ef6 23
askksa12543 0:990d5eec2ef6 24 // functions needing implementation in derived implementation class
askksa12543 0:990d5eec2ef6 25 /** Create a TextDisplay interface
askksa12543 0:990d5eec2ef6 26 *
askksa12543 0:990d5eec2ef6 27 * @param name The name used in the path to access the strean through the filesystem
askksa12543 0:990d5eec2ef6 28 */
askksa12543 0:990d5eec2ef6 29 TextDisplay(const char *name = NULL);
askksa12543 0:990d5eec2ef6 30
askksa12543 0:990d5eec2ef6 31 /** output a character at the given position
askksa12543 0:990d5eec2ef6 32 *
askksa12543 0:990d5eec2ef6 33 * @param column column where charater must be written
askksa12543 0:990d5eec2ef6 34 * @param row where character must be written
askksa12543 0:990d5eec2ef6 35 * @param c the character to be written to the TextDisplay
askksa12543 0:990d5eec2ef6 36 */
askksa12543 0:990d5eec2ef6 37 virtual void character(int column, int row, int c) = 0;
askksa12543 0:990d5eec2ef6 38
askksa12543 0:990d5eec2ef6 39 /** return number if rows on TextDisplay
askksa12543 0:990d5eec2ef6 40 * @result number of rows
askksa12543 0:990d5eec2ef6 41 */
askksa12543 0:990d5eec2ef6 42 virtual int rows() = 0;
askksa12543 0:990d5eec2ef6 43
askksa12543 0:990d5eec2ef6 44 /** return number if columns on TextDisplay
askksa12543 0:990d5eec2ef6 45 * @result number of rows
askksa12543 0:990d5eec2ef6 46 */
askksa12543 0:990d5eec2ef6 47 virtual int columns() = 0;
askksa12543 0:990d5eec2ef6 48
askksa12543 0:990d5eec2ef6 49 // functions that come for free, but can be overwritten
askksa12543 0:990d5eec2ef6 50
askksa12543 0:990d5eec2ef6 51 /** redirect output from a stream (stoud, sterr) to display
askksa12543 0:990d5eec2ef6 52 * @param stream stream that shall be redirected to the TextDisplay
askksa12543 0:990d5eec2ef6 53 */
askksa12543 0:990d5eec2ef6 54 virtual bool claim (FILE *stream);
askksa12543 0:990d5eec2ef6 55
askksa12543 0:990d5eec2ef6 56 /** clear screen
askksa12543 0:990d5eec2ef6 57 */
askksa12543 0:990d5eec2ef6 58 virtual void cls();
askksa12543 0:990d5eec2ef6 59 virtual void locate(int column, int row);
askksa12543 0:990d5eec2ef6 60 virtual void foreground(uint16_t colour);
askksa12543 0:990d5eec2ef6 61 virtual void background(uint16_t colour);
askksa12543 0:990d5eec2ef6 62 // putc (from Stream)
askksa12543 0:990d5eec2ef6 63 // printf (from Stream)
askksa12543 0:990d5eec2ef6 64
askksa12543 0:990d5eec2ef6 65 protected:
askksa12543 0:990d5eec2ef6 66
askksa12543 0:990d5eec2ef6 67 virtual int _putc(int value);
askksa12543 0:990d5eec2ef6 68 virtual int _getc();
askksa12543 0:990d5eec2ef6 69
askksa12543 0:990d5eec2ef6 70 // character location
askksa12543 0:990d5eec2ef6 71 uint16_t _column;
askksa12543 0:990d5eec2ef6 72 uint16_t _row;
askksa12543 0:990d5eec2ef6 73
askksa12543 0:990d5eec2ef6 74 // colours
askksa12543 0:990d5eec2ef6 75 uint16_t _foreground;
askksa12543 0:990d5eec2ef6 76 uint16_t _background;
askksa12543 0:990d5eec2ef6 77 char *_path;
askksa12543 0:990d5eec2ef6 78 };
askksa12543 0:990d5eec2ef6 79
askksa12543 0:990d5eec2ef6 80 #endif