Demo for using bitmap graphic

Dependencies:   C12832_lcd LCD_fonts mbed

Fork of app-board-LCD by Chris Styles

A demo for the bitmap graphic :

Files at this revision

API Documentation at this revision

Comitter:
dreschpe
Date:
Fri Dec 21 21:59:16 2012 +0000
Parent:
2:a87e255a8f3a
Commit message:
Happy Christmas !

Changed in this revision

C12832_lcd.lib Show annotated file Show diff for this revision Revisions of this file
LCD_fonts.lib Show annotated file Show diff for this revision Revisions of this file
graphics.h 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
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r a87e255a8f3a -r 48407a94ff89 C12832_lcd.lib
--- a/C12832_lcd.lib	Fri Oct 26 10:49:28 2012 +0000
+++ b/C12832_lcd.lib	Fri Dec 21 21:59:16 2012 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/dreschpe/code/C12832_lcd/#468cdccff7af
+http://mbed.org/users/dreschpe/code/C12832_lcd/#c9afe58d786a
diff -r a87e255a8f3a -r 48407a94ff89 LCD_fonts.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LCD_fonts.lib	Fri Dec 21 21:59:16 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/dreschpe/code/LCD_fonts/#d0b7d7bf1f56
diff -r a87e255a8f3a -r 48407a94ff89 graphics.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics.h	Fri Dec 21 21:59:16 2012 +0000
@@ -0,0 +1,165 @@
+#ifndef graphics_H
+#define graphics_H
+#include "C12832_lcd.h" 
+
+// graphics for the Christmas Demo
+//
+// Copyright (c) 2012 Peter Drescher - DC2PD
+// made by hand - I have to look for a tool ;-)
+// Released under the MIT License: http://mbed.org/license/mit
+
+static char Tree[] = {
+  0x00, 0x00, 0x40, 0x00, 0x00, // XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXXX
+  0x00, 0x00, 0x40, 0x00, 0x00, // XXXXXXXX, XXXXXXXX, X_XXXXXX, XXXXXXXX, XXXX
+  0x00, 0x00, 0xE0, 0x00, 0x00, // XXXXXXXX, XXXXXXXX, ___XXXXX, XXXXXXXX, XXXX
+  0x00, 0x01, 0xE0, 0x00, 0x00, // XXXXXXXX, XXXXXXX_, ___XXXXX, XXXXXXXX, XXXX
+  0x00, 0x03, 0xF0, 0x00, 0x00, // XXXXXXXX, XXXXXX__, ____XXXX, XXXXXXXX, XXXX
+  0x00, 0x07, 0xF8, 0x00, 0x00, // XXXXXXXX, XXXXX___, _____XXX, XXXXXXXX, XXXX
+  0x00, 0x07, 0x7C, 0x00, 0x00, // XXXXXXXX, XXXXX___, X_____XX, XXXXXXXX, XXXX
+  0x00, 0x0E, 0xBC, 0x00, 0x00, // XXXXXXXX, XXXX___X, _X____XX, XXXXXXXX, XXXX
+  0x00, 0x03, 0x78, 0x00, 0x00, // XXXXXXXX, XXXXXX__, X____XXX, XXXXXXXX, XXXX
+  0x00, 0x07, 0xfC, 0x00, 0x00, // XXXXXXXX, XXXXX___, ______XX, XXXXXXXX, XXXX
+  0x00, 0x0F, 0xfe, 0x00, 0x00, // XXXXXXXX, XXXX____, _______X, XXXXXXXX, XXXX
+  0x00, 0x1f, 0xff, 0x80, 0x00, // XXXXXXXX, XXX_____, ________, _XXXXXXX, XXXX
+  0x00, 0x7f, 0xff, 0xc0, 0x00, // XXXXXXXX, X_______, ________, __XXXXXX, XXXX
+  0x00, 0x0f, 0xdc, 0x00, 0x00, // XXXXXXXX, XXXX____, __X___XX, XXXXXXXX, XXXX
+  0x00, 0x3F, 0xaf, 0x00, 0x00, // XXXXXXXX, XX______, _X_X____, XXXXXXXX, XXXX
+  0x00, 0xff, 0xdf, 0xc0, 0x00, // XXXXXXXX, ________, __X_____, __XXXXXX, XXXX
+  0x01, 0xff, 0xff, 0xf0, 0x00, // XXXXXXX_, ________, ________, ____XXXX, XXXX
+  0x07, 0xf7, 0xff, 0xfc, 0x00, // XXXXX___, ____X___, ________, ______XX, XXXX
+  0x0f, 0xeb, 0xff, 0x7C, 0x00, // XXXX____, ___X_X__, ________, X_____XX, XXXX
+  0x03, 0xf7, 0xfe, 0xA0, 0x00, // XXXXXX__, ____X___, _______X, _X_XXXXX, XXXX
+  0x1f, 0xff, 0xff, 0x78, 0x00, // XXX_____, ________, ________, X____XXX, XXXX
+  0x7F, 0xff, 0xff, 0xfe, 0x00, // X_______, ________, ________, _______X, XXXX
+  0xff, 0xff, 0xff, 0xff, 0x80, // ________, ________, ________, ________, _XXX
+  0x0f, 0xff, 0xff, 0xf3, 0x80, // XXXX____, ________, ________, ____XX__, _XXX
+  0x00, 0x00, 0xc0, 0x01, 0x00, // XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXX_, XXXX
+  0x00, 0x00, 0xc0, 0x02, 0x80, // XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXX_X, _XXX
+  0x00, 0x00, 0xc0, 0x01, 0x00, // XXXXXXXX, XXXXXXXX, __XXXXXX, XXXXXXX_, XXXX
+  0x00, 0x00, 0x00, 0x00, 0x00  // XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXXXXXX, XXXX
+};
+
+Bitmap bitmTree = {
+  36, // XSize
+  28, // YSize
+  5, // Bytes in Line
+  Tree,  // Pointer to picture data 
+};
+
+
+static char Santa1[] = {
+  0x07, 0x00, 0x00, // XXXXX___, XXXXXXXX, X
+  0x05, 0x00, 0x00, // XXXXX_X_, XXXXXXXX, X
+  0x07, 0x00, 0x00, // XXXXX___, XXXXXXXX, X
+  0x07, 0xC0, 0x00, // XXXXX___, __XXXXXX, X
+  0x07, 0xE0, 0x00, // XXXXX___, ___XXXXX, X
+  0x07, 0xF0, 0x00, // XXXXX___, ____XXXX, X
+  0x0F, 0xF8, 0x00, // XXXX____, _____XXX, X
+  0x1c, 0x08, 0x00, // XXX___XX, XXXX_XXX, X
+  0x08, 0xA8, 0x00, // XXXX_XXX, _X_X_XXX, X
+  0x0C, 0x08, 0x00, // XXXX__XX, XXXX_XXX, X
+  0x06, 0x28, 0x00, // XXXXX__X, XX_X_XXX, X
+  0x03, 0x98, 0x00, // XXXXXX__, _XX__XXX, X
+  0x0d, 0xfe, 0x00, // XXXX__X_, _______X, X
+  0x78, 0xf3, 0x00, // X____XXX, ____XX__, X
+  0x50, 0x61, 0x80, // X_X_XXXX, X__XXXX_, _
+  0xd0, 0x60, 0x80, // __X_XXXX, X__XXXXX, _
+  0x90, 0x00, 0x80, // _XX_XXXX, XXXXXXXX, _
+  0x90, 0x01, 0x00, // _XX_XXXX, XXXXXXX_, X
+  0x90, 0x01, 0x00, // _XX_XXXX, XXXXXXX_, X
+  0xd0, 0x03, 0x00, // __X_XXXX, XXXXXX__, X
+  0x70, 0x02, 0x00, // X___XXXX, XXXXXX_X, X
+  0x1f, 0xfc, 0x00, // XXX_____, ______XX, X
+  0x07, 0xfc, 0x00, // XXXXX___, ______XX, X
+  0x07, 0x0c, 0x00, // XXXXX___, XXXX__XX, X
+  0x07, 0x0c, 0x00, // XXXXX___, XXXX__XX, X
+  0x07, 0xbc, 0x00, // XXXXX___, _X____XX, X
+  0x03, 0x38, 0x00, // XXXXXX__, XX___XXX, X
+  0x00, 0x20, 0x00, // XXXXXXXX, XX_XXXXX, X
+};
+
+Bitmap bitmSan1 = {
+  17, // XSize
+  28, // YSize 
+  3,  // Bytes in Line
+  Santa1 ,  // Pointer to picture data 
+};
+
+
+static char Santa2[] = {
+  0x03, 0x80, 0x00 , // XXXXXX__, _XXXXXXX, X
+  0x02, 0x80, 0x00 , // XXXXXX_X, _XXXXXXX, X
+  0x07, 0x00, 0x00 , // XXXXX___, XXXXXXXX, X
+  0x07, 0xc0, 0x00 , // XXXXX___, __XXXXXX, X
+  0x07, 0xe0, 0x00 , // XXXXX___, ___XXXXX, X
+  0x07, 0xf0, 0x00 , // XXXXX___, ____XXXX, X
+  0x0f, 0xf8, 0x00 , // XXXX____, _____XXX, X
+  0x1c, 0x08, 0x00 , // XXX___XX, XXXX_XXX, X
+  0x08, 0xa8, 0x00 , // XXXX_XXX, _X_X_XXX, X
+  0x0c, 0x08, 0x00 , // XXXX__XX, XXXX_XXX, X
+  0x06, 0x28, 0x00 , // XXXXX__X, XX_X_XXX, X
+  0x03, 0x98, 0x00 , // XXXXXX__, _XX__XXX, X
+  0x0d, 0xf6, 0x00 , // XXXX__X_, ____X__X, X
+  0x78, 0xf3, 0x00 , // X____XXX, ____XX__, X
+  0x50, 0x61, 0x80 , // X_X_XXXX, X__XXXX_, _
+  0xd0, 0x60, 0x80 , // __X_XXXX, X__XXXXX, _
+  0x90, 0x00, 0x80 , // _XX_XXXX, XXXXXXXX, _
+  0x90, 0x01, 0x00 , // _XX_XXXX, XXXXXXX_, X
+  0x90, 0x01, 0x00 , // _XX_XXXX, XXXXXXX_, X
+  0xd0, 0x03, 0x00 , // __X_XXXX, XXXXXX__, X
+  0x70, 0x02, 0x00 , // X___XXXX, XXXXXX_X, X
+  0x1f, 0xfc, 0x00 , // XXX_____, ______XX, X
+  0x07, 0xdc, 0x00 , // XXXXX___, __X___XX, X
+  0x07, 0x0e, 0x00 , // XXXXX___, XXXX___X, X
+  0x07, 0x0e, 0x00 , // XXXXX___, XXXX___X, X
+  0x0e, 0x0f, 0x80 , // XXXX___X, XXXX____, _
+  0x08, 0x00, 0x00 , // XXXX_XXX, XXXXXXXX, X
+  0x00, 0x00, 0x00 , // XXXXXXXX, XXXXXXXX, X
+};
+
+Bitmap bitmSan2 = {
+  17, // XSize
+  28, // YSize 
+  3,  // Bytes in Line
+  Santa2 ,  // Pointer to picture data 
+};
+
+
+static char Santa3[] = {
+  0x1c, 0x00, 0x00 , //XXX___XX, XXXXXXXX, X
+  0x17, 0x00, 0x00 , //XXX_X___, XXXXXXXX, X
+  0x1f, 0xc0, 0x00 , //XXX_____, __XXXXXX, X
+  0x07, 0xe0, 0x00 , //XXXXX___, ___XXXXX, X
+  0x07, 0xf0, 0x00 , //XXXXX___, ____XXXX, X
+  0x0f, 0xf8, 0x00 , //XXXX____, _____XXX, X
+  0x1c, 0x08, 0x00 , //XXX___XX, XXXX_XXX, X
+  0x08, 0xa8, 0x00 , //XXXX_XXX, _X_X_XXX, X
+  0x0c, 0x08, 0x00 , //XXXX__XX, XXXX_XXX, X
+  0x06, 0x28, 0x00 , //XXXXX__X, XX_X_XXX, X
+  0x03, 0x98, 0x00 , //XXXXXX__, _XX__XXX, X
+  0x0d, 0xf6, 0x00 , //XXXX__X_, ____X__X, X
+  0x78, 0xf3, 0x00 , //X____XXX, ____XX__, X
+  0x50, 0xe1, 0x80 , //X_X_XXXX, ___XXXX_, _ 
+  0xd0, 0x60, 0x80 , //__X_XXXX, X__XXXXX, _
+  0x90, 0x00, 0x80 , //_XX_XXXX, XXXXXXXX, _
+  0x90, 0x01, 0x00 , //_XX_XXXX, XXXXXXX_, X
+  0x90, 0x01, 0x00 , //_XX_XXXX, XXXXXXX_, X
+  0x20, 0x03, 0x00 , //__X_XXXX, XXXXXX__, X
+  0x70, 0x02, 0x00 , //X___XXXX, XXXXXX_X, X
+  0x1f, 0xfc, 0x00 , //XXX_____, ______XX, X
+  0x07, 0xdc, 0x00 , //XXXXX___, __X___XX, X
+  0x07, 0x0e, 0x00 , //XXXXX___, XXXX___X, X
+  0x07, 0x0e, 0x00 , //XXXXX___, XXXX___X, X
+  0x07, 0xcf, 0x80 , //XXXXX___, __XX____, _
+  0x00, 0x00, 0x00 , //XXXXXXXX, XXXXXXXX, X
+};
+
+Bitmap bitmSan3 = {
+  17, // XSize
+  26, // YSize 
+  3,  // Bytes in Line
+  Santa3 ,  // Pointer to picture data 
+};
+
+
+#endif
\ No newline at end of file
diff -r a87e255a8f3a -r 48407a94ff89 main.cpp
--- a/main.cpp	Fri Oct 26 10:49:28 2012 +0000
+++ b/main.cpp	Fri Dec 21 21:59:16 2012 +0000
@@ -1,19 +1,57 @@
 #include "mbed.h"
 #include "C12832_lcd.h"
