This is the final version of Mini Gateway for Automation and Security desgined for Renesas GR Peach Design Contest

Dependencies:   GR-PEACH_video GraphicsFramework HTTPServer R_BSP mbed-rpc mbed-rtos Socket lwip-eth lwip-sys lwip FATFileSystem

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Committer:
vipinranka
Date:
Wed Jan 11 11:41:30 2017 +0000
Revision:
12:9a20164dcc47
This is the final version MGAS Project for Renesas GR Peach Design Contest

Who changed what in which revision?

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