Ball Sensor
ballsens.cpp@0:962fa32d6675, 2013-09-09 (annotated)
- Committer:
- Reiko
- Date:
- Mon Sep 09 17:07:33 2013 +0000
- Revision:
- 0:962fa32d6675
Initial version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Reiko | 0:962fa32d6675 | 1 | #include "ballsens.h" |
Reiko | 0:962fa32d6675 | 2 | |
Reiko | 0:962fa32d6675 | 3 | BallSens::BallSens(PCA9555 *ioExt, unsigned int ballPin) |
Reiko | 0:962fa32d6675 | 4 | : extIO(ioExt), ballPinNumber(ballPin) { |
Reiko | 0:962fa32d6675 | 5 | |
Reiko | 0:962fa32d6675 | 6 | ballState = false; |
Reiko | 0:962fa32d6675 | 7 | |
Reiko | 0:962fa32d6675 | 8 | extIO->change(this, &BallSens::callChange); |
Reiko | 0:962fa32d6675 | 9 | } |
Reiko | 0:962fa32d6675 | 10 | |
Reiko | 0:962fa32d6675 | 11 | bool BallSens::read() { |
Reiko | 0:962fa32d6675 | 12 | //return ballState; |
Reiko | 0:962fa32d6675 | 13 | return (extIO->read() & 0x0400) > 0; |
Reiko | 0:962fa32d6675 | 14 | } |
Reiko | 0:962fa32d6675 | 15 | |
Reiko | 0:962fa32d6675 | 16 | void BallSens::setState(bool newState) { |
Reiko | 0:962fa32d6675 | 17 | bool oldState = ballState; |
Reiko | 0:962fa32d6675 | 18 | ballState = newState; |
Reiko | 0:962fa32d6675 | 19 | /*if (oldState != newState) { |
Reiko | 0:962fa32d6675 | 20 | _callbackChange.call(); |
Reiko | 0:962fa32d6675 | 21 | }*/ |
Reiko | 0:962fa32d6675 | 22 | } |
Reiko | 0:962fa32d6675 | 23 | |
Reiko | 0:962fa32d6675 | 24 | void BallSens::change(void (*function)(void)) { |
Reiko | 0:962fa32d6675 | 25 | _callbackChange.attach(function); |
Reiko | 0:962fa32d6675 | 26 | } |
Reiko | 0:962fa32d6675 | 27 | /* |
Reiko | 0:962fa32d6675 | 28 | template<typename T> |
Reiko | 0:962fa32d6675 | 29 | void BallSens::change(T *object, void (T::*member)(void)) { |
Reiko | 0:962fa32d6675 | 30 | _callbackChange.attach(object, member); |
Reiko | 0:962fa32d6675 | 31 | } |
Reiko | 0:962fa32d6675 | 32 | */ |
Reiko | 0:962fa32d6675 | 33 | void BallSens::callChange(void) { |
Reiko | 0:962fa32d6675 | 34 | setState((extIO->read() & 0x0400) > 0); |
Reiko | 0:962fa32d6675 | 35 | _callbackChange.call(); |
Reiko | 0:962fa32d6675 | 36 | } |