SMARTGPU Simple Paint application with touch!

Dependencies:   SMARTGPU mbed

Committer:
emmanuelchio
Date:
Wed Sep 14 05:33:57 2011 +0000
Revision:
0:ecef9acc53d7
Rev 1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emmanuelchio 0:ecef9acc53d7 1 /**************************************************************************************/
emmanuelchio 0:ecef9acc53d7 2 /*SMARTGPU intelligent embedded graphics processor unit
emmanuelchio 0:ecef9acc53d7 3 those examples are for use the SMARTGPU with the mbed microcontoller, just connect tx,rx,and reset
emmanuelchio 0:ecef9acc53d7 4 Board:
emmanuelchio 0:ecef9acc53d7 5 http://www.vizictechnologies.com/#/desarrollo/4554296549
emmanuelchio 0:ecef9acc53d7 6
emmanuelchio 0:ecef9acc53d7 7 www.vizictechnologies.com
emmanuelchio 0:ecef9acc53d7 8 Vizic Technologies copyright 2011 */
emmanuelchio 0:ecef9acc53d7 9 /**************************************************************************************/
emmanuelchio 0:ecef9acc53d7 10 /**************************************************************************************/
emmanuelchio 0:ecef9acc53d7 11
emmanuelchio 0:ecef9acc53d7 12 #include "mbed.h"
emmanuelchio 0:ecef9acc53d7 13 #include "SMARTGPU.h"
emmanuelchio 0:ecef9acc53d7 14
emmanuelchio 0:ecef9acc53d7 15 #define PENSIZE 5 //size of the drawing pen
emmanuelchio 0:ecef9acc53d7 16
emmanuelchio 0:ecef9acc53d7 17 SMARTGPU lcd(p13,p14,p15); //(TX,RX,Reset);
emmanuelchio 0:ecef9acc53d7 18
emmanuelchio 0:ecef9acc53d7 19 //Each time we use the touchscreen we must define a int array that stores the X and Y readed or touched coordinates.
emmanuelchio 0:ecef9acc53d7 20 int touch[2];
emmanuelchio 0:ecef9acc53d7 21 //Each time we use the touchicon we must define a char array that stores the name of the touched icon.
emmanuelchio 0:ecef9acc53d7 22 char icon[3];
emmanuelchio 0:ecef9acc53d7 23
emmanuelchio 0:ecef9acc53d7 24 int main() {
emmanuelchio 0:ecef9acc53d7 25 lcd.reset(); //physically reset SMARTGPU
emmanuelchio 0:ecef9acc53d7 26 lcd.start(); //initialize the SMARTGPU processor
emmanuelchio 0:ecef9acc53d7 27
emmanuelchio 0:ecef9acc53d7 28 lcd.baudChange(2000000); // Set a fast baud!, always that we use touch functions is recommended to use fast baud rates
emmanuelchio 0:ecef9acc53d7 29
emmanuelchio 0:ecef9acc53d7 30 //front cover
emmanuelchio 0:ecef9acc53d7 31 lcd.string(85,50,290,220,YELLOW,FONT7,TRANS,"Mini Paint");
emmanuelchio 0:ecef9acc53d7 32 lcd.string(45,95,290,220,BLUE,FONT5,TRANS,"Touch any icon to erase screen");
emmanuelchio 0:ecef9acc53d7 33 lcd.string(30,160,310,220,MAGENTA,FONT4,TRANS,"Touch screen to begin");
emmanuelchio 0:ecef9acc53d7 34
emmanuelchio 0:ecef9acc53d7 35 while(!lcd.touchScreen(touch)); // Wait for a touch on the screen to start
emmanuelchio 0:ecef9acc53d7 36 lcd.erase();
emmanuelchio 0:ecef9acc53d7 37 wait_ms(500);
emmanuelchio 0:ecef9acc53d7 38
emmanuelchio 0:ecef9acc53d7 39 while(1){ // Loop forever
emmanuelchio 0:ecef9acc53d7 40 if(lcd.touchScreen(touch)){ // If we receive a touch on the screen
emmanuelchio 0:ecef9acc53d7 41 lcd.drawCircle(touch[XCOORD],touch[YCOORD],PENSIZE,GREEN,FILL); // Draw circle on touched coordinates
emmanuelchio 0:ecef9acc53d7 42 }
emmanuelchio 0:ecef9acc53d7 43 if(lcd.touchIcon(icon)){ // If we receive a touch on any icon
emmanuelchio 0:ecef9acc53d7 44 lcd.erase(); // Erase screen
emmanuelchio 0:ecef9acc53d7 45 }
emmanuelchio 0:ecef9acc53d7 46 }
emmanuelchio 0:ecef9acc53d7 47 }