按建议继续完成后续工作
结论:native 兼容性验证已接入 interpreter init、rotary indexer、canonical 边界 fixture,并新增 upstream rs274 side-by-side 基线;完整 verify_native_probes.sh 已通过。
This commit is contained in:
@@ -456,6 +456,58 @@ Current verified progress:
|
||||
`tests/fixtures/gcode/tool_table_setup.ngc` and
|
||||
`tests/fixtures/canon/tool_table_setup.events` pin `G10 L1` tool offset,
|
||||
diameter, front/back angle, and orientation behavior.
|
||||
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||
the tool-data reload boundary call emitted by vendored
|
||||
`interp_convert.cc::convert_modal_0()`: `RELOAD_TOOLDATA`.
|
||||
`tests/fixtures/gcode/tool_reload.ngc` and
|
||||
`tests/fixtures/canon/tool_reload.events` pin `G10 L0` dispatch without
|
||||
adding standalone tool-table reload semantics.
|
||||
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||
interpreter state-tag boundary calls emitted by vendored LinuxCNC
|
||||
`interp_write.cc::write_state_tag()` and
|
||||
`interp_convert.cc::update_tag()`: `UPDATE_TAG`.
|
||||
`tests/fixtures/gcode/state_tag_motion.ngc` and
|
||||
`tests/fixtures/canon/state_tag_motion.events` pin straight-motion state tag
|
||||
emission without deriving modal state in standalone code.
|
||||
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||
rotary indexer lock/unlock boundary calls emitted by vendored
|
||||
`interp_convert.cc::issue_straight_index()`: `UNLOCK_ROTARY` and
|
||||
`LOCK_ROTARY`. A dedicated `linuxcnc_indexer_harness` pins the LinuxCNC
|
||||
single-axis `G0 A...` indexer path, including the surrounding motion-control
|
||||
boundary calls, without adding standalone rotary-indexing semantics.
|
||||
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||
the canonical flush boundary emitted by vendored LinuxCNC file-reading
|
||||
code: `FINISH`. `tests/fixtures/gcode/percent_file_finish.ngc` and
|
||||
`tests/fixtures/canon/percent_file_finish.events` pin `%`-delimited file
|
||||
handling from `rs274ngc_pre.cc::open()` and `interp_read.cc::read_text()`.
|
||||
The native verification script treats this fixture as file-mode-only
|
||||
because `%` is a LinuxCNC program-file delimiter, not a valid MDI command.
|
||||
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||
the reset/queue-drop boundary emitted by vendored
|
||||
`rs274ngc_pre.cc::reset()`: `ON_RESET`.
|
||||
`tests/fixtures/gcode/file_open_reset.ngc` and
|
||||
`tests/fixtures/canon/file_open_reset.events` pin the LinuxCNC file-open
|
||||
reset path without adding standalone queue-management semantics.
|
||||
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||
the interpreter initialization boundary emitted by vendored
|
||||
`rs274ngc_pre.cc::init()`: `INIT_CANON`. A dedicated
|
||||
`linuxcnc_interp_init_harness` calls vendored `Interp::init()` and pins the
|
||||
LinuxCNC initialization sequence: `INIT_CANON`, `USE_LENGTH_UNITS`,
|
||||
`SET_G5X_OFFSET`, `SET_G92_OFFSET`, `SET_XY_ROTATION`, and
|
||||
`SET_FEED_REFERENCE`, without changing the minimal G-code fixture harness
|
||||
startup path.
|
||||
- `runtime/core/linuxcnc_wrap/linuxcnc_interp_minimal_runtime.cpp` now records
|
||||
comment logging canonical boundary calls emitted by vendored
|
||||
`interp_convert.cc::convert_comment()`: `LOGOPEN`, `LOG`, `LOGAPPEND`,
|
||||
and `LOGCLOSE`. `tests/fixtures/gcode/comment_logging.ngc` and
|
||||
`tests/fixtures/canon/comment_logging.events` pin LinuxCNC comment logging
|
||||
dispatch without adding standalone comment semantics.
|
||||
- `tools/verify_native_linuxcnc_fixture_baseline.sh` now runs a first
|
||||
side-by-side baseline against upstream `../linuxcnc/bin/rs274`. It normalizes
|
||||
native LinuxCNC canonical output for simple parser/conversion fixtures
|
||||
(`minimal_linear`, `length_units`, `plane_selection`, and
|
||||
`modal_incremental`) and compares it with the standalone fixture events,
|
||||
without introducing a project-authored CNC semantics oracle.
|
||||
- `tests/fixtures/gcode_errors/g1_zero_feed.ngc` and
|
||||
`tests/fixtures/canon_errors/g1_zero_feed.expected` pin the negative
|
||||
`G1` zero-feed case. The source basis is LinuxCNC
|
||||
|
||||
Reference in New Issue
Block a user