Basic library for SHARP LCD LS027B4DH01/LS027B7DH01

Dependents:   AkiSpiLcd_demo AkiSpiLcd_demo2 LCDRAM AkiSpiLcd_example

Committer:
k4zuki
Date:
Tue May 06 17:07:34 2014 +0000
Revision:
0:b3c8fdd01601
Child:
1:57de84d2025c
some formatting fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
k4zuki 0:b3c8fdd01601 1 /*
k4zuki 0:b3c8fdd01601 2 this is for SHARP LCD LS027B4DH01
k4zuki 0:b3c8fdd01601 3 by Kazuki Yamamoto, or _K4ZUKI_
k4zuki 0:b3c8fdd01601 4 */
k4zuki 0:b3c8fdd01601 5
k4zuki 0:b3c8fdd01601 6 #ifndef __AKISPILCD_H__
k4zuki 0:b3c8fdd01601 7 #define __AKISPILCD_H
k4zuki 0:b3c8fdd01601 8 //#include "mbed.h"
k4zuki 0:b3c8fdd01601 9
k4zuki 0:b3c8fdd01601 10 class AkiSpiLcd
k4zuki 0:b3c8fdd01601 11 {
k4zuki 0:b3c8fdd01601 12 public:
k4zuki 0:b3c8fdd01601 13 /** Constructor
k4zuki 0:b3c8fdd01601 14 * @param mosi SPI data input
k4zuki 0:b3c8fdd01601 15 * @param sck SPI clock input
k4zuki 0:b3c8fdd01601 16 * @param cs HIGH-active chip enable input
k4zuki 0:b3c8fdd01601 17 * @param disp HIGH-active display enable input
k4zuki 0:b3c8fdd01601 18 */
k4zuki 0:b3c8fdd01601 19 AkiSpiLcd(PinName mosi,PinName sck, PinName cs, PinName disp);
k4zuki 0:b3c8fdd01601 20
k4zuki 0:b3c8fdd01601 21 /** Clear screen
k4zuki 0:b3c8fdd01601 22 */
k4zuki 0:b3c8fdd01601 23 void cls();
k4zuki 0:b3c8fdd01601 24
k4zuki 0:b3c8fdd01601 25 /** Writes single line(400 bits = 50 bytes)
k4zuki 0:b3c8fdd01601 26 * @param line line number(1-240)
k4zuki 0:b3c8fdd01601 27 * @param *data pointer to data
k4zuki 0:b3c8fdd01601 28 */
k4zuki 0:b3c8fdd01601 29 void updateSingle(int line, uint8_t* data);
k4zuki 0:b3c8fdd01601 30
k4zuki 0:b3c8fdd01601 31 /** Writes multi lines(400 x N bits = 50 x N bytes)
k4zuki 0:b3c8fdd01601 32 * @param line line number(1-240)
k4zuki 0:b3c8fdd01601 33 * @param length number of line to write
k4zuki 0:b3c8fdd01601 34 * @param *data pointer to data
k4zuki 0:b3c8fdd01601 35 */
k4zuki 0:b3c8fdd01601 36 void updateMulti(int line, int length, uint8_t* data);
k4zuki 0:b3c8fdd01601 37
k4zuki 0:b3c8fdd01601 38 /** Inverting internal COM signal
k4zuki 0:b3c8fdd01601 39 */
k4zuki 0:b3c8fdd01601 40 void cominvert();
k4zuki 0:b3c8fdd01601 41
k4zuki 0:b3c8fdd01601 42 /** Enables/disables display. internal memory will not flushed
k4zuki 0:b3c8fdd01601 43 * @param disp true = display is on / false = display is off
k4zuki 0:b3c8fdd01601 44 */
k4zuki 0:b3c8fdd01601 45 void dispOn(bool disp);
k4zuki 0:b3c8fdd01601 46
k4zuki 0:b3c8fdd01601 47 private:
k4zuki 0:b3c8fdd01601 48 int comflag;
k4zuki 0:b3c8fdd01601 49 int modeflag;
k4zuki 0:b3c8fdd01601 50 int clearflag;
k4zuki 0:b3c8fdd01601 51 SPI _spi;
k4zuki 0:b3c8fdd01601 52 DigitalOut _cs;
k4zuki 0:b3c8fdd01601 53 DigitalOut _disp;
k4zuki 0:b3c8fdd01601 54 };
k4zuki 0:b3c8fdd01601 55 #endif