syntax = "proto3"; import "cmvr/api/arm_command.proto"; import "cmvr/api/common.proto"; package cmvr.api; enum DeviceType { AGV = 0; Battery = 1; Camera = 2; DexHand = 3; Gripper = 4; Microphone = 5; Robot = 6; Speaker = 7; Unknown = 20; } message DeviceList { string device_id = 1; DeviceType device_type = 2; } message GetSystemInfoCommand { message Request {} message Feedback { CommandHeader.Feedback header = 1; string system_name = 2; string version = 3; string description = 4; string os = 5; string kernel_version = 6; string architecture = 7; } } message GetSystemStatusCommand { message Request {} message Feedback { CommandHeader.Feedback header = 1; float cpu_usage = 2; float mem_total_mb = 3; float mem_used_mb = 4; float disk_total_gb = 5; float disk_used_gb = 6; repeated DeviceList device_list = 7; } } message UpdateParamsCommand { message Request { CommandHeader.Request header = 1; repeated ConfigParam params = 2; } message Feedback { CommandHeader.Feedback header = 1; } } message StopAllCommand { message Request { CommandHeader.Request header = 1; } message Feedback { CommandHeader.Feedback header = 1; } } enum ActionResultCode { ACTION_RESULT_CODE_UNSPECIFIED = 0; ACTION_RESULT_CODE_COMPLETED = 1; ACTION_RESULT_CODE_FAILED = 2; ACTION_RESULT_CODE_CANCELED = 3; ACTION_RESULT_CODE_TIMED_OUT = 4; ACTION_RESULT_CODE_REJECTED = 5; } message ActionStep { reserved 1; reserved "step_id"; // Zero inherits the remaining ActionQueue timeout. uint32 timeout_ms = 2; oneof command { MoveJ.Request arm_move_j = 10; MoveL.Request arm_move_l = 11; } } message ActionQueueCommand { message Request { reserved 1; reserved "action_id"; repeated ActionStep steps = 2; // Zero uses the server default. uint32 total_timeout_ms = 3; } message Feedback { CommandHeader.Feedback header = 1; reserved 2; reserved "action_id"; uint32 completed_steps = 3; optional uint32 failed_step_index = 4; ActionResultCode result = 5; } }