Skip to content

Commit

Permalink
add spawner for hardware (#941)
Browse files Browse the repository at this point in the history
* add spwaner for hardware

* aplly suggestions from code review

* move comment

(cherry picked from commit 937817c)

# Conflicts:
#	controller_manager/src/controller_manager.cpp
  • Loading branch information
mamueluth authored and mergify[bot] committed Dec 12, 2023
1 parent d6b660e commit e8b1ff1
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions controller_manager/src/controller_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,7 @@ void ControllerManager::init_resource_manager(const std::string & robot_descript
// inactive (configured)
// BEGIN: Keep old functionality on for backwards compatibility (Remove at the end of 2023)
std::vector<std::string> configure_components_on_start = std::vector<std::string>({});
<<<<<<< HEAD
get_parameter("configure_components_on_start", configure_components_on_start);
if (!configure_components_on_start.empty())
{
Expand All @@ -427,10 +428,25 @@ void ControllerManager::init_resource_manager(const std::string & robot_descript
"hardware_components_initial_state.inactive",
rclcpp_lifecycle::State(
State::PRIMARY_STATE_INACTIVE, hardware_interface::lifecycle_state_names::INACTIVE));
=======
if (get_parameter("configure_components_on_start", configure_components_on_start))
{
RCLCPP_WARN_STREAM(
get_logger(),
"[Deprecated]: Usage of parameter \"activate_components_on_start\" is deprecated. Use "
"hardware_spawner instead.");
rclcpp_lifecycle::State inactive_state(
State::PRIMARY_STATE_INACTIVE, hardware_interface::lifecycle_state_names::INACTIVE);
for (const auto & component : configure_components_on_start)
{
resource_manager_->set_component_state(component, inactive_state);
}
>>>>>>> 937817c (add spawner for hardware (#941))
}

// BEGIN: Keep old functionality on for backwards compatibility (Remove at the end of 2023)
std::vector<std::string> activate_components_on_start = std::vector<std::string>({});
<<<<<<< HEAD
get_parameter("activate_components_on_start", activate_components_on_start);
rclcpp_lifecycle::State active_state(
State::PRIMARY_STATE_ACTIVE, hardware_interface::lifecycle_state_names::ACTIVE);
Expand All @@ -441,13 +457,22 @@ void ControllerManager::init_resource_manager(const std::string & robot_descript
"Parameter 'activate_components_on_start' is deprecated. "
"Components are activated per default. Don't use this parameters in combination with the new "
"'hardware_components_initial_state' parameter structure.");
=======
if (get_parameter("activate_components_on_start", activate_components_on_start))
{
RCLCPP_WARN_STREAM(
get_logger(),
"[Deprecated]: Usage of parameter \"activate_components_on_start\" is deprecated. Use "
"hardware_spawner instead.");
>>>>>>> 937817c (add spawner for hardware (#941))
rclcpp_lifecycle::State active_state(
State::PRIMARY_STATE_ACTIVE, hardware_interface::lifecycle_state_names::ACTIVE);
for (const auto & component : activate_components_on_start)
{
resource_manager_->set_component_state(component, active_state);
}
}
<<<<<<< HEAD
// END: Keep old functionality on humble for backwards compatibility (Remove at the end of 2023)
else
{
Expand All @@ -458,6 +483,17 @@ void ControllerManager::init_resource_manager(const std::string & robot_descript
State::PRIMARY_STATE_ACTIVE, hardware_interface::lifecycle_state_names::ACTIVE);
resource_manager_->set_component_state(component, active_state);
}
=======
// if both parameter are empty or non-existing preserve behavior where all components are
// activated per default
if (configure_components_on_start.empty() && activate_components_on_start.empty())
{
RCLCPP_WARN_STREAM(
get_logger(),
"[Deprecated]: Automatic activation of all hardware components will not be supported in the "
"future anymore. Use hardware_spawner instead.");
resource_manager_->activate_all_components();
>>>>>>> 937817c (add spawner for hardware (#941))
}
}

Expand Down

0 comments on commit e8b1ff1

Please sign in to comment.