Telliskivi 2+ peripherals library
HumanInterface.h@3:92390ebe4903, 2014-09-02 (annotated)
- Committer:
- Reiko
- Date:
- Tue Sep 02 15:31:07 2014 +0000
- Revision:
- 3:92390ebe4903
- Parent:
- 2:1ef07b660873
Changed ball debounce settings
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Reiko | 0:ccf47494061b | 1 | #ifndef HUMANINTERFACE_H |
Reiko | 0:ccf47494061b | 2 | #define HUMANINTERFACE_H |
Reiko | 0:ccf47494061b | 3 | |
Reiko | 0:ccf47494061b | 4 | #include "mbed.h" |
Reiko | 0:ccf47494061b | 5 | #include "PCA9555.h" |
Reiko | 0:ccf47494061b | 6 | #include "externalin.h" |
Reiko | 0:ccf47494061b | 7 | #include "ledout.h" |
Reiko | 0:ccf47494061b | 8 | #include "Serial.h" |
mlaane | 2:1ef07b660873 | 9 | #include "PinDetect.h" |
Reiko | 0:ccf47494061b | 10 | |
Reiko | 0:ccf47494061b | 11 | class HumanInterface { |
Reiko | 0:ccf47494061b | 12 | public: |
Reiko | 0:ccf47494061b | 13 | HumanInterface( |
Reiko | 1:9b2455659c7d | 14 | PCA9555 *ioExt, |
Reiko | 0:ccf47494061b | 15 | unsigned int yellowLedPin, unsigned int blueLedPin, unsigned int redLedPin, |
Reiko | 1:9b2455659c7d | 16 | unsigned int greenLedPin, unsigned int orangeLedPin, |
Reiko | 1:9b2455659c7d | 17 | PinName goalButtonPin, PinName startButtonPin, PinName ballSensePin |
Reiko | 0:ccf47494061b | 18 | ); |
Reiko | 0:ccf47494061b | 19 | |
Reiko | 0:ccf47494061b | 20 | enum Goal {YELLOW, BLUE, UNSET}; |
Reiko | 0:ccf47494061b | 21 | void setGoal(Goal goal); |
Reiko | 0:ccf47494061b | 22 | void setError(bool state); |
Reiko | 1:9b2455659c7d | 23 | void setGo(bool state); |
Reiko | 0:ccf47494061b | 24 | |
mlaane | 2:1ef07b660873 | 25 | bool isGoalChange(); |
mlaane | 2:1ef07b660873 | 26 | bool isStart(); |
mlaane | 2:1ef07b660873 | 27 | int getBallState(); |
Reiko | 0:ccf47494061b | 28 | |
Reiko | 0:ccf47494061b | 29 | private: |
Reiko | 0:ccf47494061b | 30 | Serial *pc; |
Reiko | 0:ccf47494061b | 31 | |
Reiko | 0:ccf47494061b | 32 | PCA9555 *extIO; |
Reiko | 1:9b2455659c7d | 33 | |
Reiko | 0:ccf47494061b | 34 | LedOut redLed; |
Reiko | 0:ccf47494061b | 35 | LedOut blueLed; |
Reiko | 0:ccf47494061b | 36 | LedOut yellowLed; |
Reiko | 1:9b2455659c7d | 37 | LedOut greenLed; |
Reiko | 1:9b2455659c7d | 38 | LedOut orangeLed; |
mlaane | 2:1ef07b660873 | 39 | |
mlaane | 2:1ef07b660873 | 40 | PinDetect buttonGoal; |
mlaane | 2:1ef07b660873 | 41 | PinDetect buttonStart; |
mlaane | 2:1ef07b660873 | 42 | PinDetect inputBall; |
mlaane | 2:1ef07b660873 | 43 | |
mlaane | 2:1ef07b660873 | 44 | |
mlaane | 2:1ef07b660873 | 45 | //Functions that PinDetect will call |
mlaane | 2:1ef07b660873 | 46 | void goalFall(); |
mlaane | 2:1ef07b660873 | 47 | void startRise(); |
mlaane | 2:1ef07b660873 | 48 | void ballFall(); |
mlaane | 2:1ef07b660873 | 49 | void ballRise(); |
mlaane | 2:1ef07b660873 | 50 | |
mlaane | 2:1ef07b660873 | 51 | bool goalButtonPressed; |
mlaane | 2:1ef07b660873 | 52 | bool startButtonReleased; |
mlaane | 2:1ef07b660873 | 53 | int ballState; |
mlaane | 2:1ef07b660873 | 54 | |
Reiko | 0:ccf47494061b | 55 | bool redBlinking; |
Reiko | 0:ccf47494061b | 56 | bool blueBlinking; |
Reiko | 0:ccf47494061b | 57 | bool yellowBlinking; |
Reiko | 1:9b2455659c7d | 58 | bool greenBlinking; |
Reiko | 1:9b2455659c7d | 59 | bool orangeBlinking; |
Reiko | 0:ccf47494061b | 60 | |
Reiko | 0:ccf47494061b | 61 | Ticker ledTicker; |
Reiko | 0:ccf47494061b | 62 | |
Reiko | 0:ccf47494061b | 63 | void blinkLeds(void); |
Reiko | 0:ccf47494061b | 64 | }; |
Reiko | 0:ccf47494061b | 65 | |
Reiko | 0:ccf47494061b | 66 | #endif |