improve clear
This commit is contained in:
@@ -23,9 +23,10 @@ DriverBoardPinController::DriverBoardPinController(std::shared_ptr<std::mutex> o
|
|||||||
|
|
||||||
void DriverBoardPinController::activate(items::DriverBoardItem &driver_board_item)
|
void DriverBoardPinController::activate(items::DriverBoardItem &driver_board_item)
|
||||||
{
|
{
|
||||||
this->deselect_all_muxes();
|
|
||||||
std::lock_guard<std::mutex> guard(*output_item_mutex);
|
std::lock_guard<std::mutex> guard(*output_item_mutex);
|
||||||
|
|
||||||
|
this->deselect_all_muxes();
|
||||||
|
|
||||||
uint8_t address = driver_board_item.get_address();
|
uint8_t address = driver_board_item.get_address();
|
||||||
|
|
||||||
this->select_adress(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)
|
void DriverBoardPinController::deactivate(items::DriverBoardItem &driver_board_item)
|
||||||
{
|
{
|
||||||
this->deselect_all_muxes();
|
|
||||||
std::lock_guard<std::mutex> guard(*output_item_mutex);
|
std::lock_guard<std::mutex> guard(*output_item_mutex);
|
||||||
|
|
||||||
|
this->deselect_all_muxes();
|
||||||
|
|
||||||
uint8_t address = driver_board_item.get_address();
|
uint8_t address = driver_board_item.get_address();
|
||||||
|
|
||||||
this->select_adress(address);
|
this->select_adress(address);
|
||||||
@@ -77,13 +79,14 @@ void DriverBoardPinController::clear()
|
|||||||
write_pin(data_pin, 0);
|
write_pin(data_pin, 0);
|
||||||
for(auto mux : mux_enable_pins)
|
for(auto mux : mux_enable_pins)
|
||||||
{
|
{
|
||||||
for(uint8_t i = 0; i<8; i++)
|
select_mux(mux);
|
||||||
{
|
|
||||||
this->deselect_all_muxes();
|
|
||||||
select_mux(mux);
|
|
||||||
select_adress(i);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
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)
|
void DriverBoardPinController::set_address_pins(std::array<uint8_t, 3> address_pins)
|
||||||
|
|||||||
Reference in New Issue
Block a user