Ben, after reading your patch I found not a single line which warrants the modification of the interpreter at the C level. The whole thing can be done in an O-word procedure, maybe a bit of Python glue, as a remapped code, which is in master, and in a stable fashion for the better part of this year. And it is exactly the use case for which I developed the remapping extension in the first place.
Please read http://www.linuxcnc.org/docs/devel/html/remap/structure.html , and see the examples under configs/sim/remap. The chapter on 'Creating new G code cycles' http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_creating_new_g_code_cycles_a_id_remap_g_code_cycles_a will be particularly helpful. If you need help on the first steps of getting a remapped code working, I am happy to help. However, I resist low-level extensions duplicating higher-level functionality with the extra onus of "C++ skills required for adaptation or fixes". - Michael Am 26.08.2012 um 01:59 schrieb Ben Potter: > I have been working on an implementation of the G71 roughing cycle for > lathes. While the code is unfinished and known to be non-robust it's ready > for initial review. A patch is available at: > > http://www.bpuk.org/linuxcnc/g71-patch-1-initial-feedback-mod.diff > > > > with sample g-code programs at: > > http://www.bpuk.org/linuxcnc/test.ngc > > http://www.bpuk.org/linuxcnc/test2.ngc > > > > The main question I have is what 'should' happen after the G71 line is > executed. Should the program continue on the next line, or skip the profile > block (defined by N1.... Nx) ? > > > > To work around the use of U and W words on other controllers I have used J > and L respectively. As such the complete list of words used by the current > implementation of G71 is: > > P Block Number of contour beginning (uses N word in beginning block) > > Q Block number of contour end (uses N word in end block) > > D Roughing Depth per move > > R Retraction from each cut > > J Overthickness for finishing at X (diameter) (U on other controllers) > > L Overthickness for finishing at Z (W on other controllers) > > I Thickness for finishing at X > > K Thickness for finishing at Z > > F Feedrate override between P and Q blocks > > S Spindle speed override between P and Q blocks > > T Tool override between P and Q blocks > > > > There are a few screenshots at http://www.bpuk.org/linuxcnc/ at various > stages of progress. OD and ID should work for G1/G2/G3/G4 profiles for > front-tool lathes, I haven't looked at back-tool lathes at all yet. UW > commands are invalid and ignored at this stage. > > > > Until I'm happy with the code I won't be looking at type 2 - as such only > type 1 (no pockets) g-code is supported so far. > > > > Any comments are appreciated > > Ta > > Ben > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users