#ifndef DIGITAL_INPUT_H_
#define DIGITAL_INPUT_H_

/**** Includes ****/
#include <stdint.h>

namespace board {

/**** Public definitions ****/
const uint8_t DIN_LOW  = 0;
const uint8_t DIN_HIGH = 1;

class DigitalIn
{
	protected:
	uint8_t gpio_ch;
	uint8_t invert;
	
	public:
	DigitalIn(uint8_t gpio_ch, uint8_t inverted, uint8_t init_value);
	~DigitalIn(void);
	
	uint8_t last_read;
	
	uint8_t read(void);
};

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

#ifdef TESTING
#endif

} //namespace

#endif /* DIGITAL_INPUT_H_ */