Basic library for SHARP LCD LS027B4DH01/LS027B7DH01

Dependents:   AkiSpiLcd_demo AkiSpiLcd_demo2 LCDRAM AkiSpiLcd_example

Revision:
4:844693a617dc
Parent:
3:f835b8daf9a0
Child:
5:7061ce47a359
--- a/AkiSpiLcd.h	Thu Aug 28 01:51:04 2014 +0000
+++ b/AkiSpiLcd.h	Thu Aug 28 06:26:48 2014 +0000
@@ -37,12 +37,13 @@
 public:
     /** Constructor
     * @param mosi SPI data input
+    * @param mosi SPI data output
     * @param sck SPI clock input
     * @param cs HIGH-active chip enable input
     * @param disp HIGH-active display enable input
     */
 //    AkiSpiLcd(PinName mosi,PinName sck, PinName cs, PinName disp);
-    AkiSpiLcd(PinName mosi,PinName sck, PinName csl, PinName csr);
+    AkiSpiLcd(PinName mosi, PinName miso, PinName sck, PinName csl, PinName csr);
 
     /** Clear screen
     */
@@ -59,15 +60,31 @@
     * @param length number of line to write
     * @param *data pointer to data
     */
-    void directUpdateMulti(int line, int length, uint8_t* data);
+    void directUpdateMulti(int startline, int length, uint8_t* data);
 
     /** Inverting internal COM signal
     */
     void cominvert();
     
-    /** Writes single line (400 bits = 50 bytes) into VRAM
+    /** Reads single line (400 bits = 50 bytes) from a screen
+    */
+    void ramReadSingle(int line, uint8_t* buffer, int screen);
+
+    /** Reads multi lines(400 x N bits = 50 x N bytes) from a screen
+    */
+    void ramReadMulti(int startline, int length, uint8_t* buffer, int screen);
     
+    /** Writes single line (400 bits = 50 bytes) into a screen
     */
+    void ramWriteSingle(int line, uint8_t* data, int screen);
+
+    /** Writes multi lines(400 x N bits = 50 x N bytes) into a screen
+    */
+    void ramWriteMulti(int startline, int length, uint8_t* data, int screen);
+    
+    /** copies whole data in screen into LCD
+    */
+    void ram2lcd(int screen);
 
 //    /** Enables/disables display. internal memory will not flushed
 //    * @param disp true = display is on / false = display is off