mbed library for earthlcd ezLCD3xx line of displays
Dependencies: MMA8451Q SDFileSystem TSI ezLCDLib mbed
go here for library http://mbed.org/users/codeman/code/ezLCDLib/
Diff: main.cpp
- Revision:
- 1:d8871919d781
- Parent:
- 0:b4366af9dee8
- Child:
- 2:839437baa4db
--- a/main.cpp Sun Apr 21 22:21:50 2013 +0000 +++ b/main.cpp Mon Apr 29 03:04:30 2013 +0000 @@ -1,27 +1,164 @@ +/** +* +* +* +* +*/ #include "mbed.h" +#include "TSISensor.h" #include "ezLCDLib.h" - -ezLCD3 lcd(PTC4, PTC3); - int main() { - while (1) { - lcd.cls(); -// wait(2); -// lcd.light(50); -// wait(2); - lcd.printf("%d %s %02x", 1024, "test", 54); - wait(1); -// lcd.light(100); -/* - lcd.pixel(14, 35, true); - lcd.pixel(16, 36, true); - lcd.pixel(18, 37, true); - lcd.pos(5, 30); - lcd.printf("Hi"); - lcd.circle(50, 20, 20, true); - lcd.pos(50, 20); - lcd.printf("Howdy"); - lcd.line(0, 0, 25, 25, true); -*/ - wait(2); +#include "MMA8451Q.h" + +#define MMA8451_I2C_ADDRESS (0x1d<<1) +enum { BLACK, GRAY, SILVER, WHITE, RED, MAROON, YELLOW, OLIVE, LIME, GREEN, AQUA, TEAL, BLUE, NAVY, FUCHSIA, PURPLE }; +#define arLCD +//InterruptIn ezLCD3Int( PTD7); // interrupt instance for touch +//InterruptIn ezLCD3Int( PTA13); // interrupt instance for touch +#ifdef arLCD +InterruptIn ezLCD3Int( PTD4 ); // interrupt instance for touch +DigitalOut _nrst(PTC7); +ezLCD3 lcd(PTA2, PTA1); //rx,tx +TSISensor tsi; +AnalogIn adc1(PTB0); +MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); +#endif + +DigitalOut myled(LED_BLUE); +volatile bool ezLCD3Touch = false; + +int color = BLACK; +int temp; +int touch=0; +int adc1Count = 0; +float adc1Average = 0; + +char ezID[20]; +char ezVER[20]; +char adcBuf[20]; +void ezLCD3Isr( void ) +{ + ezLCD3Touch = true; +} + +int main() +{ + /* + _nrst=0; + wait(1); + _nrst=1; + */ + wait(3); + + while(!lcd.sync()); + ezLCD3Int.fall(&ezLCD3Isr); + ezLCD3Touch = false; + myled=1; + lcd.cls(BLACK); + //int EmbossDkColor, int EmbossLtColor, int TextColor0, int TextColor1, int TextColorDisabled, int Color0, int Color1, int ColorDisabled, int CommonBkColor, int Fontw + lcd.theme(0, 111, 106, 0, 130, 0, 13, 12, 101, 100, 0); +// lcd.touchZone(1,0,0,319,239,1); + lcd.xy(0,0);//11 + lcd.color(BLACK); //1 + lcd.box(319,239, 1 );//2 + lcd.color(155); + lcd.xy(1,1); + lcd.line(317,1); + lcd.xy(1,1); + lcd.line(1,237); + lcd.color(WHITE); + lcd.xy(2,237); + lcd.line(317,237); + lcd.line(317,2); + lcd.color(WHITE);//3 + lcd.xy(300,100);//4 +// lcd.circle(50,0);//5 + lcd.xy(300,200);//6 +// lcd.circle(50,1);//7 + lcd.light(50);//8 + lcd.xy(40,10);//9 + lcd.print("--==[\\[28m Hello \\[65mMBED\\[28m World \\[3m]==--");//10 + lcd.xy(20,100);//11 + lcd.color(YELLOW);//12 + lcd.setStringID( 2,"Button1"); + lcd.setStringID( 3,"Button2"); + //lcd.setStringID( 3,"AMeter"); + lcd.button(2,20,40,100,40,1,0,10,0,2); + lcd.button(3,200,40,100,40,1,0,10,0,3); + lcd.getStringID( 65,ezID); + lcd.getStringID( 66,ezVER); + lcd.print(ezID); + lcd.color(PURPLE); + lcd.xy(20,120);//11 + lcd.print(ezVER); + lcd.color(TEAL); + lcd.xy(20,140); + lcd.printf("MaxX %d MaxY %d", lcd.getXmax()+1, lcd.getYmax()+1); //13 14 + lcd.light(5);//15 + lcd.light(100);//16 + lcd.image(20,165,"0.gif"); + lcd.image(55,165,"1.gif"); + lcd.image(90,165,"2.gif"); + lcd.image(125,165,"3.gif"); + lcd.color(WHITE);//17 + lcd.setStringID(4, "meter"); + lcd.setStringID(5, "%"); + lcd.setStringID(6, "X"); + lcd.setStringID(7, "Y"); + lcd.setStringID(8, "Z"); + lcd.staticText( 4, 200, 210, 100, 25, 8, 0, 4); + lcd.progressBar( 5, 200, 180, 100, 25, 1, 0, 100, 0 , 5); + lcd.progressBar( 6, 200, 90, 100, 25, 1, 0, 100, 0 , 6); + lcd.progressBar( 7, 200, 120, 100, 25, 1, 0, 100, 0 , 7); + lcd.progressBar( 8, 200, 150, 100, 25, 1, 0, 100, 0 , 8); +// lcd.ameter(3, 50, 30, 200, 200, 1, 10, 0, 120, 0, 3, 0); + + while(1) { + if(ezLCD3Touch) { + ezLCD3Touch = false; + touch=lcd.wstack(LIFO); + myled = !myled; + lcd.xy(10,210); + lcd.color(BLACK); + lcd.box(180,20,1); + lcd.color(WHITE); + switch( touch ) { + case 240: + lcd.print("Button1 Pressed"); + break; + case 214: + lcd.print("Button1 Released"); + break; + case 224: + lcd.print("Button1 Cancel"); + break; + case 340: + lcd.print("Button2 Pressed"); + break; + case 314: + lcd.print("Button2 Released"); + break; + case 324: + lcd.print("Button2 Cancel"); + break; + default: + lcd.print("default"); + break; + } + } + adc1Average += adc1.read(); + adc1Count ++; + if (adc1Count == 500) { + adc1Count=0; + sprintf(adcBuf, "%1.3f V",(adc1Average/500)*3.3); + lcd.setStringID(4, adcBuf); + lcd.wstate(4,REDRAW); + adc1Average =0; } - } \ No newline at end of file + wait(0.1); + lcd.wvalue(5,abs( tsi.readPercentage()*100)); + lcd.wvalue(6,abs(acc.getAccX())*100); + lcd.wvalue(7,abs(acc.getAccY())*100); + lcd.wvalue(8,abs(acc.getAccZ())*100); + } + +} \ No newline at end of file