Interface layer for the mbed boards ready for the JAVA library
Dependencies: C12832 LM75B MMA7660 mbed FXOS8700Q
Fork of frdm_serial by
Diff: main.cpp
- Revision:
- 2:2dcdbb85cae0
- Parent:
- 1:38f32fc3db2c
- Child:
- 3:990f8380da21
--- a/main.cpp Fri Nov 20 15:50:38 2015 +0000 +++ b/main.cpp Fri Nov 20 22:10:58 2015 +0000 @@ -12,11 +12,11 @@ //INPUTS LM75B temp(D14, D15); -MMA7660 accel(SDA,SCL); -FXOS8700CQ magAccel(SDA,SCL,FXOS8700CQ_SLAVE_ADDR1); +MMA7660 accel(D14, D15); +FXOS8700CQ magAccel(D14, D15, FXOS8700CQ_SLAVE_ADDR1); InterruptIn sw2_int(PTC6), sw3_int(PTA4), up_int(A2), down_int(A3), left_int(A4), right_int(A5), fire_int(D5); -DigitalIn sw2(PTC6), sw3(PTA4), up(A2), down(A2A3, left(A4), right(A5), fire(D5); +DigitalIn sw2(PTC6), sw3(PTA4), up(A2), down(A3), left(A4), right(A5), fire(D5); AnalogIn pot1(A0), pot2(A1); @@ -42,6 +42,8 @@ Serial pc(USBTX, USBRX); +//INTERRUPT HANDLERS + void sw2Down(){ flags |= SW2_DOWN; } void sw2Up() { flags |= SW2_UP; } @@ -63,11 +65,14 @@ void fireDown(){ flags |= FIRE_DOWN; } void fireUp() { flags |= FIRE_UP; } +/* +Return the state of a requested pin +*/ void readDigitalIn() { bool val; switch(pc.getc()) { case '2': val=sw2; break; - case '3': val=sw3 break; + case '3': val=sw3; break; case 'u': val=up; break; case 'd': val=down; break; case 'l': val=left; break; @@ -78,6 +83,9 @@ pc.printf(val?"t;":"f;"); } +/* +Return the state of a requested potentiometer +*/ void readPot() { float val; switch(pc.getc()) { @@ -122,13 +130,11 @@ fire_int.mode (PullUp); fire_int.fall(&fireDown); fire_int.rise(&fireUp); - - tempSender.attach(&sendTemp, 2.0); pc.baud(115200); for(;;) { - //Check for interrupts + //Check if any interrupts fired if(flags&SW2_UP) { pc.printf("!2u;"); flags&=!SW2_UP; } @@ -183,7 +189,7 @@ readPot(); } case 't': { //read temp - pc.printf("%.4f;",temp.temp()); + pc.printf("%.4f;",temp.read()); break; } case 'a': {//read shield accel @@ -220,7 +226,6 @@ lcd.locate(x,y); } case 'S': { //print lcd text - int x, y; char c = pc.getc(); while(c!='"') { if(c=='\\') lcd.putc(pc.getc());