Browse Learn topics

Learn/GcodePilot/Automation & safety

G-code Engine (RS274NGC)

At a glance

  • Full RS274NGC interpreter: variables, expressions, flow control, and subroutines — LinuxCNC-style
  • Reactive programs run live: G38 probing, M66 wait-on-input, and MSG operator dialogs resolve against the real machine
  • M0/M1 pauses with the pendant and HUD aware of the hold
  • The same engine powers touch-off routines, tool-change subs, and runtime-hook conditions

GcodePilot runs programs through a full RS274NGC interpreter — the LinuxCNC dialect: # variables, expressions, if/while flow control, o<name> subroutines, and system parameters.

Reactive programs against a live machine

Plain programs expand and stream. Programs that need answers from the machine — a G38 probe result, an M66 wait-on-input, an operator (MSG, …) dialog, an M0/M1 pause — run through the live runner, which streams motion and drains at each of those points to resolve them against the real controller before continuing. That's what makes conditional plasma touch-off routines and tool-change subroutines possible on firmware that has none of this built in.

The same engine powers the Touch button's generated routines, M6 tool-change subroutines, runtime hook conditions, and the pre-run bounds check.