Skip to content

Add a metric three-axis Mach4 post with decimal-sensitive dwell support - #156

Open
DarkBiscuits wants to merge 1 commit into
mountainarcwelding:mainfrom
DarkBiscuits:codex/mach4-post
Open

DarkBiscuits wants to merge 1 commit into
mountainarcwelding:mainfrom
DarkBiscuits:codex/mach4-post

Conversation

@DarkBiscuits

Copy link
Copy Markdown
Contributor

Refs #88.

Adds a built-in mach4 mill/router post with explicit G21 G90 G91.1 G94 G17 G40 G49 G80 startup modes, incremental IJK arcs, full circles and helices in all three planes, standard tool/spindle/coolant blocks, and M9/M30 shutdown.

Mach4 interprets integer G4 P2 as 2 milliseconds and decimal G4 P2.0 as 2 seconds. The opt-in dwell.decimal_seconds setting preserves that distinction in read-back and always writes decimal seconds, including when trailing zeros are trimmed or dwell precision is zero. The mill audit validates literal-P dwell blocks, including the requirement that dwell be the only G code. Existing posts retain their dwell behavior and golden output.

Documents tool setup with length compensation cancelled: the operator establishes the work offset and tool-tip Z for each tool; the post emits T… M6 without automatic G43 H… or measurement macros. Rotary/five-axis, lathe, probing and accessory mappings remain outside this post's scope.

Validation: scripts/check.sh passes (formatting, Clippy, workspace tests, wasm and license checks). Coverage includes sample/curves/dome goldens, randomized motion/audit checks, direct dwell-duration and lexical assertions, malformed/hostile input, unsupported program families, and CLI discovery/run/post tests.

DarkBiscuits, co-authored with Codex. Implemented using CAMpanion's own sources, synthetic fixtures and the public Mach4 Mill Programming Guide v1.1, Build 3775. No physical Mach4 controller testing has been performed.

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.

1 participant