31 lines
890 B
Plaintext
31 lines
890 B
Plaintext
// face_servo.erpc
|
||
// 生成命令 .\erpcgen.exe -o .\generated\ -g c .\face_servo.erpc
|
||
// .\erpcgen.exe -g py .\face_servo.erpc
|
||
|
||
program face_servo
|
||
|
||
// 舵机ID字符串最大长度
|
||
const int32 kServoIdMaxLen = 32
|
||
|
||
// 最多支持的舵机数量
|
||
const int32 kMaxServoCount = 48
|
||
|
||
// 按 ID 设置角度的命令
|
||
struct ServoCmd {
|
||
string id @max_length(kServoIdMaxLen)
|
||
float angle_deg
|
||
}
|
||
|
||
interface FaceServo
|
||
{
|
||
// 接口1:一次性设置所有舵机角度(可变长度)
|
||
// angles_deg 的顺序由固件映射表顺序定义
|
||
setAllAngles(list<float> angles_deg @max_length(kMaxServoCount)) -> int32
|
||
|
||
// 接口2:按字符串ID批量设置角度(可变长度)
|
||
setAngles(list<ServoCmd> cmds @max_length(kMaxServoCount)) -> int32
|
||
|
||
// 单个:按字符串ID设置角度
|
||
setAngle(string id @max_length(kServoIdMaxLen), float angle_deg) -> int32
|
||
}
|