disable muxes for write
This commit is contained in:
@@ -23,6 +23,7 @@ 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);
|
||||
|
||||
uint8_t address = driver_board_item.get_address();
|
||||
@@ -31,10 +32,12 @@ void DriverBoardPinController::activate(items::DriverBoardItem &driver_board_ite
|
||||
this->select_adress(address);
|
||||
|
||||
write_pin(this->data_pin, true);
|
||||
this->deselect_all_muxes();
|
||||
}
|
||||
|
||||
void DriverBoardPinController::deactivate(items::DriverBoardItem &driver_board_item)
|
||||
{
|
||||
this->deselect_all_muxes();
|
||||
std::lock_guard<std::mutex> guard(*output_item_mutex);
|
||||
|
||||
uint8_t address = driver_board_item.get_address();
|
||||
@@ -43,6 +46,7 @@ void DriverBoardPinController::deactivate(items::DriverBoardItem &driver_board_i
|
||||
this->select_adress(address);
|
||||
|
||||
write_pin(this->data_pin, false);
|
||||
this->deselect_all_muxes();
|
||||
}
|
||||
|
||||
void DriverBoardPinController::select_adress(uint8_t address)
|
||||
@@ -60,7 +64,7 @@ void DriverBoardPinController::set_address_pins(std::array<uint8_t, 3> address_p
|
||||
for(auto pin : address_pins)
|
||||
{
|
||||
initialize_output_pin(pin);
|
||||
write_pin(pin, 0);
|
||||
write_pin(pin, 1);
|
||||
}
|
||||
}
|
||||
void DriverBoardPinController::set_mux_pins(std::array<uint8_t, 13> mux_enable_pins)
|
||||
@@ -70,7 +74,7 @@ void DriverBoardPinController::set_mux_pins(std::array<uint8_t, 13> mux_enable_p
|
||||
for(auto pin : mux_enable_pins)
|
||||
{
|
||||
initialize_output_pin(pin);
|
||||
write_pin(pin, 0);
|
||||
write_pin(pin, 1);
|
||||
}
|
||||
}
|
||||
void DriverBoardPinController::set_data_pin(uint8_t data_pin)
|
||||
@@ -91,7 +95,6 @@ void DriverBoardPinController::set_run_pin(uint8_t run_pin)
|
||||
|
||||
void DriverBoardPinController::select_mux(uint8_t mux)
|
||||
{
|
||||
this->deselect_all_muxes();
|
||||
write_pin(this->mux_enable_pins[mux], 0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user