update huayan_arm and grpc_service
This commit is contained in:
parent
2fa161f1cc
commit
89b1e1f8f6
@ -117,6 +117,7 @@ bool HuayanRobot::init()
|
||||
CMVR_LOG(ERROR) << "[HuayanRobot] init failed: " << result.message;
|
||||
return false;
|
||||
}
|
||||
setSpeedScaling(1);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -50,6 +50,9 @@ public:
|
||||
grpc::Status computeForwardKinematics(grpc::ServerContext* context,
|
||||
const api::ComputeForwardKinematics_Request* request,
|
||||
api::ComputeForwardKinematics_Response* response) override;
|
||||
grpc::Status clearFault(grpc::ServerContext *context,
|
||||
const cmvr::api::CommandHeader_Request *request,
|
||||
cmvr::api::CommandHeader_Feedback *response) override;
|
||||
|
||||
private:
|
||||
device::DeviceManager& dmgr_;
|
||||
|
||||
@ -350,4 +350,23 @@ grpc::Status gRPCArmServiceImpl::computeForwardKinematics(grpc::ServerContext*,
|
||||
return grpc::Status(grpc::StatusCode::UNIMPLEMENTED, "computeForwardKinematics is not implemented");
|
||||
}
|
||||
|
||||
grpc::Status gRPCArmServiceImpl::clearFault(grpc::ServerContext *context,
|
||||
const cmvr::api::CommandHeader_Request *request,
|
||||
cmvr::api::CommandHeader_Feedback *response)
|
||||
{
|
||||
try {
|
||||
const std::string device_id = request->device_id();
|
||||
auto arm = dmgr_.getDevice<device::RobotArm>(device_id);
|
||||
if (!arm) {
|
||||
return setDeviceNotFound(response, device_id);
|
||||
}
|
||||
const auto result = arm->clearFault();
|
||||
fillFeedback(response, result.ok(), result.ok() ? "" : result.message);
|
||||
return resultToStatus(result);
|
||||
} catch (const std::exception& e) {
|
||||
fillFeedback(response, false, e.what());
|
||||
return grpc::Status(grpc::StatusCode::INTERNAL, e.what());
|
||||
}
|
||||
}
|
||||
} // namespace cmvr::service
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import "cmvr/api/arm_command.proto";
|
||||
service ArmService {
|
||||
rpc torqueOff(CommandHeader.Request) returns (CommandHeader.Feedback);
|
||||
rpc torqueOn(CommandHeader.Request) returns (CommandHeader.Feedback);
|
||||
rpc clearFault(CommandHeader.Request) returns (CommandHeader.Feedback);
|
||||
rpc moveJ(MoveJ.Request) returns (MoveJ.Response);
|
||||
rpc moveL(MoveL.Request) returns (MoveL.Response);
|
||||
rpc speedJ(SpeedJ.Request) returns (SpeedJ.Response);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user