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

More
11 Sep 2020 04:57 #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
11 Sep 2020 19:05 #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
// 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:
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
11 Sep 2020 20:45 #181793 by tommylight

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
11 Sep 2020 21:29 #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
11 Sep 2020 21:53 #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
More
12 Sep 2020 02:20 #181810 by cmorley

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

More
12 Sep 2020 02:29 #181811 by Reinhard

It is and it does have run from here

I know about run from here. I tested that a lot during development of my app.
"run from here" only works, if you setup the machine with mdi first. Right of the box you can't select arbitrary line and run from there.
What does not work too is run from here in single step mode.
I tried to cheat linuxcnc to get it working, but was not successful.
.

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.

Yes, that's an interesting use case. Could be valueable for lathe with milling heads or the like. Great. But lathe with milling head is a typical use case for two instances of linuxcnc, so JWP might be a sync point of both instances.

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

More
22 Feb 2021 19:16 #199754 by mic
Was there something happening since September last year e.g. opening a new Branch?
I am also very interrested in the jog-while-paused feature and willing to support a port to Master.
But i think i have not enough experience in the linuxcnc internals to do it on my own.

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

More
22 Feb 2021 21:55 - 22 Feb 2021 22:04 #199773 by fixer
JWP would be a great addition, if it would support changing and reloading a tool table and offsets table. So you are able to stop-jog away-measure/change insert-correct tool length-run.
It is a lot of work.

A proper run-from-line with "calculation" would be simpler and more effective solution to many problems.
With calculation I mean it should read a program up to the selected line and apply all modal functions, change tool if necesarry and get and move to a start position.
So you are able to abort anywhere, jog, change tool, change insert, measure new tool, turn off the machine at the end of the day and continue the next day simply by remembering the line to start at.
I am willing to help with solution for run from line, but I need some kickstart/help. I think that the starting point would be here linuxcnc.positionlogger linuxcnc.org/docs/2.7/html/config/python...sitionlogger_tt_type
Last edit: 22 Feb 2021 22:04 by fixer.

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

Time to create page: 0.123 seconds
Powered by Kunena Forum