Skip to content

Commit

Permalink
[CM] Throw an exception when the components initially fail to be in t…
Browse files Browse the repository at this point in the history
…he required state (backport #1729) (#1777)
  • Loading branch information
mergify[bot] authored Oct 9, 2024
1 parent b009881 commit 5bf0da5
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions controller_manager/src/controller_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,14 @@ void ControllerManager::init_resource_manager(const std::string & robot_descript
RCLCPP_INFO(
get_logger(), "Setting component '%s' to '%s' state.", component.c_str(),
state.label().c_str());
resource_manager_->set_component_state(component, state);
if (
resource_manager_->set_component_state(component, state) ==
hardware_interface::return_type::ERROR)
{
throw std::runtime_error(
"Failed to set the initial state of the component : " + component + " to " +
state.label());
}
components_to_activate.erase(component);
}
}
Expand Down Expand Up @@ -459,7 +466,14 @@ void ControllerManager::init_resource_manager(const std::string & robot_descript
{
rclcpp_lifecycle::State active_state(
State::PRIMARY_STATE_ACTIVE, hardware_interface::lifecycle_state_names::ACTIVE);
resource_manager_->set_component_state(component, active_state);
if (
resource_manager_->set_component_state(component, active_state) ==
hardware_interface::return_type::ERROR)
{
throw std::runtime_error(
"Failed to set the initial state of the component : " + component + " to " +
active_state.label());
}
}
}
}
Expand Down

0 comments on commit 5bf0da5

Please sign in to comment.