NXP Rapid IoT prototyping kit verified port of the LCD library.

Dependents:   rIoTwear-snake

Committer:
batman52
Date:
Thu Dec 26 16:43:11 2019 +0000
Revision:
2:6dc3f280499f
Parent:
0:76a4e97c113f
increased LCD_DISP_HEIGHT_MAX_BUF to 176 instead of 44, to handle a full frame buffer.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KURETA90 0:76a4e97c113f 1 /*
KURETA90 0:76a4e97c113f 2 * mbed library for the JDI color memory LCD LPM013M126A
KURETA90 0:76a4e97c113f 3 * derived from C12832_lcd
KURETA90 0:76a4e97c113f 4 * Copyright (c) 2016 Tadayuki Okamoto
KURETA90 0:76a4e97c113f 5 * Released under the MIT License: http://mbed.org/license/mit
KURETA90 0:76a4e97c113f 6 *
KURETA90 0:76a4e97c113f 7 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
KURETA90 0:76a4e97c113f 8 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
KURETA90 0:76a4e97c113f 9 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
KURETA90 0:76a4e97c113f 10 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
KURETA90 0:76a4e97c113f 11 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
KURETA90 0:76a4e97c113f 12 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
KURETA90 0:76a4e97c113f 13 * THE SOFTWARE.
KURETA90 0:76a4e97c113f 14 */
KURETA90 0:76a4e97c113f 15
KURETA90 0:76a4e97c113f 16 #ifndef MBED_COLOR_MEM_LCD_H
KURETA90 0:76a4e97c113f 17 #define MBED_COLOR_MEM_LCD_H
KURETA90 0:76a4e97c113f 18
KURETA90 0:76a4e97c113f 19 #include "mbed.h"
KURETA90 0:76a4e97c113f 20 #include "GraphicsDisplay.h"
KURETA90 0:76a4e97c113f 21
KURETA90 0:76a4e97c113f 22
KURETA90 0:76a4e97c113f 23 /** @def
KURETA90 0:76a4e97c113f 24 * Device define
KURETA90 0:76a4e97c113f 25 */
KURETA90 0:76a4e97c113f 26 #define LCD_DEVICE_WIDTH (176)
KURETA90 0:76a4e97c113f 27 #define LCD_DEVICE_HEIGHT (176)
KURETA90 0:76a4e97c113f 28
KURETA90 0:76a4e97c113f 29 /** @def
KURETA90 0:76a4e97c113f 30 * window system define
KURETA90 0:76a4e97c113f 31 */
KURETA90 0:76a4e97c113f 32 #define LCD_DISP_WIDTH (176)
KURETA90 0:76a4e97c113f 33 #define LCD_DISP_HEIGHT (176)
batman52 2:6dc3f280499f 34 #define LCD_DISP_HEIGHT_MAX_BUF (176) // (44) // (176)
KURETA90 0:76a4e97c113f 35
KURETA90 0:76a4e97c113f 36 /** @def
KURETA90 0:76a4e97c113f 37 * some RGB color definitions
KURETA90 0:76a4e97c113f 38 */
KURETA90 0:76a4e97c113f 39 /* R, G, B */
KURETA90 0:76a4e97c113f 40 #define LCD_COLOR_BLACK (0x00) /* 0 0 0 0 */
KURETA90 0:76a4e97c113f 41 #define LCD_COLOR_BLUE (0x02) /* 0 0 1 0 */
KURETA90 0:76a4e97c113f 42 #define LCD_COLOR_GREEN (0x04) /* 0 1 0 0 */
KURETA90 0:76a4e97c113f 43 #define LCD_COLOR_CYAN (0x06) /* 0 1 1 0 */
KURETA90 0:76a4e97c113f 44 #define LCD_COLOR_RED (0x08) /* 1 0 0 0 */
KURETA90 0:76a4e97c113f 45 #define LCD_COLOR_MAGENTA (0x0a) /* 1 0 1 0 */
KURETA90 0:76a4e97c113f 46 #define LCD_COLOR_YELLOW (0x0c) /* 1 1 0 0 */
KURETA90 0:76a4e97c113f 47 #define LCD_COLOR_WHITE (0x0e) /* 1 1 1 0 */
KURETA90 0:76a4e97c113f 48
KURETA90 0:76a4e97c113f 49 /** @def
KURETA90 0:76a4e97c113f 50 * ID for setTransMode
KURETA90 0:76a4e97c113f 51 */
KURETA90 0:76a4e97c113f 52 #define LCD_TRANSMODE_OPAQUE (0x00) //!< BackGroud is Opaque
KURETA90 0:76a4e97c113f 53 #define LCD_TRANSMODE_TRANSPARENT (0x01) //!< BackGroud is Transparent
KURETA90 0:76a4e97c113f 54 #define LCD_TRANSMODE_TRANSLUCENT (0x02) //!< BackGroud is Translucent
KURETA90 0:76a4e97c113f 55
KURETA90 0:76a4e97c113f 56 /** @def
KURETA90 0:76a4e97c113f 57 *ID for setBlinkMode
KURETA90 0:76a4e97c113f 58 */
KURETA90 0:76a4e97c113f 59 #define LCD_BLINKMODE_NONE (0x00) //!< Blinking None
KURETA90 0:76a4e97c113f 60 #define LCD_BLINKMODE_WHITE (0x01) //!< Blinking White
KURETA90 0:76a4e97c113f 61 #define LCD_BLINKMODE_BLACK (0x02) //!< Blinking Black
KURETA90 0:76a4e97c113f 62 #define LCD_BLINKMODE_INVERSE (0x03) //!< Inversion Mode
KURETA90 0:76a4e97c113f 63
KURETA90 0:76a4e97c113f 64 /** A class for Color Memory LCD Library
KURETA90 0:76a4e97c113f 65 */
KURETA90 0:76a4e97c113f 66 class ColorMemLCD : public GraphicsDisplay {
KURETA90 0:76a4e97c113f 67 public:
KURETA90 0:76a4e97c113f 68
KURETA90 0:76a4e97c113f 69 /** Create a SPI_LCD object connected to SPI
KURETA90 0:76a4e97c113f 70 *
KURETA90 0:76a4e97c113f 71 * @param mosi pin connected to SDO of display
KURETA90 0:76a4e97c113f 72 * @param miso pin connected to SDI of display
KURETA90 0:76a4e97c113f 73 * @param sclk pin connected to RS of display
KURETA90 0:76a4e97c113f 74 * @param cs pin connected to CS of display
KURETA90 0:76a4e97c113f 75 * @param disp pin connected to DISP of display
KURETA90 0:76a4e97c113f 76 * @param power pin connected to POWER of display
KURETA90 0:76a4e97c113f 77 */
KURETA90 0:76a4e97c113f 78 ColorMemLCD( PinName mosi, PinName miso, PinName sclk, PinName cs, PinName disp, PinName power, const char* name ="TFT" );
KURETA90 0:76a4e97c113f 79
KURETA90 0:76a4e97c113f 80 /** Get the width of the screen in pixel
KURETA90 0:76a4e97c113f 81 *
KURETA90 0:76a4e97c113f 82 * @return width of screen in pixel
KURETA90 0:76a4e97c113f 83 *
KURETA90 0:76a4e97c113f 84 */
KURETA90 0:76a4e97c113f 85 virtual int width();
KURETA90 0:76a4e97c113f 86
KURETA90 0:76a4e97c113f 87 /** Get the height of the screen in pixel
KURETA90 0:76a4e97c113f 88 *
KURETA90 0:76a4e97c113f 89 * @return height of screen in pixel
KURETA90 0:76a4e97c113f 90 *
KURETA90 0:76a4e97c113f 91 */
KURETA90 0:76a4e97c113f 92 virtual int height();
KURETA90 0:76a4e97c113f 93
KURETA90 0:76a4e97c113f 94 /** Set window region
KURETA90 0:76a4e97c113f 95 *
KURETA90 0:76a4e97c113f 96 * @param x horizontal position
KURETA90 0:76a4e97c113f 97 * @param y vertical position
KURETA90 0:76a4e97c113f 98 * @param w window width in pixel
KURETA90 0:76a4e97c113f 99 * @param h window height in pixels
KURETA90 0:76a4e97c113f 100 */
KURETA90 0:76a4e97c113f 101 virtual void window( int x, int y, int w, int h );
KURETA90 0:76a4e97c113f 102
KURETA90 0:76a4e97c113f 103 /** Set a pixel on the window memory
KURETA90 0:76a4e97c113f 104 *
KURETA90 0:76a4e97c113f 105 * @param x horizontal position
KURETA90 0:76a4e97c113f 106 * @param y vertical position
KURETA90 0:76a4e97c113f 107 * @param color 4 bit pixel color
KURETA90 0:76a4e97c113f 108 */
KURETA90 0:76a4e97c113f 109 virtual void pixel(int x, int y,int colour);
KURETA90 0:76a4e97c113f 110
KURETA90 0:76a4e97c113f 111 /** Set a pixel on the window memory (alpha blend)
KURETA90 0:76a4e97c113f 112 *
KURETA90 0:76a4e97c113f 113 * @param x horizontal position
KURETA90 0:76a4e97c113f 114 * @param y vertical position
KURETA90 0:76a4e97c113f 115 * @param color 4 bit pixel color
KURETA90 0:76a4e97c113f 116 */
KURETA90 0:76a4e97c113f 117 virtual void pixel_alpha(int x, int y,int colour);
KURETA90 0:76a4e97c113f 118
KURETA90 0:76a4e97c113f 119 /** Fill the window memory with background color
KURETA90 0:76a4e97c113f 120 *
KURETA90 0:76a4e97c113f 121 */
KURETA90 0:76a4e97c113f 122 virtual void cls (void);
KURETA90 0:76a4e97c113f 123
KURETA90 0:76a4e97c113f 124 /** draw a circle
KURETA90 0:76a4e97c113f 125 *
KURETA90 0:76a4e97c113f 126 * @param x0,y0 center
KURETA90 0:76a4e97c113f 127 * @param r radius
KURETA90 0:76a4e97c113f 128 * @param color 4 bit color
KURETA90 0:76a4e97c113f 129 *
KURETA90 0:76a4e97c113f 130 */
KURETA90 0:76a4e97c113f 131 void circle(int x, int y, int r, int colour);
KURETA90 0:76a4e97c113f 132
KURETA90 0:76a4e97c113f 133 /** draw a filled circle
KURETA90 0:76a4e97c113f 134 *
KURETA90 0:76a4e97c113f 135 * @param x0,y0 center
KURETA90 0:76a4e97c113f 136 * @param r radius
KURETA90 0:76a4e97c113f 137 * @param color 4 bit color
KURETA90 0:76a4e97c113f 138 */
KURETA90 0:76a4e97c113f 139 void fillcircle(int x, int y, int r, int colour);
KURETA90 0:76a4e97c113f 140
KURETA90 0:76a4e97c113f 141 /** draw a horizontal line
KURETA90 0:76a4e97c113f 142 *
KURETA90 0:76a4e97c113f 143 * @param x0 horizontal start
KURETA90 0:76a4e97c113f 144 * @param x1 horizontal stop
KURETA90 0:76a4e97c113f 145 * @param y vertical position
KURETA90 0:76a4e97c113f 146 * @param color 4 bit color
KURETA90 0:76a4e97c113f 147 *
KURETA90 0:76a4e97c113f 148 */
KURETA90 0:76a4e97c113f 149 void hline(int x0, int x1, int y, int colour);
KURETA90 0:76a4e97c113f 150
KURETA90 0:76a4e97c113f 151 /** draw a vertical line
KURETA90 0:76a4e97c113f 152 *
KURETA90 0:76a4e97c113f 153 * @param x horizontal position
KURETA90 0:76a4e97c113f 154 * @param y0 vertical start
KURETA90 0:76a4e97c113f 155 * @param y1 vertical stop
KURETA90 0:76a4e97c113f 156 * @param color 4 bit color
KURETA90 0:76a4e97c113f 157 */
KURETA90 0:76a4e97c113f 158 void vline(int y0, int y1, int x, int colour);
KURETA90 0:76a4e97c113f 159
KURETA90 0:76a4e97c113f 160 /** draw a 1 pixel line
KURETA90 0:76a4e97c113f 161 *
KURETA90 0:76a4e97c113f 162 * @param x0,y0 start point
KURETA90 0:76a4e97c113f 163 * @param x1,y1 stop point
KURETA90 0:76a4e97c113f 164 * @param color 4 bit color
KURETA90 0:76a4e97c113f 165 *
KURETA90 0:76a4e97c113f 166 */
KURETA90 0:76a4e97c113f 167 void line(int x0, int y0, int x1, int y1, int colour);
KURETA90 0:76a4e97c113f 168
KURETA90 0:76a4e97c113f 169 /** draw a rect
KURETA90 0:76a4e97c113f 170 *
KURETA90 0:76a4e97c113f 171 * @param x0,y0 top left corner
KURETA90 0:76a4e97c113f 172 * @param x1,y1 down right corner
KURETA90 0:76a4e97c113f 173 * @param color 4 bit color
KURETA90 0:76a4e97c113f 174 *
KURETA90 0:76a4e97c113f 175 */
KURETA90 0:76a4e97c113f 176 void rect(int x0, int y0, int x1, int y1, int colour);
KURETA90 0:76a4e97c113f 177
KURETA90 0:76a4e97c113f 178 /** draw a filled rect
KURETA90 0:76a4e97c113f 179 *
KURETA90 0:76a4e97c113f 180 * @param x0,y0 top left corner
KURETA90 0:76a4e97c113f 181 * @param x1,y1 down right corner
KURETA90 0:76a4e97c113f 182 * @param color 4 bit color
KURETA90 0:76a4e97c113f 183 *
KURETA90 0:76a4e97c113f 184 */
KURETA90 0:76a4e97c113f 185 void fillrect(int x0, int y0, int x1, int y1, int colour);
KURETA90 0:76a4e97c113f 186
KURETA90 0:76a4e97c113f 187 /** setup cursor position
KURETA90 0:76a4e97c113f 188 *
KURETA90 0:76a4e97c113f 189 * @param x x-position (top left)
KURETA90 0:76a4e97c113f 190 * @param y y-position
KURETA90 0:76a4e97c113f 191 */
KURETA90 0:76a4e97c113f 192 virtual void locate(int x, int y);
KURETA90 0:76a4e97c113f 193
KURETA90 0:76a4e97c113f 194 /** calculate the max number of char in a line
KURETA90 0:76a4e97c113f 195 *
KURETA90 0:76a4e97c113f 196 * @return max columns depends on actual font size
KURETA90 0:76a4e97c113f 197 *
KURETA90 0:76a4e97c113f 198 */
KURETA90 0:76a4e97c113f 199 virtual int columns(void);
KURETA90 0:76a4e97c113f 200
KURETA90 0:76a4e97c113f 201 /** calculate the max number of columns
KURETA90 0:76a4e97c113f 202 *
KURETA90 0:76a4e97c113f 203 * @return max columndepends on actual font size
KURETA90 0:76a4e97c113f 204 *
KURETA90 0:76a4e97c113f 205 */
KURETA90 0:76a4e97c113f 206 virtual int rows(void);
KURETA90 0:76a4e97c113f 207
KURETA90 0:76a4e97c113f 208 /** put a char on the screen
KURETA90 0:76a4e97c113f 209 *
KURETA90 0:76a4e97c113f 210 * @param value char to print
KURETA90 0:76a4e97c113f 211 * @return printed char
KURETA90 0:76a4e97c113f 212 *
KURETA90 0:76a4e97c113f 213 */
KURETA90 0:76a4e97c113f 214 virtual int _putc(int value);
KURETA90 0:76a4e97c113f 215
KURETA90 0:76a4e97c113f 216 /** draw a character of selected font
KURETA90 0:76a4e97c113f 217 *
KURETA90 0:76a4e97c113f 218 * @param x x-position of char (top left)
KURETA90 0:76a4e97c113f 219 * @param y y-position
KURETA90 0:76a4e97c113f 220 * @param c char to print
KURETA90 0:76a4e97c113f 221 *
KURETA90 0:76a4e97c113f 222 */
KURETA90 0:76a4e97c113f 223 virtual void character(int x, int y, int c);
KURETA90 0:76a4e97c113f 224
KURETA90 0:76a4e97c113f 225 /** select the font
KURETA90 0:76a4e97c113f 226 *
KURETA90 0:76a4e97c113f 227 * @param f pointer to font array
KURETA90 0:76a4e97c113f 228 *
KURETA90 0:76a4e97c113f 229 */
KURETA90 0:76a4e97c113f 230 void set_font(unsigned char* f);
KURETA90 0:76a4e97c113f 231
KURETA90 0:76a4e97c113f 232 /** set transpalent effect
KURETA90 0:76a4e97c113f 233 *
KURETA90 0:76a4e97c113f 234 * @param mode trans mode
KURETA90 0:76a4e97c113f 235 *
KURETA90 0:76a4e97c113f 236 */
KURETA90 0:76a4e97c113f 237 void setTransMode( char mode );
KURETA90 0:76a4e97c113f 238
KURETA90 0:76a4e97c113f 239 /** set a bitmap on the window buffer
KURETA90 0:76a4e97c113f 240 *
KURETA90 0:76a4e97c113f 241 * @param x,y upper left corner
KURETA90 0:76a4e97c113f 242 * @param w width of bitmap
KURETA90 0:76a4e97c113f 243 * @param h high of bitmap
KURETA90 0:76a4e97c113f 244 * @param *bitmap pointer to the bitmap data
KURETA90 0:76a4e97c113f 245 *
KURETA90 0:76a4e97c113f 246 * @remarks bitmap format 4 bit R1 G1 B1
KURETA90 0:76a4e97c113f 247 *
KURETA90 0:76a4e97c113f 248 */
KURETA90 0:76a4e97c113f 249 void Bitmap4bit( int x, int y, int w, int h, unsigned char *bitmap);
KURETA90 0:76a4e97c113f 250
KURETA90 0:76a4e97c113f 251 /** set a bitmap on the window buffer
KURETA90 0:76a4e97c113f 252 *
KURETA90 0:76a4e97c113f 253 * @param x,y upper left corner
KURETA90 0:76a4e97c113f 254 * @param w width of draw rect
KURETA90 0:76a4e97c113f 255 * @param h high of draw rect
KURETA90 0:76a4e97c113f 256 * @param *bitmap pointer to the bitmap data
KURETA90 0:76a4e97c113f 257 * @param bmp_x,bmp_y upper left corner at BMP files
KURETA90 0:76a4e97c113f 258 * @param bmp_w width of bitmap
KURETA90 0:76a4e97c113f 259 * @param bmp_h high of bitmap
KURETA90 0:76a4e97c113f 260 *
KURETA90 0:76a4e97c113f 261 * @remarks bitmap format 4 bit R1 G1 B1
KURETA90 0:76a4e97c113f 262 *
KURETA90 0:76a4e97c113f 263 */
KURETA90 0:76a4e97c113f 264 void Bitmap4bit( int x, int y, int w, int h, unsigned char *bitmap, int bmp_x, int bmp_y, int bmp_w, int bmp_h );
KURETA90 0:76a4e97c113f 265
KURETA90 0:76a4e97c113f 266 /** set a bitmap on the window buffer
KURETA90 0:76a4e97c113f 267 *
KURETA90 0:76a4e97c113f 268 * @param x,y upper left corner
KURETA90 0:76a4e97c113f 269 * @param w width of bitmap
KURETA90 0:76a4e97c113f 270 * @param h high of bitmap
KURETA90 0:76a4e97c113f 271 * @param *bitmap pointer to the bitmap data
KURETA90 0:76a4e97c113f 272 *
KURETA90 0:76a4e97c113f 273 * @remarks bitmap format 1 bit
KURETA90 0:76a4e97c113f 274 *
KURETA90 0:76a4e97c113f 275 */
KURETA90 0:76a4e97c113f 276 void Bitmap1bit( int x, int y, int w, int h, unsigned char *bitmap);
KURETA90 0:76a4e97c113f 277
KURETA90 0:76a4e97c113f 278 /** set a bitmap on the window buffer
KURETA90 0:76a4e97c113f 279 *
KURETA90 0:76a4e97c113f 280 * @param x,y upper left corner
KURETA90 0:76a4e97c113f 281 * @param w width of draw rect
KURETA90 0:76a4e97c113f 282 * @param h high of draw rect
KURETA90 0:76a4e97c113f 283 * @param *bitmap pointer to the bitmap data
KURETA90 0:76a4e97c113f 284 * @param bmp_x,bmp_y upper left corner at BMP files
KURETA90 0:76a4e97c113f 285 * @param bmp_w width of bitmap
KURETA90 0:76a4e97c113f 286 * @param bmp_h high of bitmap
KURETA90 0:76a4e97c113f 287 *
KURETA90 0:76a4e97c113f 288 * @remarks bitmap format 1 bit
KURETA90 0:76a4e97c113f 289 *
KURETA90 0:76a4e97c113f 290 */
KURETA90 0:76a4e97c113f 291 void Bitmap1bit( int x, int y, int w, int h, unsigned char *bitmap, int bmp_x, int bmp_y, int bmp_w, int bmp_h );
KURETA90 0:76a4e97c113f 292
KURETA90 0:76a4e97c113f 293 /** Transfer to the LCD from diaply buffer
KURETA90 0:76a4e97c113f 294 *
KURETA90 0:76a4e97c113f 295 */
KURETA90 0:76a4e97c113f 296 void update();
KURETA90 0:76a4e97c113f 297
KURETA90 0:76a4e97c113f 298 /** Transfer a 24 bit BMP to the LCD from filesytem
KURETA90 0:76a4e97c113f 299 *
KURETA90 0:76a4e97c113f 300 * @param x,y position of upper left corner
KURETA90 0:76a4e97c113f 301 * @param *filenameBMP name of the BMP file
KURETA90 0:76a4e97c113f 302 *
KURETA90 0:76a4e97c113f 303 * @retval 1 succes
KURETA90 0:76a4e97c113f 304 * @retval 0 error
KURETA90 0:76a4e97c113f 305 *
KURETA90 0:76a4e97c113f 306 * @remarks bitmap format 24 bit R8 G8 B8
KURETA90 0:76a4e97c113f 307 *
KURETA90 0:76a4e97c113f 308 */
KURETA90 0:76a4e97c113f 309 int BMP_24( int x, int y, const char *filenameBMP );
KURETA90 0:76a4e97c113f 310
KURETA90 0:76a4e97c113f 311 /** Command for setting the state of LCD
KURETA90 0:76a4e97c113f 312 *
KURETA90 0:76a4e97c113f 313 */
KURETA90 0:76a4e97c113f 314 void command_SetState();
KURETA90 0:76a4e97c113f 315
KURETA90 0:76a4e97c113f 316 /** Command to clear whole the LCD
KURETA90 0:76a4e97c113f 317 *
KURETA90 0:76a4e97c113f 318 */
KURETA90 0:76a4e97c113f 319 void command_AllClear();
KURETA90 0:76a4e97c113f 320
KURETA90 0:76a4e97c113f 321 /** Command to blink
KURETA90 0:76a4e97c113f 322 * @param mode Blinking Mode or Inversion Mode
KURETA90 0:76a4e97c113f 323 *
KURETA90 0:76a4e97c113f 324 */
KURETA90 0:76a4e97c113f 325 void setBlinkMode( char mode );
KURETA90 0:76a4e97c113f 326
KURETA90 0:76a4e97c113f 327 /** Toggle the LCD polarity
KURETA90 0:76a4e97c113f 328 *
KURETA90 0:76a4e97c113f 329 */
KURETA90 0:76a4e97c113f 330 void polling();
KURETA90 0:76a4e97c113f 331
KURETA90 0:76a4e97c113f 332 void symbol(unsigned int x, unsigned int y, unsigned char *symbol);
KURETA90 0:76a4e97c113f 333
KURETA90 0:76a4e97c113f 334 protected:
KURETA90 0:76a4e97c113f 335
KURETA90 0:76a4e97c113f 336 /* Instance of inteface */
KURETA90 0:76a4e97c113f 337 SPI _spi;
KURETA90 0:76a4e97c113f 338 DigitalOut _cs;
KURETA90 0:76a4e97c113f 339 DigitalOut _disp;
KURETA90 0:76a4e97c113f 340 DigitalOut _power;
KURETA90 0:76a4e97c113f 341
KURETA90 0:76a4e97c113f 342 /* polarity variable */
KURETA90 0:76a4e97c113f 343 char polarity;
KURETA90 0:76a4e97c113f 344 char blink_cmd;
KURETA90 0:76a4e97c113f 345
KURETA90 0:76a4e97c113f 346 /* trans mode variable */
KURETA90 0:76a4e97c113f 347 char trans_mode;
KURETA90 0:76a4e97c113f 348
KURETA90 0:76a4e97c113f 349 /* data for character variable */
KURETA90 0:76a4e97c113f 350 unsigned char* font;
KURETA90 0:76a4e97c113f 351 int char_x;
KURETA90 0:76a4e97c113f 352 int char_y;
KURETA90 0:76a4e97c113f 353
KURETA90 0:76a4e97c113f 354 /* window variable */
KURETA90 0:76a4e97c113f 355 int window_x;
KURETA90 0:76a4e97c113f 356 int window_y;
KURETA90 0:76a4e97c113f 357 int window_w;
KURETA90 0:76a4e97c113f 358 int window_h;
KURETA90 0:76a4e97c113f 359
KURETA90 0:76a4e97c113f 360 /* temporary buffer */
KURETA90 0:76a4e97c113f 361 char cmd_buf[LCD_DISP_WIDTH/2]; /* for sending command */
KURETA90 0:76a4e97c113f 362 char disp_buf[(LCD_DISP_WIDTH/2)*LCD_DISP_HEIGHT_MAX_BUF]; /* display buffer */
KURETA90 0:76a4e97c113f 363 char file_buf[118]; /* for reading files */
KURETA90 0:76a4e97c113f 364
KURETA90 0:76a4e97c113f 365 /** send command
KURETA90 0:76a4e97c113f 366 *
KURETA90 0:76a4e97c113f 367 * @param line_cmd cmannd data
KURETA90 0:76a4e97c113f 368 * @param line line of display
KURETA90 0:76a4e97c113f 369 *
KURETA90 0:76a4e97c113f 370 */
KURETA90 0:76a4e97c113f 371 void sendLineCommand( char* line_cmd, int line );
KURETA90 0:76a4e97c113f 372 };
KURETA90 0:76a4e97c113f 373
KURETA90 0:76a4e97c113f 374 #endif /* MBED_COLOR_MEM_LCD_H */