RPCs
rpc MultiAxis (MultiAxisRequest) returns (MultiAxisResponse) {};
rpc MultiAxisBatch (MultiAxisBatchRequest) returns (MultiAxisBatchResponse) {};
Request
message MultiAxisRequest {
RSI.RapidServer.RequestHeader header = 1;
int32 index = 2;
optional MultiAxisConfig config = 3;
optional MultiAxisAction action = 4;
}
Response
message MultiAxisResponse {
RSI.RapidServer.ResponseHeader header = 1;
int32 index = 2;
optional MultiAxisConfig config = 3;
optional MultiAxisAction action = 4;
optional MultiAxisInfo info = 5;
optional MultiAxisStatus status = 6;
}
Batch Request and Response
message MultiAxisBatchRequest {
RSI.RapidServer.RequestHeader header = 1;
repeated MultiAxisRequest requests = 2;
}
message MultiAxisBatchResponse {
RSI.RapidServer.ResponseHeader header = 1;
repeated MultiAxisResponse responses = 2;
}
Config
message MultiAxisConfig {
repeated int32 axes_indices = 1;
optional string user_label = 2;
optional double feed_rate = 3;
optional double stop_time = 4;
optional double e_stop_time = 5;
}
Action
message MultiAxisAction {
optional Abort abort = 1;
optional EStopAbort e_stop_abort = 2;
optional EStopModifyAbort e_stop_modify_abort = 3;
optional EStopModify e_stop_modify = 4;
optional EStop e_stop = 5;
optional TriggeredModify triggered_modify = 6;
optional Stop stop = 7;
optional Resume resume = 8;
optional ClearFaults clear_faults = 9;
optional AmpEnableSet amp_enable_set = 10;
optional Move move = 11;
optional RemoveAxes remove_axes = 12;
message Abort {}
message EStopAbort {}
message EStopModifyAbort{}
message EStopModify{}
message EStop {}
message TriggeredModify {}
message Stop {}
message Resume {}
message ClearFaults {}
message AmpEnableSet {
bool enable = 1;
optional int32 timeout_milliseconds = 2;
optional int32 duration = 3;
}
message Move {
oneof move {
MultiAxisMovePointToPoint point_to_point = 3;
MultiAxisMoveVelocity velocity = 4;
MoveStreaming streaming = 5;
}
optional uint32 motion_id = 6;
optional MotionHold motion_hold = 7;
bool blocking = 8;
message MultiAxisMovePointToPoint {
repeated AxisMovePointToPoint parameters = 1;
bool relative = 2;
}
message MultiAxisMoveVelocity {
repeated AxisMoveVelocity parameters = 1;
}
message MultiAxisMoveStreaming {
repeated MoveStreaming parameters = 1;
}
}
message RemoveAxes {}
}
Info
message MultiAxisInfo {
int32 index = 1;
int32 motion_index = 2;
repeated AddressInfo addresses = 3;
}
Status
message MultiAxisStatus {
string source_name = 3;
bool amps_enabled = 4;
repeated AxisStatus axis_statuses = 5;
}