C++版本

This commit is contained in:
cyy_mac
2026-07-26 21:19:22 +08:00
parent 265173e746
commit ee2289d826
6 changed files with 980 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
"""Python wrapper for the native LowCmd builder.
This module is intentionally kept outside the main go1_pro_sdk package until
the byte-equivalence and timing tests are stable on the robot board.
"""
from pathlib import Path
from go1_fast_lowcmd import FastLowCmdBuilder as _NativeFastLowCmdBuilder
def default_state_path() -> str:
return str(
Path(__file__).resolve().parents[1]
/ "go1_pro_sdk"
/ "_data"
/ "blowfish_state.bin"
)
class FastLowCmdBuilder:
def __init__(self, state_path=None):
self._native = _NativeFastLowCmdBuilder(str(state_path or default_state_path()))
def build_plain_damping(self):
return self._native.build_plain_damping()
def build_encrypted_damping(self):
return self._native.build_encrypted_damping()
def build_plain_servo12(self, q, dq=None, tau=None, kp=None, kd=None):
return self._native.build_plain_servo12(q, dq=dq, tau=tau, kp=kp, kd=kd)
def build_encrypted_servo12(self, q, dq=None, tau=None, kp=None, kd=None):
return self._native.build_encrypted_servo12(q, dq=dq, tau=tau, kp=kp, kd=kd)
def build_plain_fields20(self, mode=None, q=None, dq=None, tau=None, kp=None, kd=None):
return self._native.build_plain_fields20(mode=mode, q=q, dq=dq, tau=tau, kp=kp, kd=kd)
def build_encrypted_fields20(self, mode=None, q=None, dq=None, tau=None, kp=None, kd=None):
return self._native.build_encrypted_fields20(mode=mode, q=q, dq=dq, tau=tau, kp=kp, kd=kd)
def build_plain_lowcmd(self, lowcmd):
return self._native.build_plain_lowcmd(lowcmd)
def build_encrypted_lowcmd(self, lowcmd):
return self._native.build_encrypted_lowcmd(lowcmd)
def encrypt(self, data):
return self._native.encrypt(data)