Impelements and integrates DisplayFactory. Further does some refactoring

This commit is contained in:
Johannes Wendel
2020-01-06 12:42:04 +01:00
parent d90e904b4c
commit 4a520fb12a
21 changed files with 192 additions and 127 deletions

View File

@@ -15,14 +15,20 @@ namespace output
namespace detail
{
DisplayBoardPinController::DisplayBoardPinController(std::map<std::string, uint8_t> pins_display) :
pins_display_board(std::move(pins_display))
DisplayBoardPinController::DisplayBoardPinController(std::map<std::string, uint8_t> & pins_display) :
pins_display_board{std::move(pins_display)}
{
initialize_pins_output(0, pins_display.begin(), pins_display.end());
CLOG(INFO, OUTPUT_LOGGER) << "Created DisplayBoardPinController";
}
DisplayBoardPinController::DisplayBoardPinController() :
pins_display_board{}
{
CLOG(INFO, OUTPUT_LOGGER) << "Created DisplayBoardPinController without pin map";
}
void DisplayBoardPinController::activate_displays() const
{
write_pin(pins_display_board.at("run"), 1);
@@ -77,6 +83,12 @@ void DisplayBoardPinController::run_display(uint8_t address) const
write_pin(pins_display_board.at("display_select_" + std::to_string(address)), 1);
}
void DisplayBoardPinController::set_pin_map(std::map<std::string, uint8_t> & pins_display)
{
this->pins_display_board.insert(pins_display.begin(), pins_display.end());
initialize_pins_output(0, pins_display.begin(), pins_display.end());
}
}
}
}