#ifndef DISPLAY_LED_H_
#define DISPLAY_LED_H_

/**** Includes ****/
#include <stdint.h>
#include "../board/dout.h"
#include "../board/pwm.h"

namespace hw {

/**** Public definitions ****/

class DisplayLed
{
	protected:
	board::DigitalOut* led0;
	board::DigitalOut* led1;
	board::DigitalOut* led2;
	board::DigitalOut* led3;
	board::DigitalOut* led4;
	board::DigitalOut* led5;
	board::PWMout* common;
	
	public:
	typedef enum {
		LED_DSP_DOT20,
		LED_DSP_DOT10,
		LED_DSP_BAR
	} style_t;
	
	DisplayLed(board::DigitalOut* led0, board::DigitalOut* led1, board::DigitalOut* led2, board::DigitalOut* led3, board::DigitalOut* led4, board::DigitalOut* led5, board::PWMout* common);
	~DisplayLed(void);
	
	void show_percent(uint8_t percent, style_t style);
	void write(uint8_t image);
	
	void set_brigthness(uint8_t percent);
};

/**** Public function declarations ****/

#ifdef TESTING
#endif

} //namespace

#endif /* DISPLAY_LED_H_ */