Library for EarthLCD ezLCD3xx line of products
ezLCDLib.h@6:83cada1140d4, 2013-05-13 (annotated)
- Committer:
- codeman
- Date:
- Mon May 13 18:00:23 2013 +0000
- Revision:
- 6:83cada1140d4
- Parent:
- 5:4a6254e2012f
Public beta version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
codeman | 5:4a6254e2012f | 1 | /* |
codeman | 0:65606abcae36 | 2 | * @author Ken Segler |
codeman | 5:4a6254e2012f | 3 | * @author ken@earthlcd.com |
codeman | 5:4a6254e2012f | 4 | * @copyright 2013 Ken Segler |
codeman | 5:4a6254e2012f | 5 | * @version 1.0 |
codeman | 5:4a6254e2012f | 6 | * @date |
codeman | 0:65606abcae36 | 7 | */ |
codeman | 0:65606abcae36 | 8 | |
codeman | 0:65606abcae36 | 9 | #ifndef _EZLCDLIB_H |
codeman | 0:65606abcae36 | 10 | #define _EZLCDLIB_H |
codeman | 0:65606abcae36 | 11 | |
codeman | 0:65606abcae36 | 12 | #include "mbed.h" |
codeman | 0:65606abcae36 | 13 | |
codeman | 1:c7659c8af0d3 | 14 | #define FIFO 0 |
codeman | 1:c7659c8af0d3 | 15 | #define LIFO 1 |
codeman | 1:c7659c8af0d3 | 16 | #define CLEAR 2 |
codeman | 0:65606abcae36 | 17 | |
codeman | 3:28e71ce23bfd | 18 | #define DELETE 0 |
codeman | 3:28e71ce23bfd | 19 | #define ENABLE 1 |
codeman | 3:28e71ce23bfd | 20 | #define DISABLE 2 |
codeman | 3:28e71ce23bfd | 21 | #define REDRAW 3 |
codeman | 5:4a6254e2012f | 22 | |
codeman | 5:4a6254e2012f | 23 | /** Interface to the EarthLCD ezLCD3xx line of smart displays |
codeman | 5:4a6254e2012f | 24 | * Derived class from Serial so that you |
codeman | 5:4a6254e2012f | 25 | * can conveniently printf(), putc(), etc to the display. |
codeman | 5:4a6254e2012f | 26 | * |
codeman | 5:4a6254e2012f | 27 | * Example: |
codeman | 5:4a6254e2012f | 28 | * @code |
codeman | 5:4a6254e2012f | 29 | * #include "mbed.h" |
codeman | 5:4a6254e2012f | 30 | * #include "TSISensor.h" |
codeman | 5:4a6254e2012f | 31 | * #include "ezLCDLib.h" |
codeman | 5:4a6254e2012f | 32 | * #include "MMA8451Q.h" |
codeman | 5:4a6254e2012f | 33 | * |
codeman | 5:4a6254e2012f | 34 | * #define MMA8451_I2C_ADDRESS (0x1d<<1) |
codeman | 5:4a6254e2012f | 35 | * |
codeman | 5:4a6254e2012f | 36 | * enum { BLACK, GRAY, SILVER, WHITE, RED, MAROON, YELLOW, OLIVE, LIME, GREEN, AQUA, TEAL, BLUE, NAVY, FUCHSIA, PURPLE }; |
codeman | 5:4a6254e2012f | 37 | * #define arLCD |
codeman | 5:4a6254e2012f | 38 | //InterruptIn ezLCD3Int( PTD7); // interrupt instance for touch |
codeman | 5:4a6254e2012f | 39 | //InterruptIn ezLCD3Int( PTA13); // interrupt instance for touch |
codeman | 5:4a6254e2012f | 40 | * #ifdef arLCD |
codeman | 5:4a6254e2012f | 41 | * InterruptIn ezLCD3Int( PTD4 ); // interrupt instance for touch |
codeman | 5:4a6254e2012f | 42 | * DigitalOut _nrst(PTC7); |
codeman | 5:4a6254e2012f | 43 | * ezLCD3 lcd(PTA2, PTA1); //rx,tx |
codeman | 5:4a6254e2012f | 44 | * TSISensor tsi; |
codeman | 5:4a6254e2012f | 45 | * AnalogIn adc1(PTB0); |
codeman | 5:4a6254e2012f | 46 | * MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); |
codeman | 5:4a6254e2012f | 47 | * #endif |
codeman | 5:4a6254e2012f | 48 | * |
codeman | 5:4a6254e2012f | 49 | * DigitalOut myled(LED_BLUE); |
codeman | 5:4a6254e2012f | 50 | * volatile bool ezLCD3Touch = false; |
codeman | 5:4a6254e2012f | 51 | * |
codeman | 5:4a6254e2012f | 52 | * int color = BLACK; |
codeman | 5:4a6254e2012f | 53 | * int temp; |
codeman | 5:4a6254e2012f | 54 | * int touch=0; |
codeman | 5:4a6254e2012f | 55 | * int adc1Count = 0; |
codeman | 5:4a6254e2012f | 56 | * float adc1Average = 0; |
codeman | 5:4a6254e2012f | 57 | * |
codeman | 5:4a6254e2012f | 58 | * char ezID[20]; |
codeman | 5:4a6254e2012f | 59 | * char ezVER[20]; |
codeman | 5:4a6254e2012f | 60 | * char adcBuf[20]; |
codeman | 5:4a6254e2012f | 61 | * void ezLCD3Isr( void ) |
codeman | 5:4a6254e2012f | 62 | * { |
codeman | 5:4a6254e2012f | 63 | * ezLCD3Touch = true; |
codeman | 5:4a6254e2012f | 64 | * } |
codeman | 5:4a6254e2012f | 65 | * |
codeman | 5:4a6254e2012f | 66 | * int main() |
codeman | 5:4a6254e2012f | 67 | * { |
codeman | 5:4a6254e2012f | 68 | * wait(3); |
codeman | 5:4a6254e2012f | 69 | * while(!lcd.sync()); |
codeman | 5:4a6254e2012f | 70 | * ezLCD3Int.fall(&ezLCD3Isr); |
codeman | 5:4a6254e2012f | 71 | * ezLCD3Touch = false; |
codeman | 5:4a6254e2012f | 72 | * myled=1; |
codeman | 5:4a6254e2012f | 73 | * lcd.cls(BLACK); |
codeman | 5:4a6254e2012f | 74 | * lcd.theme(0, 111, 106, 0, 130, 0, 13, 12, 101, 100, 0); |
codeman | 5:4a6254e2012f | 75 | * lcd.xy(0,0);//11 |
codeman | 5:4a6254e2012f | 76 | * lcd.color(BLACK); //1 |
codeman | 5:4a6254e2012f | 77 | * lcd.box(319,239, 1 );//2 |
codeman | 5:4a6254e2012f | 78 | * lcd.color(155); |
codeman | 5:4a6254e2012f | 79 | * lcd.xy(1,1); |
codeman | 5:4a6254e2012f | 80 | * lcd.line(317,1); |
codeman | 5:4a6254e2012f | 81 | * lcd.xy(1,1); |
codeman | 5:4a6254e2012f | 82 | * lcd.line(1,237); |
codeman | 5:4a6254e2012f | 83 | * lcd.color(WHITE); |
codeman | 5:4a6254e2012f | 84 | * lcd.xy(2,237); |
codeman | 5:4a6254e2012f | 85 | * lcd.line(317,237); |
codeman | 5:4a6254e2012f | 86 | * lcd.line(317,2); |
codeman | 5:4a6254e2012f | 87 | * lcd.color(WHITE);//3 |
codeman | 5:4a6254e2012f | 88 | * lcd.xy(300,100);//4 |
codeman | 5:4a6254e2012f | 89 | * lcd.xy(300,200);//6 |
codeman | 5:4a6254e2012f | 90 | * lcd.light(50);//8 |
codeman | 5:4a6254e2012f | 91 | * lcd.xy(40,10);//9 |
codeman | 5:4a6254e2012f | 92 | * lcd.print("--==[\\[28m Hello \\[65mMBED\\[28m World \\[3m]==--");//10 |
codeman | 5:4a6254e2012f | 93 | * lcd.xy(20,100);//11 |
codeman | 5:4a6254e2012f | 94 | * lcd.color(YELLOW);//12 |
codeman | 5:4a6254e2012f | 95 | * lcd.setStringID( 2,"Button1"); |
codeman | 5:4a6254e2012f | 96 | * lcd.setStringID( 3,"Button2"); |
codeman | 5:4a6254e2012f | 97 | * lcd.button(2,20,40,100,40,1,0,10,0,2); |
codeman | 5:4a6254e2012f | 98 | * lcd.button(3,200,40,100,40,1,0,10,0,3); |
codeman | 5:4a6254e2012f | 99 | * lcd.getStringID( 65,ezID); |
codeman | 5:4a6254e2012f | 100 | * lcd.getStringID( 66,ezVER); |
codeman | 5:4a6254e2012f | 101 | * lcd.print(ezID); |
codeman | 5:4a6254e2012f | 102 | * lcd.color(PURPLE); |
codeman | 5:4a6254e2012f | 103 | * lcd.xy(20,120);//11 |
codeman | 5:4a6254e2012f | 104 | * lcd.print(ezVER); |
codeman | 5:4a6254e2012f | 105 | * lcd.color(TEAL); |
codeman | 5:4a6254e2012f | 106 | * lcd.xy(20,140); |
codeman | 5:4a6254e2012f | 107 | * lcd.printf("MaxX %d MaxY %d", lcd.getXmax()+1, lcd.getYmax()+1); //13 14 |
codeman | 5:4a6254e2012f | 108 | * lcd.light(5);//15 |
codeman | 5:4a6254e2012f | 109 | * lcd.light(100);//16 |
codeman | 5:4a6254e2012f | 110 | * lcd.image(20,165,"0.gif"); |
codeman | 5:4a6254e2012f | 111 | * lcd.image(55,165,"1.gif"); |
codeman | 5:4a6254e2012f | 112 | * lcd.image(90,165,"2.gif"); |
codeman | 5:4a6254e2012f | 113 | * lcd.image(125,165,"3.gif"); |
codeman | 5:4a6254e2012f | 114 | * lcd.color(WHITE);//17 |
codeman | 5:4a6254e2012f | 115 | * lcd.setStringID(4, "meter"); |
codeman | 5:4a6254e2012f | 116 | * lcd.setStringID(5, "%"); |
codeman | 5:4a6254e2012f | 117 | * lcd.setStringID(6, "X"); |
codeman | 5:4a6254e2012f | 118 | * lcd.setStringID(7, "Y"); |
codeman | 5:4a6254e2012f | 119 | * lcd.setStringID(8, "Z"); |
codeman | 5:4a6254e2012f | 120 | * lcd.staticText( 4, 200, 210, 100, 25, 8, 0, 4); |
codeman | 5:4a6254e2012f | 121 | * lcd.progressBar( 5, 200, 180, 100, 25, 1, 0, 100, 0 , 5); |
codeman | 5:4a6254e2012f | 122 | * lcd.progressBar( 6, 200, 90, 100, 25, 1, 0, 100, 0 , 6); |
codeman | 5:4a6254e2012f | 123 | * lcd.progressBar( 7, 200, 120, 100, 25, 1, 0, 100, 0 , 7); |
codeman | 5:4a6254e2012f | 124 | * lcd.progressBar( 8, 200, 150, 100, 25, 1, 0, 100, 0 , 8); |
codeman | 5:4a6254e2012f | 125 | * |
codeman | 5:4a6254e2012f | 126 | * while(1) { |
codeman | 5:4a6254e2012f | 127 | * if(ezLCD3Touch) { |
codeman | 5:4a6254e2012f | 128 | * ezLCD3Touch = false; |
codeman | 5:4a6254e2012f | 129 | * touch=lcd.wstack(LIFO); |
codeman | 5:4a6254e2012f | 130 | * myled = !myled; |
codeman | 5:4a6254e2012f | 131 | * lcd.xy(10,210); |
codeman | 5:4a6254e2012f | 132 | * lcd.color(BLACK); |
codeman | 5:4a6254e2012f | 133 | * lcd.box(180,20,1); |
codeman | 5:4a6254e2012f | 134 | * lcd.color(WHITE); |
codeman | 5:4a6254e2012f | 135 | * switch( touch ) { |
codeman | 5:4a6254e2012f | 136 | * case 240: |
codeman | 5:4a6254e2012f | 137 | * lcd.print("Button1 Pressed"); |
codeman | 5:4a6254e2012f | 138 | * break; |
codeman | 5:4a6254e2012f | 139 | * case 214: |
codeman | 5:4a6254e2012f | 140 | * lcd.print("Button1 Released"); |
codeman | 5:4a6254e2012f | 141 | * break; |
codeman | 5:4a6254e2012f | 142 | * case 224: |
codeman | 5:4a6254e2012f | 143 | * lcd.print("Button1 Cancel"); |
codeman | 5:4a6254e2012f | 144 | * break; |
codeman | 5:4a6254e2012f | 145 | * case 340: |
codeman | 5:4a6254e2012f | 146 | * lcd.print("Button2 Pressed"); |
codeman | 5:4a6254e2012f | 147 | * break; |
codeman | 5:4a6254e2012f | 148 | * case 314: |
codeman | 5:4a6254e2012f | 149 | * lcd.print("Button2 Released"); |
codeman | 5:4a6254e2012f | 150 | * break; |
codeman | 5:4a6254e2012f | 151 | * case 324: |
codeman | 5:4a6254e2012f | 152 | * lcd.print("Button2 Cancel"); |
codeman | 5:4a6254e2012f | 153 | * break; |
codeman | 5:4a6254e2012f | 154 | * default: |
codeman | 5:4a6254e2012f | 155 | * lcd.print("default"); |
codeman | 5:4a6254e2012f | 156 | * break; |
codeman | 5:4a6254e2012f | 157 | * |
codeman | 5:4a6254e2012f | 158 | } |
codeman | 5:4a6254e2012f | 159 | * |
codeman | 5:4a6254e2012f | 160 | } |
codeman | 5:4a6254e2012f | 161 | * adc1Average += adc1.read(); |
codeman | 5:4a6254e2012f | 162 | * adc1Count ++; |
codeman | 5:4a6254e2012f | 163 | * if (adc1Count == 500) { |
codeman | 5:4a6254e2012f | 164 | * adc1Count=0; |
codeman | 5:4a6254e2012f | 165 | * sprintf(adcBuf, "%1.3f V",(adc1Average/500)*3.3); |
codeman | 5:4a6254e2012f | 166 | * lcd.setStringID(4, adcBuf); |
codeman | 5:4a6254e2012f | 167 | * lcd.wstate(4,REDRAW); |
codeman | 5:4a6254e2012f | 168 | * adc1Average =0; |
codeman | 5:4a6254e2012f | 169 | * |
codeman | 5:4a6254e2012f | 170 | } |
codeman | 5:4a6254e2012f | 171 | * if(adc1Count ==250) { |
codeman | 5:4a6254e2012f | 172 | * lcd.wvalue(5,abs( tsi.readPercentage()*100)); |
codeman | 5:4a6254e2012f | 173 | * lcd.wvalue(6,abs(acc.getAccX())*100); |
codeman | 5:4a6254e2012f | 174 | * lcd.wvalue(7,abs(acc.getAccY())*100); |
codeman | 5:4a6254e2012f | 175 | * lcd.wvalue(8,abs(acc.getAccZ())*100); |
codeman | 5:4a6254e2012f | 176 | * |
codeman | 5:4a6254e2012f | 177 | } |
codeman | 5:4a6254e2012f | 178 | * |
codeman | 5:4a6254e2012f | 179 | } |
codeman | 5:4a6254e2012f | 180 | * |
codeman | 5:4a6254e2012f | 181 | * |
codeman | 5:4a6254e2012f | 182 | } |
codeman | 5:4a6254e2012f | 183 | * @endcode |
codeman | 5:4a6254e2012f | 184 | */ |
codeman | 0:65606abcae36 | 185 | class ezLCD3: public Stream |
codeman | 0:65606abcae36 | 186 | { |
codeman | 0:65606abcae36 | 187 | public: |
codeman | 5:4a6254e2012f | 188 | /** Create a new interface to a ezLCD3xx display |
codeman | 0:65606abcae36 | 189 | * @param tx -- mbed transmit pin |
codeman | 0:65606abcae36 | 190 | * @param rx -- mbed receive pin |
codeman | 0:65606abcae36 | 191 | */ |
codeman | 0:65606abcae36 | 192 | ezLCD3(PinName tx, PinName rx); |
codeman | 0:65606abcae36 | 193 | /** |
codeman | 0:65606abcae36 | 194 | * |
codeman | 0:65606abcae36 | 195 | * |
codeman | 0:65606abcae36 | 196 | */ |
codeman | 1:c7659c8af0d3 | 197 | void Rx_interrupt( void ); |
codeman | 5:4a6254e2012f | 198 | /** |
codeman | 5:4a6254e2012f | 199 | * |
codeman | 5:4a6254e2012f | 200 | * |
codeman | 5:4a6254e2012f | 201 | */ |
codeman | 0:65606abcae36 | 202 | void itoa(int value, char *sp, int radix); |
codeman | 5:4a6254e2012f | 203 | /** |
codeman | 5:4a6254e2012f | 204 | * |
codeman | 5:4a6254e2012f | 205 | * |
codeman | 5:4a6254e2012f | 206 | */ |
codeman | 3:28e71ce23bfd | 207 | void stripSpace(char *str); |
codeman | 0:65606abcae36 | 208 | /** |
codeman | 0:65606abcae36 | 209 | * |
codeman | 0:65606abcae36 | 210 | * |
codeman | 0:65606abcae36 | 211 | */ |
codeman | 5:4a6254e2012f | 212 | bool sync( void ); |
codeman | 5:4a6254e2012f | 213 | |
codeman | 5:4a6254e2012f | 214 | /** Send a integer to the display |
codeman | 6:83cada1140d4 | 215 | * @param[in] i integer to send |
codeman | 5:4a6254e2012f | 216 | */ |
codeman | 0:65606abcae36 | 217 | void sendInt( int i ); |
codeman | 5:4a6254e2012f | 218 | |
codeman | 5:4a6254e2012f | 219 | /** Get a integer from the display |
codeman | 6:83cada1140d4 | 220 | * @param[out] str string to put the data in |
codeman | 0:65606abcae36 | 221 | * |
codeman | 0:65606abcae36 | 222 | */ |
codeman | 0:65606abcae36 | 223 | int getInt( char *str ); |
codeman | 5:4a6254e2012f | 224 | |
codeman | 5:4a6254e2012f | 225 | /** Get a string from the display |
codeman | 5:4a6254e2012f | 226 | * @param[out] str string to put the data in |
codeman | 0:65606abcae36 | 227 | * |
codeman | 1:c7659c8af0d3 | 228 | */ |
codeman | 1:c7659c8af0d3 | 229 | void getString( char *str ); |
codeman | 5:4a6254e2012f | 230 | |
codeman | 5:4a6254e2012f | 231 | /** Waits for a CR from display |
codeman | 1:c7659c8af0d3 | 232 | * |
codeman | 1:c7659c8af0d3 | 233 | */ |
codeman | 0:65606abcae36 | 234 | bool waitForCR( void ); |
codeman | 1:c7659c8af0d3 | 235 | |
codeman | 5:4a6254e2012f | 236 | /** clear the screen to black |
codeman | 5:4a6254e2012f | 237 | * |
codeman | 5:4a6254e2012f | 238 | */ |
codeman | 0:65606abcae36 | 239 | void cls(void); |
codeman | 5:4a6254e2012f | 240 | |
codeman | 0:65606abcae36 | 241 | /** clear the screen with background color |
codeman | 5:4a6254e2012f | 242 | * @param[in] bcolor Background color |
codeman | 5:4a6254e2012f | 243 | */ |
codeman | 0:65606abcae36 | 244 | void cls(int bColor); |
codeman | 5:4a6254e2012f | 245 | |
codeman | 5:4a6254e2012f | 246 | /** clear the screen with background color and drawing color |
codeman | 5:4a6254e2012f | 247 | * |
codeman | 5:4a6254e2012f | 248 | * @param[in] bColor background color |
codeman | 5:4a6254e2012f | 249 | * @param[in] fColor drawing color |
codeman | 5:4a6254e2012f | 250 | */ |
codeman | 1:c7659c8af0d3 | 251 | void cls(int bColor, int fColor); |
codeman | 5:4a6254e2012f | 252 | |
codeman | 5:4a6254e2012f | 253 | /** Set drawing color |
codeman | 5:4a6254e2012f | 254 | * @param[in] color color to draw with |
codeman | 0:65606abcae36 | 255 | */ |
codeman | 0:65606abcae36 | 256 | void color( int color ); |
codeman | 1:c7659c8af0d3 | 257 | |
codeman | 5:4a6254e2012f | 258 | /** set x y position for drawing and text |
codeman | 0:65606abcae36 | 259 | * |
codeman | 5:4a6254e2012f | 260 | * @param[in] x is the x coordinate |
codeman | 5:4a6254e2012f | 261 | * @param[in] y is the y coordinate |
codeman | 0:65606abcae36 | 262 | */ |
codeman | 0:65606abcae36 | 263 | void xy(int x, int y); |
codeman | 0:65606abcae36 | 264 | |
codeman | 5:4a6254e2012f | 265 | /** set pixel at current x y |
codeman | 0:65606abcae36 | 266 | * |
codeman | 0:65606abcae36 | 267 | */ |
codeman | 0:65606abcae36 | 268 | void plot(void); |
codeman | 0:65606abcae36 | 269 | |
codeman | 5:4a6254e2012f | 270 | /** set pixel in current draw color at x y |
codeman | 0:65606abcae36 | 271 | * |
codeman | 6:83cada1140d4 | 272 | * @param[in] x is the x coordinate |
codeman | 6:83cada1140d4 | 273 | * @param[in] y is the y coordinate |
codeman | 0:65606abcae36 | 274 | */ |
codeman | 0:65606abcae36 | 275 | void plot(int x, int y); |
codeman | 0:65606abcae36 | 276 | |
codeman | 5:4a6254e2012f | 277 | /** draw line from current x y to new x y |
codeman | 0:65606abcae36 | 278 | * |
codeman | 6:83cada1140d4 | 279 | * @param[in] x is the x coordinate |
codeman | 6:83cada1140d4 | 280 | * @param[in] y is the y coordinate |
codeman | 0:65606abcae36 | 281 | */ |
codeman | 5:4a6254e2012f | 282 | void line(int x, int y); |
codeman | 0:65606abcae36 | 283 | |
codeman | 5:4a6254e2012f | 284 | /** Set line drawing type |
codeman | 6:83cada1140d4 | 285 | * @param[in] type Options: 0 = solid, 1= dotted (1 pixel spacing between dots), 2 = dashed (2 pixel spacing between dashes) |
codeman | 5:4a6254e2012f | 286 | * |
codeman | 5:4a6254e2012f | 287 | * |
codeman | 5:4a6254e2012f | 288 | */ |
codeman | 5:4a6254e2012f | 289 | void lineType( int type ); |
codeman | 5:4a6254e2012f | 290 | |
codeman | 5:4a6254e2012f | 291 | /** Set line drawing width |
codeman | 6:83cada1140d4 | 292 | * @param[in] width in pixels |
codeman | 5:4a6254e2012f | 293 | * |
codeman | 5:4a6254e2012f | 294 | * |
codeman | 5:4a6254e2012f | 295 | */ |
codeman | 5:4a6254e2012f | 296 | void lineWidth( int width ); |
codeman | 5:4a6254e2012f | 297 | /** Draw circle in current color at current x y |
codeman | 0:65606abcae36 | 298 | * |
codeman | 6:83cada1140d4 | 299 | * @param[in] radius diameter of circle |
codeman | 6:83cada1140d4 | 300 | * @param[in] filled true for a filled box outline if false |
codeman | 0:65606abcae36 | 301 | */ |
codeman | 0:65606abcae36 | 302 | void circle(int radius, bool filled); |
codeman | 0:65606abcae36 | 303 | |
codeman | 6:83cada1140d4 | 304 | /** draw a box from current x y of width and heigth |
codeman | 0:65606abcae36 | 305 | * |
codeman | 6:83cada1140d4 | 306 | * @param[in] width |
codeman | 6:83cada1140d4 | 307 | * @param[in] heigth |
codeman | 6:83cada1140d4 | 308 | * @param[in] filled true for a filled box outline if false |
codeman | 0:65606abcae36 | 309 | */ |
codeman | 6:83cada1140d4 | 310 | void box(int width, int heigth, bool filled); |
codeman | 0:65606abcae36 | 311 | |
codeman | 0:65606abcae36 | 312 | /** set backlight brightness |
codeman | 0:65606abcae36 | 313 | * |
codeman | 6:83cada1140d4 | 314 | * @param[in] level is brightness 0=off 100=full in steps of 32 |
codeman | 0:65606abcae36 | 315 | */ |
codeman | 6:83cada1140d4 | 316 | void light(int level); |
codeman | 5:4a6254e2012f | 317 | |
codeman | 5:4a6254e2012f | 318 | /** Send a command direct to display |
codeman | 5:4a6254e2012f | 319 | * @param str command string |
codeman | 3:28e71ce23bfd | 320 | * |
codeman | 5:4a6254e2012f | 321 | * Example:\n |
codeman | 5:4a6254e2012f | 322 | * @code |
codeman | 5:4a6254e2012f | 323 | * lcd.sendCommand( "cls" ); // clear display |
codeman | 5:4a6254e2012f | 324 | * @endcode |
codeman | 3:28e71ce23bfd | 325 | */ |
codeman | 3:28e71ce23bfd | 326 | void sendCommand( char *str ); |
codeman | 5:4a6254e2012f | 327 | |
codeman | 5:4a6254e2012f | 328 | /** Return Xmax of display |
codeman | 5:4a6254e2012f | 329 | * @return int Xmax of display |
codeman | 1:c7659c8af0d3 | 330 | * |
codeman | 1:c7659c8af0d3 | 331 | */ |
codeman | 1:c7659c8af0d3 | 332 | int getXmax( void ); |
codeman | 5:4a6254e2012f | 333 | |
codeman | 5:4a6254e2012f | 334 | /** Return Ymax of display |
codeman | 5:4a6254e2012f | 335 | * @return int Ymax of display |
codeman | 5:4a6254e2012f | 336 | * |
codeman | 5:4a6254e2012f | 337 | */ |
codeman | 5:4a6254e2012f | 338 | int getYmax( void ); |
codeman | 5:4a6254e2012f | 339 | |
codeman | 5:4a6254e2012f | 340 | /** Send a string of data to display |
codeman | 5:4a6254e2012f | 341 | * |
codeman | 5:4a6254e2012f | 342 | */ |
codeman | 5:4a6254e2012f | 343 | void sendString( char *str ); |
codeman | 5:4a6254e2012f | 344 | |
codeman | 5:4a6254e2012f | 345 | /** Set stringID to display |
codeman | 5:4a6254e2012f | 346 | * @param ID string ID to write |
codeman | 5:4a6254e2012f | 347 | * @param str string to write |
codeman | 5:4a6254e2012f | 348 | * |
codeman | 5:4a6254e2012f | 349 | */ |
codeman | 5:4a6254e2012f | 350 | void setStringID( int ID, char *str ); |
codeman | 5:4a6254e2012f | 351 | |
codeman | 5:4a6254e2012f | 352 | /** Get stringID from Display |
codeman | 5:4a6254e2012f | 353 | * @param ID string ID to read |
codeman | 5:4a6254e2012f | 354 | * @param str string to put data in |
codeman | 5:4a6254e2012f | 355 | * |
codeman | 5:4a6254e2012f | 356 | * Example: |
codeman | 5:4a6254e2012f | 357 | * @code |
codeman | 5:4a6254e2012f | 358 | * lcd.getstringID(66, ezVer); // get ezLCD Firmware version |
codeman | 5:4a6254e2012f | 359 | * lcd.print(ezVer); // print version |
codeman | 5:4a6254e2012f | 360 | * @endcode |
codeman | 5:4a6254e2012f | 361 | */ |
codeman | 5:4a6254e2012f | 362 | void getStringID( int ID, char *str ); |
codeman | 5:4a6254e2012f | 363 | |
codeman | 5:4a6254e2012f | 364 | /** print string at current x y |
codeman | 5:4a6254e2012f | 365 | * @param str string prints directly to display |
codeman | 5:4a6254e2012f | 366 | */ |
codeman | 5:4a6254e2012f | 367 | void print( char *str); |
codeman | 5:4a6254e2012f | 368 | |
codeman | 5:4a6254e2012f | 369 | /** Set widget font |
codeman | 5:4a6254e2012f | 370 | * Fonts are located in the flash drive of the display\n |
codeman | 5:4a6254e2012f | 371 | * font 0 and font 1 are builtin fonts and are much faster to draw\n |
codeman | 5:4a6254e2012f | 372 | * in the /EZUSERS/FONTS and /EZSYS/FONTS directory\n |
codeman | 5:4a6254e2012f | 373 | * use the ezLCD3xx font convert utilty to convert true type fonts |
codeman | 5:4a6254e2012f | 374 | * @param str font name |
codeman | 5:4a6254e2012f | 375 | */ |
codeman | 5:4a6254e2012f | 376 | void fontw( int id, char *str); |
codeman | 5:4a6254e2012f | 377 | |
codeman | 6:83cada1140d4 | 378 | void fontw( int ID, int font); |
codeman | 1:c7659c8af0d3 | 379 | /** |
codeman | 1:c7659c8af0d3 | 380 | * |
codeman | 1:c7659c8af0d3 | 381 | * |
codeman | 5:4a6254e2012f | 382 | * |
codeman | 1:c7659c8af0d3 | 383 | */ |
codeman | 5:4a6254e2012f | 384 | void font(char *str); |
codeman | 5:4a6254e2012f | 385 | |
codeman | 5:4a6254e2012f | 386 | /** |
codeman | 5:4a6254e2012f | 387 | * |
codeman | 0:65606abcae36 | 388 | * |
codeman | 0:65606abcae36 | 389 | * |
codeman | 0:65606abcae36 | 390 | */ |
codeman | 5:4a6254e2012f | 391 | void fontO( bool dir ); |
codeman | 5:4a6254e2012f | 392 | |
codeman | 1:c7659c8af0d3 | 393 | /** |
codeman | 1:c7659c8af0d3 | 394 | * |
codeman | 1:c7659c8af0d3 | 395 | * |
codeman | 5:4a6254e2012f | 396 | * |
codeman | 1:c7659c8af0d3 | 397 | */ |
codeman | 5:4a6254e2012f | 398 | void clipArea( int l, int t, int r, int b); |
codeman | 5:4a6254e2012f | 399 | |
codeman | 3:28e71ce23bfd | 400 | /** |
codeman | 3:28e71ce23bfd | 401 | * |
codeman | 3:28e71ce23bfd | 402 | * |
codeman | 5:4a6254e2012f | 403 | * |
codeman | 5:4a6254e2012f | 404 | */ |
codeman | 5:4a6254e2012f | 405 | void clipEnable( bool enable ); |
codeman | 5:4a6254e2012f | 406 | |
codeman | 5:4a6254e2012f | 407 | /** Sets color themes for widgets |
codeman | 5:4a6254e2012f | 408 | * |
codeman | 5:4a6254e2012f | 409 | * |
codeman | 3:28e71ce23bfd | 410 | */ |
codeman | 3:28e71ce23bfd | 411 | void theme(int ID, int EmbossDkColor, int EmbossLtColor, int TextColor0, int TextColor1, int TextColorDisabled, int Color0, int Color1, int ColorDisabled, int CommonBkColor, int Fontw); |
codeman | 5:4a6254e2012f | 412 | |
codeman | 3:28e71ce23bfd | 413 | /** |
codeman | 3:28e71ce23bfd | 414 | * |
codeman | 3:28e71ce23bfd | 415 | * |
codeman | 5:4a6254e2012f | 416 | * |
codeman | 5:4a6254e2012f | 417 | */ |
codeman | 5:4a6254e2012f | 418 | void groupBox( int ID, int x, int y, int width, int height, int options, int theme, int stringID) ; |
codeman | 5:4a6254e2012f | 419 | |
codeman | 5:4a6254e2012f | 420 | /** Analog Meter Widget |
codeman | 5:4a6254e2012f | 421 | * |
codeman | 5:4a6254e2012f | 422 | * |
codeman | 3:28e71ce23bfd | 423 | */ |
codeman | 1:c7659c8af0d3 | 424 | //ameter [ID][x][y][width][height][options][value][min][max][theme][stringID][type] |
codeman | 1:c7659c8af0d3 | 425 | void ameter( int ID, int x, int y, int w, int h, int options, int value, int min, int max, int theme, int stringID, int type); |
codeman | 5:4a6254e2012f | 426 | |
codeman | 5:4a6254e2012f | 427 | /** Touchzone Widget |
codeman | 1:c7659c8af0d3 | 428 | * |
codeman | 1:c7659c8af0d3 | 429 | * |
codeman | 1:c7659c8af0d3 | 430 | */ |
codeman | 1:c7659c8af0d3 | 431 | void touchZone( int ID, int x, int y, int w, int h, bool option); |
codeman | 5:4a6254e2012f | 432 | |
codeman | 5:4a6254e2012f | 433 | /** Button Widget |
codeman | 1:c7659c8af0d3 | 434 | * |
codeman | 1:c7659c8af0d3 | 435 | * |
codeman | 1:c7659c8af0d3 | 436 | */ |
codeman | 1:c7659c8af0d3 | 437 | void button( int ID, int x, int y, int w, int h, int option, int align, int radius, int theme, int stringID ); |
codeman | 5:4a6254e2012f | 438 | |
codeman | 5:4a6254e2012f | 439 | /** Display Bitmap |
codeman | 5:4a6254e2012f | 440 | * Display Bitmap at current x y \n |
codeman | 5:4a6254e2012f | 441 | * supports GIF BMP JPG \n |
codeman | 5:4a6254e2012f | 442 | * images are located in the /EZUSERS/FONTS and /EZSYS/FONTS directory |
codeman | 5:4a6254e2012f | 443 | * @param str filename |
codeman | 1:c7659c8af0d3 | 444 | */ |
codeman | 3:28e71ce23bfd | 445 | void image( char *str ); |
codeman | 5:4a6254e2012f | 446 | |
codeman | 5:4a6254e2012f | 447 | /** Display Bitmap |
codeman | 5:4a6254e2012f | 448 | * Display Bitmap at specfied x y \n |
codeman | 5:4a6254e2012f | 449 | * supports GIF BMP JPG \n |
codeman | 5:4a6254e2012f | 450 | * images are located in the /EZUSERS/FONTS and /EZSYS/FONTS directory |
codeman | 5:4a6254e2012f | 451 | * @param x x location to start bitmap |
codeman | 5:4a6254e2012f | 452 | * @param y y location to start bitmap |
codeman | 5:4a6254e2012f | 453 | * @param str filename |
codeman | 3:28e71ce23bfd | 454 | */ |
codeman | 3:28e71ce23bfd | 455 | void image( int x, int y, char *str ); |
codeman | 5:4a6254e2012f | 456 | |
codeman | 5:4a6254e2012f | 457 | /** StaticBox Widget |
codeman | 3:28e71ce23bfd | 458 | * |
codeman | 3:28e71ce23bfd | 459 | * |
codeman | 3:28e71ce23bfd | 460 | * |
codeman | 3:28e71ce23bfd | 461 | */ |
codeman | 3:28e71ce23bfd | 462 | void staticText( int ID, int x, int y, int w, int h, int option, int theme, int stringID); |
codeman | 5:4a6254e2012f | 463 | |
codeman | 5:4a6254e2012f | 464 | /** ProgressBar Widget |
codeman | 5:4a6254e2012f | 465 | * @param ID |
codeman | 5:4a6254e2012f | 466 | * @param x |
codeman | 5:4a6254e2012f | 467 | * @param y |
codeman | 5:4a6254e2012f | 468 | * @param w |
codeman | 5:4a6254e2012f | 469 | * @param h |
codeman | 5:4a6254e2012f | 470 | * @param option |
codeman | 5:4a6254e2012f | 471 | * @param value |
codeman | 5:4a6254e2012f | 472 | * @param max |
codeman | 5:4a6254e2012f | 473 | * @param theme |
codeman | 5:4a6254e2012f | 474 | * @param stringID |
codeman | 3:28e71ce23bfd | 475 | * |
codeman | 3:28e71ce23bfd | 476 | * |
codeman | 3:28e71ce23bfd | 477 | */ |
codeman | 3:28e71ce23bfd | 478 | void progressBar(int ID, int x, int y, int w, int h, int option, int value, int max, int theme, int stringID); |
codeman | 5:4a6254e2012f | 479 | |
codeman | 5:4a6254e2012f | 480 | /** Slider Widget |
codeman | 5:4a6254e2012f | 481 | * @param ID |
codeman | 5:4a6254e2012f | 482 | * @param x |
codeman | 5:4a6254e2012f | 483 | * @param y |
codeman | 5:4a6254e2012f | 484 | * @param w |
codeman | 5:4a6254e2012f | 485 | * @param h |
codeman | 5:4a6254e2012f | 486 | * @param option |
codeman | 5:4a6254e2012f | 487 | * @param range |
codeman | 5:4a6254e2012f | 488 | * @param res |
codeman | 5:4a6254e2012f | 489 | * @param value |
codeman | 5:4a6254e2012f | 490 | * @param theme |
codeman | 5:4a6254e2012f | 491 | * |
codeman | 5:4a6254e2012f | 492 | */ |
codeman | 5:4a6254e2012f | 493 | void slider(int ID, int x, int y, int w, int h, int option, int range, int res, int value, int theme); |
codeman | 5:4a6254e2012f | 494 | /** wstate |
codeman | 3:28e71ce23bfd | 495 | * |
codeman | 3:28e71ce23bfd | 496 | * |
codeman | 3:28e71ce23bfd | 497 | * |
codeman | 3:28e71ce23bfd | 498 | */ |
codeman | 3:28e71ce23bfd | 499 | void wstate( int ID, int option ); |
codeman | 5:4a6254e2012f | 500 | |
codeman | 5:4a6254e2012f | 501 | /** Wvalue set widget values |
codeman | 5:4a6254e2012f | 502 | * @param ID widget ID to update |
codeman | 5:4a6254e2012f | 503 | * @param value widget value to update |
codeman | 3:28e71ce23bfd | 504 | */ |
codeman | 4:f4dde1f3baad | 505 | void wvalue( int ID, int value); |
codeman | 5:4a6254e2012f | 506 | |
codeman | 5:4a6254e2012f | 507 | /** Wstack is a 32 level stack of widget events |
codeman | 5:4a6254e2012f | 508 | * @param type LIFO - Get the last widget event off the stack |
codeman | 5:4a6254e2012f | 509 | * @param type FIFO - Get the first widget event off the stack |
codeman | 5:4a6254e2012f | 510 | * @param type CLEAR - Clear stack |
codeman | 5:4a6254e2012f | 511 | * @returns widget id and even touch, release |
codeman | 3:28e71ce23bfd | 512 | */ |
codeman | 1:c7659c8af0d3 | 513 | unsigned int wstack( int type ); |
codeman | 5:4a6254e2012f | 514 | |
codeman | 0:65606abcae36 | 515 | /** Send a character directly to the serial interface |
codeman | 1:c7659c8af0d3 | 516 | * @param c The character to send to the |
codeman | 0:65606abcae36 | 517 | */ |
codeman | 0:65606abcae36 | 518 | int putc(int c); |
codeman | 1:c7659c8af0d3 | 519 | |
codeman | 0:65606abcae36 | 520 | /** Receive a character directly to the serial interface |
codeman | 1:c7659c8af0d3 | 521 | * @returns c The character received from the |
codeman | 0:65606abcae36 | 522 | */ |
codeman | 0:65606abcae36 | 523 | int getc(); |
codeman | 0:65606abcae36 | 524 | |
codeman | 0:65606abcae36 | 525 | /** |
codeman | 5:4a6254e2012f | 526 | * Numerical values for the EarthSEMPL commands. |
codeman | 0:65606abcae36 | 527 | */ |
codeman | 0:65606abcae36 | 528 | |
codeman | 0:65606abcae36 | 529 | enum Commands { |
codeman | 0:65606abcae36 | 530 | Command= 0, /**< Direct command. */ |
codeman | 0:65606abcae36 | 531 | Status= 1, |
codeman | 0:65606abcae36 | 532 | Clr_Screen= 2, /**< Clear to provided color. */ |
codeman | 0:65606abcae36 | 533 | Ping= 3, /**< Return Pong */ |
codeman | 0:65606abcae36 | 534 | zBeep= 4, /**< Beep provided duration |
codeman | 0:65606abcae36 | 535 | *(frequency fixed) */ |
codeman | 0:65606abcae36 | 536 | Light= 5, /**< \c 0 (off) to \c 100 (on) */ |
codeman | 0:65606abcae36 | 537 | Color= 6, |
codeman | 0:65606abcae36 | 538 | eColor_ID= 7, |
codeman | 0:65606abcae36 | 539 | Font= 10, /**< Font number. */ |
codeman | 0:65606abcae36 | 540 | Fontw= 11, /**< Font number widget. */ |
codeman | 0:65606abcae36 | 541 | Font_Orient= 12, /**< Horizontal or vertical. */ |
codeman | 0:65606abcae36 | 542 | Line_Width= 13, /**< 1 or 3. */ |
codeman | 0:65606abcae36 | 543 | Line_Type= 14, /**< 1=dot dot 2=dash dash. */ |
codeman | 1:c7659c8af0d3 | 544 | XY= 15, /**< X and Y. */ |
codeman | 0:65606abcae36 | 545 | StringID= 16, /**< SID ASCII String or File Name that |
codeman | 0:65606abcae36 | 546 | * ends with 0. */ |
codeman | 0:65606abcae36 | 547 | Plot= 17, /**< Place Pixel at X and Y. */ |
codeman | 0:65606abcae36 | 548 | Line= 18, /**< Draw a line to X and Y. */ |
codeman | 0:65606abcae36 | 549 | Box= 19, /**< Draws a Box to X and Y optional |
codeman | 0:65606abcae36 | 550 | * fill. */ |
codeman | 0:65606abcae36 | 551 | Circle= 20, /**< Draws a Circle with Radius optional |
codeman | 0:65606abcae36 | 552 | * fill */ |
codeman | 0:65606abcae36 | 553 | Arc= 21, /**< Draws an Arc with Radius and Begin |
codeman | 0:65606abcae36 | 554 | * Angle to End Angle. */ |
codeman | 0:65606abcae36 | 555 | Pie= 22, /**< Draws a Pie figure with Radius and |
codeman | 0:65606abcae36 | 556 | * Begin Angle to End Angle and fills |
codeman | 0:65606abcae36 | 557 | * it. */ |
codeman | 0:65606abcae36 | 558 | Picture= 24, /**< Places a Picture on display. */ |
codeman | 0:65606abcae36 | 559 | Print= 25, /**< Places the string on display which |
codeman | 0:65606abcae36 | 560 | * ends with 0. */ |
codeman | 0:65606abcae36 | 561 | Beep_Freq= 26, /**< Set the beeper frequency. */ |
codeman | 0:65606abcae36 | 562 | Calibrate= 28, /**< Calibrate touch screen. */ |
codeman | 0:65606abcae36 | 563 | zReset= 29, /**< Reset. */ |
codeman | 0:65606abcae36 | 564 | Rec_Macro= 30, /**< Record Macro to flash drive. */ |
codeman | 0:65606abcae36 | 565 | Play_Macro= 31, /**< Play Macro. */ |
codeman | 0:65606abcae36 | 566 | Stop_Macro= 32, /**< Stop Macro. */ |
codeman | 0:65606abcae36 | 567 | Pause_Macro= 33, /**< Pause n msec. */ |
codeman | 0:65606abcae36 | 568 | Loop_Macro= 34, /**< Loop on Macro. */ |
codeman | 0:65606abcae36 | 569 | Speed_Macro= 35, /**< Set the macro speed. */ |
codeman | 0:65606abcae36 | 570 | Peri= 36, |
codeman | 0:65606abcae36 | 571 | ConfigIO= 37, |
codeman | 0:65606abcae36 | 572 | IO= 38, |
codeman | 0:65606abcae36 | 573 | IOG= 39, |
codeman | 0:65606abcae36 | 574 | Security= 40, /**< Set drive security string. */ |
codeman | 0:65606abcae36 | 575 | Location= 41, /**< LID Location Vlaue. */ |
codeman | 0:65606abcae36 | 576 | Upgrade= 43, |
codeman | 0:65606abcae36 | 577 | Parameters= 45, |
codeman | 0:65606abcae36 | 578 | ClipEnable= 46, /**< Set clip Enable. */ |
codeman | 0:65606abcae36 | 579 | ClipArea= 47, /**< Set clip area. */ |
codeman | 0:65606abcae36 | 580 | /* Filesystem operations */ |
codeman | 0:65606abcae36 | 581 | Comment= 50, |
codeman | 0:65606abcae36 | 582 | Fsgetcwd= 51, |
codeman | 0:65606abcae36 | 583 | Fschdir= 52, |
codeman | 0:65606abcae36 | 584 | Fsmkdir= 53, |
codeman | 0:65606abcae36 | 585 | Fsrmdir= 54, |
codeman | 0:65606abcae36 | 586 | Fsdir= 55, |
codeman | 0:65606abcae36 | 587 | Fscopy= 56, |
codeman | 0:65606abcae36 | 588 | Fsrename= 57, |
codeman | 0:65606abcae36 | 589 | Fsremove= 58, |
codeman | 0:65606abcae36 | 590 | Fsmore= 59, |
codeman | 0:65606abcae36 | 591 | Format= 60, /**< Format Flash Drive if string1 = |
codeman | 0:65606abcae36 | 592 | * "ezLCD" */ |
codeman | 0:65606abcae36 | 593 | If= 61, |
codeman | 0:65606abcae36 | 594 | Cmd= 62, |
codeman | 0:65606abcae36 | 595 | /* Widget commands */ |
codeman | 0:65606abcae36 | 596 | Set_Button= 70, /**< Widget Button. */ |
codeman | 0:65606abcae36 | 597 | Set_CheckBox= 71, /**< Widget Checkbox. */ |
codeman | 0:65606abcae36 | 598 | Set_Gbox= 72, /**< Widget Group Box. */ |
codeman | 0:65606abcae36 | 599 | Set_RadioButton= 73, /**< Widget Radio Button. */ |
codeman | 0:65606abcae36 | 600 | Set_DMeter= 74, /**< Widget Digital Meter. */ |
codeman | 0:65606abcae36 | 601 | DMeter_Value= 75, /**< Set DMeter value. */ |
codeman | 0:65606abcae36 | 602 | Set_AMeter= 76, /**< Widget Analog Meter. */ |
codeman | 0:65606abcae36 | 603 | AMeter_Value= 77, /**< Set AMeter value. */ |
codeman | 0:65606abcae36 | 604 | AMeter_Color= 78, /**< Set AMeter color */ |
codeman | 0:65606abcae36 | 605 | Set_TouchZone= 79, /**< touch zone */ |
codeman | 0:65606abcae36 | 606 | Set_Dial= 80, /**< Widget RoundDial. */ |
codeman | 0:65606abcae36 | 607 | Set_Slider= 82, /**< Widget Slider. */ |
codeman | 0:65606abcae36 | 608 | Set_Progress= 85, /**< Widget Progress bar. */ |
codeman | 0:65606abcae36 | 609 | Progress_Value= 86, /**< Progress value. */ |
codeman | 0:65606abcae36 | 610 | Set_StaticText= 87, /**< Widget Static text. */ |
codeman | 0:65606abcae36 | 611 | StaticText_Value= 88, /**< Static text Value. */ |
codeman | 0:65606abcae36 | 612 | Choice= 89, /**< Widget get choice. */ |
codeman | 0:65606abcae36 | 613 | Widget_Theme= 90, /**< Widget Scheme. */ |
codeman | 0:65606abcae36 | 614 | Widget_Values= 91, /**<Widget Values (Slider and Dial in this version).*/ |
codeman | 0:65606abcae36 | 615 | Widget_State= 92, /**<Widget State (Button, checkbox, radiobutton in this version).*/ |
codeman | 0:65606abcae36 | 616 | // no id returns the id of the last touched |
codeman | 0:65606abcae36 | 617 | Mode= 98, |
codeman | 0:65606abcae36 | 618 | Comport= 99, |
codeman | 0:65606abcae36 | 619 | Xmax= 100, /**< Return Xmax width. */ |
codeman | 0:65606abcae36 | 620 | Ymax= 101, /**< Return Ymax height. */ |
codeman | 0:65606abcae36 | 621 | Wait= 102, /**< Wait for touch. */ |
codeman | 0:65606abcae36 | 622 | Waitn= 103, /**< Wait for no touch. */ |
codeman | 0:65606abcae36 | 623 | Waitt= 104, /**< Wait for touch. */ |
codeman | 0:65606abcae36 | 624 | Threshold= 105, /**< Touch threshold. */ |
codeman | 0:65606abcae36 | 625 | Verbose= 106, /**< Controls the verbose mode. */ |
codeman | 0:65606abcae36 | 626 | Lecho= 107, /**< Controls the echo mode. */ |
codeman | 0:65606abcae36 | 627 | Xtouch= 110, /**< return touchX. */ |
codeman | 0:65606abcae36 | 628 | Ytouch= 111, /**< return touchY. */ |
codeman | 0:65606abcae36 | 629 | Stouch= 112, /**< return touchS. */ |
codeman | 0:65606abcae36 | 630 | Wquiet= 113, |
codeman | 0:65606abcae36 | 631 | Wstack= 114, |
codeman | 0:65606abcae36 | 632 | }; |
codeman | 1:c7659c8af0d3 | 633 | |
codeman | 0:65606abcae36 | 634 | private: |
codeman | 0:65606abcae36 | 635 | Serial _ser; |
codeman | 0:65606abcae36 | 636 | virtual int _putc(int c); |
codeman | 0:65606abcae36 | 637 | virtual int _getc(); |
codeman | 0:65606abcae36 | 638 | }; |
codeman | 0:65606abcae36 | 639 | |
codeman | 0:65606abcae36 | 640 | |
codeman | 0:65606abcae36 | 641 | #endif |