I have two questions that are semi related.
Note: Running linuxcnc 2.8 with a qtpyvcp gui.
The first question is in regards to jogging while paused. This is a critical function I need to have. (my programs are auto generated, and the raw part stock is located via a dead stop in the spindle. it works something like this. Jog down during m00, bump rawstock to spindle hard stop, tighten vise, jog spindle up and table forward, set part with deadblow hammer, resume program.)
I see there is something called jog while paused, and something else called moveoff. Which of these components should be used? Does anybody have an example setup that uses them I could have a look at?
My second question is in regards to running a program from a certain line. Is there currently any automated way to do a run from line that picks up modals? My Z offsets are set solely thru g52s that are unique to each program.If I run from a line and this offset is not input, it will crash my machine.
Now this is how (at least in my mind) these two issues are related. IF there is a way to run from line and pick up modals (i think this would be simple, maybe using the rs274 interpreter, but my programming experience is almost entirely lisp) Couldn't this be used to easily integrate a fairly comprehensive jog while paused solution? Here is what I am kind of thinking.
Create a component similar to abort, maybe called jog abort. The only major difference would be that it stores the last line number and wont allow you to unload or reload the Gcode file.
Once you press jog abort you are essentially back in manual mode, you can jog around , turn the spindle on and off, adjust offsets, whatever you want to do.
Once you press run / resume - it would actually enter a run from line sub that can pick up all of the modal states. Logically I think the step by step would look like this.
1:evaluate the run from line number, If it is and arc move / sub call / comment, set the line number as -1 until it is not.
2:Read thru the file line by line and flag modal states and axis location data, write them to a file similar to linuxcnc.var. Overwrite the old ones so only the latest state is flagged.
3:Write the modal states to a ngc subroutine in a ranked order. Importance might be something like toolnumber/toolchange first, then set offsets, then spindle on then coolant on, then comp state, then move to xy location (if its a VTL mill) and lastly z location.
4: call the subroutine to set the modals correctly
5: run the program from the specified line.
Anyway, The most important thing is I need help with a basic jog while paused solution, but I wanted to throw this out there as maybe a more comprehensive and easy to integrate solution in the future.