25 lines
496 B
C++
25 lines
496 B
C++
#ifndef __INTERFACES_GPIO_INTERFACE_H__
|
|
#define __INTERFACES_GPIO_INTERFACE_H__
|
|
|
|
#include <cstdint>
|
|
|
|
namespace pinetime::interfaces {
|
|
|
|
class GpioInterface
|
|
{
|
|
public:
|
|
enum class direction {IN, OUT};
|
|
|
|
virtual void set_direction(direction, bool) = 0;
|
|
virtual uint32_t get() = 0;
|
|
virtual void set() = 0;
|
|
virtual void clear() = 0;
|
|
virtual void toggle() = 0;
|
|
|
|
virtual void handle() = 0;
|
|
virtual uint32_t pin_number() = 0;
|
|
};
|
|
|
|
}
|
|
#endif
|