scrolling example code for SHARP LCD LS027B4DH01/LS027B7DH01, using AkiSpiLcd library

Dependencies:   AkiSpiLcd mbed

This is very basic library example to access a graphic LCD LS027B4DH01 or LS027B7DH01

Import libraryAkiSpiLcd

Basic library for SHARP LCD LS027B4DH01/LS027B7DH01

  • schematic example1: /media/uploads/k4zuki/akispilcd_v2.1m.sch.png
  • schematic example2: /media/uploads/k4zuki/2.7inchshield.sch.png
  • example1 photo: /media/uploads/k4zuki/2014-09-17_20.22.26.jpg /media/uploads/k4zuki/2014-09-17_20.22.48.jpg
  • example2 photo: /media/uploads/k4zuki/2014-04-29_13.17.57.jpg
  • example2 movie (mpeg4 movie):

Files at this revision

API Documentation at this revision

Comitter:
k4zuki
Date:
Thu Oct 02 18:14:38 2014 +0000
Parent:
8:0aae7dcbd37f
Child:
10:49b29e3c9d9c
Commit message:
many line number related bugfix; write photo data into RAM and DMA-like transfer from RAM to LCD; * the picture should scroll but not working

Changed in this revision

AkiSpiLcd.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/AkiSpiLcd.lib	Fri Sep 26 13:49:00 2014 +0000
+++ b/AkiSpiLcd.lib	Thu Oct 02 18:14:38 2014 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/k4zuki/code/AkiSpiLcd/#16647ecd67ce
+http://mbed.org/users/k4zuki/code/AkiSpiLcd/#812873f3a933
--- a/main.cpp	Fri Sep 26 13:49:00 2014 +0000
+++ b/main.cpp	Thu Oct 02 18:14:38 2014 +0000
@@ -10,10 +10,8 @@
 3 CS D2=p14
 4 DISP enable D5=p22
 */
-//SPI spi(D12, D11, D13);
-AkiSpiLcd LCD(MOSI_, MISO_, SCK_, D2, NC);
-//AkiSpiLcd LCD(D11, D12, D13, D2, D4);
-//AkiSpiLcd LCD(p5, p6, p7, p14, NC);
+
+AkiSpiLcd LCD(MOSI_, MISO_, SCK_, p9, p10);
 
 DigitalOut myled(D5);
 extern const uint8_t hogepic[];
@@ -21,20 +19,26 @@
 int main()
 {
 
+//    myled=0;
 //    uint8_t read[50];
 //    LCD.ramWriteMulti(0,240,(uint8_t*)(hogepic),SCREEN0);
 //    LCD.ram_read(LCD.RAMLINE_BASE,read,50);
 //    wait_ms(1);
-    myled=1;
     LCD.cls();
+    LCD.cls_ram(SCREEN0);
 
+    myled=0;
+    LCD.ramWriteMultiLine(1,240,(uint8_t*)(hogepic),SCREEN0);
+    LCD.ram2lcd(1,240,SCREEN0);
     while(1) {
-        for(int i=0; i<240; i++) {
+        for(int i=1; i<=240; i++) {
 //            LCD.ramReadSingle(i,read,SCREEN0);
-//            LCD.ram2lcd(i,240-i,SCREEN0);
-//            LCD.ram2lcd(0,i,SCREEN0);
-            LCD.directUpdateMulti(i,(240-i),(uint8_t*)(hogepic));
-            LCD.directUpdateMulti(0,(i),(uint8_t*)(hogepic+50*(240-i)));
+            LCD.ram2lcd(i,240-i,SCREEN0);
+    myled=1;
+            LCD.ram2lcd(1,i,SCREEN0);
+    myled=0;
+//            LCD.directUpdateMulti(i,(240-i),(uint8_t*)(hogepic));
+//            LCD.directUpdateMulti(1,(i),(uint8_t*)(hogepic+50*(240-i)));
         }
     }
 }