BB.Ufactory.Registers (bb_ufactory v0.1.0)

Copy Markdown View Source

Register address constants for the UFactory xArm Modbus-TCP protocol.

All values are sourced from UxbusReg in the xArm Python SDK (xarm/core/config/x_config.py) and the xArm Developer Manual V1.10.0.

Use these constants in BB.Ufactory.Protocol command builders rather than hard-coding raw integers.

Summary

Functions

CLEAN_ERR — clear the current error code

CLEAN_WAR — clear the current warning code

FTSENSOR_ENABLE — 1× u8 (0 or 1)

FTSENSOR_GET_DATA — read 6× fp32 LE [Fx, Fy, Fz, Tx, Ty, Tz]

GET_CMDNUM — queued command count

GET_ERROR — read error and warning codes

GET_JOINTS — read current joint angles in radians

GET_ROBOT_SN — robot serial number

GET_STATE — read current arm state

GET_TCP_POSE — read current Cartesian end-effector pose

GET_VERSION — firmware version string

MOTION_EN — enable/disable joint motion; axis_id 0x08 = all joints

MOVE_LINE — Cartesian linear motion (register 0x15, decimal 21). NOT arc blending.

MOVE_HOME — move to home position

MOVE_JOINT — joint-space P2P motion

MOVE_LINE_AA — Cartesian linear motion with axis-angle orientation (register 0x5C, decimal 92). NOT arc blending — for blended moves use move_lineb/0 (0x16) or move_jointb/0 (0x18).

RELOAD_DYNAMICS — reload dynamics model

RS485_RTU proxy — gripper, linear track, and other accessories

SET_MODE — arm mode; 0 = position mode, 1 = servo mode

SET_STATE — arm state; 0 = stop/clear motion, 3 = play, 4 = pause

Functions

clean_err()

@spec clean_err() :: non_neg_integer()

CLEAN_ERR — clear the current error code

clean_war()

@spec clean_war() :: non_neg_integer()

CLEAN_WAR — clear the current warning code

ft_enable()

@spec ft_enable() :: non_neg_integer()

FTSENSOR_ENABLE — 1× u8 (0 or 1)

ft_get_data()

@spec ft_get_data() :: non_neg_integer()

FTSENSOR_GET_DATA — read 6× fp32 LE [Fx, Fy, Fz, Tx, Ty, Tz]

get_cmdnum()

@spec get_cmdnum() :: non_neg_integer()

GET_CMDNUM — queued command count

get_error()

@spec get_error() :: non_neg_integer()

GET_ERROR — read error and warning codes

get_joints()

@spec get_joints() :: non_neg_integer()

GET_JOINTS — read current joint angles in radians

get_robot_sn()

@spec get_robot_sn() :: non_neg_integer()

GET_ROBOT_SN — robot serial number

get_state()

@spec get_state() :: non_neg_integer()

GET_STATE — read current arm state

get_tcp_pose()

@spec get_tcp_pose() :: non_neg_integer()

GET_TCP_POSE — read current Cartesian end-effector pose

get_version()

@spec get_version() :: non_neg_integer()

GET_VERSION — firmware version string

motion_en()

@spec motion_en() :: non_neg_integer()

MOTION_EN — enable/disable joint motion; axis_id 0x08 = all joints

move_cart()

@spec move_cart() :: non_neg_integer()

MOVE_LINE — Cartesian linear motion (register 0x15, decimal 21). NOT arc blending.

move_home()

@spec move_home() :: non_neg_integer()

MOVE_HOME — move to home position

move_joints()

@spec move_joints() :: non_neg_integer()

MOVE_JOINT — joint-space P2P motion

move_line_aa()

@spec move_line_aa() :: non_neg_integer()

MOVE_LINE_AA — Cartesian linear motion with axis-angle orientation (register 0x5C, decimal 92). NOT arc blending — for blended moves use move_lineb/0 (0x16) or move_jointb/0 (0x18).

reload_dynamics()

@spec reload_dynamics() :: non_neg_integer()

RELOAD_DYNAMICS — reload dynamics model

rs485_rtu()

@spec rs485_rtu() :: non_neg_integer()

RS485_RTU proxy — gripper, linear track, and other accessories

set_mode()

@spec set_mode() :: non_neg_integer()

SET_MODE — arm mode; 0 = position mode, 1 = servo mode

set_state()

@spec set_state() :: non_neg_integer()

SET_STATE — arm state; 0 = stop/clear motion, 3 = play, 4 = pause