void CalibrationCtrl::getCalibration()

in ctrl_pkg/src/ctrl_state.cpp [501:519]


    void CalibrationCtrl::getCalibration(int type, std::vector<int> &cal) {
        cal.clear();
        auto srvRequest = std::make_shared<deepracer_interfaces_pkg::srv::GetCalibrationSrv::Request>();
        srvRequest->cal_type = type;
        auto future_result = servoGetCalClient_->async_send_request(srvRequest);
        future_result.wait();
        auto srvResponse = std::make_shared<deepracer_interfaces_pkg::srv::GetCalibrationSrv::Response>();
        srvResponse = future_result.get();
        if(srvResponse->error != 0){
            RCLCPP_ERROR(ctrlNode->get_logger(), "Getting calibration failed.");
        }
        for (int i = 0; i < ServoCalType::total; ++i) {
            cal.push_back(0);
        }
        cal[ServoCalType::max] = srvResponse->max;
        cal[ServoCalType::mid] = srvResponse->mid;
        cal[ServoCalType::min] = srvResponse->min;
        cal[ServoCalType::polarity] = srvResponse->polarity;
    }