What's changed
This release improves LinuxCNC compatibility testing and updates the Phase 3 example to exercise a more realistic milling-machine homing configuration.
LinuxCNC compatibility
- Detect the actual LinuxCNC HAL API used by the Stepper-Ninja build tests instead of assuming it from the LinuxCNC version or build mode.
- Verified compatibility with LinuxCNC 2.9.10 (HAL API 0) and LinuxCNC 2.10.0-pre2 (HAL API 1).
Phase 3 machine configuration
The example machine now uses a more realistic 600 × 400 × 200 mm travel:
- X: 0 .. 600 mm
- Y: 0 .. 400 mm
- Z: -200 .. 0 mm
X and Y home toward their minimum switches.
Z now homes upward toward its maximum switch, approaching it from below. The virtual physical switches are located 1 mm outside the normal soft travel.
Additional tests cover:
- positive-direction Z max-switch triggering
- switch hysteresis and release
- physical switch positions
- HOME_OFFSET consistency
- homing directions and velocities
- HAL input mappings
Validation
Full simulator test suite: 91/91 tests passed
The updated Phase 3 configuration was also manually tested with LinuxCNC 2.10.0-pre2.
Z successfully homes upward to the physical switch at +1 mm, then returns to G53 Z0.
A subsequent move:
G53 G0 X10 Y10 Z-5
produced exactly:
X = 4000 steps = 10.000 mm
Y = 4000 steps = 10.000 mm
Z = -2000 steps = -5.000 mm
No communication, checksum, timing, overflow, or packet-ID errors were observed.