Telliskivi 2+ peripherals library

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?

UserRevisionLine numberNew 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