/* * PinController.hpp * * Responsible for communicating with the actual GPIO hardware. * * Created on: May 6, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITIES_GPIOINTERFACE_H_ #define SRC_UTILITIES_GPIOINTERFACE_H_ #include #include namespace flippR_driver { class PinController { public: PinController(); virtual ~PinController() = default; protected: static void initialize_input_pin(uint8_t address); static void initialize_output_pin(uint8_t address); static void write_pin(uint8_t address, bool value); static bool read_pin(uint8_t address); public: static std::once_flag GPIO_LIB_INITIALIZED; }; } #endif