I've added an experimental branch for implementing a
dryrun facility: dgarr/dryrun (based on the master
branch):
github.com/LinuxCNC/linuxcnc/commits/dgarr/dryrun
In dryrun mode, you can jog axes, issue mdi commands or
run gcode programs and the axis gui display acts
normally -- however, no hal pins or motion status items are
updated.
A sim config using a pyvcp panel is provided:
configs/sim/axis/dryrun/dryrun.ini
Ref:
github.com/LinuxCNC/linuxcnc/blob/dgarr/...m/axis/dryrun/README
The video below shows the axis gui preview path and
its dro display while running after selecting dryrun
mode. The halshow panel shows that the halpins for
positioning commands (motor control) are unaltered
while the dryrun is active.
====================================================
Notes:
1) The machine must be homed and ON in order to start
dryrun.
2) halpins set by gode commands like M62-65 (digital
outputs) and M67-68 (analog outputs) are not changed in
dryrun mode.
3) ancillary guis (like halui) are not affected. The
provided halpin motion.is-dryrun can be used to manage
their outputs.
4) Dryrun cannot be started when a program is running
in normal mode (stop the program first). Similarly,
dryrun cannot be stopped when running a program (stop
the program first). Mesages are issued for these
attempts.
5) Under some conditions with the axis gui, the
manual tab must be selected to start or stop dryrun.
6) halpins are read during dryrun but acknowledgement
varies:
a) inputs to task (example: halui.program-pause,resume)
are processed.
b) inputs to motion (example: limit switches) are
ignored as motion status is not updated during dryrun.
(This is subject to change for selected inputs)
====================================================
The branch can be built as a Run-in-place (RIP) or
obtained from the buildbot as a 'scratch branch (for
buildbot-supported operating systems) per the
instructions:
buildbot.linuxcnc.org/
====================================================