结论:已接通 vendored LinuxCNC interp_remap.cc 的 NGC REMAP 描述符解析路径,新增 native harness 验证 xyzac/xyzbc 的 M428/M429/M430 映射,未实现自写 M 码语义。
78 lines
2.5 KiB
Markdown
78 lines
2.5 KiB
Markdown
# Scope And Baseline
|
|
|
|
## Upstream Source Baseline
|
|
|
|
The standalone port currently treats `../linuxcnc/` as the read-only upstream
|
|
source provider.
|
|
|
|
- Upstream repository: `../linuxcnc`
|
|
- Upstream branch at baseline: `master`
|
|
- Upstream commit: `60597ee0718873d2449058c824262a275e5e4bad`
|
|
- Upstream subject: `Merge pull request #4043 from grandixximo/docs-inkscape-rsvg-shim`
|
|
- Upstream author: `andypugh`
|
|
- Upstream commit date: `2026-05-19T15:26:50+01:00`
|
|
|
|
The upstream working tree is allowed to contain unrelated local files, but the
|
|
vendored-source validation is tied to the commit above. If upstream HEAD
|
|
changes, re-run extraction intentionally and update this baseline in the same
|
|
change.
|
|
|
|
## Local Build Assumptions
|
|
|
|
- C++ compiler: `g++ (Debian 14.2.0-19) 14.2.0`
|
|
- C compiler: `gcc (Debian 14.2.0-19) 14.2.0`
|
|
- Python: `Python 3.13.5`
|
|
- Node.js: `v20.19.2`
|
|
- Emscripten: `emcc 3.1.69`
|
|
|
|
## Current Fixture Baseline
|
|
|
|
The native standalone validation currently uses the fixture set under
|
|
`tests/fixtures/`.
|
|
|
|
G-code fixture coverage includes:
|
|
|
|
- linear traverse and feed
|
|
- arc semantics
|
|
- modal incremental and absolute distance modes
|
|
- length unit switching
|
|
- plane selection
|
|
- position parameters
|
|
- canned cycles
|
|
- coordinate offsets
|
|
- G53 machine-coordinate motion
|
|
- feed and motion control modes
|
|
- cutter compensation motion
|
|
- probe semantics
|
|
- spindle-synchronized threading and rigid tap
|
|
- NURBS G5 and G6
|
|
- spindle orient
|
|
- tool semantics and tool table setup
|
|
- local, INI-backed named parameters and numbered parameters
|
|
- O-word subroutines
|
|
- program-end modal reset
|
|
- canonical runtime edge calls
|
|
|
|
Negative fixture coverage includes:
|
|
|
|
- zero-feed `G1`
|
|
- arc radius mismatch
|
|
- zero-radius arc
|
|
- cutter compensation plane-change rejection
|
|
- G53 incremental-mode rejection
|
|
- read-only named parameter writes
|
|
- read-only numbered parameter writes
|
|
- missing tool
|
|
- missing tool length offset
|
|
|
|
The native baseline compares those negative fixtures with upstream
|
|
`rs274 -g` for expected error text and absent canonical-event constraints.
|
|
|
|
Machine baseline is still limited to standalone interpreter, trajectory
|
|
planner, LinuxCNC identity/trivial kinematics, LinuxCNC `5axiskins` XYZBCW
|
|
bridge-mill probing, LinuxCNC TRT `xyzac`/`xyzbc` probing, and vendored
|
|
LinuxCNC five-axis sample machine assets for `M428`, `M429`, and `M430`
|
|
switchkins remaps, including LinuxCNC `interp_remap.cc` descriptor parsing for
|
|
TRT NGC remaps. Full standalone execution of those remaps still needs LinuxCNC
|
|
O-word remap dispatch and HAL synchronization boundaries connected.
|