Skip to content

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 pass controllerIp and optional teachPanelIp explicitly.
  • When teachPanelIp is empty, the SDK fills the address according to the current connection rules.

Public Modules

ModuleEntryDescription
Armarm_api.hTop-level facade
ControllerInfoinfo.hInformation query, servo, soft mode
AlarmClientalarm.hAlarm query and reset
MotionControlmotion.hMotion, pose, payload
JoggingControljogging.hStep teaching, continuous jogging, stop
ProgramManagerprogram.hProgram execution, program poses
BasScriptbas_script.hBuilder
IoSignalsio_signals.hIO read/write
RegisterBankregisters.hR/PR/SR/MR/MH/MI
TrajectoryManagertrajectory.hTrajectory control
RealTimeTrajectoryControlreal_time_trajectory.hReal-time trajectory control
ControllerFileManagerfile_manager.hFile management
ExtensionClientextension.hExtension query, switching, EasyService call
TopicPubSubsub_pub.hWebSocket subscription/publish
CoordinateSystemManagercoordinate_system.hUser/tool coordinate system management
ModbusClientmodbus.hModbus master and slave handles

Package Dependencies

  • build/build.ps1 generates output/release/cpp17-sdk/ , output/release/c99-sdk/ , AgilebotCppSdk-cpp17.zip , and AgilebotCppSdk-c99.zip .
  • The C++17 release directory and zip package additionally include the jsoncpp compile-time dependencies: include/json/ and lib/jsoncpp.lib .
  • C99 headers do not expose jsoncpp types, so the C99 package does not include include/json/ or lib/jsoncpp.lib ; both packages still include the required runtime jsoncpp.dll under runtime/ .
  • 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 modules Arm Info , Arm Alarm , Arm Motion , Arm Program , Arm Registers , Arm Signals , Arm Trajectory , Arm FileManager , Arm Jogging , Arm Extension , Arm SubPub , Arm CoordinateSystem , and Arm 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.