Vizic Technologies
/
Paint
SMARTGPU Simple Paint application with touch!
main.cpp@0:ecef9acc53d7, 2011-09-14 (annotated)
- Committer:
- emmanuelchio
- Date:
- Wed Sep 14 05:33:57 2011 +0000
- Revision:
- 0:ecef9acc53d7
Rev 1.0
Who changed what in which revision?
User | Revision | Line number | New 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 | } |