按推荐建议,继续执行

结论:继续按 LinuxCNC 源码直接复用路线推进,新增 corexy、rotate、rose、max 四个运动学源码的 vendored 同步、native 探针、source probe 覆盖和复用文档,并通过 native 验证。
This commit is contained in:
2026-06-07 19:44:25 +08:00
parent e634adfa56
commit d936e9f10c
12 changed files with 1008 additions and 1 deletions

View File

@@ -382,6 +382,30 @@ XYZBC_TRT_KINEMATICS_PROBE_SOURCES=(
"$WRAP_DIR/linuxcnc_xyzbc_trt_kinematics_probe.cpp"
)
COREXY_KINEMATICS_PROBE_SOURCES=(
"$VENDOR_DIR/src/emc/kinematics/corexykins.c"
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
"$WRAP_DIR/linuxcnc_corexy_kinematics_probe.cpp"
)
ROTATE_KINEMATICS_PROBE_SOURCES=(
"$VENDOR_DIR/src/emc/kinematics/rotatekins.c"
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
"$WRAP_DIR/linuxcnc_rotate_kinematics_probe.cpp"
)
ROSE_KINEMATICS_PROBE_SOURCES=(
"$VENDOR_DIR/src/emc/kinematics/rosekins.c"
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
"$WRAP_DIR/linuxcnc_rose_kinematics_probe.cpp"
)
MAX_KINEMATICS_PROBE_SOURCES=(
"$VENDOR_DIR/src/emc/kinematics/maxkins.c"
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
"$WRAP_DIR/linuxcnc_max_kinematics_probe.cpp"
)
TP_CORE_SOURCES=(
"$VENDOR_DIR/src/emc/tp/tp.c"
"$VENDOR_DIR/src/emc/tp/tc.c"
@@ -583,6 +607,34 @@ build_binary_target \
XYZBC_TRT_KINEMATICS_PROBE_SOURCES \
NO_LINK_FLAGS
build_binary_target \
linuxcnc_corexy_kinematics_probe \
"$BUILD_DIR/linuxcnc_corexy_kinematics_probe" \
TP_FLAGS \
COREXY_KINEMATICS_PROBE_SOURCES \
NO_LINK_FLAGS
build_binary_target \
linuxcnc_rotate_kinematics_probe \
"$BUILD_DIR/linuxcnc_rotate_kinematics_probe" \
TP_FLAGS \
ROTATE_KINEMATICS_PROBE_SOURCES \
NO_LINK_FLAGS
build_binary_target \
linuxcnc_rose_kinematics_probe \
"$BUILD_DIR/linuxcnc_rose_kinematics_probe" \
TP_FLAGS \
ROSE_KINEMATICS_PROBE_SOURCES \
NO_LINK_FLAGS
build_binary_target \
linuxcnc_max_kinematics_probe \
"$BUILD_DIR/linuxcnc_max_kinematics_probe" \
TP_FLAGS \
MAX_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" \
@@ -643,6 +695,66 @@ else
"$BUILD_DIR/linuxcnc_xyzbc_trt_kinematics_probe.run.stderr.log"
fi
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_corexy_kinematics_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_corexy_kinematics_probe" \
>"$BUILD_DIR/linuxcnc_corexy_kinematics_probe.run.stdout.log" \
2>"$BUILD_DIR/linuxcnc_corexy_kinematics_probe.run.stderr.log"
COREXY_KINEMATICS_RUN_RC=$?
set -e
echo "$COREXY_KINEMATICS_RUN_RC" > "$BUILD_DIR/linuxcnc_corexy_kinematics_probe.run.exitcode"
else
rm -f \
"$BUILD_DIR/linuxcnc_corexy_kinematics_probe.run.exitcode" \
"$BUILD_DIR/linuxcnc_corexy_kinematics_probe.run.stdout.log" \
"$BUILD_DIR/linuxcnc_corexy_kinematics_probe.run.stderr.log"
fi
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_rotate_kinematics_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_rotate_kinematics_probe" \
>"$BUILD_DIR/linuxcnc_rotate_kinematics_probe.run.stdout.log" \
2>"$BUILD_DIR/linuxcnc_rotate_kinematics_probe.run.stderr.log"
ROTATE_KINEMATICS_RUN_RC=$?
set -e
echo "$ROTATE_KINEMATICS_RUN_RC" > "$BUILD_DIR/linuxcnc_rotate_kinematics_probe.run.exitcode"
else
rm -f \
"$BUILD_DIR/linuxcnc_rotate_kinematics_probe.run.exitcode" \
"$BUILD_DIR/linuxcnc_rotate_kinematics_probe.run.stdout.log" \
"$BUILD_DIR/linuxcnc_rotate_kinematics_probe.run.stderr.log"
fi
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_rose_kinematics_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_rose_kinematics_probe" \
>"$BUILD_DIR/linuxcnc_rose_kinematics_probe.run.stdout.log" \
2>"$BUILD_DIR/linuxcnc_rose_kinematics_probe.run.stderr.log"
ROSE_KINEMATICS_RUN_RC=$?
set -e
echo "$ROSE_KINEMATICS_RUN_RC" > "$BUILD_DIR/linuxcnc_rose_kinematics_probe.run.exitcode"
else
rm -f \
"$BUILD_DIR/linuxcnc_rose_kinematics_probe.run.exitcode" \
"$BUILD_DIR/linuxcnc_rose_kinematics_probe.run.stdout.log" \
"$BUILD_DIR/linuxcnc_rose_kinematics_probe.run.stderr.log"
fi
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_max_kinematics_probe.exitcode")" == "0" ]]; then
set +e
"$BUILD_DIR/linuxcnc_max_kinematics_probe" \
>"$BUILD_DIR/linuxcnc_max_kinematics_probe.run.stdout.log" \
2>"$BUILD_DIR/linuxcnc_max_kinematics_probe.run.stderr.log"
MAX_KINEMATICS_RUN_RC=$?
set -e
echo "$MAX_KINEMATICS_RUN_RC" > "$BUILD_DIR/linuxcnc_max_kinematics_probe.run.exitcode"
else
rm -f \
"$BUILD_DIR/linuxcnc_max_kinematics_probe.run.exitcode" \
"$BUILD_DIR/linuxcnc_max_kinematics_probe.run.stdout.log" \
"$BUILD_DIR/linuxcnc_max_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" \
@@ -789,6 +901,30 @@ build_object_target \
"$VENDOR_DIR/src/emc/kinematics/xyzbc-trt-kins.c" \
TP_FLAGS
build_object_target \
linuxcnc_corexykins_source_probe \
"$BUILD_DIR/linuxcnc_corexykins_source_probe.o" \
"$VENDOR_DIR/src/emc/kinematics/corexykins.c" \
TP_FLAGS
build_object_target \
linuxcnc_rotatekins_source_probe \
"$BUILD_DIR/linuxcnc_rotatekins_source_probe.o" \
"$VENDOR_DIR/src/emc/kinematics/rotatekins.c" \
TP_FLAGS
build_object_target \
linuxcnc_rosekins_source_probe \
"$BUILD_DIR/linuxcnc_rosekins_source_probe.o" \
"$VENDOR_DIR/src/emc/kinematics/rosekins.c" \
TP_FLAGS
build_object_target \
linuxcnc_maxkins_source_probe \
"$BUILD_DIR/linuxcnc_maxkins_source_probe.o" \
"$VENDOR_DIR/src/emc/kinematics/maxkins.c" \
TP_FLAGS
build_object_target \
linuxcnc_interp_convert_source_probe \
"$BUILD_DIR/linuxcnc_interp_convert_source_probe.o" \