+#include "Arial_9.h"
+#include "Small_7.h"
+#include "graphics.h"
 
 C12832_LCD lcd;
 
 int main()
 {
-    int j=0;
+    int i,s;
     lcd.cls();
-    lcd.locate(0,3);
-    lcd.printf("mbed application board!");
-
-    while(true) {   // this is the third thread
-        lcd.locate(0,15);
-        lcd.printf("Counting : %d",j);
-        j++;
-        wait(1.0);
-    }
+    lcd.set_font((unsigned char*) Arial_9);
+    s = 3;
+    lcd.print_bm(bitmTree,95,0);  // print chistmas tree
+    lcd.copy_to_lcd(); 
+    lcd.setmode(XOR);             // XOR - a second print will erase  
+    for(i = -15; i < 75; ){     
+        lcd.print_bm(bitmSan1,i,2);
+        wait(0.5);
+        lcd.copy_to_lcd();           // update lcd  
+        lcd.print_bm(bitmSan1,i,2);  // erase
+        i= i+s;
+        lcd.print_bm(bitmSan2,i,2);  // print next
+        wait(0.5);
+        lcd.copy_to_lcd();           // update lcd   
+        lcd.print_bm(bitmSan2,i,2);  // erase
+        i= i+s;
+        lcd.print_bm(bitmSan3,i,2);  // print next 
+        wait(0.5);
+        lcd.copy_to_lcd();           // update lcd
+        lcd.print_bm(bitmSan3,i,2);  // erase
+        i= i+s;
+   }
+   lcd.print_bm(bitmSan3,i,2);
+   lcd.set_auto_up(0);
+   for(i=-20; i<5; i++){             // scrolling text
+     lcd.locate(5,i);
+     lcd.printf("Happy");
+     lcd.locate(5,i+12);
+     lcd.printf("Christmas");
+     lcd.copy_to_lcd();
+     lcd.locate(5,i);
+     wait(0.2);
+     lcd.printf("Happy");
+     lcd.locate(5,i+12);
+     lcd.printf("Christmas");
+     lcd.copy_to_lcd();
+     i=i+1;
+   }  
+   lcd.locate(5,i);
+   lcd.printf("Happy");
+   lcd.locate(5,i+12);
+   lcd.printf("Christmas");
+   lcd.copy_to_lcd();
+   
 }
diff -r a87e255a8f3a -r 48407a94ff89 mbed.bld
--- a/mbed.bld	Fri Oct 26 10:49:28 2012 +0000
+++ b/mbed.bld	Fri Dec 21 21:59:16 2012 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/cd19af002ccc
\ No newline at end of file
+http://mbed.org/users/mbed_official/code/mbed/builds/63cdd78b2dc1
\ No newline at end of file