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 (#1729)
  • Loading branch information
saikishor authored Oct 7, 2024
1 parent 112baaf commit 1c7a5d1
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 @@ -346,7 +346,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 All @@ -370,7 +377,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());
}
}
robot_description_notification_timer_->cancel();
}
Expand Down

0 comments on commit 1c7a5d1

Please sign in to comment.