Working read code with mode button
Dependencies: SDFileSystem emic2 mbed-rtos mbed
Fork of BAT_senior_design_Testnew by
Diff: main.cpp
- Revision:
- 18:5c91af9b4e7c
- Parent:
- 17:7e9308d14faa
- Child:
- 19:08c575082052
diff -r 7e9308d14faa -r 5c91af9b4e7c main.cpp --- a/main.cpp Sun Oct 22 22:34:06 2017 +0000 +++ b/main.cpp Wed Oct 25 14:31:33 2017 +0000 @@ -10,7 +10,8 @@ PwmOut myservo2(p22); DigitalIn pb2 (p19); DigitalOut led1(LED1); -DigitalOut led2(LED4); +DigitalOut led3(LED3); +DigitalOut led4(LED4); //AnalogIn linpot(p20); //Serial pc(USBTX, USBRX); @@ -24,9 +25,9 @@ // add mode, reset buttons int start = 0; int submit = 0; -// FIX THIS: button up: state = 2, button halfway: state = 0; button down: state = 1 int state = 2; -int state2 = 2; +int state2 = 0; // Button begins in up state +///int state2 = 2; int count = 0; // FUNCTIONS @@ -67,30 +68,40 @@ // TODO: Add states while(true) { // state 0 - button is up, pb = 0 - // if (pb == 0 && state == 3) { + if (pb2 == 0 && state2 == 3) { // nothing happens here, servo is still - // state2 = 0; - // } + state2 = 0; + led3 = 0; + led4 = 0; + } // state 1 - button is moving down, pb = 1 - // if (pb == 1 && state == 0) { - //button2.moveServoIn(); - //state2 = 1; - // } + if (pb2 == 1 && state2 == 0) { + button2.moveServoIn(); + state2 = 1; + led3 = 0; + led4 = 1; + } // state 2 - button is down, pb = 0 - // if (pb == 0 && state == 1) { + if (pb2 == 0 && state2 == 1) { // nothing happens here, servo is still - // state2 = 2; - // } + state2 = 2; + led3 = 1; + led4 = 0; + } // state 3 - button is moving up, pb = 1 - // if (pb == 1 && state == 2) { - //button2.moveServoOut(); - //state2 = 3; - // } + if (pb2 == 1 && state2 == 2) { + button2.moveServoOut(); + state2 = 3; + led3 = 1; + led4 = 1; + } // state 4 - handle bouncing while button is down - + /*if (pb2 = 1 && state2 == 2) { + + }*/ // button was up and is moving down, move servo in - if (pb2 == 1 && state2 == 2) { + /*if (pb2 == 1 && state2 == 2) { button2.moveServoIn(); state2 = 1; led2 = 0; @@ -101,6 +112,7 @@ state2 = 2; led2 = 1; } + */ Thread::wait(100); // wait till thread is done } } @@ -125,9 +137,9 @@ { // SETUP // pull up the pushbutton to prevent bouncing - //pb1.mode(PullUp); - //pb2.mode(PullUp); - //wait(.001); + pb1.mode(PullUp); + pb2.mode(PullUp); + wait(.001); // servo begins at 30 degrees // replace with a button setup function @@ -141,7 +153,7 @@ } led1 = 1; - led2 = 1; + //led2 = 1; Thread t3(button_thread); Thread t4(button2_thread); t3.start(button_thread);