in ctrl_pkg/src/ctrl_node.cpp [229:249]
void stateHdl(const std::shared_ptr<rmw_request_id_t> request_header,
std::shared_ptr<deepracer_interfaces_pkg::srv::ActiveStateSrv::Request> req,
std::shared_ptr<deepracer_interfaces_pkg::srv::ActiveStateSrv::Response> res) {
(void)request_header;
res->error = 1;
if (activeState_ == stateList_.end()) {
RCLCPP_ERROR(this->get_logger(), "No active state");
return;
}
activeState_->second->setStateActive(false);
auto itState = stateList_.find(req->state);
if (itState != stateList_.end()) {
activeState_ = itState;
res->error = 0;
}
else {
RCLCPP_ERROR(this->get_logger(), "Invalid state");
}
}