improve clear

This commit is contained in:
Jonas Zeunert
2020-01-16 20:36:28 +01:00
parent 9748239aab
commit fe96470089

View File

@@ -23,9 +23,10 @@ DriverBoardPinController::DriverBoardPinController(std::shared_ptr<std::mutex> o
void DriverBoardPinController::activate(items::DriverBoardItem &driver_board_item)
{
this->deselect_all_muxes();
std::lock_guard<std::mutex> guard(*output_item_mutex);
this->deselect_all_muxes();
uint8_t address = driver_board_item.get_address();
this->select_adress(address);
@@ -38,9 +39,10 @@ void DriverBoardPinController::activate(items::DriverBoardItem &driver_board_ite
void DriverBoardPinController::deactivate(items::DriverBoardItem &driver_board_item)
{
this->deselect_all_muxes();
std::lock_guard<std::mutex> guard(*output_item_mutex);
this->deselect_all_muxes();
uint8_t address = driver_board_item.get_address();
this->select_adress(address);
@@ -77,13 +79,14 @@ void DriverBoardPinController::clear()
write_pin(data_pin, 0);
for(auto mux : mux_enable_pins)
{
for(uint8_t i = 0; i<8; i++)
{
this->deselect_all_muxes();
select_mux(mux);
select_adress(i);
}
select_mux(mux);
}
for(uint8_t i = 0; i<8; i++)
{
select_adress(i);
}
this->deselect_all_muxes();
}
void DriverBoardPinController::set_address_pins(std::array<uint8_t, 3> address_pins)