Mini SmartGPU Intelligent Graphics Processor- Vizic Technologies 2012
Dependencies: MINISMARTGPU mbed
Revision 0:6d5a476a1c20, committed 2012-08-30
- Comitter:
- emmanuelchio
- Date:
- Thu Aug 30 21:56:04 2012 +0000
- Commit message:
- Mini SmartGPU Intelligent Graphics Processor- Vizic Technologies 2012
Changed in this revision
diff -r 000000000000 -r 6d5a476a1c20 MINISMARTGPU.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MINISMARTGPU.lib Thu Aug 30 21:56:04 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/emmanuelchio/code/MINISMARTGPU/#83a75a056cfa
diff -r 000000000000 -r 6d5a476a1c20 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Aug 30 21:56:04 2012 +0000 @@ -0,0 +1,95 @@ +/********************************************************* +VIZIC TECHNOLOGIES. COPYRIGHT 2012. +THE DATASHEETS, SOFTWARE AND LIBRARIES ARE PROVIDED "AS IS." +VIZIC EXPRESSLY DISCLAIM ANY WARRANTY OF ANY KIND, WHETHER +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, +OR NONINFRINGEMENT. IN NO EVENT SHALL VIZIC BE LIABLE FOR +ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, +LOST PROFITS OR LOST DATA, HARM TO YOUR EQUIPMENT, COST OF +PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, +ANY CLAIMS BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO +ANY DEFENCE THEREOF), ANY CLAIMS FOR INDEMNITY OR CONTRIBUTION, +OR OTHER SIMILAR COSTS. +*********************************************************/ +/**************************************************************************************/ +/*MINI SMARTGPU intelligent embedded graphics processor unit + those examples are for use the MINI SMARTGPU with the mbed microcontoller, just connect tx,rx,and reset + Board: + http://vizictechnologies.com/#/mini-smart-gpu/4566376187 + + www.vizictechnologies.com + Vizic Technologies copyright 2012*/ +/**************************************************************************************/ +/**************************************************************************************/ + +#include "mbed.h" +#include "MINISMARTGPU.h" + +MINISMARTGPU lcd(p13,p14,p15); //(TX,RX,Reset); Create Object "lcd" + +#define secCol RED //seconds hand colour +#define minCol BLACK //minutes hand colour +#define hourCol BLACK //hours hand colour +#define halfx 80 //this point represent the x center of the clock where math is done +#define halfy 64 //this point represent the y center of the clock where math is done + +/**********************************************************************************/ +/**********************************************************************************/ +/**********************************************************************************/ +int main() { + int secs=0; + int mins=48; + int hours=4; + int xs,ys,xm,ym,xh,yh; + int angleH,angleM,angleS; + int handHour=23;//hand size + int handMin=26;//hand size + int handSec=31;//hand size + + lcd.reset(); //physically reset MINISMARTGPU + lcd.start(); //initialize the MINISMARTGPU processor + wait_ms(200); + + lcd.baudChange(1000000); //set high baud for fast drawing + lcd.imageSD(0,0,"oldClk"); //draw the clock body + + while(1){ + //Do some Math to get the second point of the clock hands. (first point is always the center of the clock) + angleS=secs*6; //get the current seconds in angle form, a circle have 360 degrees divided by 60 seconds = 6, then we multiply the 6 by the current seconds to get current angle + xs=(sin((angleS*3.14)/180)) * handSec; //get X component of the second's hand + ys=(cos((angleS*3.14)/180)) * handSec; //get Y component of the second's hand + angleM=mins*6; //get the current minutes in angle form, a circle have 360 degrees divided by 60 minutes = 6, then we multiply the 6 by the current minutes to get current angle + xm=(sin((angleM*3.14)/180)) * handMin; //get X component of the minutes's hand + ym=(cos((angleM*3.14)/180)) * handMin; //get Y component of the minutes's hand + angleH=hours*30; //get the current hours in angle form, a circle have 360 degrees divided by 12 hours = 30, then we multiply the 30 by the current hours to get current angle + xh=(sin((angleH*3.14)/180)) * handHour; //get X component of the hours's hand + yh=(cos((angleH*3.14)/180)) * handHour; //get Y component of the hours's hand + + //Draw current time hands + lcd.drawLine(halfx,halfy,halfx+xm,halfy-ym,minCol); // Draw the minutes hand, first point is the center of the clock, and the second is the point obtained by doing math + lcd.drawLine(halfx,halfy,halfx+xh,halfy-yh,hourCol); // Draw the hours hand, first point is the center of the clock, and the second is the point obtained by doing math + lcd.drawLine(halfx,halfy,halfx+xs,halfy-ys,secCol); // Draw the seconds hand, first point is the center of the clock, and the second is the point obtained by doing math + lcd.drawCircle(halfx,halfy,2,secCol,FILL); // Draw the center of the second's hand + + wait_ms(1000); // wait for one second delay (we dont need to explain why we're waiting one second, right?) + + secs++; // increase seconds + if(secs==60){ // if we reach 60 seconds + mins++; // increase the minutes + if(mins==60){ // if we reach 60 minutes + hours++; // increase the minutes + if(hours==12){ // if we reach 12 hours + hours=0; // clear hours + } + mins=0; // clear minutes + } + secs=0; // clear seconds + } + + //Erase all hands + lcd.drawLine(halfx,halfy,halfx+xs,halfy-ys,WHITE); // Erase Second's hand + lcd.drawLine(halfx,halfy,halfx+xm,halfy-ym,WHITE); // Erase Minute's hand + lcd.drawLine(halfx,halfy,halfx+xh,halfy-yh,WHITE); // Erase Hour's hand + } +}
diff -r 000000000000 -r 6d5a476a1c20 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Aug 30 21:56:04 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/cd19af002ccc \ No newline at end of file