Vizic Technologies
/
Window_SG2
Simple Window Demo - MBED + SmartGPU2 board
Diff: main.cpp
- Revision:
- 0:ad63c7ad3951
- Child:
- 1:4a3db447aab6
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Jul 10 03:44:07 2013 +0000 @@ -0,0 +1,69 @@ +/**************************************************************************************/ +/*SMARTGPU2 intelligent embedded graphics processor unit + those examples are for use the SMARTGPU2 with the mbed microcontoller, just connect tx,rx,and reset + Board: + http://vizictechnologies.com/#/smart-gpu-2/4577779046 + + www.vizictechnologies.com + Vizic Technologies copyright 2013 */ +/**************************************************************************************/ +/**************************************************************************************/ + +#include "mbed.h" +#include "SMARTGPU2.h" + +SMARTGPU2 lcd(TXPIN,RXPIN,RESETPIN); //create our object called "lcd" + +//FUNCTION THAT DRAWS A MANUAL WINDOW +/***************************************************/ +void createWindow(AXIS x1, AXIS y1, AXIS x2, AXIS y2, COLOUR top, COLOUR text, char *name){ + AXIS aux; + NUMBEROFBYTES charsPrinted; + + lcd.setTextSize(FONT3); + lcd.drawRectangle(x1,y1,x2,y2,0xDEFB,FILL); //draw grey 0xDEFB back + aux = ((y2-y1) * 20) / 100; + if(aux<10) aux=10; + lcd.drawGradientRect(x1,y1,x2-1,y1+aux,top,WHITE,VERTICAL); //draw top + lcd.drawLine(x1,y1,x2,y1,WHITE); + lcd.drawLine(x1,y2,x2,y2,BLACK); + lcd.drawLine(x1,y1,x1,y2,WHITE); + lcd.drawLine(x2,y1,x2,y2,BLACK); + lcd.string(x1+5,y1+5,x2,y2,name,&charsPrinted); +} + +/***************************************************/ +/***************************************************/ +void initializeSmartGPU2(void){ //Initialize SMARTGPU2 Board + lcd.reset(); //physically reset SMARTGPU2 + lcd.start(); //initialize the SMARTGPU2 processor +} + +/***************************************************/ +/***************************************************/ +/***************************************************/ +/***************************************************/ +int main() { + + initializeSmartGPU2(); //Init communication with SmartGPU2 board + + lcd.baudChange(BAUD7); //set a fast baud! for fast drawing + + lcd.setEraseBackColour(GREEN); //set the erase background colour + + while(1){//forever + //erase screen + lcd.erase(); + //draw the manual window + createWindow(20,20,300,200,BLUE,WHITE,"window 1"); + //wait + wait_ms(3000); + + //erase screen + lcd.erase(); + //draw the internal SmartGPU2 object window + lcd.objWindow(20,20,300,200,FONT2,SELECTEDGRAY,"window 1"); + //wait + wait_ms(3000); + } +}