/*
 * GPIO_Pin.hpp
 *
 *  Created on: Feb 10, 2024
 *      Author: Gabriel
 */

#ifndef SRC_COMPONENTS_GPIO_PIN_HPP_
#define SRC_COMPONENTS_GPIO_PIN_HPP_

#include <inttypes.h>

class GPIO_Pin {
public:
	virtual int32_t init() = 0;
	virtual int32_t read(uint8_t* state) = 0;
	virtual int32_t write(uint8_t state) = 0;
	virtual int32_t set() = 0;
	virtual int32_t reset() = 0;
	virtual int32_t toggle() = 0;
};

#endif /* SRC_COMPONENTS_GPIO_PIN_HPP_ */
