still great refactor

This commit is contained in:
Jonas Zeunert
2018-12-14 01:58:05 +01:00
parent 2aee0f4f9d
commit 67edde9078
22 changed files with 243 additions and 190 deletions

View File

@@ -8,6 +8,9 @@
#include "output/impl/OutputDriver.h"
#include "output/impl/OutputPinController.h"
#include "output/impl/DriverBoardPinController.h"
#include "output/impl/SoundBoardPinController.h"
#include "DisplayBoardPinController.h"
namespace flippR_driver
{
@@ -25,7 +28,19 @@ std::shared_ptr<OutputDriver> get_OutputDriver(std::istream &output_pin_config,
{
utility::LoggerFactory::CreateOutputLogger();
std::shared_ptr<OutputPinController> output_gpio_interface = std::shared_ptr<OutputPinController>(create_OutputGPIOInterface(output_pin_config));
std::shared_ptr<std::mutex> output_pin_mutex();
json output_config;
output_pin_config >> output_config;
json driver_board_config = output_config.at("driver_board");
std::shared_ptr<DriverBoardPinController> driver_board_pin_controller(new impl::DriverBoardPinController(parse_pins_driver_board(driver_board_config), output_pin_mutex));
json sound_board_config = output_config.at("sound_board");
std::shared_ptr<SoundBoardPinController> sound_board_pin_controller(new impl::SoundBoardPinController(parse_pins_sound_board(sound_board_config), output_pin_mutex));
json display_board_config = output_config.at("display_board");
std::shared_ptr<DisplayBoardPinController> display_board_pin_controller(new impl::DisplayBoardPinController(parse_pins_display_board(display_board_config)));
auto solenoids = create_solenoids(solenoid_config, output_gpio_interface);
auto lamps = create_lamps(lamp_config, output_gpio_interface);
@@ -77,7 +92,7 @@ std::map<std::string, uint8_t> parse_pins_driver_board(json &driver_board_config
return pins_driver_board;
}
std::map<std::string, uint8_t> parse_pins_sound(json &sound_board_config)
std::map<std::string, uint8_t> parse_pins_sound_board(json &sound_board_config)
{
std::map<std::string, uint8_t> pins_sound;
try