![]() |
lebai sdk
1.4.4
lebai c++ sdk with swig to support sereval languages.
|
Lebai RPC definitions are documented at https://lebai-robotics.github.io/lebai-proto/.
Use that site for service methods, requests, and responses. Controller wire method names are snake_case mappings, for example proto StartTeachMode maps to wire RPC start_teach_mode; see docs/rpc-protocol.md before adding or renaming a method.
Use the migrated SDK2-style path:
nlohmann/json DTOs in sdk/src/protos_json.sdk/include/lebai/robot.hh.sdk/src/robot.cc.sdk/src/robot_impl.hh and sdk/src/robot_impl.cc.sdk/python, sdk/dotnet, and sdk/java if the public API changed.sdk/test.Do not reintroduce the old handwritten DTO layer. New robot RPC request and response types belong under sdk/src/protos_json.
Prefer small aggregate structs with NLOHMANN_DEFINE_TYPE_INTRUSIVE when the JSON shape is direct:
Use custom from_json/to_json only when the controller shape differs from the C++ field names or has optional fields.
Public wrapper in sdk/src/robot.cc:
Internal RPC call in sdk/src/robot_impl.cc:
At minimum, build the C++ test targets and run the DTO test:
When a simulator is running, use 127.0.0.1:3030 through TEST_ROBOT_IP=127.0.0.1 and run the focused test_robot case for the changed API.