Skip to content

Add inch output for three-axis mill posts - #155

Merged
mountainarcwelding merged 2 commits into
mountainarcwelding:mainfrom
DarkBiscuits:codex/inch-mill-output
Nov 10, 2026
Merged

mountainarcwelding merged 2 commits into
mountainarcwelding:mainfrom
DarkBiscuits:codex/inch-mill-output

Conversation

@DarkBiscuits

Copy link
Copy Markdown
Contributor

Custom posts currently accept only millimetres, and read-back and auditing reject G20. Add "units": "inch" for three-axis mill/router posts while keeping the IR and physical tolerances in millimetres.

The writer converts linear coordinates, arc centres/radii, probe targets, and feeds to inches. Read-back and the mill auditor normalize them to mm and mm/min; the audit retains the actual unit declaration. Arc-rounding guards and feed comparisons account for the output precision. Spindle speeds, dwell times, identifiers, and digital pins are unchanged.

Require G20 before dimensional words and reject conflicting units or unit switches. Literal post-template numbers remain in the declared output units, with documentation explaining how to adapt a metric post. Rotary, five-axis, and lathe inch configurations remain explicitly unsupported. Existing built-in posts stay metric; this adds neither a new controller post nor a CLI units override.

Validation on Linux with Rust 1.95:

  • Fourteen focused tests, including property tests and a golden fixture, cover conversions, probes, arcs/helices/full circles in all planes, precision boundaries, modal feeds, word order, unit conflicts, unsupported configurations, and overflow.
  • The CLI posts the existing curves IR with a custom inch post and passes its read-back comparison.
  • Complete scripts/check.sh passed: formatting, workspace Clippy, 1,102 passing tests (one existing ignored), wasm library checks, and licenses.

Related to #88.

DarkBiscuits, co-authored with Codex. Implementation and tests use CAMpanion's own sources and synthetic inputs, following the clean-room contribution rules. No physical controller testing was performed.

DarkBiscuits and others added 2 commits November 9, 2026 17:39
Keep G53 audit locals with the inch feed-mode snapshot. Add an Unreleased
Added changelog entry for three-axis inch (G20) output.

Co-authored-by: DarkBiscuits <darkbiscuitstuff@gmail.com>
@mountainarcwelding
mountainarcwelding merged commit e4b91ff into mountainarcwelding:main Nov 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants