/* * OutputGPIOInterface.h * * Created on: May 31, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef SRC_UTILITIES_OUTPUTGPIOINTERFACE_H_ #define SRC_UTILITIES_OUTPUTGPIOINTERFACE_H_ #include "PinController.h" #include namespace flippR_driver { namespace output { namespace items { class DriverBoardItem; } class OutputPinController : public PinController { public: virtual ~OutputPinController() = default; virtual void activate(items::DriverBoardItem &driver_board_item) = 0; virtual void deactivate(items::DriverBoardItem &driver_board_item) = 0; protected: static void initialize_i2c_address(uint8_t i2c_address, uint8_t pin_base); static void initialize_pins_output(uint8_t pin_base, std::map::iterator begin, std::map::iterator end); }; } } #endif