diff --git a/FlippR-Driver/contrib/json_example/output/Lamp_Config.json b/FlippR-Driver/contrib/json_example/output/Lamp_Config.json index 91efa93..2acdb6d 100644 --- a/FlippR-Driver/contrib/json_example/output/Lamp_Config.json +++ b/FlippR-Driver/contrib/json_example/output/Lamp_Config.json @@ -69,13 +69,11 @@ }, "E9" : { - "address" : 10, - "extender" : "extender_1" + "address" : 10 }, "E10" : { - "address" : 9, - "extender" : "extender_1" + "address" : 9 }, "E11" : { diff --git a/FlippR-Driver/src/output/OutputDriverFactory.cpp b/FlippR-Driver/src/output/OutputDriverFactory.cpp index 183f424..7257795 100644 --- a/FlippR-Driver/src/output/OutputDriverFactory.cpp +++ b/FlippR-Driver/src/output/OutputDriverFactory.cpp @@ -42,6 +42,7 @@ std::shared_ptr get_OutputDriver(const std::string & solenoid_conf auto lamps = get_items(lamp_config_path, driver_board_pin_controller); driver_board_pin_controller->clear(); + auto sound_board_pin_controller = std::make_shared(output_pin_mutex); auto sounds = get_items(sound_config_path, sound_board_pin_controller); diff --git a/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp b/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp index 660c2f5..c97aa6a 100644 --- a/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp +++ b/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp @@ -77,11 +77,12 @@ void DriverBoardPinController::deselect_all_muxes() void DriverBoardPinController::clear() { write_pin(data_pin, 0); + for(auto mux : mux_enable_pins) { select_mux(mux); - } + for(uint8_t i = 0; i<8; i++) { select_adress(i);