AirsoftTimer software based on mbed
Dependencies: mbed TextLCD keypad
board/Board.h@19:2eba101d9c2c, 2015-05-23 (annotated)
- Committer:
- sillevl
- Date:
- Sat May 23 22:42:51 2015 +0000
- Revision:
- 19:2eba101d9c2c
- Parent:
- 18:abcebc4d0da0
- Child:
- 20:b89791ecceec
game selector working (solved strange behaviour with buttonEvent and lcd commands)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sillevl | 5:be598835bab0 | 1 | #ifndef BOARD_H |
sillevl | 5:be598835bab0 | 2 | #define BOARD_H |
sillevl | 5:be598835bab0 | 3 | |
sillevl | 5:be598835bab0 | 4 | #include "LCD.h" |
sillevl | 5:be598835bab0 | 5 | #include "Leds.h" |
sillevl | 5:be598835bab0 | 6 | #include "Key.h" |
sillevl | 5:be598835bab0 | 7 | #include "Buzzer.h" |
sillevl | 5:be598835bab0 | 8 | #include "Button.h" |
sillevl | 5:be598835bab0 | 9 | #include "Keyboard.h" |
sillevl | 5:be598835bab0 | 10 | |
sillevl | 18:abcebc4d0da0 | 11 | #include "FPointer.h" |
sillevl | 18:abcebc4d0da0 | 12 | |
sillevl | 16:e8e96bf22df1 | 13 | #include <vector> |
sillevl | 16:e8e96bf22df1 | 14 | |
sillevl | 5:be598835bab0 | 15 | // class for debug leds |
sillevl | 5:be598835bab0 | 16 | // class for eeprom memory |
sillevl | 5:be598835bab0 | 17 | // class for wireless (nordic chip or xbee) |
sillevl | 5:be598835bab0 | 18 | |
sillevl | 5:be598835bab0 | 19 | struct Pinouts{ |
sillevl | 5:be598835bab0 | 20 | PinName button; |
sillevl | 5:be598835bab0 | 21 | PinName key; |
sillevl | 5:be598835bab0 | 22 | LedPins leds; |
sillevl | 5:be598835bab0 | 23 | PinName buzzer; |
sillevl | 5:be598835bab0 | 24 | KeyboardPins keyboard; |
sillevl | 5:be598835bab0 | 25 | LcdPins lcd; |
sillevl | 5:be598835bab0 | 26 | }; |
sillevl | 5:be598835bab0 | 27 | |
sillevl | 18:abcebc4d0da0 | 28 | /*class ButtonListener |
sillevl | 16:e8e96bf22df1 | 29 | { |
sillevl | 16:e8e96bf22df1 | 30 | public: |
sillevl | 18:abcebc4d0da0 | 31 | uint32_t buttonEvent(uint32_t c){ |
sillevl | 18:abcebc4d0da0 | 32 | return 0; |
sillevl | 16:e8e96bf22df1 | 33 | }; |
sillevl | 18:abcebc4d0da0 | 34 | };*/ |
sillevl | 16:e8e96bf22df1 | 35 | |
sillevl | 5:be598835bab0 | 36 | class Board{ |
sillevl | 5:be598835bab0 | 37 | public: |
sillevl | 5:be598835bab0 | 38 | Board(Pinouts pinouts); |
sillevl | 5:be598835bab0 | 39 | |
sillevl | 5:be598835bab0 | 40 | LCD* lcd; |
sillevl | 5:be598835bab0 | 41 | Leds* leds; |
sillevl | 5:be598835bab0 | 42 | Key* key; |
sillevl | 5:be598835bab0 | 43 | Button* button; |
sillevl | 5:be598835bab0 | 44 | Keyboard* keyboard; |
sillevl | 5:be598835bab0 | 45 | Buzzer* buzzer; |
sillevl | 5:be598835bab0 | 46 | |
sillevl | 18:abcebc4d0da0 | 47 | //vector < ButtonListener * > listeners; |
sillevl | 17:19dbb1dbb640 | 48 | uint32_t keyboardButton(uint32_t index); |
sillevl | 16:e8e96bf22df1 | 49 | |
sillevl | 18:abcebc4d0da0 | 50 | //void attach(ButtonListener *bl); |
sillevl | 18:abcebc4d0da0 | 51 | //void attach(uint32_t (*fptr)(uint32_t)); |
sillevl | 19:2eba101d9c2c | 52 | template<class T> |
sillevl | 19:2eba101d9c2c | 53 | void attach(T* item, uint32_t(T::*method)(uint32_t)){ |
sillevl | 18:abcebc4d0da0 | 54 | _callback.attach(item, method); |
sillevl | 19:2eba101d9c2c | 55 | } |
sillevl | 16:e8e96bf22df1 | 56 | |
sillevl | 16:e8e96bf22df1 | 57 | protected: |
sillevl | 18:abcebc4d0da0 | 58 | //void buttonEvent(char c); |
sillevl | 18:abcebc4d0da0 | 59 | |
sillevl | 18:abcebc4d0da0 | 60 | FPointer _callback; // Called after each input |
sillevl | 16:e8e96bf22df1 | 61 | |
sillevl | 16:e8e96bf22df1 | 62 | |
sillevl | 5:be598835bab0 | 63 | }; |
sillevl | 5:be598835bab0 | 64 | |
sillevl | 5:be598835bab0 | 65 | #endif |