Anyone willing to help bring jog-while-paused back into master?

More
6 years 1 month ago #181720 by cmorley
i was searching around git and released jog-while-paused proof of concept work is still in a got branch:
keyboard-jog-while-pause-joints-axes4

It's about 18 commits -maybe half merge cleanly.
I tried merging myself but my C++ is knowledge is almost zero and the TP has changed a bit.
I didn't push my merge attempt as I probably guessed wrong a couple times :)

In particular tpGetPos() : tpGetPos(TP_STRUCT const * const tp, EmcPose * const pos);
now take two vaiables now - emcmotQueue and EMCProse
and i can't figure out what to put in for EMCProse.

Anyways i wonder if someone with more experience would be interested in making it compile in master.
I'd like to experiment and see if it can lead to something.

I'm hitting roadblocks - remapping M2 didn't quite work out yet either.

Chris
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #181783 by Reinhard
Hi Chris,

from a quick look I would say, that EmcPose parameter returns a value. So you have to give the adress of an EmcPose variable like this
Code:
// guess you already have a tp instance EmcPose pos; if (tpGetPos(tp, &pos)) return Error; // use valid pos from here on

with respect to the initial issue:
I don't believe, that jog-while-paused is the right way.
Better would be, save current state and allow to resume after hitting Stop.
Heidenhain works that way. They call the function "Goto".

On Fanuc controllers you can turn into singlestep mode. When machine stops for next "Run", you can switch into edit-mode and move cursor. Then you can change back to execute gcode and resume from the new current line.

At job we heavily use that functionality. After toolchange we code a verbose line, that takes all parameters to setup machine for current job like this:
Code:
T2 M6; N10 G0 G90 G54 X10 Y20 S2000 M3 T5; G43 H2 Z2; ...
So after a stop, N10 is the line, where you can start with "run from here". Fanuc supports "run from here" in singlestep mode. So after executing G43 we switch to edit mode and advance the cursor to the place, we really want to start. Then after changing mode back to gcode execution, the show may begin.

There may be plenty reasons, why you have to abort a running job. Linuxcnc - afaik - is not prepared to resume an aborted job. So this may be the real goal to go for.

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #181793 by tommylight

Reinhard wrote: There may be plenty reasons, why you have to abort a running job. Linuxcnc - afaik - is not prepared to resume an aborted job. So this may be the real goal to go for.

It is and it does have run from here, used daily by several of my clients on plasma cutters.

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #181797 by MaHa
this works perfectly for me and won't miss. very simple, abort, do what ever, enter the reqired data, reload, run.

forum.linuxcnc.org/20-g-code/36719-run-f...blem?start=10#156764

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #181801 by cmorley
The code behind jog-with-pause is what i'm interested in mostly.
Though I'm sure JWP would be useful to me while i run my lathe.

JWP allows an alternate motion queue to be switched in and out.
So it preserves the machine state at pause, runs another motion list then, adds a move to blend back to the original motion queue state.
This could be useful for more then JWP.

Chris

Please Log in or Create an account to join the conversation.

More
6 years 1 month ago #181809 by cmorley

Please Log in or Create an account to join the conversation.

Time to create page: 0.350 seconds
Powered by Kunena Forum