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

结论:probe_semantics 已纳入 native LinuxCNC rs274 side-by-side fixture baseline,验证文档已同步,完整 native probes 验证通过。
This commit is contained in:
2026-06-07 23:10:30 +08:00
parent acb207c23e
commit 0bb161a4bb
3 changed files with 31 additions and 8 deletions

View File

@@ -110,7 +110,7 @@ machine-session validation remain future work.
The current fixture expectations validate standalone behavior against both the 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, offsets, feed-control, comment/logging, numbered-parameter, parser/conversion, offsets, feed-control, comment/logging, numbered-parameter,
spindle-orient, file-open reset, file-finish, tool-reload, and O-word probing, spindle-orient, file-open reset, file-finish, tool-reload, and O-word
subroutine fixtures, plus threading/rigid tap, NURBS dispatch boundaries, and subroutine fixtures, plus threading/rigid tap, NURBS dispatch boundaries, and
the comparable canonical runtime edge and program-end cleanup calls. Fixtures the comparable canonical runtime edge and program-end cleanup calls. Fixtures
that depend on standalone-only runtime adapters, HAL/INI/tool table setup, that depend on standalone-only runtime adapters, HAL/INI/tool table setup,

View File

@@ -67,13 +67,13 @@ semantic rewrites:
source. source.
- Fixture expectations are checked against the standalone vendored source - Fixture expectations are checked against the standalone vendored source
path. The upstream `rs274` side-by-side baseline now covers simple motion, path. The upstream `rs274` side-by-side baseline now covers simple motion,
offsets, feed-control, comment/logging, numbered-parameter, spindle-orient, offsets, feed-control, comment/logging, numbered-parameter, probing,
file-open reset, file-finish, tool-reload, and O-word subroutine fixtures; spindle-orient, file-open reset, file-finish, tool-reload, and O-word
it also covers threading/rigid tap, NURBS dispatch boundaries, and comparable subroutine fixtures; it also covers threading/rigid tap, NURBS dispatch
canonical runtime edge and program-end cleanup calls. Adapter-heavy fixtures, boundaries, and comparable canonical runtime edge and program-end cleanup
standalone modal-state assertions, and upstream `rs274` output gaps such as calls. Adapter-heavy fixtures, standalone modal-state assertions, and
`WAIT` or hidden NURBS control-point detail still need dedicated native upstream `rs274` output gaps such as `WAIT` or hidden NURBS control-point
LinuxCNC baselines. detail still need dedicated native LinuxCNC baselines.
## Current Drift Conclusion ## Current Drift Conclusion

View File

@@ -24,6 +24,7 @@ FIXTURES=(
oword_subroutine oword_subroutine
percent_file_finish percent_file_finish
position_params position_params
probe_semantics
program_end_modal_reset program_end_modal_reset
spindle_orient spindle_orient
threading_sync threading_sync
@@ -328,6 +329,16 @@ normalize_standalone_events() {
next next
} }
if (line == "TURN_PROBE_ON" || line == "TURN_PROBE_OFF") {
print line
next
}
if (line ~ /^STRAIGHT_PROBE /) {
print "STRAIGHT_PROBE"
next
}
if (line ~ /^STRAIGHT_(TRAVERSE|FEED) /) { if (line ~ /^STRAIGHT_(TRAVERSE|FEED) /) {
split(line, fields, /[[:space:]]+/) split(line, fields, /[[:space:]]+/)
for (i in fields) { for (i in fields) {
@@ -598,6 +609,18 @@ normalize_upstream_rs274_output() {
next next
} }
if (line == "TURN_PROBE_ON()" || line == "TURN_PROBE_OFF()") {
value = line
sub(/\(\)$/, "", value)
print value
next
}
if (line ~ /^STRAIGHT_PROBE\(/) {
print "STRAIGHT_PROBE"
next
}
if (line ~ /^STRAIGHT_(TRAVERSE|FEED)\(/) { if (line ~ /^STRAIGHT_(TRAVERSE|FEED)\(/) {
op = line op = line
sub(/\(.*/, "", op) sub(/\(.*/, "", op)