Sunday, November 23, 2014

Jog-while-paused

Recently jog-while-paused popped up again on the LinuxCNC mailing list (this happens a lot, check the archives), so it seems like a good time to point out that not only does Machinekit contain jog-while-paused functionality, this feature was added to LinuxCNC by Michael Haberler before there was a Machinekit project at all.  If you're unfamiliar with the jog-while-paused feature, it allows you to pause a running gcode program, move the machine (perhaps to take a measurement, inspect the cut, or perhaps replace a tool) then resume program operation.

Since so many folks seem to want the feature, but almost no one is using it, what is needed to get jog-while-paused working?  First, you need to have the jog-while-paused code in your build.  With Machinekit, the feature is in all current packages, but with LinuxCNC you'll need to dig around for the proper branches (check the dev-list archives around the date of the video above, Oct. 2013).  This adds new offset pins to motion that provides for the jog-while-paused functionality.

The next piece is some HAL logic to drive the new pins.  There's a simulation example provided with Machinekit (the sim.axis.jog-while-paused9 configuration) which includes some custom UI and HAL code to get jog-while-paused working.

So...what's really missing is just some real-machine example configurations and perhaps a bit of a HOWTO with instructions on getting everything working.  If you've been itching for this feature, why not try out the simulation config.  If you like how it works, merge the jog-while-paused changes into your machine setup.  Remember to take notes and share your results.  Once a few brave souls blaze the trail, I'm sure lots more will follow, and this is a great way non-programmers can help out with the project.

Monday, November 17, 2014

New QtQuickVcp Interfaces

Great news!  Alexander Rössler has released the first two new user interfaces for Machinekit based on QtQuickVcp:

Machineface
Cetus
These interfaces can be run on the same system that is running Machinekit, or they can be run remotely on a tablet, smart-phone, or standard desktop.  Since the interface is based on Qt, it can run virtually anywhere, including Windows, Mac, Linux, and mobile (Android and iOS).  Alexander posted a video walk-through if you want to see more than just the screen-shots:

See Alexander's post on the Machinekit list if you want to try out one of these interfaces.