1D-Pong game based on a LED strip with 150 LPD6803-controlled pixels. Game keeps score for 'best-of-21' game. Written for KL25Z

Dependencies:   MODSERIAL mbed

Committer:
vsluiter
Date:
Sat Sep 07 10:59:26 2013 +0000
Revision:
26:448ee3b0b481
Parent:
21:a554229e884b
Adapted button with software debounce, made left button a bit easier (hitting sooner is OK)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vsluiter 21:a554229e884b 1 #include "GameButton.h"
vsluiter 21:a554229e884b 2
vsluiter 21:a554229e884b 3 GameButton::GameButton(PinName pin, float time=0.5)
vsluiter 21:a554229e884b 4 {
vsluiter 21:a554229e884b 5 pushflag = false;
vsluiter 21:a554229e884b 6 intpin = new InterruptIn(pin);
vsluiter 21:a554229e884b 7 (*intpin).mode(PullUp);
vsluiter 21:a554229e884b 8 (*intpin).fall(this, &GameButton::PushHandler);
vsluiter 21:a554229e884b 9 m_time = time;
vsluiter 21:a554229e884b 10 m_timeoutactive = false;
vsluiter 26:448ee3b0b481 11 inpin = pin;
vsluiter 21:a554229e884b 12 //timeout = new Timeout(m_time);
vsluiter 21:a554229e884b 13 }
vsluiter 21:a554229e884b 14
vsluiter 21:a554229e884b 15 void GameButton::PushHandler(void)
vsluiter 21:a554229e884b 16 {
vsluiter 26:448ee3b0b481 17 DigitalIn input(inpin);
vsluiter 26:448ee3b0b481 18 wait_ms(5);
vsluiter 26:448ee3b0b481 19 if(!input)
vsluiter 26:448ee3b0b481 20 {
vsluiter 26:448ee3b0b481 21 pushflag = true;
vsluiter 26:448ee3b0b481 22 m_timeoutactive = true;
vsluiter 26:448ee3b0b481 23 timeout.attach(this, &GameButton::TimeOutHandler, m_time);
vsluiter 26:448ee3b0b481 24 pushhandlercallback();
vsluiter 26:448ee3b0b481 25 }
vsluiter 21:a554229e884b 26 }
vsluiter 21:a554229e884b 27
vsluiter 21:a554229e884b 28 void GameButton::TimeOutHandler(void)
vsluiter 21:a554229e884b 29 {
vsluiter 21:a554229e884b 30 m_timeoutactive = false;
vsluiter 21:a554229e884b 31 }
vsluiter 21:a554229e884b 32
vsluiter 21:a554229e884b 33 bool GameButton::getTimeoutActive(void)
vsluiter 21:a554229e884b 34 {
vsluiter 21:a554229e884b 35 return m_timeoutactive;
vsluiter 21:a554229e884b 36 }