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/
main.cpp
- Committer:
- codeman
- Date:
- 2013-04-29
- Revision:
- 1:d8871919d781
- Parent:
- 0:b4366af9dee8
- Child:
- 2:839437baa4db
File content as of revision 1:d8871919d781:
/** * * * * */ #include "mbed.h" #include "TSISensor.h" #include "ezLCDLib.h" #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; } 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); } }