Interface layer for the mbed boards ready for the JAVA library

Dependencies:   C12832 LM75B MMA7660 mbed FXOS8700Q

Fork of frdm_serial by Michael Berry

Committer:
Condo2k4
Date:
Tue Nov 24 20:30:53 2015 +0000
Revision:
3:990f8380da21
Parent:
2:2dcdbb85cae0
Child:
4:39e949908fc5
setBoardLED, setShieldLED (red+green), printLCDText, interrupts & getTemp working features.; ; To do/test: shield led blue, magno, accel(s), pots, button state

Who changed what in which revision?

UserRevisionLine numberNew contents of line
azazeal88 1:38f32fc3db2c 1 #include "mbed.h"
co657_mjrb6 0:6891aea05ef2 2 #include "C12832.h"
co657_mjrb6 0:6891aea05ef2 3 #include "LM75B.h"
azazeal88 1:38f32fc3db2c 4 #include "MMA7660.h"
azazeal88 1:38f32fc3db2c 5 #include "FXOS8700CQ.h"
azazeal88 1:38f32fc3db2c 6
azazeal88 1:38f32fc3db2c 7 //OUTPUTS
azazeal88 1:38f32fc3db2c 8
Condo2k4 3:990f8380da21 9 DigitalOut lr(PTB22), lg(PTE26), lb(PTB21);
Condo2k4 3:990f8380da21 10 PwmOut xr(D5), xg(D9), xb(D8);
azazeal88 1:38f32fc3db2c 11 C12832 lcd(D11, D13, D12, D7, D10);
co657_mjrb6 0:6891aea05ef2 12
azazeal88 1:38f32fc3db2c 13 //INPUTS
azazeal88 1:38f32fc3db2c 14
azazeal88 1:38f32fc3db2c 15 LM75B temp(D14, D15);
Condo2k4 2:2dcdbb85cae0 16 MMA7660 accel(D14, D15);
Condo2k4 2:2dcdbb85cae0 17 FXOS8700CQ magAccel(D14, D15, FXOS8700CQ_SLAVE_ADDR1);
azazeal88 1:38f32fc3db2c 18
Condo2k4 3:990f8380da21 19 InterruptIn sw2_int(SW2), sw3_int(SW3), up_int(A2), down_int(A3), left_int(A4), right_int(A5), fire_int(D4);
Condo2k4 3:990f8380da21 20 DigitalIn sw2(SW2), sw3(SW3), up(A2), down(A3), left(A4), right(A5), fire(D4);
azazeal88 1:38f32fc3db2c 21
azazeal88 1:38f32fc3db2c 22 AnalogIn pot1(A0), pot2(A1);
co657_mjrb6 0:6891aea05ef2 23
Condo2k4 3:990f8380da21 24 //INTERRUPT FLAGS
co657_mjrb6 0:6891aea05ef2 25
azazeal88 1:38f32fc3db2c 26 uint16_t flags;
azazeal88 1:38f32fc3db2c 27 #define SW2_DOWN 0x0001
azazeal88 1:38f32fc3db2c 28 #define SW2_UP 0x0002
azazeal88 1:38f32fc3db2c 29 #define SW3_UP 0x0004
azazeal88 1:38f32fc3db2c 30 #define SW3_DOWN 0x0008
azazeal88 1:38f32fc3db2c 31 #define UP_UP 0x0010
azazeal88 1:38f32fc3db2c 32 #define UP_DOWN 0x0020
azazeal88 1:38f32fc3db2c 33 #define DOWN_UP 0x0040
azazeal88 1:38f32fc3db2c 34 #define DOWN_DOWN 0x0080
azazeal88 1:38f32fc3db2c 35 #define LEFT_UP 0x0100
azazeal88 1:38f32fc3db2c 36 #define LEFT_DOWN 0x0200
azazeal88 1:38f32fc3db2c 37 #define RIGHT_UP 0x0400
azazeal88 1:38f32fc3db2c 38 #define RIGHT_DOWN 0x0800
azazeal88 1:38f32fc3db2c 39 #define FIRE_UP 0x1000
azazeal88 1:38f32fc3db2c 40 #define FIRE_DOWN 0x2000
co657_mjrb6 0:6891aea05ef2 41
azazeal88 1:38f32fc3db2c 42 //COMMS
co657_mjrb6 0:6891aea05ef2 43
co657_mjrb6 0:6891aea05ef2 44 Serial pc(USBTX, USBRX);
co657_mjrb6 0:6891aea05ef2 45
Condo2k4 2:2dcdbb85cae0 46 //INTERRUPT HANDLERS
Condo2k4 2:2dcdbb85cae0 47
azazeal88 1:38f32fc3db2c 48 void sw2Down(){ flags |= SW2_DOWN; }
azazeal88 1:38f32fc3db2c 49 void sw2Up() { flags |= SW2_UP; }
azazeal88 1:38f32fc3db2c 50
azazeal88 1:38f32fc3db2c 51 void sw3Down(){ flags |= SW3_DOWN; }
azazeal88 1:38f32fc3db2c 52 void sw3Up() { flags |= SW3_UP; }
azazeal88 1:38f32fc3db2c 53
azazeal88 1:38f32fc3db2c 54 void upDown(){ flags |= UP_DOWN; }
azazeal88 1:38f32fc3db2c 55 void upUp() { flags |= UP_UP; }
azazeal88 1:38f32fc3db2c 56
azazeal88 1:38f32fc3db2c 57 void downDown(){ flags |= DOWN_DOWN; }
azazeal88 1:38f32fc3db2c 58 void downUp() { flags |= DOWN_UP; }
azazeal88 1:38f32fc3db2c 59
azazeal88 1:38f32fc3db2c 60 void leftDown(){ flags |= LEFT_DOWN; }
azazeal88 1:38f32fc3db2c 61 void leftUp() { flags |= LEFT_UP; }
azazeal88 1:38f32fc3db2c 62
azazeal88 1:38f32fc3db2c 63 void rightDown(){ flags |= RIGHT_DOWN; }
azazeal88 1:38f32fc3db2c 64 void rightUp() { flags |= RIGHT_UP; }
azazeal88 1:38f32fc3db2c 65
azazeal88 1:38f32fc3db2c 66 void fireDown(){ flags |= FIRE_DOWN; }
azazeal88 1:38f32fc3db2c 67 void fireUp() { flags |= FIRE_UP; }
azazeal88 1:38f32fc3db2c 68
Condo2k4 2:2dcdbb85cae0 69 /*
Condo2k4 2:2dcdbb85cae0 70 Return the state of a requested pin
Condo2k4 2:2dcdbb85cae0 71 */
azazeal88 1:38f32fc3db2c 72 void readDigitalIn() {
azazeal88 1:38f32fc3db2c 73 bool val;
azazeal88 1:38f32fc3db2c 74 switch(pc.getc()) {
azazeal88 1:38f32fc3db2c 75 case '2': val=sw2; break;
Condo2k4 2:2dcdbb85cae0 76 case '3': val=sw3; break;
azazeal88 1:38f32fc3db2c 77 case 'u': val=up; break;
azazeal88 1:38f32fc3db2c 78 case 'd': val=down; break;
azazeal88 1:38f32fc3db2c 79 case 'l': val=left; break;
azazeal88 1:38f32fc3db2c 80 case 'r': val=right; break;
azazeal88 1:38f32fc3db2c 81 case 'f': val=fire; break;
azazeal88 1:38f32fc3db2c 82 default: return;
co657_mjrb6 0:6891aea05ef2 83 }
azazeal88 1:38f32fc3db2c 84 pc.printf(val?"t;":"f;");
co657_mjrb6 0:6891aea05ef2 85 }
co657_mjrb6 0:6891aea05ef2 86
Condo2k4 2:2dcdbb85cae0 87 /*
Condo2k4 2:2dcdbb85cae0 88 Return the state of a requested potentiometer
Condo2k4 2:2dcdbb85cae0 89 */
azazeal88 1:38f32fc3db2c 90 void readPot() {
azazeal88 1:38f32fc3db2c 91 float val;
azazeal88 1:38f32fc3db2c 92 switch(pc.getc()) {
azazeal88 1:38f32fc3db2c 93 case '1': val=pot1; break;
azazeal88 1:38f32fc3db2c 94 case '2': val=pot2; break;
azazeal88 1:38f32fc3db2c 95 default: return;
azazeal88 1:38f32fc3db2c 96 }
azazeal88 1:38f32fc3db2c 97 pc.printf("%6.4f;",val);
co657_mjrb6 0:6891aea05ef2 98 }
co657_mjrb6 0:6891aea05ef2 99
Condo2k4 3:990f8380da21 100 //BLOCK LEVEL READ & WRITE
Condo2k4 3:990f8380da21 101
Condo2k4 3:990f8380da21 102 void sendData(void* data, int len) {
Condo2k4 3:990f8380da21 103 for(char* c = (char*)data;len--;)
Condo2k4 3:990f8380da21 104 pc.putc(*(c++));
Condo2k4 3:990f8380da21 105 }
Condo2k4 3:990f8380da21 106
Condo2k4 3:990f8380da21 107 void readData(void* data, int len) {
Condo2k4 3:990f8380da21 108 char* c = (char*)data;
Condo2k4 3:990f8380da21 109 while(len>0) {
Condo2k4 3:990f8380da21 110 *c = pc.getc();
Condo2k4 3:990f8380da21 111 c++;
Condo2k4 3:990f8380da21 112 len--;
Condo2k4 3:990f8380da21 113 }
Condo2k4 3:990f8380da21 114 }
Condo2k4 3:990f8380da21 115
Condo2k4 3:990f8380da21 116 //PRETTY WAITING LEDS (Modified from Fred Barnes)
Condo2k4 3:990f8380da21 117
Condo2k4 3:990f8380da21 118 Ticker waitTicker;
Condo2k4 3:990f8380da21 119 int ctr;
Condo2k4 3:990f8380da21 120
Condo2k4 3:990f8380da21 121 uint8_t brilvl(int offset) {
Condo2k4 3:990f8380da21 122 if(offset>311) offset-=312;
Condo2k4 3:990f8380da21 123 if (offset < 52) return (uint8_t)(offset * 5);
Condo2k4 3:990f8380da21 124 if (offset < 156) return 255;
Condo2k4 3:990f8380da21 125 if (offset < 208) return (uint8_t)((207 - offset) * 5);
Condo2k4 3:990f8380da21 126 return 0;
Condo2k4 3:990f8380da21 127 }
Condo2k4 3:990f8380da21 128
Condo2k4 3:990f8380da21 129 void waitTick() {
Condo2k4 3:990f8380da21 130 ctr++;//
Condo2k4 3:990f8380da21 131 // if (ctr > 311) {
Condo2k4 3:990f8380da21 132 // ctr -= 312;
Condo2k4 3:990f8380da21 133 // }
Condo2k4 3:990f8380da21 134 // xr = brilvl( ctr )/255.0;
Condo2k4 3:990f8380da21 135 // xg = brilvl(ctr+104)/255.0;
Condo2k4 3:990f8380da21 136 // xb = brilvl(ctr+208)/255.0;
Condo2k4 3:990f8380da21 137 xr = 1;
Condo2k4 3:990f8380da21 138 xg = 1;
Condo2k4 3:990f8380da21 139 xb = 0;
Condo2k4 3:990f8380da21 140 }
Condo2k4 3:990f8380da21 141
Condo2k4 3:990f8380da21 142 void cleanup() {
Condo2k4 3:990f8380da21 143 lr = lg = lb = 1;
Condo2k4 3:990f8380da21 144 xr = xg = xb = 1;
Condo2k4 3:990f8380da21 145 temp.read();
Condo2k4 3:990f8380da21 146 lcd.cls();
Condo2k4 3:990f8380da21 147 pc.putc('+');
Condo2k4 3:990f8380da21 148 }
Condo2k4 3:990f8380da21 149
Condo2k4 3:990f8380da21 150 int main() {
azazeal88 1:38f32fc3db2c 151 //SETUP
Condo2k4 3:990f8380da21 152 pc.baud(9600);
azazeal88 1:38f32fc3db2c 153
Condo2k4 3:990f8380da21 154 lr = lg = lb = 1;
co657_mjrb6 0:6891aea05ef2 155
co657_mjrb6 0:6891aea05ef2 156 sw2_int.mode (PullUp);
co657_mjrb6 0:6891aea05ef2 157 sw2_int.fall(&sw2Down);
co657_mjrb6 0:6891aea05ef2 158 sw2_int.rise(&sw2Up);
co657_mjrb6 0:6891aea05ef2 159
co657_mjrb6 0:6891aea05ef2 160 sw3_int.mode (PullUp);
co657_mjrb6 0:6891aea05ef2 161 sw3_int.fall(&sw3Down);
co657_mjrb6 0:6891aea05ef2 162 sw3_int.rise(&sw3Up);
co657_mjrb6 0:6891aea05ef2 163
azazeal88 1:38f32fc3db2c 164 up_int.mode (PullUp);
azazeal88 1:38f32fc3db2c 165 up_int.fall(&upDown);
azazeal88 1:38f32fc3db2c 166 up_int.rise(&upUp);
azazeal88 1:38f32fc3db2c 167 up_int.disable_irq();
azazeal88 1:38f32fc3db2c 168
azazeal88 1:38f32fc3db2c 169 down_int.mode (PullUp);
azazeal88 1:38f32fc3db2c 170 down_int.fall(&downDown);
azazeal88 1:38f32fc3db2c 171 down_int.rise(&downUp);
azazeal88 1:38f32fc3db2c 172
azazeal88 1:38f32fc3db2c 173 left_int.mode (PullUp);
azazeal88 1:38f32fc3db2c 174 left_int.fall(&leftDown);
azazeal88 1:38f32fc3db2c 175 left_int.rise(&leftUp);
azazeal88 1:38f32fc3db2c 176
azazeal88 1:38f32fc3db2c 177 right_int.mode (PullUp);
azazeal88 1:38f32fc3db2c 178 right_int.fall(&rightDown);
azazeal88 1:38f32fc3db2c 179 right_int.rise(&rightUp);
azazeal88 1:38f32fc3db2c 180
azazeal88 1:38f32fc3db2c 181 fire_int.mode (PullUp);
azazeal88 1:38f32fc3db2c 182 fire_int.fall(&fireDown);
azazeal88 1:38f32fc3db2c 183 fire_int.rise(&fireUp);
co657_mjrb6 0:6891aea05ef2 184
Condo2k4 3:990f8380da21 185 //Pretty wait
Condo2k4 3:990f8380da21 186 ctr=0;
Condo2k4 3:990f8380da21 187 lcd.locate(0,0);
Condo2k4 3:990f8380da21 188 lcd.printf("Awaiting connection...");
Condo2k4 3:990f8380da21 189 waitTicker.attach(&waitTick,0.02);
Condo2k4 3:990f8380da21 190 while(pc.getc()!='-');
Condo2k4 3:990f8380da21 191 waitTicker.detach();
Condo2k4 3:990f8380da21 192 cleanup();
Condo2k4 3:990f8380da21 193
Condo2k4 3:990f8380da21 194 union {
Condo2k4 3:990f8380da21 195 float f;
Condo2k4 3:990f8380da21 196 int i;
Condo2k4 3:990f8380da21 197 char c[4];
Condo2k4 3:990f8380da21 198 } val;
azazeal88 1:38f32fc3db2c 199
azazeal88 1:38f32fc3db2c 200 for(;;) {
Condo2k4 2:2dcdbb85cae0 201 //Check if any interrupts fired
azazeal88 1:38f32fc3db2c 202 if(flags&SW2_UP) {
Condo2k4 3:990f8380da21 203 flags&=!SW2_UP;
Condo2k4 3:990f8380da21 204 pc.printf("!2u");
azazeal88 1:38f32fc3db2c 205 }
azazeal88 1:38f32fc3db2c 206 if(flags&SW2_DOWN) {
Condo2k4 3:990f8380da21 207 flags&=!SW2_DOWN;
Condo2k4 3:990f8380da21 208 pc.printf("!2d");
azazeal88 1:38f32fc3db2c 209 }
azazeal88 1:38f32fc3db2c 210 if(flags&SW3_UP) {
Condo2k4 3:990f8380da21 211 flags&=!SW3_UP;
Condo2k4 3:990f8380da21 212 pc.printf("!3u");
azazeal88 1:38f32fc3db2c 213 }
azazeal88 1:38f32fc3db2c 214 if(flags&SW3_DOWN) {
Condo2k4 3:990f8380da21 215 flags&=!SW3_DOWN;
Condo2k4 3:990f8380da21 216 pc.printf("!3d");
azazeal88 1:38f32fc3db2c 217 }
azazeal88 1:38f32fc3db2c 218 if(flags&UP_UP) {
Condo2k4 3:990f8380da21 219 flags&=!UP_UP;
Condo2k4 3:990f8380da21 220 pc.printf("!uu");
azazeal88 1:38f32fc3db2c 221 }
azazeal88 1:38f32fc3db2c 222 if(flags&UP_DOWN) {
Condo2k4 3:990f8380da21 223 flags&=!UP_DOWN;
Condo2k4 3:990f8380da21 224 pc.printf("!ud");
co657_mjrb6 0:6891aea05ef2 225 }
azazeal88 1:38f32fc3db2c 226 if(flags&DOWN_UP) {
Condo2k4 3:990f8380da21 227 flags&=!DOWN_UP;
Condo2k4 3:990f8380da21 228 pc.printf("!du");
azazeal88 1:38f32fc3db2c 229 }
azazeal88 1:38f32fc3db2c 230 if(flags&DOWN_DOWN) {
Condo2k4 3:990f8380da21 231 flags&=!DOWN_DOWN;
Condo2k4 3:990f8380da21 232 pc.printf("!dd");
azazeal88 1:38f32fc3db2c 233 }
azazeal88 1:38f32fc3db2c 234 if(flags&LEFT_UP) {
Condo2k4 3:990f8380da21 235 flags&=!LEFT_UP;
Condo2k4 3:990f8380da21 236 pc.printf("!lu");
azazeal88 1:38f32fc3db2c 237 }
azazeal88 1:38f32fc3db2c 238 if(flags&LEFT_DOWN) {
Condo2k4 3:990f8380da21 239 flags&=!LEFT_DOWN;
Condo2k4 3:990f8380da21 240 pc.printf("!ld");
co657_mjrb6 0:6891aea05ef2 241 }
azazeal88 1:38f32fc3db2c 242 if(flags&RIGHT_UP) {
Condo2k4 3:990f8380da21 243 flags&=!RIGHT_UP;
Condo2k4 3:990f8380da21 244 pc.printf("!ru");
azazeal88 1:38f32fc3db2c 245 }
azazeal88 1:38f32fc3db2c 246 if(flags&RIGHT_DOWN) {
Condo2k4 3:990f8380da21 247 flags&=!RIGHT_DOWN;
Condo2k4 3:990f8380da21 248 pc.printf("!rd");
azazeal88 1:38f32fc3db2c 249 }
azazeal88 1:38f32fc3db2c 250 if(flags&FIRE_UP) {
Condo2k4 3:990f8380da21 251 flags&=!FIRE_UP;
Condo2k4 3:990f8380da21 252 pc.printf("!fu");
azazeal88 1:38f32fc3db2c 253 }
azazeal88 1:38f32fc3db2c 254 if(flags&FIRE_DOWN) {
Condo2k4 3:990f8380da21 255 flags&=!FIRE_DOWN;
Condo2k4 3:990f8380da21 256 pc.printf("!fd");
co657_mjrb6 0:6891aea05ef2 257 }
azazeal88 1:38f32fc3db2c 258
azazeal88 1:38f32fc3db2c 259 //Check for host requests
co657_mjrb6 0:6891aea05ef2 260 if(pc.readable()) {
Condo2k4 3:990f8380da21 261 char cmd = pc.getc();
Condo2k4 3:990f8380da21 262 switch(cmd) {
azazeal88 1:38f32fc3db2c 263 case 'R': { //read digital input
azazeal88 1:38f32fc3db2c 264 readDigitalIn();
azazeal88 1:38f32fc3db2c 265 break;
azazeal88 1:38f32fc3db2c 266 }
azazeal88 1:38f32fc3db2c 267 case 'p': {
azazeal88 1:38f32fc3db2c 268 readPot();
Condo2k4 3:990f8380da21 269 break;
azazeal88 1:38f32fc3db2c 270 }
azazeal88 1:38f32fc3db2c 271 case 't': { //read temp
Condo2k4 3:990f8380da21 272 float t = temp.read();
Condo2k4 3:990f8380da21 273 sendData(&t,4);
azazeal88 1:38f32fc3db2c 274 break;
azazeal88 1:38f32fc3db2c 275 }
azazeal88 1:38f32fc3db2c 276 case 'a': {//read shield accel
Condo2k4 3:990f8380da21 277 float x, y, z;
Condo2k4 3:990f8380da21 278 x = accel.x();
Condo2k4 3:990f8380da21 279 y = accel.y();
Condo2k4 3:990f8380da21 280 z = accel.z();
Condo2k4 3:990f8380da21 281 sendData(&x,4);
Condo2k4 3:990f8380da21 282 sendData(&y,4);
Condo2k4 3:990f8380da21 283 sendData(&z,4);
azazeal88 1:38f32fc3db2c 284 break;
azazeal88 1:38f32fc3db2c 285 }
azazeal88 1:38f32fc3db2c 286 case 'l': { //shield led
azazeal88 1:38f32fc3db2c 287 float r, g, b;
Condo2k4 3:990f8380da21 288 readData(&r,4);
Condo2k4 3:990f8380da21 289 readData(&g,4);
Condo2k4 3:990f8380da21 290 readData(&b,4);
Condo2k4 3:990f8380da21 291 xr = 1.0f-r; xg = 1.0f-g; xb = 1.0f-b;
azazeal88 1:38f32fc3db2c 292 break;
azazeal88 1:38f32fc3db2c 293 }
azazeal88 1:38f32fc3db2c 294 case 'L': { // board led
Condo2k4 3:990f8380da21 295 char raw = pc.getc();
Condo2k4 3:990f8380da21 296 char r = ((raw>>2)&1)?0:1;
Condo2k4 3:990f8380da21 297 char g = ((raw>>1)&1)?0:1;
Condo2k4 3:990f8380da21 298 char b = (raw&1)?0:1;
azazeal88 1:38f32fc3db2c 299 lr = r; lg = g; lb = b;
azazeal88 1:38f32fc3db2c 300 break;
azazeal88 1:38f32fc3db2c 301 }
azazeal88 1:38f32fc3db2c 302 case 'M': { //read board magno
azazeal88 1:38f32fc3db2c 303 SRAWDATA m, a;
azazeal88 1:38f32fc3db2c 304 magAccel.get_data(&a,&m);
Condo2k4 3:990f8380da21 305 sendData(&m.x,2);
Condo2k4 3:990f8380da21 306 sendData(&m.y,2);
Condo2k4 3:990f8380da21 307 sendData(&m.z,2);
azazeal88 1:38f32fc3db2c 308 break;
azazeal88 1:38f32fc3db2c 309 }
azazeal88 1:38f32fc3db2c 310 case 'A': { //read board accel
azazeal88 1:38f32fc3db2c 311 SRAWDATA m, a;
azazeal88 1:38f32fc3db2c 312 magAccel.get_data(&a,&m);
Condo2k4 3:990f8380da21 313 sendData(&a.x,2);
Condo2k4 3:990f8380da21 314 sendData(&a.y,2);
Condo2k4 3:990f8380da21 315 sendData(&a.z,2);
azazeal88 1:38f32fc3db2c 316 break;
azazeal88 1:38f32fc3db2c 317 }
azazeal88 1:38f32fc3db2c 318 case 'P': { //set lcd position
Condo2k4 3:990f8380da21 319 unsigned char x, y;
Condo2k4 3:990f8380da21 320 x = pc.getc();
Condo2k4 3:990f8380da21 321 y = pc.getc();
azazeal88 1:38f32fc3db2c 322 lcd.locate(x,y);
Condo2k4 3:990f8380da21 323 break;
azazeal88 1:38f32fc3db2c 324 }
azazeal88 1:38f32fc3db2c 325 case 'S': { //print lcd text
Condo2k4 3:990f8380da21 326 char buff[256];
Condo2k4 3:990f8380da21 327 unsigned char len = pc.getc();
Condo2k4 3:990f8380da21 328 char * j= buff;
Condo2k4 3:990f8380da21 329 while(len>0) {
Condo2k4 3:990f8380da21 330 *j++=pc.getc();
Condo2k4 3:990f8380da21 331 len--;
azazeal88 1:38f32fc3db2c 332 }
Condo2k4 3:990f8380da21 333 *j=0;
Condo2k4 3:990f8380da21 334 lcd.printf(buff);
Condo2k4 3:990f8380da21 335 break;
azazeal88 1:38f32fc3db2c 336 }
Condo2k4 3:990f8380da21 337 case 'D': { //set lcd pixel
Condo2k4 3:990f8380da21 338 char x = pc.getc();
Condo2k4 3:990f8380da21 339 char y = pc.getc();
Condo2k4 3:990f8380da21 340 char c = pc.getc();
azazeal88 1:38f32fc3db2c 341 lcd.pixel(x,y,c);
Condo2k4 3:990f8380da21 342 break;
azazeal88 1:38f32fc3db2c 343 }
azazeal88 1:38f32fc3db2c 344 case 'C': { //clear lcd
azazeal88 1:38f32fc3db2c 345 lcd.cls();
Condo2k4 3:990f8380da21 346 break;
Condo2k4 3:990f8380da21 347 }
Condo2k4 3:990f8380da21 348 case '-': { //reconnection
Condo2k4 3:990f8380da21 349 cleanup(); break;
azazeal88 1:38f32fc3db2c 350 }
azazeal88 1:38f32fc3db2c 351 default: break;
co657_mjrb6 0:6891aea05ef2 352 }
co657_mjrb6 0:6891aea05ef2 353 }
co657_mjrb6 0:6891aea05ef2 354 }
co657_mjrb6 0:6891aea05ef2 355 }