144 lines
3.6 KiB
Protocol Buffer
144 lines
3.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
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;
|
|
}
|
|
|
|
// Stable device categories used by GetDeviceList. This intentionally does not
|
|
// reuse the legacy DeviceType enum above: its zero value is AGV and it does not
|
|
// cover all DeviceManager categories.
|
|
enum SystemDeviceType {
|
|
SYSTEM_DEVICE_TYPE_UNSPECIFIED = 0;
|
|
SYSTEM_DEVICE_TYPE_AGV = 1;
|
|
SYSTEM_DEVICE_TYPE_ARM = 2;
|
|
SYSTEM_DEVICE_TYPE_BATTERY = 3;
|
|
SYSTEM_DEVICE_TYPE_BIO_HEAD = 4;
|
|
SYSTEM_DEVICE_TYPE_CAMERA = 5;
|
|
SYSTEM_DEVICE_TYPE_CAN_BUS = 6;
|
|
SYSTEM_DEVICE_TYPE_DEX_HAND = 7;
|
|
SYSTEM_DEVICE_TYPE_GRIPPER = 8;
|
|
SYSTEM_DEVICE_TYPE_MICROPHONE = 9;
|
|
SYSTEM_DEVICE_TYPE_MOTOR = 10;
|
|
SYSTEM_DEVICE_TYPE_MOTOR_SYSTEM = 11;
|
|
SYSTEM_DEVICE_TYPE_MUJOCO_VIEWER = 12;
|
|
SYSTEM_DEVICE_TYPE_MUJOCO_WORLD = 13;
|
|
SYSTEM_DEVICE_TYPE_ROBOT = 14;
|
|
SYSTEM_DEVICE_TYPE_SPEAKER = 15;
|
|
}
|
|
|
|
enum SystemDeviceState {
|
|
SYSTEM_DEVICE_STATE_UNSPECIFIED = 0;
|
|
SYSTEM_DEVICE_STATE_DISABLED = 1;
|
|
SYSTEM_DEVICE_STATE_INITIALIZING = 2;
|
|
SYSTEM_DEVICE_STATE_REGISTERED = 3;
|
|
SYSTEM_DEVICE_STATE_READY = 4;
|
|
SYSTEM_DEVICE_STATE_RUNNING = 5;
|
|
SYSTEM_DEVICE_STATE_STOPPED = 6;
|
|
SYSTEM_DEVICE_STATE_ERROR = 7;
|
|
}
|
|
|
|
enum SystemDeviceHealth {
|
|
SYSTEM_DEVICE_HEALTH_UNSPECIFIED = 0;
|
|
SYSTEM_DEVICE_HEALTH_HEALTHY = 1;
|
|
SYSTEM_DEVICE_HEALTH_DEGRADED = 2;
|
|
SYSTEM_DEVICE_HEALTH_FAULT = 3;
|
|
}
|
|
|
|
message SystemDeviceInfo {
|
|
string device_id = 1;
|
|
SystemDeviceType device_type = 2;
|
|
|
|
// Concrete backend name for display and diagnostics only. Consumers must
|
|
// use device_type, rather than this free-form string, for decisions.
|
|
string type_name = 3;
|
|
|
|
// GetDeviceList currently publishes only enabled entries. Keep this field
|
|
// explicit so each row remains self-describing and future-compatible.
|
|
bool enabled = 4;
|
|
SystemDeviceState manager_state = 5;
|
|
SystemDeviceHealth health = 6;
|
|
bool has_error = 7;
|
|
string error_message = 8;
|
|
uint64 status_updated_at_unix_ms = 9;
|
|
}
|
|
|
|
message GetDeviceListCommand {
|
|
message Request {}
|
|
|
|
message Feedback {
|
|
CommandHeader.Feedback header = 1;
|
|
string manager_name = 2;
|
|
string manager_version = 3;
|
|
string manager_description = 4;
|
|
repeated SystemDeviceInfo device_list = 5;
|
|
uint64 sampled_at_unix_ms = 6;
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|