1.1 Version and Scope
Overview
The public entry points in the current repository are:
- C++17:
include/arm_api.h - C99:
include/c_arm_api.h
Connection Semantics
Arm::Connect()/Arm_Connect()callers only need to passcontrollerIpand optionalteachPanelIpexplicitly.- When
teachPanelIpis empty, the SDK fills the address according to the current connection rules.
Public Modules
| Module | Entry | Description |
|---|---|---|
Arm | arm_api.h | Top-level facade |
ControllerInfo | info.h | Information query, servo, soft mode |
AlarmClient | alarm.h | Alarm query and reset |
MotionControl | motion.h | Motion, pose, payload |
JoggingControl | jogging.h | Step teaching, continuous jogging, stop |
ProgramManager | program.h | Program execution, program poses |
BasScript | bas_script.h | Builder |
IoSignals | io_signals.h | IO read/write |
RegisterBank | registers.h | R/PR/SR/MR/MH/MI |
TrajectoryManager | trajectory.h | Trajectory control |
RealTimeTrajectoryControl | real_time_trajectory.h | Real-time trajectory control |
ControllerFileManager | file_manager.h | File management |
ExtensionClient | extension.h | Extension query, switching, EasyService call |
TopicPubSub | sub_pub.h | WebSocket subscription/publish |
CoordinateSystemManager | coordinate_system.h | User/tool coordinate system management |
ModbusClient | modbus.h | Modbus master and slave handles |
Package Dependencies
build/build.ps1generatesoutput/release/cpp17-sdk/,output/release/c99-sdk/,AgilebotCppSdk-cpp17.zip, andAgilebotCppSdk-c99.zip.- The C++17 release directory and zip package additionally include the jsoncpp compile-time dependencies:
include/json/andlib/jsoncpp.lib. - C99 headers do not expose jsoncpp types, so the C99 package does not include
include/json/orlib/jsoncpp.lib; both packages still include the required runtimejsoncpp.dllunderruntime/. - Example projects prefer dependencies from the release package and do not require a system-installed jsoncpp.
Current Scope
- C++17 is the main facade API.
- C99 uses the
ArmHandle*session model and currently exports:core / info / alarm / motion / program / bas-script / jogging / extension / registers / signals / sub-pub / trajectory / file-manager / coordinate / modbus. - The current examples cover
ControllerInfo,MotionControl,JoggingControl,ProgramManager,BasScript,ExtensionClient,CoordinateSystemManager, and the C99 modulesArm Info,Arm Alarm,Arm Motion,Arm Program,Arm Registers,Arm Signals,Arm Trajectory,Arm FileManager,Arm Jogging,Arm Extension,Arm SubPub,Arm CoordinateSystem, andArm Modbus. - C99 real-time trajectory segments are exposed through
ArmTrajectorySegmentC.
C99 BasScript Builder
C99 exposes BasScript builder support through ArmBasScriptHandle and ArmBasExtraParamHandle . Common entry points include Arm_BasScript_Create() , Arm_BasScript_CreateWithName() , Arm_BasScript_AppendLine(s) , Arm_BasScript_GetText() , and Arm_BasScript_Execute() . For the complete function set, see include/c_arm_bas_script.h and 4.6 C99 BasScript Builder.