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/

Committer:
codeman
Date:
Mon Apr 29 03:04:30 2013 +0000
Revision:
1:d8871919d781
Parent:
0:b4366af9dee8
Child:
2:839437baa4db
version .5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
codeman 1:d8871919d781 1 /**
codeman 1:d8871919d781 2 *
codeman 1:d8871919d781 3 *
codeman 1:d8871919d781 4 *
codeman 1:d8871919d781 5 *
codeman 1:d8871919d781 6 */
codeman 0:b4366af9dee8 7 #include "mbed.h"
codeman 1:d8871919d781 8 #include "TSISensor.h"
codeman 0:b4366af9dee8 9 #include "ezLCDLib.h"
codeman 1:d8871919d781 10 #include "MMA8451Q.h"
codeman 1:d8871919d781 11
codeman 1:d8871919d781 12 #define MMA8451_I2C_ADDRESS (0x1d<<1)
codeman 1:d8871919d781 13 enum { BLACK, GRAY, SILVER, WHITE, RED, MAROON, YELLOW, OLIVE, LIME, GREEN, AQUA, TEAL, BLUE, NAVY, FUCHSIA, PURPLE };
codeman 1:d8871919d781 14 #define arLCD
codeman 1:d8871919d781 15 //InterruptIn ezLCD3Int( PTD7); // interrupt instance for touch
codeman 1:d8871919d781 16 //InterruptIn ezLCD3Int( PTA13); // interrupt instance for touch
codeman 1:d8871919d781 17 #ifdef arLCD
codeman 1:d8871919d781 18 InterruptIn ezLCD3Int( PTD4 ); // interrupt instance for touch
codeman 1:d8871919d781 19 DigitalOut _nrst(PTC7);
codeman 1:d8871919d781 20 ezLCD3 lcd(PTA2, PTA1); //rx,tx
codeman 1:d8871919d781 21 TSISensor tsi;
codeman 1:d8871919d781 22 AnalogIn adc1(PTB0);
codeman 1:d8871919d781 23 MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
codeman 1:d8871919d781 24 #endif
codeman 1:d8871919d781 25
codeman 1:d8871919d781 26 DigitalOut myled(LED_BLUE);
codeman 1:d8871919d781 27 volatile bool ezLCD3Touch = false;
codeman 1:d8871919d781 28
codeman 1:d8871919d781 29 int color = BLACK;
codeman 1:d8871919d781 30 int temp;
codeman 1:d8871919d781 31 int touch=0;
codeman 1:d8871919d781 32 int adc1Count = 0;
codeman 1:d8871919d781 33 float adc1Average = 0;
codeman 1:d8871919d781 34
codeman 1:d8871919d781 35 char ezID[20];
codeman 1:d8871919d781 36 char ezVER[20];
codeman 1:d8871919d781 37 char adcBuf[20];
codeman 1:d8871919d781 38 void ezLCD3Isr( void )
codeman 1:d8871919d781 39 {
codeman 1:d8871919d781 40 ezLCD3Touch = true;
codeman 1:d8871919d781 41 }
codeman 1:d8871919d781 42
codeman 1:d8871919d781 43 int main()
codeman 1:d8871919d781 44 {
codeman 1:d8871919d781 45 /*
codeman 1:d8871919d781 46 _nrst=0;
codeman 1:d8871919d781 47 wait(1);
codeman 1:d8871919d781 48 _nrst=1;
codeman 1:d8871919d781 49 */
codeman 1:d8871919d781 50 wait(3);
codeman 1:d8871919d781 51
codeman 1:d8871919d781 52 while(!lcd.sync());
codeman 1:d8871919d781 53 ezLCD3Int.fall(&ezLCD3Isr);
codeman 1:d8871919d781 54 ezLCD3Touch = false;
codeman 1:d8871919d781 55 myled=1;
codeman 1:d8871919d781 56 lcd.cls(BLACK);
codeman 1:d8871919d781 57 //int EmbossDkColor, int EmbossLtColor, int TextColor0, int TextColor1, int TextColorDisabled, int Color0, int Color1, int ColorDisabled, int CommonBkColor, int Fontw
codeman 1:d8871919d781 58 lcd.theme(0, 111, 106, 0, 130, 0, 13, 12, 101, 100, 0);
codeman 1:d8871919d781 59 // lcd.touchZone(1,0,0,319,239,1);
codeman 1:d8871919d781 60 lcd.xy(0,0);//11
codeman 1:d8871919d781 61 lcd.color(BLACK); //1
codeman 1:d8871919d781 62 lcd.box(319,239, 1 );//2
codeman 1:d8871919d781 63 lcd.color(155);
codeman 1:d8871919d781 64 lcd.xy(1,1);
codeman 1:d8871919d781 65 lcd.line(317,1);
codeman 1:d8871919d781 66 lcd.xy(1,1);
codeman 1:d8871919d781 67 lcd.line(1,237);
codeman 1:d8871919d781 68 lcd.color(WHITE);
codeman 1:d8871919d781 69 lcd.xy(2,237);
codeman 1:d8871919d781 70 lcd.line(317,237);
codeman 1:d8871919d781 71 lcd.line(317,2);
codeman 1:d8871919d781 72 lcd.color(WHITE);//3
codeman 1:d8871919d781 73 lcd.xy(300,100);//4
codeman 1:d8871919d781 74 // lcd.circle(50,0);//5
codeman 1:d8871919d781 75 lcd.xy(300,200);//6
codeman 1:d8871919d781 76 // lcd.circle(50,1);//7
codeman 1:d8871919d781 77 lcd.light(50);//8
codeman 1:d8871919d781 78 lcd.xy(40,10);//9
codeman 1:d8871919d781 79 lcd.print("--==[\\[28m Hello \\[65mMBED\\[28m World \\[3m]==--");//10
codeman 1:d8871919d781 80 lcd.xy(20,100);//11
codeman 1:d8871919d781 81 lcd.color(YELLOW);//12
codeman 1:d8871919d781 82 lcd.setStringID( 2,"Button1");
codeman 1:d8871919d781 83 lcd.setStringID( 3,"Button2");
codeman 1:d8871919d781 84 //lcd.setStringID( 3,"AMeter");
codeman 1:d8871919d781 85 lcd.button(2,20,40,100,40,1,0,10,0,2);
codeman 1:d8871919d781 86 lcd.button(3,200,40,100,40,1,0,10,0,3);
codeman 1:d8871919d781 87 lcd.getStringID( 65,ezID);
codeman 1:d8871919d781 88 lcd.getStringID( 66,ezVER);
codeman 1:d8871919d781 89 lcd.print(ezID);
codeman 1:d8871919d781 90 lcd.color(PURPLE);
codeman 1:d8871919d781 91 lcd.xy(20,120);//11
codeman 1:d8871919d781 92 lcd.print(ezVER);
codeman 1:d8871919d781 93 lcd.color(TEAL);
codeman 1:d8871919d781 94 lcd.xy(20,140);
codeman 1:d8871919d781 95 lcd.printf("MaxX %d MaxY %d", lcd.getXmax()+1, lcd.getYmax()+1); //13 14
codeman 1:d8871919d781 96 lcd.light(5);//15
codeman 1:d8871919d781 97 lcd.light(100);//16
codeman 1:d8871919d781 98 lcd.image(20,165,"0.gif");
codeman 1:d8871919d781 99 lcd.image(55,165,"1.gif");
codeman 1:d8871919d781 100 lcd.image(90,165,"2.gif");
codeman 1:d8871919d781 101 lcd.image(125,165,"3.gif");
codeman 1:d8871919d781 102 lcd.color(WHITE);//17
codeman 1:d8871919d781 103 lcd.setStringID(4, "meter");
codeman 1:d8871919d781 104 lcd.setStringID(5, "%");
codeman 1:d8871919d781 105 lcd.setStringID(6, "X");
codeman 1:d8871919d781 106 lcd.setStringID(7, "Y");
codeman 1:d8871919d781 107 lcd.setStringID(8, "Z");
codeman 1:d8871919d781 108 lcd.staticText( 4, 200, 210, 100, 25, 8, 0, 4);
codeman 1:d8871919d781 109 lcd.progressBar( 5, 200, 180, 100, 25, 1, 0, 100, 0 , 5);
codeman 1:d8871919d781 110 lcd.progressBar( 6, 200, 90, 100, 25, 1, 0, 100, 0 , 6);
codeman 1:d8871919d781 111 lcd.progressBar( 7, 200, 120, 100, 25, 1, 0, 100, 0 , 7);
codeman 1:d8871919d781 112 lcd.progressBar( 8, 200, 150, 100, 25, 1, 0, 100, 0 , 8);
codeman 1:d8871919d781 113 // lcd.ameter(3, 50, 30, 200, 200, 1, 10, 0, 120, 0, 3, 0);
codeman 1:d8871919d781 114
codeman 1:d8871919d781 115 while(1) {
codeman 1:d8871919d781 116 if(ezLCD3Touch) {
codeman 1:d8871919d781 117 ezLCD3Touch = false;
codeman 1:d8871919d781 118 touch=lcd.wstack(LIFO);
codeman 1:d8871919d781 119 myled = !myled;
codeman 1:d8871919d781 120 lcd.xy(10,210);
codeman 1:d8871919d781 121 lcd.color(BLACK);
codeman 1:d8871919d781 122 lcd.box(180,20,1);
codeman 1:d8871919d781 123 lcd.color(WHITE);
codeman 1:d8871919d781 124 switch( touch ) {
codeman 1:d8871919d781 125 case 240:
codeman 1:d8871919d781 126 lcd.print("Button1 Pressed");
codeman 1:d8871919d781 127 break;
codeman 1:d8871919d781 128 case 214:
codeman 1:d8871919d781 129 lcd.print("Button1 Released");
codeman 1:d8871919d781 130 break;
codeman 1:d8871919d781 131 case 224:
codeman 1:d8871919d781 132 lcd.print("Button1 Cancel");
codeman 1:d8871919d781 133 break;
codeman 1:d8871919d781 134 case 340:
codeman 1:d8871919d781 135 lcd.print("Button2 Pressed");
codeman 1:d8871919d781 136 break;
codeman 1:d8871919d781 137 case 314:
codeman 1:d8871919d781 138 lcd.print("Button2 Released");
codeman 1:d8871919d781 139 break;
codeman 1:d8871919d781 140 case 324:
codeman 1:d8871919d781 141 lcd.print("Button2 Cancel");
codeman 1:d8871919d781 142 break;
codeman 1:d8871919d781 143 default:
codeman 1:d8871919d781 144 lcd.print("default");
codeman 1:d8871919d781 145 break;
codeman 1:d8871919d781 146 }
codeman 1:d8871919d781 147 }
codeman 1:d8871919d781 148 adc1Average += adc1.read();
codeman 1:d8871919d781 149 adc1Count ++;
codeman 1:d8871919d781 150 if (adc1Count == 500) {
codeman 1:d8871919d781 151 adc1Count=0;
codeman 1:d8871919d781 152 sprintf(adcBuf, "%1.3f V",(adc1Average/500)*3.3);
codeman 1:d8871919d781 153 lcd.setStringID(4, adcBuf);
codeman 1:d8871919d781 154 lcd.wstate(4,REDRAW);
codeman 1:d8871919d781 155 adc1Average =0;
codeman 0:b4366af9dee8 156 }
codeman 1:d8871919d781 157 wait(0.1);
codeman 1:d8871919d781 158 lcd.wvalue(5,abs( tsi.readPercentage()*100));
codeman 1:d8871919d781 159 lcd.wvalue(6,abs(acc.getAccX())*100);
codeman 1:d8871919d781 160 lcd.wvalue(7,abs(acc.getAccY())*100);
codeman 1:d8871919d781 161 lcd.wvalue(8,abs(acc.getAccZ())*100);
codeman 1:d8871919d781 162 }
codeman 1:d8871919d781 163
codeman 1:d8871919d781 164 }