// // Created by rhetenor on 14.12.18. // #ifndef FLIPPR_DRIVER_OUTPUT_IMPL_DISPLAYPINCONTROLLER_H #define FLIPPR_DRIVER_OUTPUT_IMPL_DISPLAYPINCONTROLLER_H #include "output/DisplayBoardPinController.h" #include "PinController.h" #include namespace flippR_driver { namespace output { namespace impl { class DisplayBoardPinController : public output::DisplayBoardPinController, public PinController { public: explicit DisplayBoardPinController(std::map pins_display); ~DisplayBoardPinController() override = default; void activate_displays() const override; void deactivate_displays() const override; void write_display(const items::Display &display) const override; private: void write_display_digit(uint8_t display_address, uint8_tcontent, uint8_tposition); void select_display_segment(uint8_tdigit); void select_display_digit(uint8_tcontent); void run_display(uint8_taddress); private: const std::map pins_display_board; }; } } } #endif //FLIPPR_DRIVER_DISPLAYPINCONTROLLER_H