This commit is contained in:
linbo 2025-10-21 10:54:48 +08:00
parent b428db1372
commit 891529a095

View File

@ -4,146 +4,169 @@ import "cmvr/api/common.proto";
package cmvr.api; package cmvr.api;
//
message FreedomValue { message FreedomValue {
int32 id = 1; // id 0-6 string id = 1; // id
float value = 2; // 0-1 // little_finger
// ring_finger
// middle_finger
// index_finger
// thumb_bend
// thumb_rotate
float value = 2; // 0-1
} }
//
message FreedomState { message FreedomState {
int32 dof_id = 1; // ID string dof_id = 1; // idFreedomValue.id一致
int32 angle = 2; // // little_finger
int32 speed = 3; // // ring_finger
int32 force = 4; // // middle_finger
int32 position = 5; // // index_finger
int32 current = 6; // // thumb_bend
int32 temperature = 7; // // thumb_rotate
int32 error = 8; // int32 angle = 2; // 0.1°/
repeated string error_message = 9; // int32 speed = 3; // 0.1°/s/
int32 force = 4; // 0.01N/
int32 position = 5; // /
int32 current = 6; // mA
int32 temperature = 7; //
int32 error = 8; // 00
repeated string error_message = 9; //
} }
//
// //
message SensorData { message SensorData {
// //
enum FingerType { enum FingerType {
PINKY = 0; // PINKY = 0; //
RING = 1; // RING = 1; //
MIDDLE_FINGER = 2; // PartType.MIDDLE冲突 MIDDLE_FINGER = 2; // PartType冲突
INDEX = 3; // INDEX = 3; //
THUMB = 4; // THUMB = 4; //
PALM = 5; // PALM = 5; //
} }
// THUMB_MIDDLE以避免冲突 //
enum PartType { enum PartType {
TIP = 0; // TIP = 0; //
FINGER = 1; // FINGER = 1; //
PAD = 2; // PAD = 2; //
THUMB_MIDDLE = 3; // THUMB_MIDDLE = 3; //
PALM_PAD = 4; // PalmTactileData PALM_PAD = 4; //
} }
FingerType finger_type = 4; // 使PALM FingerType finger_type = 4; //
PartType part_type = 5; // PartType part_type = 5; //
string sensor_name = 6; // "小拇指指端" string sensor_name = 6; // "little_finger_tip"便
//
message RowData { message RowData {
repeated int32 values = 1 [packed = true]; // repeated int32 values = 1 [packed = true]; //
} }
repeated RowData data = 1; // RowData repeated RowData data = 1; //
int32 rows = 2; // int32 rows = 2; //
int32 cols = 3; // int32 cols = 3; //
} }
//
message DexHandState { message DexHandState {
bool is_initialized = 1; // bool is_initialized = 1; // truefalse
repeated FreedomState hands = 2; // repeated FreedomState hands = 2; // FreedomValue.id一一对应
} }
//
message GetDexHandStateCommand { message GetDexHandStateCommand {
message Request { message Request {
CommandHeader.Request header = 1; CommandHeader.Request header = 1; // ID等
} }
message Feedback { message Feedback {
CommandHeader.Feedback header = 1; CommandHeader.Feedback header = 1; //
DexHandState state = 2; DexHandState state = 2; //
} }
} }
//
message SetDexHandPositionsCommand { message SetDexHandPositionsCommand {
message Request { message Request {
CommandHeader.Request header = 1; CommandHeader.Request header = 1; //
repeated FreedomValue values = 2; repeated FreedomValue values = 2; //
} }
message Feedback { message Feedback {
CommandHeader.Feedback header = 1; CommandHeader.Feedback header = 1; //
} }
} }
//
message SetDexHandAnglesCommand { message SetDexHandAnglesCommand {
message Request { message Request {
CommandHeader.Request header = 1; CommandHeader.Request header = 1; //
repeated FreedomValue values = 2; repeated FreedomValue values = 2; //
} }
message Feedback { message Feedback {
CommandHeader.Feedback header = 1; CommandHeader.Feedback header = 1; //
} }
} }
//
message SetDexHandForceCommand { message SetDexHandForceCommand {
message Request { message Request {
CommandHeader.Request header = 1; CommandHeader.Request header = 1; //
repeated FreedomValue values = 2; repeated FreedomValue values = 2; //
} }
message Feedback { message Feedback {
CommandHeader.Feedback header = 1; CommandHeader.Feedback header = 1; //
} }
} }
//
message SetDexHandSpeedCommand { message SetDexHandSpeedCommand {
message Request { message Request {
CommandHeader.Request header = 1; CommandHeader.Request header = 1; //
repeated FreedomValue values = 2; repeated FreedomValue values = 2; //
} }
message Feedback { message Feedback {
CommandHeader.Feedback header = 1; CommandHeader.Feedback header = 1; //
} }
} }
//
message SetDexHandPresetActCommand { message SetDexHandPresetActCommand {
message Request { message Request {
CommandHeader.Request header = 1; CommandHeader.Request header = 1; //
int32 presetActId = 2; int32 presetActId = 2; // ID01
} }
message Feedback { message Feedback {
CommandHeader.Feedback header = 1; CommandHeader.Feedback header = 1; //
} }
} }
//
message GetSensorDataCommand { message GetSensorDataCommand {
message Request { message Request {
CommandHeader.Request header = 1; CommandHeader.Request header = 1; //
} }
message Feedback { message Feedback {
CommandHeader.Feedback header = 1; CommandHeader.Feedback header = 1; //
repeated SensorData sensor = 2;// repeated SensorData sensor = 2; //
} }
} }
//
message GetSensorDataStreamCommand { message GetSensorDataStreamCommand {
message Request { message Request {
CommandHeader.Request header = 1; CommandHeader.Request header = 1; //
} }
message Feedback { message Feedback {
CommandHeader.Feedback header = 1; CommandHeader.Feedback header = 1; //
repeated SensorData sensor = 2;// repeated SensorData sensor = 2; //
} }
} }