#ifndef OD_OUT_H_
#define OD_OUT_H_

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

namespace board {

/**** Public definitions ****/
const uint8_t OD_OFF = 0;
const uint8_t OD_ON = 1;

class OpenDrainOut
{
	protected:
	uint8_t gpio_ch;
	uint8_t last_set;
	
	public:
	OpenDrainOut(uint8_t gpio_ch);
	~OpenDrainOut(void);
	
	void write(uint8_t state);
	uint8_t get_set_state(void);
};

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

#ifdef TESTING
#endif

} //namespace

#endif /* OD_OUT_H_ */