Ben Gordon
/
ELEC351_GroupA_alternate
temp
Button.cpp
- Committer:
- BenRJG
- Date:
- 2018-12-06
- Revision:
- 0:2a4af0cb6e8d
File content as of revision 0:2a4af0cb6e8d:
#include "Button.hpp" BYTE BUTTON::poll(void) { switch(state) { case FALLEN : OUTPUT = 0; if(IN != 0){ OUTPUT = 1; state = RISING; timer.reset(); timer.start(); } break; case RISING : OUTPUT = 0; if(timer.read_ms() > 100){ timer.stop(); state = RISEN; } break; case RISEN : OUTPUT = 0; if(IN != 0){ OUTPUT = 2; state = FALLING; timer.reset(); timer.start(); } break; case FALLING : OUTPUT = 0; if(timer.read_ms() > 100){ timer.stop(); state = FALLEN; } break; } return OUTPUT; } BYTE BUTTON::rise(void) { switch(state) { case FALLEN : OUTPUT = 0; if(IN != 0){ OUTPUT = 1; state = RISING; timer.reset(); timer.start(); } break; case RISING : OUTPUT = 0; if(timer.read_ms() > 100){ timer.stop(); state = FALLEN; } break; } return OUTPUT; } /*BYTE BUTTON::fall(void) { return OUTPUT; }*/