Ah, I see that Dewey just pushed a patch that adds some control options 
for G43 usage to ngcgui.
(ref loadtool.ngc: provide options for g43 control on the commit list).

The loadtool now looks like:
o<loadtool> call [#<toolno>][#<use_g43>][#<h_for_g43>][#<verbose>]

I see that as much better. I also see that the other ngcgui routines 
default to setting use_G43 true.
Probably so that the prior version behavior did not need to be edited.

What I'm unsure about is how easy it is for ngcgui code to get 
intermixed with other programs - so I'm not sure how much to worry about 
ngcgui defaulting to use_G43=true. (I suppose it's not urgent since no 
one else seems to have thought of it as a problem).

Dewey: Can you give me some insight into how or if ngcgui code 
can/typically gets used with non-ngcgui code?

Another question (for anyone that knows):

there is a comment line in the latest patch that says:
+;G43 without an H word uses the currently loaded tool from the last Tn M6.
That is what
http://www.linuxcnc.org/docs/2.4/html/gcode_main.html#sub:G43,-G49:-Tool
says also - but what does this really mean?

Again, while common, Tn M6 is not required to be an atomic pair within a 
gcode block.
One can have
T1
T2
M6
which loads T2.

Is it the last T,  or the last M6, or the last paired Tn M6,  that G43 
is picking up and using as the default H register #?

Dear readers, come with me down the garden path a bit ...
If one does
T1 M6
G43 H7   (note that the H# is not = the T#)
T2
G43
(what H# TLO value does LCNC have at this point?)

If G43 w/o an H word was a syntax error, this would not be an issue as 
we'd stop at the G43 block.

But now we have G43 w/o the H word is not a syntax error - so what will 
LCNC do?
(I'm not near a running LCNC machine to test this on as I write this)

Is the operative G43 offset now:
1) The TLO value for H register #7?
Since this is already the active TLO value?
One can argue that this would be correct, as turning on G43 when G43 is 
already active should be a no-op.

2) The TLO value for H register# 1?
Since the last Tn M6 pair in a block had T=1?

3) the TLO value for H register index 1?
Since 1 is the currently mounted tool #?

4) the TLO value for H register 2?
Which was the last T# called for by the gcode?

This is an example of why I dislike it when CNC Controls try to "help" 
by providing implicit default values.
"The path to hell is paved with good intentions..."

Dave


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to