Letters in typing mode
Dependencies: SDFileSystem emic2 mbed-rtos mbed
Fork of BAT_Type_letter by
button.cpp
- Committer:
- aismail1997
- Date:
- 2017-10-27
- Revision:
- 19:ceac47be2e64
- Parent:
- 14:581a3b02f4c3
- Child:
- 21:c5df903f068a
File content as of revision 19:ceac47be2e64:
#include "mbed.h" #include "button.h" // button constructor button::button(PwmOut servo, DigitalIn pb) : servo(servo), pb(pb), press(0), state(0) {} //button::button(PwmOut servo, DigitalIn pb, AnalogIn lp) // : servo(servo), pb(pb), linpot(lp), mode(0), state(0) {} // FUNCTIONS // get servo pin PwmOut button::getServoPin() { return servo; } // get servo pin void button::setState(int mystate) { state = mystate; } // get servo pin /*void button::setMode(int mymode) { mode = mymode; }*/ // get current state of the button int button::getState() { return state; } int button::getPress() { return press; } // move servo into the slot void button::moveServoIn() { //myled = 1; // rotate 90 degrees one way for(int i=3; i<=7; i++) { servo = i/100.0; wait(0.01); } } // move servo out of the slot void button::moveServoOut() { //myled = 0; for(int i=7; i>3; i--) { servo = i/100.0; wait(0.01); } } int button::updateState() { //myled = 0; // state 0 - button is up, pb = 0 if (pb == 0 && state == 3) { // nothing happens here, servo is still state = 0; } // state 1 - button is moving down, pb = 1 if (pb == 1 && state == 0) { moveServoIn(); state = 1; press = 1; } // state 2 - button is down, pb = 0 if (pb == 0 && state == 1) { // nothing happens here, servo is still state = 2; } // state 3 - button is moving up, pb = 1 if (pb == 1 && state == 2) { moveServoOut(); state = 3; press = 0; } // state 4 - handle debouncing while button is down /*if (pb1 = 1 && state == 2) { count++; }*/ return state; }