You have picked some tough items to fix.
The reason the line number doesn't follow the action 1:1, is because the gcode 
and motion commands don't correspond 1:1
When you start the cycle, the gcode get interpreted into motion commands and 
put in a list.
This is done as fast as possible and has nothing to do with actual movement, 
the list will get way ahead of movement.

In the process of interpreting, the motion commands loses 1:1 reference to 
gcode line in some cases.
eg an F code on a line by it's self does not put a motion command in the list, 
only when a movement code such as G1 is found.
Then a 'feed move at f code rate' motion command is added to the list.
So the two Gcode lines turn into one motion command.

Same idea with gcode and mcode display - it's displaying the interpreted state 
not the actual motion state.
because the (machine) motion  side of linuxcnc knows nothing of gcode -only 
motion commands.

There was work called 'state tags' to help on this problem. It's in limbo right 
now.
I'm doing some work on machine state F code updating right now, there is a 
testing branch.
State tags would probably supersede it if it gets finished.
In my branch's case I send an fcode message to motion and motion does nothing 
but send it back as status.
It's a ton of code to do this one little status.
I believe statetags works on the same principle, just in a more general way.

So it's not that your (or any other) GUI is broken, it's the information 
currently is not available.

I assume by process time you mean estimation of gcode running?
It's another very difficult problem because so many thing can have affect on 
acceleration/velocity.

Hopefully others can answer any specific questions for you.

Chris
________________________________
From: Reinhard <reinha...@schwarzrot-design.de>
Sent: March 26, 2020 1:27 PM
To: emc-developers@lists.sourceforge.net <emc-developers@lists.sourceforge.net>
Subject: [Emc-developers] ask for help

Hello guys,

I'm Reinhard and I wrote an UI application for linuxcnc which uses nml-
interface only. The app works fine so far.

But on testing it together with axis and linuxcnc-simulation I realized
several quirks and shortcomings of the backend like:
- no process time
- current line number does not reflect machine codes or other non-motion
gcodes. That will not be noted normally, but when you process a gcode file with
singlestep enabled (like I'm used from work), it is really annoying
- table of g- and m-codes is not updated in time or at all, so this tables
have no value.





_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to