diff --git a/FlippR-Driver/src/PinController.cpp b/FlippR-Driver/src/PinController.cpp index 4308774..ee1b9f2 100644 --- a/FlippR-Driver/src/PinController.cpp +++ b/FlippR-Driver/src/PinController.cpp @@ -54,7 +54,6 @@ void PinController::initialize_port_expander(const uint8_t i2c_address, const ui char hex_string[4]; sprintf(hex_string, "%X", i2c_address); CLOG(INFO, OUTPUT_LOGGER) << "MCP23017 initialized with i2c-address 0x" << hex_string << " and pin-base " << int(pin_base); - ; } diff --git a/FlippR-Driver/src/output/OutputDriverFactory.cpp b/FlippR-Driver/src/output/OutputDriverFactory.cpp index 17962cd..a147fe1 100644 --- a/FlippR-Driver/src/output/OutputDriverFactory.cpp +++ b/FlippR-Driver/src/output/OutputDriverFactory.cpp @@ -131,9 +131,7 @@ std::map> create_lamps(std::istream &l lamp_config >> lamp_config_json; json port_extenders = get_element("port_extenders", lamp_config_json, "lamp_config.json"); - initialize_port_extenders(port_extenders, pin_controller.get(), "lamp_config.json"); - json solenoids_json = get_element("lamps", lamp_config_json, "lamp_config.json"); std::map> lamps; @@ -164,11 +162,8 @@ std::map> create_sounds(std::istream sound_config >> sound_config_json; json port_extenders = get_element("port_extenders", sound_config_json, "sound_config.json"); - initialize_port_extenders(port_extenders, pin_controller.get(), "sound_config.json"); - std::chrono::milliseconds deactivation_time{ get_value("deactivation_time_milliseconds", sound_config_json, "solenoid_config.json") }; - json sounds_json = get_element("sounds", sound_config_json, "sound_config.json"); std::map> sounds; @@ -302,8 +297,6 @@ void initialize_port_extenders(json &port_extenders, PinController * pin_control uint8_t get_pin_base(json & object, json & port_extenders, const std::string & config_file_name) { - uint8_t pin_base{ 0 }; - if(object.find("extender") != object.end()) { auto extender_name = get_value("extender", object, config_file_name); @@ -312,11 +305,20 @@ uint8_t get_pin_base(json & object, json & port_extenders, const std::string & c auto actual_extender = get_value("name", extender, config_file_name); if (actual_extender == extender_name) { - pin_base = get_value("pin_base", extender, config_file_name); + try + { + return extender.at("pin_base").get(); + } + catch(json::exception &e) + { + CLOG(INFO, OUTPUT_LOGGER) << "pin_base not set for " << extender_name << " in " << config_file_name; + return 0; + } } } } - return pin_base; + CLOG(INFO, OUTPUT_LOGGER) << "Extender not set for " << object << " in " << config_file_name; + return 0; } json get_element(const std::string & name, json & object, const std::string & file_name) diff --git a/FlippR-Driver/src/output/items/detail/Flipper.cpp b/FlippR-Driver/src/output/items/detail/Flipper.cpp index 8c173f8..2ca9852 100644 --- a/FlippR-Driver/src/output/items/detail/Flipper.cpp +++ b/FlippR-Driver/src/output/items/detail/Flipper.cpp @@ -23,7 +23,7 @@ namespace detail Flipper::Flipper(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name) : Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), pin_controller(std::move(pin_controller)) { -// CLOG(INFO, OUTPUT_LOGGER) << "Created Flipper relay " << this->name << " with address " << this->address; + //CLOG(INFO , OUTPUT_LOGGER) << "Created flipper \"" << name << "\" with pin-base " << int(pin_base) << " and address " << int(address); } Flipper::~Flipper() diff --git a/FlippR-Driver/src/output/items/detail/Lamp.cpp b/FlippR-Driver/src/output/items/detail/Lamp.cpp index 08ad1f0..6f6e77a 100644 --- a/FlippR-Driver/src/output/items/detail/Lamp.cpp +++ b/FlippR-Driver/src/output/items/detail/Lamp.cpp @@ -26,7 +26,7 @@ Lamp::Lamp(std::shared_ptr pin_controller, const uint8 activated(false), activation_time(10) { - // CLOG(INFO, OUTPUT_LOGGER) << "Created lamp " << name << " with address " << address; + //CLOG(INFO , OUTPUT_LOGGER) << "Created lamp \"" << name << "\" with pin-base " << int(pin_base) << " and address " << int(address); } void Lamp::activate() diff --git a/FlippR-Driver/src/output/items/detail/Sound.cpp b/FlippR-Driver/src/output/items/detail/Sound.cpp index 714db62..ed1dfbf 100644 --- a/FlippR-Driver/src/output/items/detail/Sound.cpp +++ b/FlippR-Driver/src/output/items/detail/Sound.cpp @@ -23,7 +23,7 @@ namespace detail Sound::Sound(std::shared_ptr pin_controller, const uint8_t & address, const uint8_t & pin_base, const std::string & name, const std::chrono::milliseconds & deactivation_time, const u_int id) : detail::Item(std::move(name)), DriverBoardItem(pin_controller, address, pin_base), pin_controller(std::move(pin_controller)), deactivation_time(deactivation_time), id(id) { -// CLOG(INFO, OUTPUT_LOGGER) << "Created sound " << id << " with name " << name << " and address " << address; + //CLOG(INFO , OUTPUT_LOGGER) << "Created sound \"" << name << "\" with pin-base " << int(pin_base) << " and address " << int(address); } void Sound::play()