按推荐建议,继续执行
结论:继续按 LinuxCNC 源码直接复用路线推进,新增 linear delta、rotary delta、scorbot 三类运动学源码的 vendored 同步、native 探针、source probe 覆盖和复用文档,并通过 native 验证。
This commit is contained in:
@@ -406,6 +406,24 @@ MAX_KINEMATICS_PROBE_SOURCES=(
|
||||
"$WRAP_DIR/linuxcnc_max_kinematics_probe.cpp"
|
||||
)
|
||||
|
||||
LINEARDELTA_KINEMATICS_PROBE_SOURCES=(
|
||||
"$VENDOR_DIR/src/emc/kinematics/lineardeltakins.c"
|
||||
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
|
||||
"$WRAP_DIR/linuxcnc_lineardelta_kinematics_probe.cpp"
|
||||
)
|
||||
|
||||
ROTARYDELTA_KINEMATICS_PROBE_SOURCES=(
|
||||
"$VENDOR_DIR/src/emc/kinematics/rotarydeltakins.c"
|
||||
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
|
||||
"$WRAP_DIR/linuxcnc_rotarydelta_kinematics_probe.cpp"
|
||||
)
|
||||
|
||||
SCORBOT_KINEMATICS_PROBE_SOURCES=(
|
||||
"$VENDOR_DIR/src/emc/kinematics/scorbot-kins.c"
|
||||
"$WRAP_DIR/linuxcnc_hal_adapter.cpp"
|
||||
"$WRAP_DIR/linuxcnc_scorbot_kinematics_probe.cpp"
|
||||
)
|
||||
|
||||
TP_CORE_SOURCES=(
|
||||
"$VENDOR_DIR/src/emc/tp/tp.c"
|
||||
"$VENDOR_DIR/src/emc/tp/tc.c"
|
||||
@@ -635,6 +653,27 @@ build_binary_target \
|
||||
MAX_KINEMATICS_PROBE_SOURCES \
|
||||
NO_LINK_FLAGS
|
||||
|
||||
build_binary_target \
|
||||
linuxcnc_lineardelta_kinematics_probe \
|
||||
"$BUILD_DIR/linuxcnc_lineardelta_kinematics_probe" \
|
||||
TP_FLAGS \
|
||||
LINEARDELTA_KINEMATICS_PROBE_SOURCES \
|
||||
NO_LINK_FLAGS
|
||||
|
||||
build_binary_target \
|
||||
linuxcnc_rotarydelta_kinematics_probe \
|
||||
"$BUILD_DIR/linuxcnc_rotarydelta_kinematics_probe" \
|
||||
TP_FLAGS \
|
||||
ROTARYDELTA_KINEMATICS_PROBE_SOURCES \
|
||||
NO_LINK_FLAGS
|
||||
|
||||
build_binary_target \
|
||||
linuxcnc_scorbot_kinematics_probe \
|
||||
"$BUILD_DIR/linuxcnc_scorbot_kinematics_probe" \
|
||||
TP_FLAGS \
|
||||
SCORBOT_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" \
|
||||
@@ -755,6 +794,51 @@ else
|
||||
"$BUILD_DIR/linuxcnc_max_kinematics_probe.run.stderr.log"
|
||||
fi
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_lineardelta_kinematics_probe.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_lineardelta_kinematics_probe" \
|
||||
>"$BUILD_DIR/linuxcnc_lineardelta_kinematics_probe.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_lineardelta_kinematics_probe.run.stderr.log"
|
||||
LINEARDELTA_KINEMATICS_RUN_RC=$?
|
||||
set -e
|
||||
echo "$LINEARDELTA_KINEMATICS_RUN_RC" > "$BUILD_DIR/linuxcnc_lineardelta_kinematics_probe.run.exitcode"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_lineardelta_kinematics_probe.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_lineardelta_kinematics_probe.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_lineardelta_kinematics_probe.run.stderr.log"
|
||||
fi
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_rotarydelta_kinematics_probe.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_rotarydelta_kinematics_probe" \
|
||||
>"$BUILD_DIR/linuxcnc_rotarydelta_kinematics_probe.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_rotarydelta_kinematics_probe.run.stderr.log"
|
||||
ROTARYDELTA_KINEMATICS_RUN_RC=$?
|
||||
set -e
|
||||
echo "$ROTARYDELTA_KINEMATICS_RUN_RC" > "$BUILD_DIR/linuxcnc_rotarydelta_kinematics_probe.run.exitcode"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_rotarydelta_kinematics_probe.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_rotarydelta_kinematics_probe.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_rotarydelta_kinematics_probe.run.stderr.log"
|
||||
fi
|
||||
|
||||
if [[ "$(tr -d '[:space:]' < "$BUILD_DIR/linuxcnc_scorbot_kinematics_probe.exitcode")" == "0" ]]; then
|
||||
set +e
|
||||
"$BUILD_DIR/linuxcnc_scorbot_kinematics_probe" \
|
||||
>"$BUILD_DIR/linuxcnc_scorbot_kinematics_probe.run.stdout.log" \
|
||||
2>"$BUILD_DIR/linuxcnc_scorbot_kinematics_probe.run.stderr.log"
|
||||
SCORBOT_KINEMATICS_RUN_RC=$?
|
||||
set -e
|
||||
echo "$SCORBOT_KINEMATICS_RUN_RC" > "$BUILD_DIR/linuxcnc_scorbot_kinematics_probe.run.exitcode"
|
||||
else
|
||||
rm -f \
|
||||
"$BUILD_DIR/linuxcnc_scorbot_kinematics_probe.run.exitcode" \
|
||||
"$BUILD_DIR/linuxcnc_scorbot_kinematics_probe.run.stdout.log" \
|
||||
"$BUILD_DIR/linuxcnc_scorbot_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" \
|
||||
@@ -925,6 +1009,24 @@ build_object_target \
|
||||
"$VENDOR_DIR/src/emc/kinematics/maxkins.c" \
|
||||
TP_FLAGS
|
||||
|
||||
build_object_target \
|
||||
linuxcnc_lineardeltakins_source_probe \
|
||||
"$BUILD_DIR/linuxcnc_lineardeltakins_source_probe.o" \
|
||||
"$VENDOR_DIR/src/emc/kinematics/lineardeltakins.c" \
|
||||
TP_FLAGS
|
||||
|
||||
build_object_target \
|
||||
linuxcnc_rotarydeltakins_source_probe \
|
||||
"$BUILD_DIR/linuxcnc_rotarydeltakins_source_probe.o" \
|
||||
"$VENDOR_DIR/src/emc/kinematics/rotarydeltakins.c" \
|
||||
TP_FLAGS
|
||||
|
||||
build_object_target \
|
||||
linuxcnc_scorbot_kins_source_probe \
|
||||
"$BUILD_DIR/linuxcnc_scorbot_kins_source_probe.o" \
|
||||
"$VENDOR_DIR/src/emc/kinematics/scorbot-kins.c" \
|
||||
TP_FLAGS
|
||||
|
||||
build_object_target \
|
||||
linuxcnc_interp_convert_source_probe \
|
||||
"$BUILD_DIR/linuxcnc_interp_convert_source_probe.o" \
|
||||
|
||||
Reference in New Issue
Block a user