按推荐建议,继续执行

结论:继续按 LinuxCNC 源码直接复用路线推进,新增 PUMA 运动学源码的 vendored 同步、switchkins native 探针、source probe 覆盖和复用文档,并通过 native 验证。
This commit is contained in:
2026-06-07 20:28:01 +08:00
parent 42f1acd34a
commit 578c159802
7 changed files with 595 additions and 2 deletions

View File

@@ -439,6 +439,18 @@ SCARA_KINEMATICS_PROBE_SOURCES=(
"$WRAP_DIR/linuxcnc_scara_kinematics_probe.cpp"
)
PUMA_KINEMATICS_PROBE_SOURCES=(
"$VENDOR_DIR/src/emc/kinematics/kins_util.c"
"$VENDOR_DIR/src/emc/kinematics/switchkins.c"
"$VENDOR_DIR/src/emc/kinematics/userkfuncs.c"
"$VENDOR_DIR/src/emc/kinematics/pumakins.c"
"$VENDOR_DIR/src/libnml/posemath/posemath.cc"
"$VENDOR_DIR/src/libnml/posemath/_posemath.c"
"$VENDOR_DIR/src/libnml/posemath/sincos.c"
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
"$WRAP_DIR/linuxcnc_puma_kinematics_probe.cpp"
)
TP_CORE_SOURCES=(
"$VENDOR_DIR/src/emc/tp/tp.c"
"$VENDOR_DIR/src/emc/tp/tc.c"
@@ -703,6 +715,13 @@ build_binary_target \
SCARA_KINEMATICS_PROBE_SOURCES \
NO_LINK_FLAGS
build_binary_target \
linuxcnc_puma_kinematics_probe \
"$BUILD_DIR/linuxcnc_puma_kinematics_probe" \
TP_FLAGS \
PUMA_KINEMATICS_PROBE_SOURCES \
NO_LINK_FLAGS
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_kinematics_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_kinematics_probe" \
@@ -898,6 +917,21 @@ else
"$BUILD_DIR/linuxcnc_scara_kinematics_probe.run.stderr.log"
fi
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_puma_kinematics_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_puma_kinematics_probe" \
>"$BUILD_DIR/linuxcnc_puma_kinematics_probe.run.stdout.log" \
2>"$BUILD_DIR/linuxcnc_puma_kinematics_probe.run.stderr.log"
PUMA_KINEMATICS_RUN_RC=$?
set -e
echo "$PUMA_KINEMATICS_RUN_RC" > "$BUILD_DIR/linuxcnc_puma_kinematics_probe.run.exitcode"
else
rm -f \
"$BUILD_DIR/linuxcnc_puma_kinematics_probe.run.exitcode" \
"$BUILD_DIR/linuxcnc_puma_kinematics_probe.run.stdout.log" \
"$BUILD_DIR/linuxcnc_puma_kinematics_probe.run.stderr.log"
fi
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_tp_api_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_tp_api_probe" \
@@ -1098,6 +1132,12 @@ build_object_target \
"$VENDOR_DIR/src/emc/kinematics/scarakins.c" \
TP_FLAGS
build_object_target \
linuxcnc_pumakins_source_probe \
"$BUILD_DIR/linuxcnc_pumakins_source_probe.o" \
"$VENDOR_DIR/src/emc/kinematics/pumakins.c" \
TP_FLAGS
build_object_target \
linuxcnc_interp_convert_source_probe \
"$BUILD_DIR/linuxcnc_interp_convert_source_probe.o" \

View File

@@ -51,6 +51,8 @@ src/emc/kinematics/rotarydeltakins.c
src/emc/kinematics/scorbot-kins.c
src/emc/kinematics/tripodkins.c
src/emc/kinematics/scarakins.c
src/emc/kinematics/pumakins.h
src/emc/kinematics/pumakins.c
src/emc/tp/tp.h
src/emc/tp/tp_types.h
src/emc/tp/tc.h