LS020.h is a MobileLCD library for the LS020 display (used in GSM Siemens S65 family). Resolution 176x132

Files at this revision

API Documentation at this revision

Comitter:
Wimpie
Date:
Wed Dec 08 19:29:42 2010 +0000
Parent:
1:2269e07af50b
Commit message:

Changed in this revision

LS020LCD.cpp Show annotated file Show diff for this revision Revisions of this file
LS020LCD.h Show annotated file Show diff for this revision Revisions of this file
--- a/LS020LCD.cpp	Mon Dec 06 20:37:10 2010 +0000
+++ b/LS020LCD.cpp	Wed Dec 08 19:29:42 2010 +0000
@@ -153,13 +153,12 @@
     _rotate=rotate;
     _mirror=mirror;
 
-    if (rotate==0) {  //default = 176 x 132
+    if (_rotate==0) {  //default = 176 x 132
         _width=132;
         _height=176;
     } else {          //132 x 176
         _width=176;
         _height=132;
-
     }
 }
 
@@ -286,14 +285,15 @@
 }
 
 void LS020LCD::set_window(char x0, char y0, char x1,char y1) {
-    // write_cmd16(0x0500);// Set Direction
-    // write_cmd16(0x0A00+x1);
-    // write_cmd16(0x0B00+x2);
-    // write_cmd16(0x0800+y1);
-    // write_cmd16(0x0900+y2);
+     write_cmd16(0x0500);// Set Direction
+     write_cmd16(0x0A00+x0);
+     write_cmd16(0x0B00+x1);
+     write_cmd16(0x0800+y0);
+     write_cmd16(0x0900+y1);
 
-    //set area
-    write_cmd16(0xEF90);
+   /*
+     write_cmd16(0xEF90);
+   
     if (_rotate) {
         if (_mirror) {
             write_cmdRG(0x08, (_width-1)-x0);  //set x0
@@ -321,7 +321,7 @@
     }
 
     //set cursor
-    set_cursor(x0, y0);
+    set_cursor(x0, y0);*/
 
 }
 
@@ -578,7 +578,7 @@
     return;
 }
 
-/*void LS020LCD::rectangle8(char x1, char y1, char x2, char y2, char color) {
+void LS020LCD::rectangle8(char x1, char y1, char x2, char y2, char color) {
     set_window(x1,y1,x2,y2);
     for (char y=y1;y<=y2;y++) {
         for (char x=x1;x<=x2;x++) {
@@ -612,7 +612,25 @@
             }
         }
     }
-}*/
+}
+
+void  LS020LCD::put_string8(char x, char y, char* text, char color, char bkcolor) {
+    char i=0;
+    char x0=0;
+    while (text[i]!=0) {
+        put_char8(x+x0,y,text[i],color,bkcolor);
+        i++;
+        x0+=6;
+    }
+}
+
+void  LS020LCD::draw_table(void) {
+    for (char y=0; y<16; y++) {
+        for (char x=0; x<16; x++) {
+            rectangle8(x*10+9,y*7+5,x*10+8+9,y*7+5+5,y*16+x);
+        }
+    }
+}
 
 void LS020LCD::drawtext(unsigned int x, unsigned int y, char* text, unsigned int size,unsigned int font, unsigned int color, unsigned int bgcolor) {
     char i=0;
--- a/LS020LCD.h	Mon Dec 06 20:37:10 2010 +0000
+++ b/LS020LCD.h	Wed Dec 08 19:29:42 2010 +0000
@@ -76,7 +76,12 @@
     void drawtext(unsigned int x, unsigned int y, char* text, unsigned int size,unsigned int font, unsigned int color, unsigned int bgcolor);
     void scroll(char offset);
     void cls();
-
+    void rectangle8(char x1, char y1, char x2, char y2, char color);
+    void putpixel(unsigned char r,unsigned char g,unsigned char b, unsigned char x, unsigned char y);
+    void put_char8(char x, char y, char symbol, char color, char bkcolor);
+    void put_string8(char x, char y, char* text, char color, char bkcolor);
+    void draw_table(void);
+    
 private:
     SPI _spi;
     DigitalOut _rst;