Extended library from C12832 Lib. by Peter Drescher, Chris Styles & Mihail Stoyanov. LCD in the market such as AQM1248A (Akizuki), AD-12864-SPI (antendo), NHD-C12832 (Newhaven), ST7565 (adafruit) and so on

Dependents:   CW_Decoder_using_FFT_on_F446 LPC1114_SPI_LCD_ST7565family_test

Fork of C12832 by Components

Original library is below link.
http://mbed.org/teams/components/code/C12832/
https://mbed.org/users/dreschpe/code/C12832_lcd/

I extended applicable LCD's not only 128 x 32 but also 128 x 48 and 128 x 64 type of SPI LCD using ST7565 controller.
I have checked AD-12864-SPI and AQM1248 LCD.
/media/uploads/kenjiArai/ad-12864-spi_12.png /media/uploads/kenjiArai/aqm12848_2.png

Import programLPC1114_SPI_LCD_ST7565family_test

Controller chip is ST7565

Committer:
kenjiArai
Date:
Wed Aug 05 05:08:59 2020 +0000
Revision:
23:233a0d635d9d
Parent:
21:a1fc999cd8f3
added #include "Stream.h" line for running on mbed-os6.2.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 19:871eed87d8ea 1 /*
kenjiArai 19:871eed87d8ea 2 EXTEND for SPI interface LCD which is using ST7565 controller
kenjiArai 23:233a0d635d9d 3 Modified by Kenji Arai / JH1PJL
kenjiArai 23:233a0d635d9d 4 http://www7b.biglobe.ne.jp/~kenjia/
kenjiArai 23:233a0d635d9d 5 https://os.mbed.com/users/kenjiArai/
kenjiArai 19:871eed87d8ea 6 Started: September 20th, 2014
kenjiArai 21:a1fc999cd8f3 7 Revised: November 29th, 2014
kenjiArai 23:233a0d635d9d 8 Revised: August 5th, 2020
kenjiArai 19:871eed87d8ea 9
kenjiArai 19:871eed87d8ea 10 original file: C12832.h
kenjiArai 19:871eed87d8ea 11 original Library name: C12832
kenjiArai 19:871eed87d8ea 12 */
kenjiArai 19:871eed87d8ea 13
kenjiArai 23:233a0d635d9d 14 //---------- ORIGINAL Header ---------------------------------------------------
kenjiArai 19:871eed87d8ea 15 /* mbed library for the mbed Lab Board 128*32 pixel LCD
kenjiArai 19:871eed87d8ea 16 * use C12832 controller
kenjiArai 19:871eed87d8ea 17 * Copyright (c) 2012 Peter Drescher - DC2PD
kenjiArai 19:871eed87d8ea 18 * Released under the MIT License: http://mbed.org/license/mit
kenjiArai 19:871eed87d8ea 19 *
kenjiArai 19:871eed87d8ea 20 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
kenjiArai 19:871eed87d8ea 21 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
kenjiArai 19:871eed87d8ea 22 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
kenjiArai 19:871eed87d8ea 23 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
kenjiArai 19:871eed87d8ea 24 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
kenjiArai 19:871eed87d8ea 25 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
kenjiArai 19:871eed87d8ea 26 * THE SOFTWARE.
kenjiArai 19:871eed87d8ea 27 */
kenjiArai 19:871eed87d8ea 28
kenjiArai 19:871eed87d8ea 29 #ifndef ST7565_SPI_LCD_H
kenjiArai 19:871eed87d8ea 30 #define ST7565_SPI_LCD_H
kenjiArai 19:871eed87d8ea 31
kenjiArai 19:871eed87d8ea 32 #include "mbed.h"
kenjiArai 19:871eed87d8ea 33 #include "GraphicsDisplay.h"
kenjiArai 19:871eed87d8ea 34
kenjiArai 19:871eed87d8ea 35 /** Bitmap
kenjiArai 19:871eed87d8ea 36 */
kenjiArai 23:233a0d635d9d 37 struct Bitmap {
kenjiArai 19:871eed87d8ea 38 int xSize;
kenjiArai 19:871eed87d8ea 39 int ySize;
kenjiArai 19:871eed87d8ea 40 int Byte_in_Line;
kenjiArai 19:871eed87d8ea 41 char* data;
kenjiArai 23:233a0d635d9d 42 };
kenjiArai 19:871eed87d8ea 43
kenjiArai 19:871eed87d8ea 44 /** SPI LCD control library for ST7565 Controller
kenjiArai 19:871eed87d8ea 45 * http://www.ladyada.net/learn/lcd/st7565.html
kenjiArai 19:871eed87d8ea 46 *
kenjiArai 19:871eed87d8ea 47 * AD-12864-SPI http://www.aitendo.com/product/1622
kenjiArai 19:871eed87d8ea 48 * AQM12848A http://akizukidenshi.com/catalog/g/gK-07007/
kenjiArai 19:871eed87d8ea 49 *
kenjiArai 19:871eed87d8ea 50 * @code
kenjiArai 19:871eed87d8ea 51 * #include "mbed.h"
kenjiArai 23:233a0d635d9d 52 *
kenjiArai 23:233a0d635d9d 53 * #if 1
kenjiArai 23:233a0d635d9d 54 * // mosi, sck, reset, a0, ncs
kenjiArai 23:233a0d635d9d 55 * ST7565 lcd(dp2, dp6, dp10, dp4, dp9, ST7565::AD12864SPI);
kenjiArai 19:871eed87d8ea 56 * #else
kenjiArai 19:871eed87d8ea 57 * SPI spi_lcd(dp2, dp1, dp6); // mosi, miso, sck
kenjiArai 23:233a0d635d9d 58 * // spi, reset, a0, ncs
kenjiArai 23:233a0d635d9d 59 * ST7565 lcd(spi_lcd, dp10, dp4, dp9, ST7565::AD12864SPI);
kenjiArai 19:871eed87d8ea 60 * #endif
kenjiArai 19:871eed87d8ea 61 *
kenjiArai 19:871eed87d8ea 62 * int main() {
kenjiArai 19:871eed87d8ea 63 * lcd.cls();
kenjiArai 19:871eed87d8ea 64 * lcd.set_contrast(0x06);
kenjiArai 19:871eed87d8ea 65 * lcd.printf("123456789012345678901234567890\r\n");
kenjiArai 19:871eed87d8ea 66 * lcd.rect(10,10,100,50,BLACK);
kenjiArai 19:871eed87d8ea 67 * lcd.circle(10,10,10,BLACK);
kenjiArai 19:871eed87d8ea 68 * lcd.fillcircle(50,40,10,BLACK);
kenjiArai 19:871eed87d8ea 69 * lcd.line(0,0,110,60,BLACK);
kenjiArai 19:871eed87d8ea 70 * while(1){;}
kenjiArai 19:871eed87d8ea 71 * }
kenjiArai 19:871eed87d8ea 72 * @endcode
kenjiArai 19:871eed87d8ea 73 */
kenjiArai 19:871eed87d8ea 74
kenjiArai 23:233a0d635d9d 75 class ST7565 : public GraphicsDisplay
kenjiArai 23:233a0d635d9d 76 {
kenjiArai 19:871eed87d8ea 77 public:
kenjiArai 19:871eed87d8ea 78
kenjiArai 19:871eed87d8ea 79 /** LCD panel format */
kenjiArai 19:871eed87d8ea 80 enum LCDType {
kenjiArai 23:233a0d635d9d 81 LCD128x32,
kenjiArai 19:871eed87d8ea 82 LCD128x48,
kenjiArai 19:871eed87d8ea 83 LCD128x64,
kenjiArai 19:871eed87d8ea 84 AQM1248A = LCD128x48,
kenjiArai 19:871eed87d8ea 85 AD12864SPI = LCD128x64,
kenjiArai 23:233a0d635d9d 86 ST7565LCD = LCD128x64
kenjiArai 19:871eed87d8ea 87 };
kenjiArai 23:233a0d635d9d 88
kenjiArai 19:871eed87d8ea 89 /**
kenjiArai 19:871eed87d8ea 90 * Create a ST7565 object connected to SPI1
kenjiArai 19:871eed87d8ea 91 */
kenjiArai 19:871eed87d8ea 92 ST7565(PinName mosi, PinName sck,
kenjiArai 23:233a0d635d9d 93 PinName reset,
kenjiArai 23:233a0d635d9d 94 PinName a0,
kenjiArai 23:233a0d635d9d 95 PinName ncs,
kenjiArai 23:233a0d635d9d 96 LCDType type,
kenjiArai 23:233a0d635d9d 97 const char* name = "LCD"
kenjiArai 23:233a0d635d9d 98 );
kenjiArai 19:871eed87d8ea 99 ST7565(SPI& _spi,
kenjiArai 23:233a0d635d9d 100 PinName reset,
kenjiArai 23:233a0d635d9d 101 PinName a0,
kenjiArai 23:233a0d635d9d 102 PinName ncs,
kenjiArai 23:233a0d635d9d 103 LCDType type,
kenjiArai 23:233a0d635d9d 104 const char* name = "LCD"
kenjiArai 23:233a0d635d9d 105 );
kenjiArai 19:871eed87d8ea 106
kenjiArai 19:871eed87d8ea 107 /**
kenjiArai 19:871eed87d8ea 108 * Get the width of the screen in pixel
kenjiArai 19:871eed87d8ea 109 *
kenjiArai 19:871eed87d8ea 110 * @returns width of screen in pixel
kenjiArai 19:871eed87d8ea 111 *
kenjiArai 19:871eed87d8ea 112 */
kenjiArai 19:871eed87d8ea 113 virtual int width();
kenjiArai 19:871eed87d8ea 114
kenjiArai 19:871eed87d8ea 115 /**
kenjiArai 19:871eed87d8ea 116 * Get the height of the screen in pixel
kenjiArai 19:871eed87d8ea 117 *
kenjiArai 19:871eed87d8ea 118 * @returns height of screen in pixel
kenjiArai 19:871eed87d8ea 119 */
kenjiArai 19:871eed87d8ea 120 virtual int height();
kenjiArai 19:871eed87d8ea 121
kenjiArai 19:871eed87d8ea 122 /**
kenjiArai 19:871eed87d8ea 123 * Draw a pixel at x,y black or white
kenjiArai 19:871eed87d8ea 124 *
kenjiArai 19:871eed87d8ea 125 * @param x horizontal position
kenjiArai 19:871eed87d8ea 126 * @param y vertical position
kenjiArai 19:871eed87d8ea 127 * @param color - 1 set pixel, 0 erase pixel
kenjiArai 19:871eed87d8ea 128 */
kenjiArai 19:871eed87d8ea 129 virtual void pixel(int x, int y,int colour);
kenjiArai 19:871eed87d8ea 130
kenjiArai 19:871eed87d8ea 131 /**
kenjiArai 19:871eed87d8ea 132 * Draw a circle
kenjiArai 19:871eed87d8ea 133 *
kenjiArai 19:871eed87d8ea 134 * @param x0,y0 center
kenjiArai 19:871eed87d8ea 135 * @param r radius
kenjiArai 19:871eed87d8ea 136 * @param color - 1 set pixel, 0 erase pixel
kenjiArai 19:871eed87d8ea 137 */
kenjiArai 19:871eed87d8ea 138 void circle(int x, int y, int r, int colour);
kenjiArai 19:871eed87d8ea 139
kenjiArai 19:871eed87d8ea 140 /**
kenjiArai 19:871eed87d8ea 141 * Draw a filled circle
kenjiArai 19:871eed87d8ea 142 *
kenjiArai 19:871eed87d8ea 143 * @param x0,y0 center
kenjiArai 19:871eed87d8ea 144 * @param r radius
kenjiArai 19:871eed87d8ea 145 * @param color - 1 set pixel, 0 erase pixel
kenjiArai 19:871eed87d8ea 146 *
kenjiArai 19:871eed87d8ea 147 * Use circle with different radius,
kenjiArai 19:871eed87d8ea 148 * Can miss some pixels
kenjiArai 19:871eed87d8ea 149 */
kenjiArai 19:871eed87d8ea 150 void fillcircle(int x, int y, int r, int colour);
kenjiArai 19:871eed87d8ea 151
kenjiArai 19:871eed87d8ea 152 /**
kenjiArai 19:871eed87d8ea 153 * Draw a 1 pixel line
kenjiArai 19:871eed87d8ea 154 *
kenjiArai 19:871eed87d8ea 155 * @param x0,y0 start point
kenjiArai 19:871eed87d8ea 156 * @param x1,y1 stop point
kenjiArai 19:871eed87d8ea 157 * @param color - 1 set pixel, 0 erase pixel
kenjiArai 19:871eed87d8ea 158 */
kenjiArai 19:871eed87d8ea 159 void line(int x0, int y0, int x1, int y1, int colour);
kenjiArai 19:871eed87d8ea 160
kenjiArai 19:871eed87d8ea 161 /**
kenjiArai 19:871eed87d8ea 162 * Draw a rect
kenjiArai 19:871eed87d8ea 163 *
kenjiArai 19:871eed87d8ea 164 * @param x0,y0 top left corner
kenjiArai 19:871eed87d8ea 165 * @param x1,y1 down right corner
kenjiArai 19:871eed87d8ea 166 * @param color - 1 set pixel, 0 erase pixel
kenjiArai 19:871eed87d8ea 167 */
kenjiArai 19:871eed87d8ea 168 void rect(int x0, int y0, int x1, int y1, int colour);
kenjiArai 19:871eed87d8ea 169
kenjiArai 19:871eed87d8ea 170 /**
kenjiArai 19:871eed87d8ea 171 * Draw a filled rect
kenjiArai 19:871eed87d8ea 172 *
kenjiArai 19:871eed87d8ea 173 * @param x0,y0 top left corner
kenjiArai 19:871eed87d8ea 174 * @param x1,y1 down right corner
kenjiArai 19:871eed87d8ea 175 * @param color - 1 set pixel, 0 erase pixel
kenjiArai 19:871eed87d8ea 176 */
kenjiArai 19:871eed87d8ea 177 void fillrect(int x0, int y0, int x1, int y1, int colour);
kenjiArai 19:871eed87d8ea 178
kenjiArai 19:871eed87d8ea 179 /**
kenjiArai 19:871eed87d8ea 180 * set the contrast level
kenjiArai 19:871eed87d8ea 181 */
kenjiArai 19:871eed87d8ea 182 void set_contrast(unsigned int o);
kenjiArai 19:871eed87d8ea 183
kenjiArai 19:871eed87d8ea 184 /**
kenjiArai 19:871eed87d8ea 185 * read the contrast level
kenjiArai 19:871eed87d8ea 186 */
kenjiArai 19:871eed87d8ea 187 unsigned int get_contrast(void);
kenjiArai 19:871eed87d8ea 188
kenjiArai 19:871eed87d8ea 189 /**
kenjiArai 19:871eed87d8ea 190 * Invert the screen
kenjiArai 19:871eed87d8ea 191 *
kenjiArai 19:871eed87d8ea 192 * @param o = 0 normal, 1 invert
kenjiArai 19:871eed87d8ea 193 */
kenjiArai 19:871eed87d8ea 194 void invert(unsigned int o);
kenjiArai 19:871eed87d8ea 195
kenjiArai 19:871eed87d8ea 196 /**
kenjiArai 19:871eed87d8ea 197 * Clear the screen
kenjiArai 19:871eed87d8ea 198 */
kenjiArai 19:871eed87d8ea 199 virtual void cls(void);
kenjiArai 19:871eed87d8ea 200
kenjiArai 19:871eed87d8ea 201 /**
kenjiArai 19:871eed87d8ea 202 * Set the drawing mode
kenjiArai 19:871eed87d8ea 203 *
kenjiArai 19:871eed87d8ea 204 * @param mode NORMAl or XOR
kenjiArai 19:871eed87d8ea 205 */
kenjiArai 19:871eed87d8ea 206 void setmode(int mode);
kenjiArai 19:871eed87d8ea 207
kenjiArai 19:871eed87d8ea 208 /**
kenjiArai 19:871eed87d8ea 209 * Calculate the max number of columns.
kenjiArai 19:871eed87d8ea 210 * Depends on actual font size
kenjiArai 19:871eed87d8ea 211 *
kenjiArai 19:871eed87d8ea 212 * @returns max column
kenjiArai 19:871eed87d8ea 213 */
kenjiArai 19:871eed87d8ea 214 virtual int columns(void);
kenjiArai 19:871eed87d8ea 215
kenjiArai 19:871eed87d8ea 216 /**
kenjiArai 19:871eed87d8ea 217 * calculate the max number of rows
kenjiArai 19:871eed87d8ea 218 *
kenjiArai 19:871eed87d8ea 219 * @returns max rows
kenjiArai 19:871eed87d8ea 220 * depends on actual font size
kenjiArai 19:871eed87d8ea 221 *
kenjiArai 19:871eed87d8ea 222 */
kenjiArai 19:871eed87d8ea 223 virtual int rows(void);
kenjiArai 19:871eed87d8ea 224
kenjiArai 19:871eed87d8ea 225 /**
kenjiArai 19:871eed87d8ea 226 * Draw a character on given position out of the active font to the LCD
kenjiArai 19:871eed87d8ea 227 *
kenjiArai 19:871eed87d8ea 228 * @param x x-position of char (top left)
kenjiArai 19:871eed87d8ea 229 * @param y y-position
kenjiArai 19:871eed87d8ea 230 * @param c char to print
kenjiArai 19:871eed87d8ea 231 */
kenjiArai 19:871eed87d8ea 232 virtual void character(int x, int y, int c);
kenjiArai 19:871eed87d8ea 233
kenjiArai 19:871eed87d8ea 234 /**
kenjiArai 19:871eed87d8ea 235 * Setup cursor position
kenjiArai 19:871eed87d8ea 236 *
kenjiArai 19:871eed87d8ea 237 * @param x x-position (top left)
kenjiArai 19:871eed87d8ea 238 * @param y y-position
kenjiArai 19:871eed87d8ea 239 */
kenjiArai 19:871eed87d8ea 240 virtual void locate(int x, int y);
kenjiArai 23:233a0d635d9d 241
kenjiArai 19:871eed87d8ea 242 /**
kenjiArai 23:233a0d635d9d 243 * Setup auto update of screen
kenjiArai 19:871eed87d8ea 244 *
kenjiArai 19:871eed87d8ea 245 * @param up 1 = on , 0 = off
kenjiArai 19:871eed87d8ea 246 *
kenjiArai 23:233a0d635d9d 247 * if switched off the program has to call copy_to_lcd()
kenjiArai 19:871eed87d8ea 248 * to update screen from framebuffer
kenjiArai 19:871eed87d8ea 249 */
kenjiArai 19:871eed87d8ea 250 void set_auto_up(unsigned int up);
kenjiArai 19:871eed87d8ea 251
kenjiArai 19:871eed87d8ea 252 /**
kenjiArai 19:871eed87d8ea 253 * Get status of the auto update function
kenjiArai 19:871eed87d8ea 254 *
kenjiArai 19:871eed87d8ea 255 * @returns if auto update is on
kenjiArai 19:871eed87d8ea 256 */
kenjiArai 19:871eed87d8ea 257 unsigned int get_auto_up(void);
kenjiArai 19:871eed87d8ea 258
kenjiArai 19:871eed87d8ea 259 /**
kenjiArai 19:871eed87d8ea 260 * Select the font to use
kenjiArai 19:871eed87d8ea 261 *
kenjiArai 19:871eed87d8ea 262 * @param f pointer to font array
kenjiArai 19:871eed87d8ea 263 *
kenjiArai 23:233a0d635d9d 264 * font array can created with GLCD Font Creator from http://www.mikroe.com
kenjiArai 23:233a0d635d9d 265 * you have to add 4 parameter at the beginning of the font array to use:
kenjiArai 19:871eed87d8ea 266 * - the number of byte / char
kenjiArai 19:871eed87d8ea 267 * - the vertial size in pixel
kenjiArai 19:871eed87d8ea 268 * - the horizontal size in pixel
kenjiArai 19:871eed87d8ea 269 * - the number of byte per vertical line
kenjiArai 19:871eed87d8ea 270 * you also have to change the array to char[]
kenjiArai 19:871eed87d8ea 271 */
kenjiArai 19:871eed87d8ea 272 void set_font(unsigned char* f);
kenjiArai 23:233a0d635d9d 273
kenjiArai 19:871eed87d8ea 274 /**
kenjiArai 19:871eed87d8ea 275 * Print bitmap to buffer
kenjiArai 19:871eed87d8ea 276 *
kenjiArai 19:871eed87d8ea 277 * @param bm Bitmap in flash
kenjiArai 19:871eed87d8ea 278 * @param x x start
kenjiArai 19:871eed87d8ea 279 * @param y y start
kenjiArai 19:871eed87d8ea 280 */
kenjiArai 19:871eed87d8ea 281 void print_bm(Bitmap bm, int x, int y);
kenjiArai 19:871eed87d8ea 282
kenjiArai 19:871eed87d8ea 283 #if DOXYGEN_ONLY
kenjiArai 19:871eed87d8ea 284 /**
kenjiArai 19:871eed87d8ea 285 * Write a character to the LCD
kenjiArai 19:871eed87d8ea 286 *
kenjiArai 19:871eed87d8ea 287 * @param c The character to write to the display
kenjiArai 19:871eed87d8ea 288 */
kenjiArai 19:871eed87d8ea 289 int putc(int c);
kenjiArai 19:871eed87d8ea 290
kenjiArai 19:871eed87d8ea 291 /**
kenjiArai 19:871eed87d8ea 292 * Write a formated string to the LCD
kenjiArai 19:871eed87d8ea 293 *
kenjiArai 19:871eed87d8ea 294 * @param format A printf-style format string, followed by the
kenjiArai 19:871eed87d8ea 295 * variables to use in formating the string.
kenjiArai 19:871eed87d8ea 296 */
kenjiArai 19:871eed87d8ea 297 int printf(const char* format, ...);
kenjiArai 19:871eed87d8ea 298 #endif
kenjiArai 19:871eed87d8ea 299
kenjiArai 19:871eed87d8ea 300 unsigned char* font;
kenjiArai 19:871eed87d8ea 301 unsigned int draw_mode;
kenjiArai 19:871eed87d8ea 302
kenjiArai 19:871eed87d8ea 303 protected:
kenjiArai 21:a1fc999cd8f3 304 /** Draw color
kenjiArai 21:a1fc999cd8f3 305 */
kenjiArai 21:a1fc999cd8f3 306 enum {WHITE = 0,BLACK};
kenjiArai 23:233a0d635d9d 307
kenjiArai 21:a1fc999cd8f3 308 /** Draw mode
kenjiArai 21:a1fc999cd8f3 309 * NORMAl
kenjiArai 21:a1fc999cd8f3 310 * XOR set pixel by xor the screen
kenjiArai 21:a1fc999cd8f3 311 */
kenjiArai 21:a1fc999cd8f3 312 enum {NORMAL,XOR};
kenjiArai 23:233a0d635d9d 313
kenjiArai 19:871eed87d8ea 314 /** Vars */
kenjiArai 23:233a0d635d9d 315 SPI *_spi_p;
kenjiArai 23:233a0d635d9d 316 SPI &_spi;
kenjiArai 19:871eed87d8ea 317 DigitalOut _reset;
kenjiArai 19:871eed87d8ea 318 DigitalOut _A0;
kenjiArai 19:871eed87d8ea 319 DigitalOut _CS;
kenjiArai 19:871eed87d8ea 320
kenjiArai 19:871eed87d8ea 321 void hline(int x0, int x1, int y, int colour);
kenjiArai 19:871eed87d8ea 322 void vline(int y0, int y1, int x, int colour);
kenjiArai 19:871eed87d8ea 323 void lcd_reset();
kenjiArai 19:871eed87d8ea 324 void wr_dat(unsigned char value);
kenjiArai 19:871eed87d8ea 325 void wr_cmd(unsigned char value);
kenjiArai 19:871eed87d8ea 326 void wr_cnt(unsigned char cmd);
kenjiArai 19:871eed87d8ea 327 void line_clear(int y);
kenjiArai 19:871eed87d8ea 328 void copy_to_lcd(void);
kenjiArai 19:871eed87d8ea 329 void initialize(LCDType type);
kenjiArai 19:871eed87d8ea 330
kenjiArai 19:871eed87d8ea 331 virtual int _putc(int value);
kenjiArai 23:233a0d635d9d 332
kenjiArai 19:871eed87d8ea 333 unsigned int lcd_width;
kenjiArai 19:871eed87d8ea 334 unsigned int lcd_height;
kenjiArai 19:871eed87d8ea 335 unsigned int char_x;
kenjiArai 19:871eed87d8ea 336 unsigned int char_y;
kenjiArai 19:871eed87d8ea 337 unsigned char buffer[1024];
kenjiArai 19:871eed87d8ea 338 unsigned int contrast;
kenjiArai 19:871eed87d8ea 339 unsigned int auto_up;
kenjiArai 19:871eed87d8ea 340 };
kenjiArai 19:871eed87d8ea 341
kenjiArai 19:871eed87d8ea 342 #endif