按推荐建议,继续执行
结论:将 vendored LinuxCNC 轨迹规划器、cruckig、posemath 源文件纳入直接编译探针,并通过 native 验证,继续确保核心功能来源于 LinuxCNC 源程序。
This commit is contained in:
@@ -459,6 +459,14 @@ Current verified progress:
|
|||||||
`rs274ngc_pre.cc`. `rs274ngc_pre.cc` is compiled with the existing
|
`rs274ngc_pre.cc`. `rs274ngc_pre.cc` is compiled with the existing
|
||||||
standalone `UNIT_TEST`/`LINUXCNC_STANDALONE_USE_RS274_PRE_STATE` boundary
|
standalone `UNIT_TEST`/`LINUXCNC_STANDALONE_USE_RS274_PRE_STATE` boundary
|
||||||
that isolates Python runtime integration from the browser simulation core.
|
that isolates Python runtime integration from the browser simulation core.
|
||||||
|
- `tools/build_native_probes.sh` now includes direct source compile probes
|
||||||
|
for the vendored LinuxCNC trajectory-planner and posemath files used by
|
||||||
|
`linuxcnc_tp_api_probe`: `tp.c`, `tc.c`, `tcq.c`, `spherical_arc.c`,
|
||||||
|
`blendmath.c`, `sp_scurve.c`, `ruckig_wrapper.c`, the selected
|
||||||
|
`cruckig/*.c` sources, `emcpose.c`, `posemath.cc`, `_posemath.c`, and
|
||||||
|
`sincos.c`. These probes use the same `TP_FLAGS` as the standalone TP
|
||||||
|
harness, including the existing `-fpermissive` boundary required by
|
||||||
|
upstream enum conversions in `tp.c`.
|
||||||
|
|
||||||
## Phase 4: Port INI Parsing Without Editing Upstream
|
## Phase 4: Port INI Parsing Without Editing Upstream
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,39 @@ check_exitcode() {
|
|||||||
check_exitcode linuxcnc_interp_state_probe
|
check_exitcode linuxcnc_interp_state_probe
|
||||||
check_exitcode linuxcnc_tp_api_probe
|
check_exitcode linuxcnc_tp_api_probe
|
||||||
check_exitcode linuxcnc_tp_api_probe.run
|
check_exitcode linuxcnc_tp_api_probe.run
|
||||||
|
for name in \
|
||||||
|
linuxcnc_tp_tp_source_probe \
|
||||||
|
linuxcnc_tp_tc_source_probe \
|
||||||
|
linuxcnc_tp_tcq_source_probe \
|
||||||
|
linuxcnc_tp_spherical_arc_source_probe \
|
||||||
|
linuxcnc_tp_blendmath_source_probe \
|
||||||
|
linuxcnc_tp_sp_scurve_source_probe \
|
||||||
|
linuxcnc_tp_ruckig_wrapper_source_probe \
|
||||||
|
linuxcnc_cruckig_block_source_probe \
|
||||||
|
linuxcnc_cruckig_brake_source_probe \
|
||||||
|
linuxcnc_cruckig_calculator_source_probe \
|
||||||
|
linuxcnc_cruckig_cruckig_source_probe \
|
||||||
|
linuxcnc_cruckig_input_parameter_source_probe \
|
||||||
|
linuxcnc_cruckig_output_parameter_source_probe \
|
||||||
|
linuxcnc_cruckig_profile_source_probe \
|
||||||
|
linuxcnc_cruckig_roots_source_probe \
|
||||||
|
linuxcnc_cruckig_trajectory_source_probe \
|
||||||
|
linuxcnc_cruckig_position_first_step1_source_probe \
|
||||||
|
linuxcnc_cruckig_position_first_step2_source_probe \
|
||||||
|
linuxcnc_cruckig_position_second_step1_source_probe \
|
||||||
|
linuxcnc_cruckig_position_second_step2_source_probe \
|
||||||
|
linuxcnc_cruckig_position_third_step1_source_probe \
|
||||||
|
linuxcnc_cruckig_position_third_step2_source_probe \
|
||||||
|
linuxcnc_cruckig_velocity_second_step1_source_probe \
|
||||||
|
linuxcnc_cruckig_velocity_second_step2_source_probe \
|
||||||
|
linuxcnc_cruckig_velocity_third_step1_source_probe \
|
||||||
|
linuxcnc_cruckig_velocity_third_step2_source_probe \
|
||||||
|
linuxcnc_emcpose_source_probe \
|
||||||
|
linuxcnc_posemath_source_probe \
|
||||||
|
linuxcnc_posemath_c_source_probe \
|
||||||
|
linuxcnc_sincos_source_probe; do
|
||||||
|
check_exitcode "$name"
|
||||||
|
done
|
||||||
check_exitcode linuxcnc_namedparam_harness
|
check_exitcode linuxcnc_namedparam_harness
|
||||||
check_exitcode linuxcnc_namedparam_harness.run
|
check_exitcode linuxcnc_namedparam_harness.run
|
||||||
check_exitcode linuxcnc_interp_minimal_harness
|
check_exitcode linuxcnc_interp_minimal_harness
|
||||||
|
|||||||
@@ -300,6 +300,72 @@ TP_RUNTIME_PROBE_SOURCES=(
|
|||||||
"$WRAP_DIR/linuxcnc_tp_api_probe.cpp"
|
"$WRAP_DIR/linuxcnc_tp_api_probe.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
TP_SOURCE_PROBE_NAMES=(
|
||||||
|
linuxcnc_tp_tp_source_probe
|
||||||
|
linuxcnc_tp_tc_source_probe
|
||||||
|
linuxcnc_tp_tcq_source_probe
|
||||||
|
linuxcnc_tp_spherical_arc_source_probe
|
||||||
|
linuxcnc_tp_blendmath_source_probe
|
||||||
|
linuxcnc_tp_sp_scurve_source_probe
|
||||||
|
linuxcnc_tp_ruckig_wrapper_source_probe
|
||||||
|
linuxcnc_cruckig_block_source_probe
|
||||||
|
linuxcnc_cruckig_brake_source_probe
|
||||||
|
linuxcnc_cruckig_calculator_source_probe
|
||||||
|
linuxcnc_cruckig_cruckig_source_probe
|
||||||
|
linuxcnc_cruckig_input_parameter_source_probe
|
||||||
|
linuxcnc_cruckig_output_parameter_source_probe
|
||||||
|
linuxcnc_cruckig_profile_source_probe
|
||||||
|
linuxcnc_cruckig_roots_source_probe
|
||||||
|
linuxcnc_cruckig_trajectory_source_probe
|
||||||
|
linuxcnc_cruckig_position_first_step1_source_probe
|
||||||
|
linuxcnc_cruckig_position_first_step2_source_probe
|
||||||
|
linuxcnc_cruckig_position_second_step1_source_probe
|
||||||
|
linuxcnc_cruckig_position_second_step2_source_probe
|
||||||
|
linuxcnc_cruckig_position_third_step1_source_probe
|
||||||
|
linuxcnc_cruckig_position_third_step2_source_probe
|
||||||
|
linuxcnc_cruckig_velocity_second_step1_source_probe
|
||||||
|
linuxcnc_cruckig_velocity_second_step2_source_probe
|
||||||
|
linuxcnc_cruckig_velocity_third_step1_source_probe
|
||||||
|
linuxcnc_cruckig_velocity_third_step2_source_probe
|
||||||
|
linuxcnc_emcpose_source_probe
|
||||||
|
linuxcnc_posemath_source_probe
|
||||||
|
linuxcnc_posemath_c_source_probe
|
||||||
|
linuxcnc_sincos_source_probe
|
||||||
|
)
|
||||||
|
|
||||||
|
TP_SOURCE_PROBE_SOURCES=(
|
||||||
|
"$VENDOR_DIR/src/emc/tp/tp.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/tc.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/tcq.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/spherical_arc.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/blendmath.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/sp_scurve.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/ruckig_wrapper.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/block.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/brake.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/calculator.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/cruckig.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/input_parameter.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/output_parameter.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/profile.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/roots.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/trajectory.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/position_first_step1.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/position_first_step2.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/position_second_step1.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/position_second_step2.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/position_third_step1.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/position_third_step2.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/velocity_second_step1.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/velocity_second_step2.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/velocity_third_step1.c"
|
||||||
|
"$VENDOR_DIR/src/emc/tp/cruckig/velocity_third_step2.c"
|
||||||
|
"$VENDOR_DIR/src/emc/nml_intf/emcpose.c"
|
||||||
|
"$VENDOR_DIR/src/libnml/posemath/posemath.cc"
|
||||||
|
"$VENDOR_DIR/src/libnml/posemath/_posemath.c"
|
||||||
|
"$VENDOR_DIR/src/libnml/posemath/sincos.c"
|
||||||
|
)
|
||||||
|
|
||||||
INTERP_CORE_SOURCES=(
|
INTERP_CORE_SOURCES=(
|
||||||
"$VENDOR_DIR/src/emc/rs274ngc/modal_state.cc"
|
"$VENDOR_DIR/src/emc/rs274ngc/modal_state.cc"
|
||||||
"$VENDOR_DIR/src/emc/rs274ngc/interp_array.cc"
|
"$VENDOR_DIR/src/emc/rs274ngc/interp_array.cc"
|
||||||
@@ -378,6 +444,14 @@ else
|
|||||||
"$BUILD_DIR/linuxcnc_tp_api_probe.run.stderr.log"
|
"$BUILD_DIR/linuxcnc_tp_api_probe.run.stderr.log"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
for index in "${!TP_SOURCE_PROBE_NAMES[@]}"; do
|
||||||
|
build_object_target \
|
||||||
|
"${TP_SOURCE_PROBE_NAMES[$index]}" \
|
||||||
|
"$BUILD_DIR/${TP_SOURCE_PROBE_NAMES[$index]}.o" \
|
||||||
|
"${TP_SOURCE_PROBE_SOURCES[$index]}" \
|
||||||
|
TP_FLAGS
|
||||||
|
done
|
||||||
|
|
||||||
build_binary_target \
|
build_binary_target \
|
||||||
linuxcnc_namedparam_harness \
|
linuxcnc_namedparam_harness \
|
||||||
"$BUILD_DIR/linuxcnc_namedparam_harness" \
|
"$BUILD_DIR/linuxcnc_namedparam_harness" \
|
||||||
|
|||||||
Reference in New Issue
Block a user