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
