How jasontitcomb/grblhalcuttercomp works
This is a grblHAL cutter-compensation plugin: G-code motion enters through an adapter, is converted to 2D moves, compensated and checked by the core, then emitted through saved motion callbacks. The README also documents parser-side mode/radius resolution, $702 options, look-ahead gouge checking, deferred dwells/pauses, and modal-state restoration. Core and adapter excerpts are partial; the graph follows documented integrations and avoids inferring internal call order where source wiring was not shown.
Main entry points: cutter_comp_grblhal.c grblHAL adapter · cutter_comp.c Compensation core
Components 14
grblHAL integration
- grblHAL adapter
cutter_comp_grblhal.c - Motion conversion
cutter_comp_grblhal.c - Deferred markers
cutter_comp_grblhal.c - Modal restoration
cutter_comp_grblhal.c
Compensation engine
- Compensation core
cutter_comp.c - Move buffering
cutter_comp.c - Offset geometry
cutter_comp.c - Junction handling
cutter_comp.c - Gouge checking
cutter_comp.c
Options and state
- Option application
cutter_comp_grblhal.c
Other components
- G-code parser
- $702 settings
- Motion callbacks
- Status messages
Connections 16
- G-code parser → grblHAL adapter: routes motion
- $702 settings → Option application: provides options
- Option application → Compensation core: sets modes
- grblHAL adapter → Motion conversion: converts moves
- Motion conversion → Compensation core: submits moves
- grblHAL adapter → Deferred markers: queues pauses
- Deferred markers → Compensation core: submits markers
- grblHAL adapter → Modal restoration: saves and restores
- Compensation core → Move buffering: buffers moves
- Move buffering → Offset geometry: processes moves
- Offset geometry → Junction handling: resolves corners
- Compensation core → Gouge checking: checks paths
- Compensation core → grblHAL adapter: emits moves
- grblHAL adapter → Motion callbacks: calls saved callbacks
- Compensation core → Status messages: reports issues
- grblHAL adapter → Status messages: formats messages