Skip to content

Commit

Permalink
feat(autoware_control_center): update startup callback
Browse files Browse the repository at this point in the history
Signed-off-by: Alexey Panferov <lexavtanke@gmail.com>
  • Loading branch information
lexavtanke committed Feb 13, 2024
1 parent 8cc2f44 commit a91a223
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions common/autoware_control_center/src/autoware_control_center.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ AutowareControlCenter::AutowareControlCenter(const rclcpp::NodeOptions & options
std::chrono::milliseconds lease_duration_(get_parameter("lease_duration").as_int());

callback_group_mut_ex_ = create_callback_group(rclcpp::CallbackGroupType::MutuallyExclusive);

using std::placeholders::_1;
using std::placeholders::_2;
srv_register_ = create_service<autoware_control_center_msgs::srv::AutowareNodeRegister>(
Expand Down Expand Up @@ -123,9 +123,15 @@ void AutowareControlCenter::deregister_node(
void AutowareControlCenter::startup_callback()
{
// wait for 10 sec and
// check if some node has been registered
if (node_registry_.is_empty()) {
RCLCPP_INFO(get_logger(), "Node register map is empty. Countdown is %d", countdown);
}
if (countdown < 1 && node_registry_.is_empty() && startup) {
RCLCPP_INFO(
get_logger(), "Startup timeout is over. Map is empty. Start re-registering procedure.");
this->startup_timer_->cancel();
RCLCPP_INFO(get_logger(), "Startup timer stop.");
// list auwoware nodes

Check warning on line 135 in common/autoware_control_center/src/autoware_control_center.cpp

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (auwoware)
std::map<std::string, std::vector<std::string>> srv_list = this->get_service_names_and_types();
auto it = srv_list.begin();
Expand All @@ -143,7 +149,7 @@ void AutowareControlCenter::startup_callback()
rclcpp::Client<autoware_control_center_msgs::srv::AutowareControlCenterDeregister>::SharedPtr
dereg_client_ =

Check warning on line 150 in common/autoware_control_center/src/autoware_control_center.cpp

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (dereg)
create_client<autoware_control_center_msgs::srv::AutowareControlCenterDeregister>(
pair.first);
pair.first);
autoware_control_center_msgs::srv::AutowareControlCenterDeregister::Request::SharedPtr req =
std::make_shared<
autoware_control_center_msgs::srv::AutowareControlCenterDeregister::Request>();
Expand All @@ -156,7 +162,7 @@ void AutowareControlCenter::startup_callback()
auto response_received_callback = [this](ServiceResponseFuture future) {
auto response = future.get();
RCLCPP_INFO(
get_logger(), "response: %d, %s", response->status.status, response->name_node.c_str());
get_logger(), "Deregister response: %d, %s", response->status.status, response->name_node.c_str());

if (response->status.status == 1) {
RCLCPP_INFO(get_logger(), "Node was deregistered");
Expand All @@ -172,13 +178,6 @@ void AutowareControlCenter::startup_callback()
}
startup = false;
}
// check if some node has been registered
if (node_registry_.is_empty()) {
RCLCPP_INFO(get_logger(), "Node register map is empty. Countdown is %d", countdown);
} else {
RCLCPP_INFO(get_logger(), "Some node was registered. Stop timer.");
this->startup_timer_->cancel();
}
countdown -= 1;
}

Expand Down

0 comments on commit a91a223

Please sign in to comment.