按建议,继续完成后续工作

结论:minimal interpreter harness 已按 LinuxCNC Interp::init 对齐 G73/G83 毫米默认 peck-clearance,canned_cycles 已纳入 upstream rs274 side-by-side baseline,完整 native probes 验证通过。
This commit is contained in:
2026-06-07 23:22:57 +08:00
parent 169b7b8b39
commit 3c0f3fdc7c
5 changed files with 23 additions and 21 deletions

View File

@@ -124,20 +124,19 @@ The current fixture expectations validate standalone behavior against both the
vendored LinuxCNC source path and an upstream `rs274` side-by-side baseline for vendored LinuxCNC source path and an upstream `rs274` side-by-side baseline for
parser/conversion, arc geometry, offsets, feed-control, comment/logging, parser/conversion, arc geometry, offsets, feed-control, comment/logging,
numbered-parameter, probing, spindle-orient, file-open reset, file-finish, numbered-parameter, probing, spindle-orient, file-open reset, file-finish,
tool-reload, and O-word subroutine fixtures, plus threading/rigid tap, NURBS tool-reload, canned-cycle, and O-word subroutine fixtures, plus
dispatch boundaries, and the comparable canonical runtime edge and program-end threading/rigid tap, NURBS dispatch boundaries, and the comparable canonical
cleanup calls. Fixtures that depend on standalone-only runtime adapters, runtime edge and program-end cleanup calls. Fixtures that depend on
HAL/INI/tool table setup, upstream `rs274` output gaps such as `WAIT` or hidden standalone-only runtime adapters, HAL/INI/tool table setup, upstream `rs274`
NURBS control-point detail, or richer machine session state still need output gaps such as `WAIT` or hidden NURBS control-point detail, or richer
dedicated native LinuxCNC baselines. machine session state still need dedicated native LinuxCNC baselines.
Remaining positive fixtures that are not in the upstream `rs274` side-by-side Remaining positive fixtures that are not in the upstream `rs274` side-by-side
baseline are intentionally held out until they get a dedicated native LinuxCNC baseline are intentionally held out until they get a dedicated native LinuxCNC
baseline: `canned_cycles` currently exposes G83 retract-height canonical detail baseline: `namedparam_semantics` depends on standalone INI/HAL adapter
that should not be filtered away, `namedparam_semantics` depends on standalone resolution, `state_tag_motion` validates the standalone state-tag capture
INI/HAL adapter resolution, `state_tag_motion` validates the standalone boundary, and `tool_semantics`/`tool_table_setup` depend on tool table host
state-tag capture boundary, and `tool_semantics`/`tool_table_setup` depend on state.
tool table host state.
The kinematics probes currently cover LinuxCNC identity/trivial kinematics, the The kinematics probes currently cover LinuxCNC identity/trivial kinematics, the
switchable `5axiskins` XYZBCW bridge-mill model, TRT `xyzac`/`xyzbc` switchable `5axiskins` XYZBCW bridge-mill model, TRT `xyzac`/`xyzbc`

View File

@@ -69,14 +69,14 @@ semantic rewrites:
path. The upstream `rs274` side-by-side baseline now covers simple motion, path. The upstream `rs274` side-by-side baseline now covers simple motion,
arc geometry, offsets, feed-control, comment/logging, numbered-parameter, arc geometry, offsets, feed-control, comment/logging, numbered-parameter,
probing, spindle-orient, file-open reset, file-finish, tool-reload, and probing, spindle-orient, file-open reset, file-finish, tool-reload, and
O-word subroutine fixtures; it also covers threading/rigid tap, NURBS canned-cycle and O-word subroutine fixtures; it also covers threading/rigid
dispatch boundaries, and comparable canonical runtime edge and program-end tap, NURBS dispatch boundaries, and comparable canonical runtime edge and
cleanup calls. Adapter-heavy fixtures, standalone modal-state assertions, and program-end cleanup calls. Adapter-heavy fixtures, standalone modal-state
upstream `rs274` output gaps such as `WAIT` or hidden NURBS control-point assertions, and upstream `rs274` output gaps such as `WAIT` or hidden NURBS
detail still need dedicated native LinuxCNC baselines. control-point detail still need dedicated native LinuxCNC baselines.
- `canned_cycles` is not yet in the upstream `rs274` side-by-side baseline - `canned_cycles` is now in the upstream `rs274` side-by-side baseline after
because G83 currently exposes retract-height canonical detail that needs a the minimal interpreter harness was aligned with LinuxCNC `Interp::init()`
dedicated native LinuxCNC baseline instead of broad event filtering. default `G73/G83` peck-clearance values for millimeter units.
## Current Drift Conclusion ## Current Drift Conclusion

View File

@@ -81,6 +81,8 @@ void initialize_minimal_interp(Interp &interp)
interp._setup.parameter_occurrence = 0; interp._setup.parameter_occurrence = 0;
interp._setup.num_spindles = 1; interp._setup.num_spindles = 1;
interp._setup.feature_set = FEATURE_INI_VARS | FEATURE_HAL_PIN_VARS; interp._setup.feature_set = FEATURE_INI_VARS | FEATURE_HAL_PIN_VARS;
interp._setup.parameter_g73_peck_clearance = 1.0;
interp._setup.parameter_g83_peck_clearance = 1.0;
interp._setup.parameters[5599] = 1.0; interp._setup.parameters[5599] = 1.0;
interp.load_tool_table(); interp.load_tool_table();
std::memcpy(interp._readers, Interp::default_readers, sizeof(Interp::default_readers)); std::memcpy(interp._readers, Interp::default_readers, sizeof(Interp::default_readers));

View File

@@ -17,10 +17,10 @@ canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.2 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=STRAIGHT_FEED line=6 x=3 y=4 z=-0.1 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_FEED line=6 x=3 y=4 z=-0.1 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=-0.1 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.9 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=STRAIGHT_FEED line=6 x=3 y=4 z=-0.35 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_FEED line=6 x=3 y=4 z=-0.35 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=-0.35 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.65 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=STRAIGHT_FEED line=6 x=3 y=4 z=-0.6 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_FEED line=6 x=3 y=4 z=-0.6 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0 canon_event=STRAIGHT_TRAVERSE line=6 x=3 y=4 z=0.15 a=0 b=0 c=0 u=0 v=0 w=0
canon_event=COMMENT: interpreter: motion mode set to none canon_event=COMMENT: interpreter: motion mode set to none

View File

@@ -9,6 +9,7 @@ CANON_FIXTURE_DIR="$ROOT_DIR/tests/fixtures/canon"
FIXTURES=( FIXTURES=(
minimal_linear minimal_linear
arc_semantics arc_semantics
canned_cycles
canon_runtime_edges canon_runtime_edges
comment_logging comment_logging
coordinate_offsets coordinate_offsets