AirsoftTimer software based on mbed

Dependencies:   mbed TextLCD keypad

board/Board.h

Committer:
sillevl
Date:
2015-05-23
Revision:
17:19dbb1dbb640
Parent:
16:e8e96bf22df1
Child:
18:abcebc4d0da0

File content as of revision 17:19dbb1dbb640:

#ifndef BOARD_H
#define BOARD_H

#include "LCD.h" 
#include "Leds.h"
#include "Key.h"
#include "Buzzer.h"
#include "Button.h"
#include "Keyboard.h"

#include <vector>

// class for debug leds
// class for eeprom memory
// class for wireless (nordic chip or xbee)

struct Pinouts{
    PinName button;
    PinName key;
    LedPins leds;
    PinName buzzer;
    KeyboardPins keyboard;
    LcdPins lcd;
};

class ButtonListener
{
  public:
    virtual void buttonEvent(char c){
        
    };
};

class Board{
    public:
    Board(Pinouts pinouts);
    
    LCD* lcd;
    Leds* leds;
    Key* key;
    Button* button;
    Keyboard* keyboard;
    Buzzer* buzzer;
    
    vector < ButtonListener * > listeners;
    uint32_t keyboardButton(uint32_t index);
    
    void attach(ButtonListener *bl);
    
    protected:
    void buttonEvent(char c);

    
};

#endif