Re: [Emc-users] Touchy with 1024x600 resolution display?
Hi, I am currently working on some new QML based GUI especially designed for small touchscreen displays to control 3D printers. That kind of thing might be also suitable for your screen as QML is very flexible. Regards Alexander On Tuesday 29 October 2013 19:39:03 Thomas Kaiser wrote: On 10/29/2013 01:33 AM, andy pugh wrote: On 28 October 2013 22:59, Thomas Kaiser c...@kaiser-linux.li wrote: Touchy is too big for this screen! (LinuxCNC 2.5.3 on Ubuntu 10.04.4 LTS) IIRC the trick is to fiddle with the font DPI until the width works System-Preferences-Appearance-Fonts-Details-Reolution Then in Touchy play with the font sizes to fit. http://imagebin.org/275087 Is 1080 x 595 (as I got bored of adjusting the VM screen size) Hello Andy Thank you for this tip. I could manage to get Touchy fit to the screen. But, I think this is not the correct methode to get Touchy fit to the screens resolution. Anyway, thanks again. Thomas -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg. clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Rotary stage
Before anyone makes new rotaries, I have an interesting article from Summer school in electrical engineering, proceedings July 12 to 16 1948 BTH, The British Thomson-Houston Co Ltd Vibration and noise problems in engineering They were using an early spectrum analysis tool listening to the noise from a drive gear set made on a hobbing machine. http://www.collection.archivist.info/archive/proceedings/PR22/ see pages 60 61 and the table on page 66 The dominant error as you may see is regular error at tooth frequency A way I would put it is, if there were no accuracy errors there would be no sound to measure. Even the the measures they took to make the 360 master wheel still show up in the the result in table 1. The accuracy of a worm drive is also very important to telescope makers and to show the periodic error I mentioned earlier in this thread this page has some graphs http://www.pk3.org/Astro/index.htm?astrophoto_mount_errors.htm Just think how you are going to make your worm pitch match yout worm gear pcd to the accuracy needed. Hope it all goes well. Dave Caroline -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] gcmc - G-Code Meta Compiler
Hi all, Every time I had to write a CNC-mill program using G-codes I got annoyed by the archaic format and syntax. Especially when needing to convert positional data from mil to mm, having recurring patterns and then also trying to keep track of everything. I looked for a meta compiler or generic pre-processor, but could not find anything that satisfied me. Being able to program should be easy. The G-Code Meta Compiler (gcmc) is just that, a scripting meta language, using modern procedural paradigms and a context free grammar, to generate G-code. It takes in a script and generates all the movements. Units can be assigned/attached to values to do metric/imperial conversions automatically. A rich set of built-in functions for G-codes and mathematical manipulations make it easy to keep track. Variables are typed into integer/floating point (scalars), vectors and vector-lists. You can define functions and use local variables. Standard loop-control is performed using foreach/for/while/do-while constructs as well as conditional execution with if/if-else constructs. The context-free grammar allows you to make sources more readable and therefore more debug-able. You can find the code at my git repository: https://gitorious.org/gcmc/gcmc An example script can be found in the tests directory (cutter.gcmc) and some preliminary documentation about the grammar and built-in functions can be found in the doc directory (gcmc.txt). Please note that the code is not entirely mature as of yet. However, the basics should function properly and you are encouraged to use it and take a look. If you have any comments you are welcome to provide feedback. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 7:47 AM, Bertho Stultiens wrote: Hi all, Every time I had to write a CNC-mill program using G-codes I got annoyed by the archaic format and syntax. Archaic? How could you say that? Why it's 10 years younger than I am. Oh, wait I looked for a meta compiler or generic pre-processor, but could not find anything that satisfied me. Being able to program should be easy. What a concept! The G-Code Meta Compiler (gcmc) is just that, a scripting meta language, using modern procedural paradigms and a context free grammar, to generate G-code. It takes in a script and generates all the movements. Thank you, Bertho. I look forward to taking it for a spin. Those of us who handcode can use all the tools we can get. Regards, Kent -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 01:33 PM, Kent A. Reed wrote: Every time I had to write a CNC-mill program using G-codes I got annoyed by the archaic format and syntax. Archaic? How could you say that? Why it's 10 years younger than I am. Oh, wait Shall I provide you with a script to mill a walking-cane? [snip] I look forward to taking it for a spin. Those of us who handcode can use all the tools we can get. Yes, I sincerely sympathize with all who have hand-coded. My brain still hurts from it. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 30 October 2013 11:47, Bertho Stultiens ber...@vagrearg.org wrote: Every time I had to write a CNC-mill program using G-codes I got annoyed by the archaic format and syntax. Especially when needing to convert positional data from mil to mm, having recurring patterns and then also trying to keep track of everything. Whist not wanting to defend G-code, which is, as you say, horrible as a programming language, it does already contain G-codes to switch between units and (At least with the LinuxCNC variant) repeating patterns are reasonably manageable with the use of subroutines, loops and conditionals. I looked for a meta compiler or generic pre-processor, but could not find anything that satisfied me. Being able to program should be easy. There is an alternative (and possibly more interesting) approach, you could develop your meta-language into an alternative interpreter for LinuxCNC. The interpreter doesn't _have _ to read G-code. It is just that the only one we have does so. Pluggable interpreters have been an option for a while. -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
I downloaded, extracted, configured and maked it. Now what, I cant get any further than that. I like the idea and want to test it but you are going to have to give some small bit of guidance as to how we get to use it please. On 2013/10/30 01:47 PM, Bertho Stultiens wrote: Hi all, Every time I had to write a CNC-mill program using G-codes I got annoyed by the archaic format and syntax. Especially when needing to convert positional data from mil to mm, having recurring patterns and then also trying to keep track of everything. I looked for a meta compiler or generic pre-processor, but could not find anything that satisfied me. Being able to program should be easy. The G-Code Meta Compiler (gcmc) is just that, a scripting meta language, using modern procedural paradigms and a context free grammar, to generate G-code. It takes in a script and generates all the movements. Units can be assigned/attached to values to do metric/imperial conversions automatically. A rich set of built-in functions for G-codes and mathematical manipulations make it easy to keep track. Variables are typed into integer/floating point (scalars), vectors and vector-lists. You can define functions and use local variables. Standard loop-control is performed using foreach/for/while/do-while constructs as well as conditional execution with if/if-else constructs. The context-free grammar allows you to make sources more readable and therefore more debug-able. You can find the code at my git repository: https://gitorious.org/gcmc/gcmc An example script can be found in the tests directory (cutter.gcmc) and some preliminary documentation about the grammar and built-in functions can be found in the doc directory (gcmc.txt). Please note that the code is not entirely mature as of yet. However, the basics should function properly and you are encouraged to use it and take a look. If you have any comments you are welcome to provide feedback. -- Regards / Groete Marius D. Liebenberg MasterCut cc Cel: +27 82 698 3251 Tel: +27 12 743 6064 Fax: +27 86 551 8029 Skype: marius_d.liebenberg --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 01:41 PM, andy pugh wrote: Whist not wanting to defend G-code, which is, as you say, horrible as a programming language, it does already contain G-codes to switch between units and (At least with the LinuxCNC variant) repeating patterns are reasonably manageable with the use of subroutines, loops and conditionals. The unit switching (G20/G21) makes life more difficult (IMO) in all cases where you have to calculate your position in a mixed setup. It is much easier to associate a unit to a variable and let it be converted automatically. It is less error-prone. Secondly, reading G-code that switches between units is a real hell. The problem is that you have to keep track manually (in your mind) which unit target is active. Again, very error prone. The loops and conditionals provided by G-code are, well, archaic. The format is context-sensitive and uses line numbers to keep track. Moving things around in a G-code program is a pain. The reason for a context-free grammar is to make coding more flexible without having to think about line numbers. A paradigm that has proven to be very successful. I looked for a meta compiler or generic pre-processor, but could not find anything that satisfied me. Being able to program should be easy. There is an alternative (and possibly more interesting) approach, you could develop your meta-language into an alternative interpreter for LinuxCNC. The interpreter doesn't _have _ to read G-code. It is just that the only one we have does so. Pluggable interpreters have been an option for a while. That would certainly be an option for future development. However, my first milestone was to be compatible with existing setups (primarily to make my own stuff). That is to say, I could have written my G-code program that started this project in two days. Instead I opted for using two weeks making gcmc. :-) For a future as a secondary/pluggable interpreter, it would be required to finalize the grammar, discuss required built-in functionality, discuss how to handle rotational axes and get a grip on all bugs. I think it would be a great idea, but I do not want to rush things. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 30 October 2013 11:47, Bertho Stultiens ber...@vagrearg.org wrote: If you have any comments you are welcome to provide feedback. A way to configure CSS and feed-per-rev would be useful. Also the other typical switches, such as radius comp on/off, absolute/relative (G90, G90.1) Is G43 implicit in toolchange() ? -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 02:00 PM, Marius Liebenberg wrote: I downloaded, extracted, configured and maked it. Now what, I cant get any further than that. I like the idea and want to test it but you are going to have to give some small bit of guidance as to how we get to use it please. You should have an executable named 'gcmc' in the src directory. You can type (assuming you are in the src directory: $ ./gcmc -o output.ngc ../tests/cutter.gcmc That should give you an output file output.ngc in the current directory which is the intepretation of the testfile. You can get a brief option help by typing: $ ./gcmc -h Also have a look at the example script and the doc/gcmc.txt file for more information on the functionality provided. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
Thanks, I got the test file compiled eventually :). It would seem that your program would be a very good platform for doing wizards or the like with a GUI interface. I dont know if it is any easier to program in Gcode or having to know another LUA type script language. I am however not qualified to comment as I dont do much manual Gcode programming. I try and find a wizard or a program that does the Gcode on my behalf. I am very interested in seeing where you are going to take this as I see future for it as a wizard back end. On 2013/10/30 03:11 PM, Bertho Stultiens wrote: On 10/30/2013 02:00 PM, Marius Liebenberg wrote: I downloaded, extracted, configured and maked it. Now what, I cant get any further than that. I like the idea and want to test it but you are going to have to give some small bit of guidance as to how we get to use it please. You should have an executable named 'gcmc' in the src directory. You can type (assuming you are in the src directory: $ ./gcmc -o output.ngc ../tests/cutter.gcmc That should give you an output file output.ngc in the current directory which is the intepretation of the testfile. You can get a brief option help by typing: $ ./gcmc -h Also have a look at the example script and the doc/gcmc.txt file for more information on the functionality provided. -- Regards / Groete Marius D. Liebenberg MasterCut cc Cel: +27 82 698 3251 Tel: +27 12 743 6064 Fax: +27 86 551 8029 Skype: marius_d.liebenberg --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 30 October 2013 13:06, Bertho Stultiens ber...@vagrearg.org wrote: The loops and conditionals provided by G-code are, well, archaic. The format is context-sensitive and uses line numbers to keep track. Moving things around in a G-code program is a pain. Getting a bit off topic here, but the RS274NGC version of G-code doesn't use line-numbers at all. While/Wend If/Endif are matched by numerical tags, so canbe moved about (but can't be repeated unless you change their identifier tags) http://www.linuxcnc.org/docs/html/gcode/o-code.html I have a feeling that a few years ago someone wrote a system to allow use of something Python-like to create G-code, but I can't find it. -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 02:07 PM, andy pugh wrote: A way to configure CSS and feed-per-rev would be useful. Hm, yes, those will need to be implemented. As a hack... You can put anything into the generated code with the literal() function. It simply outputs anything you like. Also the other typical switches, such as radius comp on/off, absolute/relative (G90, G90.1) The relative/absolute question is actually a bit more involved. I have been pondering that one from when I started. The question is whether you want the meta-language or the generated code to support relative/absolute. Currently, the generated G-code is absolute by choice because it is easier to debug. There is, as such, no added value to mix relative/absolute in the generated target. Supporting relative addressing at the meta-language level /is/ a good thing. I just have not yet addressed that point. Some functions need to be added for relative movement and at least: - move()move_r() - goto()goto_r() - arc_cw() arc_cw_r() - arc_ccw() arc_ccw_r() I do track the current absolute position internally, and it is exposed to the script under the variable name global_position. There is also a variable called global_offset, which holds the command-line added offset for all generated code. Is G43 implicit in toolchange() ? No, currently the toolchange() only emits a T code. I think it may be appropriate to send a Tx followed by G43 Hx. It may also be appropriate to enable/disable this behavior with an optional second boolean parameter to toolchange(). -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 02:53 PM, andy pugh wrote: Getting a bit off topic here Well, if I cannot defend the choices made in the creation of gcmc, then they may not be valid choices and should be thought about. , but the RS274NGC version of G-code doesn't use line-numbers at all. While/Wend If/Endif are matched by numerical tags, so canbe moved about (but can't be repeated unless you change their identifier tags) http://www.linuxcnc.org/docs/html/gcode/o-code.html What is more readable? o100 sub (notice that the if-endif block uses a different number) o110 if [#2 GT 5] (some code here) o110 endif (some more code here) o100 endsub ... or ... function blabla(arg1, arg2) { if(arg2 5) { /* Some code here */ } } I have a feeling that a few years ago someone wrote a system to allow use of something Python-like to create G-code, but I can't find it. I vaguely remember seeing some python style attempt, but I have one *very* large objection to python: it is context-sensitive. IMO, it is brain-dead to use indenting for scoping purposes where context-free grammars have proven to be so useful over the years. But that is my opinion. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
Now that I have had some good look at it again, I am excited. I am busy with my pick and place machine planning and the input software is always a big mission. I am sure with this program I am going to get it done. I have to use the camera to line up the component once it has been picked, will I be able to interface to the external stuff that will control the camera in any way? What do you suggest, using Mcodes and inputs maybe? On 2013/10/30 03:25 PM, Marius Liebenberg wrote: Thanks, I got the test file compiled eventually :). It would seem that your program would be a very good platform for doing wizards or the like with a GUI interface. I dont know if it is any easier to program in Gcode or having to know another LUA type script language. I am however not qualified to comment as I dont do much manual Gcode programming. I try and find a wizard or a program that does the Gcode on my behalf. I am very interested in seeing where you are going to take this as I see future for it as a wizard back end. On 2013/10/30 03:11 PM, Bertho Stultiens wrote: On 10/30/2013 02:00 PM, Marius Liebenberg wrote: I downloaded, extracted, configured and maked it. Now what, I cant get any further than that. I like the idea and want to test it but you are going to have to give some small bit of guidance as to how we get to use it please. You should have an executable named 'gcmc' in the src directory. You can type (assuming you are in the src directory: $ ./gcmc -o output.ngc ../tests/cutter.gcmc That should give you an output file output.ngc in the current directory which is the intepretation of the testfile. You can get a brief option help by typing: $ ./gcmc -h Also have a look at the example script and the doc/gcmc.txt file for more information on the functionality provided. -- Regards / Groete Marius D. Liebenberg MasterCut cc Cel: +27 82 698 3251 Tel: +27 12 743 6064 Fax: +27 86 551 8029 Skype: marius_d.liebenberg --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 30 October 2013 14:33, Marius Liebenberg mar...@mastercut.co.za wrote: I have to use the camera to line up the component once it has been picked, will I be able to interface to the external stuff that will control the camera in any way? What do you suggest, using Mcodes and inputs maybe? As I suggested a few days ago in a different thread, I think it is possible to write values into G-code parameters from a Python routine. (And, probably, from other languages too). This seems like at least one option for the OpenCV / G-code link-up. -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 30 October 2013 14:11, Bertho Stultiens ber...@vagrearg.org wrote: What is more readable? o100 sub (notice that the if-endif block uses a different number) o110 if [#2 GT 5] function blabla(arg1, arg2) { if(arg2 5) { Well, for me, who reads C a lot, the latter. For a machine operator, I would guess at the former. IMO, it is brain-dead to use indenting for scoping purposes Well, yes. I am not a fan of that decision in Python at all. While we are at it, I am not sure why it insists on so many empty brackets either. -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 06:47 AM, Bertho Stultiens wrote: Hi all, Every time I had to write a CNC-mill program using G-codes I got annoyed by the archaic format and syntax. Especially when needing to convert positional data from mil to mm, having recurring patterns and then also trying to keep track of everything. I looked for a meta compiler or generic pre-processor, but could not find anything that satisfied me. Being able to program should be easy. ... SNIP If you have any comments you are welcome to provide feedback. Bertho, Hello, great idea great work! maybe of use: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?AptProgrammingForEMC look at the screenshots of the generic path description. This is high level and abstracted. The output is filtered according to machine style ( horiz, vertical, special kins, special variant of gcode ) The existing work done may be of help to you and to the communuty. I gave working live cd images of Apt360 PostP and the sketch util for Ubuntu 6.06 to KimK at the Witchita Fest. I think Matt S also has them. I dont have a way to post such a large file set. ( probs with one lib forced me to regress to 6.06 ) hth TomP tjtr33 -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 11:13:35 Bertho Stultiens did opine: Hi all, Every time I had to write a CNC-mill program using G-codes I got annoyed by the archaic format and syntax. Especially when needing to convert positional data from mil to mm, having recurring patterns and then also trying to keep track of everything. I looked for a meta compiler or generic pre-processor, but could not find anything that satisfied me. Being able to program should be easy. The G-Code Meta Compiler (gcmc) is just that, a scripting meta language, using modern procedural paradigms and a context free grammar, to generate G-code. It takes in a script and generates all the movements. Units can be assigned/attached to values to do metric/imperial conversions automatically. A rich set of built-in functions for G-codes and mathematical manipulations make it easy to keep track. Variables are typed into integer/floating point (scalars), vectors and vector-lists. You can define functions and use local variables. Standard loop-control is performed using foreach/for/while/do-while constructs as well as conditional execution with if/if-else constructs. The context-free grammar allows you to make sources more readable and therefore more debug-able. You can find the code at my git repository: https://gitorious.org/gcmc/gcmc An example script can be found in the tests directory (cutter.gcmc) and some preliminary documentation about the grammar and built-in functions can be found in the doc directory (gcmc.txt). Please note that the code is not entirely mature as of yet. However, the basics should function properly and you are encouraged to use it and take a look. If you have any comments you are welcome to provide feedback. Downloaded but only .txt file read so far. As someone from the other side of the pond, I am far more comfortable in inches than in mm or mils for everyday work, but I think I need to understand what a mil is in the definitions you use? Please, can you define the mm to mil conversion, and how that relates to inches for an old man like me who is used to speaking in thousandths for everyday precision measurements? We tried to convert folks to metric here, in the 70's starting with the gas pumps for our vehicles, but a lifetime of gallons didn't die gracefully because those gas stations that converted the pumps to litre's promptly either converted back in 2 weeks, or went broke because the public drove right on by looking for a station that still sold by the gallon. I am in electronics, so to me metric always made sense, but I've been stuck in Rome, doing as the Romans did for 79 years. This old dog needs to learn metric in the physical world, not just in wavelengths. Thanks. Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) Obviously your filters are throwing away mail from Randal. :-) -- Larry Wall in 199710221937.maa25...@wall.org A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 11:30:34 Kent A. Reed did opine: On 10/30/2013 7:47 AM, Bertho Stultiens wrote: Hi all, Every time I had to write a CNC-mill program using G-codes I got annoyed by the archaic format and syntax. Archaic? How could you say that? Why it's 10 years younger than I am. Oh, wait Chuckle. And I think I have close to a decade on you, Kent. My calendar starts in 1934. I looked for a meta compiler or generic pre-processor, but could not find anything that satisfied me. Being able to program should be easy. What a concept! The G-Code Meta Compiler (gcmc) is just that, a scripting meta language, using modern procedural paradigms and a context free grammar, to generate G-code. It takes in a script and generates all the movements. Thank you, Bertho. I look forward to taking it for a spin. Those of us who handcode can use all the tools we can get. I'll certainly second that. Regards, Kent -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clk trk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) The confusion of a staff member is measured by the length of his memos. -- New York Times, Jan. 20, 1981 A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
Sorry Andy, I missed that thread or ignored it as I sometimes do. Please tell me which one. On 2013/10/30 05:20 PM, andy pugh wrote: On 30 October 2013 14:33, Marius Liebenberg mar...@mastercut.co.za wrote: I have to use the camera to line up the component once it has been picked, will I be able to interface to the external stuff that will control the camera in any way? What do you suggest, using Mcodes and inputs maybe? As I suggested a few days ago in a different thread, I think it is possible to write values into G-code parameters from a Python routine. (And, probably, from other languages too). This seems like at least one option for the OpenCV / G-code link-up. -- Regards / Groete Marius D. Liebenberg MasterCut cc Cel: +27 82 698 3251 Tel: +27 12 743 6064 Fax: +27 86 551 8029 Skype: marius_d.liebenberg --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 30 October 2013 15:34, Marius Liebenberg mar...@mastercut.co.za wrote: Sorry Andy, I missed that thread or ignored it as I sometimes do. Please tell me which one. Technical Vision I didn't write much: I would be looking at a user-space HAL component, that makes the locations available on HAL pins. Alternatively, the code could set G-code parameters: http://linuxcnc.org/docs/html/common/python-interface.html c = linuxcnc.command() c.mdi('#22 = %' % some_value) (Or similar, I am iffy on Python syntax) -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
Aaah thanks. On 2013/10/30 05:40 PM, andy pugh wrote: On 30 October 2013 15:34, Marius Liebenberg mar...@mastercut.co.za wrote: Sorry Andy, I missed that thread or ignored it as I sometimes do. Please tell me which one. Technical Vision I didn't write much: I would be looking at a user-space HAL component, that makes the locations available on HAL pins. Alternatively, the code could set G-code parameters: http://linuxcnc.org/docs/html/common/python-interface.html c = linuxcnc.command() c.mdi('#22 = %' % some_value) (Or similar, I am iffy on Python syntax) -- Regards / Groete Marius D. Liebenberg MasterCut cc Cel: +27 82 698 3251 Tel: +27 12 743 6064 Fax: +27 86 551 8029 Skype: marius_d.liebenberg --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 9:06 AM, Bertho Stultiens wrote: For a future as a secondary/pluggable interpreter, it would be required to finalize the grammar, discuss required built-in functionality, discuss how to handle rotational axes and get a grip on all bugs. It seems to me your to-do list is relevant independently of whether gcmc remains a standalone tool or mutates into another LinuxCNC interpreter. It would be nice to have a wiki page, forum section, or some such where we can capture feedback, discussions, and desiderata. These email discussions get disjointed and are difficult to mine after the fact. As for added functionality, I'd certainly want to see a meta-level ability in gcmc to include* user-defined units of functionality** at runtime. Otherwise I have to do it myself while preparing an input file to gcmc. This forces me to do bookkeeping better left to the computer. Some other messages have flashed by which border on programming-language bashing. I hope we can avoid yet another flame-war and concentrate on scoping, completing, and using your gcmc. Regards, Kent * name it what you like in the grammar---include, import, call, whatever. **again, I can live with whatever this external chunk of code is named. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 12:01:53 Marius Liebenberg did opine: I downloaded, extracted, configured and maked it. Now what, I cant get any further than that. I like the idea and want to test it but you are going to have to give some small bit of guidance as to how we get to use it please. Needs an installer script written, so I ran it in place from the cli. I ran it on the two test files, with cutter.gcmc being able to be executed on my mill, but arccw.test.gcmc failed. Good sized radius error at end of the arc according to linuxcnc. I think we need some docs too. But the .ngc file it generated for cutter.gcmc as a demo was impressive, actually generating more ncg code than I expected. No clue what it is, but it ran to completion in LCNC-2.5.3 as of yesterdays pull. So I think we have the makings of another very useful tool once we have some instructive docs. Thank you, Bertho. On 2013/10/30 01:47 PM, Bertho Stultiens wrote: Hi all, Every time I had to write a CNC-mill program using G-codes I got annoyed by the archaic format and syntax. Especially when needing to convert positional data from mil to mm, having recurring patterns and then also trying to keep track of everything. I looked for a meta compiler or generic pre-processor, but could not find anything that satisfied me. Being able to program should be easy. The G-Code Meta Compiler (gcmc) is just that, a scripting meta language, using modern procedural paradigms and a context free grammar, to generate G-code. It takes in a script and generates all the movements. Units can be assigned/attached to values to do metric/imperial conversions automatically. A rich set of built-in functions for G-codes and mathematical manipulations make it easy to keep track. Variables are typed into integer/floating point (scalars), vectors and vector-lists. You can define functions and use local variables. Standard loop-control is performed using foreach/for/while/do-while constructs as well as conditional execution with if/if-else constructs. The context-free grammar allows you to make sources more readable and therefore more debug-able. You can find the code at my git repository: https://gitorious.org/gcmc/gcmc An example script can be found in the tests directory (cutter.gcmc) and some preliminary documentation about the grammar and built-in functions can be found in the doc directory (gcmc.txt). Please note that the code is not entirely mature as of yet. However, the basics should function properly and you are encouraged to use it and take a look. If you have any comments you are welcome to provide feedback. Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) Most people want either less corruption or more of a chance to participate in it. A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
Gene Heskett wrote: As someone from the other side of the pond, I am far more comfortable in inches than in mm or mils for everyday work, but I think I need to understand what a mil is in the definitions you use? I think this mil is .001 Inch, was commonly used in the electronics industry, as well as in machining to some extent. (Electronics has pretty exclusively moved over to mm, although some chips still have hard inch-based lead spacing. Also, a lot of stupid stuff like 3.81 mm connector pin pitch (.150)) Jon -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 05:11 PM, Gene Heskett wrote: I downloaded, extracted, configured and maked it. Now what, I cant get any further than that. I like the idea and want to test it but you are going to have to give some small bit of guidance as to how we get to use it please. Needs an installer script written, so I ran it in place from the cli. Well, it uses standard automake/autoconf tools and thus has make install ;-) No, you are right, it has a lot of rough edges. I wrote the announcement mail to the list to get early feedback. You know, publish early, publish often. It should improve over time. I ran it on the two test files, with cutter.gcmc being able to be executed on my mill, but arccw.test.gcmc failed. Good sized radius error at end of the arc according to linuxcnc. I added the arc-code this morning. However, the testfile just lacks a feedrate() line above the arc_cw() call according to my dry-test-run (also on 2.5.3). A file containing the following should work fine: feedrate(100); arc_cw([10, 10, 10], 10, 3); I think we need some docs too. Agree... As stated, I just started writing this code and it just grew as I was going along. The text-file doc about the grammar/functions was just a feable start to get something written down. But the .ngc file it generated for cutter.gcmc as a demo was impressive, actually generating more ncg code than I expected. No clue what it is, but it ran to completion in LCNC-2.5.3 as of yesterdays pull. It is a plate to be pressed onto a PCB (aligned with the components on it). Most of it is touch-off for drill-holes. However, it is why I wanted the mil/mm conversions in the first place. It generates quite a bit of G-code because it traces paths that I set up. I do not think that it is too much though ;-) So I think we have the makings of another very useful tool once we have some instructive docs. I certainly hope so. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 04:27 PM, TJoseph Powderly wrote: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?AptProgrammingForEMC look at the screenshots of the generic path description. This is high level and abstracted. The output is filtered according to machine style ( horiz, vertical, special kins, special variant of gcode ) I did take a look at Apt programming, but decided against it as being a bit exotic in syntax. I was looking for a C-like syntax, which is familiar more people afaik. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 04:29 PM, Gene Heskett wrote: As someone from the other side of the pond, I am far more comfortable in inches than in mm or mils for everyday work, but I think I need to understand what a mil is in the definitions you use? A 'mil' is one thousands of an inch or exactly 0.0254mm. My own interest is from my work with PCB design, which uses mils all the time. But all mechanics are done in mm. The disparity always annoyed me. Please, can you define the mm to mil conversion, and how that relates to inches for an old man like me who is used to speaking in thousandths for everyday precision measurements? mil -- mm == value * 0.0254 mm -- mil == value / 0.0254 1 inch = 1000 mil I am in electronics, so to me metric always made sense, but I've been stuck in Rome, doing as the Romans did for 79 years. This old dog needs to learn metric in the physical world, not just in wavelengths. Well, electronics still has a lot of imperial measures in use for PCB design. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 13:18:42 Jon Elson did opine: Gene Heskett wrote: As someone from the other side of the pond, I am far more comfortable in inches than in mm or mils for everyday work, but I think I need to understand what a mil is in the definitions you use? I think this mil is .001 Inch, was commonly used in the electronics industry, as well as in machining to some extent. That will work just fine then, thanks Jon. (Electronics has pretty exclusively moved over to mm, although some chips still have hard inch-based lead spacing. Also, a lot of stupid stuff like 3.81 mm connector pin pitch (.150)) Yeah, but we're still stuck with DIPS in .1 widths. But then we invented them 50 years ago. :) Jon -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clk trk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) But I don't like Spam A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 13:22:10 Bertho Stultiens did opine: On 10/30/2013 05:11 PM, Gene Heskett wrote: I downloaded, extracted, configured and maked it. Now what, I cant get any further than that. I like the idea and want to test it but you are going to have to give some small bit of guidance as to how we get to use it please. Needs an installer script written, so I ran it in place from the cli. Well, it uses standard automake/autoconf tools and thus has make install ;-) No, you are right, it has a lot of rough edges. I wrote the announcement mail to the list to get early feedback. You know, publish early, publish often. It should improve over time. I ran it on the two test files, with cutter.gcmc being able to be executed on my mill, but arccw.test.gcmc failed. Good sized radius error at end of the arc according to linuxcnc. I should note too that the cutter.ngc, did not contain spindle speed or start, my 4 axis mill config has a spindle at speed display, but its not a tach. The lathe does have a tach and the spindle is servo controlled for speed. I added the arc-code this morning. However, the testfile just lacks a feedrate() line above the arc_cw() call according to my dry-test-run (also on 2.5.3). A file containing the following should work fine: feedrate(100); arc_cw([10, 10, 10], 10, 3); Still doesn't fly here. arccw.test.gcmc: spindlespeed(400); feedrate(100); spindle(1); arc_cw([10, 10, 10], 10, 3); spindle(0); Generates: (gcmc compiled code, do not change) (2013-10-30 13:37:39) (-- prologue begin --) G17 ( Use XY plane ) G21 ( Use mm ) G40 ( Cancel cutter radius compensation ) (-- prologue end --) S400. F100. M3 G2 X9.97547740 Y9.97547764 Z9.97547781 I10. J0. P3 M5 (-- epilogue begin --) M2 (-- epilogue end --) Radius different error. I think we need some docs too. Agree... As stated, I just started writing this code and it just grew as I was going along. The text-file doc about the grammar/functions was just a feable start to get something written down. But the .ngc file it generated for cutter.gcmc as a demo was impressive, actually generating more ncg code than I expected. No clue what it is, but it ran to completion in LCNC-2.5.3 as of yesterdays pull. It is a plate to be pressed onto a PCB (aligned with the components on it). Most of it is touch-off for drill-holes. However, it is why I wanted the mil/mm conversions in the first place. It generates quite a bit of G-code because it traces paths that I set up. I do not think that it is too much though ;-) I wasn't complaining, the code looked clean enough for me. I usually write what I need by hand, so seeing it spit that out to a file in a fraction of a second was a surprise. So I think we have the makings of another very useful tool once we have some instructive docs. I certainly hope so. Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) Trying to be happy is like trying to build a machine for which the only specification is that it should run noiselessly. A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 13:42:55 Bertho Stultiens did opine: On 10/30/2013 04:29 PM, Gene Heskett wrote: As someone from the other side of the pond, I am far more comfortable in inches than in mm or mils for everyday work, but I think I need to understand what a mil is in the definitions you use? A 'mil' is one thousands of an inch or exactly 0.0254mm. Good, no confusion then. My own interest is from my work with PCB design, which uses mils all the time. But all mechanics are done in mm. The disparity always annoyed me. Something I find myself doing fairly often recently, and which has driven some mods to my mill to enhance the z accuracy. It amazes me to see all these guys on youtube, using a drill chuck, dropping the etching bit for contact, hand tightening it, raising the chuck and taking it up tight with the key, driving their tool 15 to 20 thou into the fr4 under the copper and calling it a good cut, then they turn it over, don't even bother to air hose the pallet and then complain because the 'etch' isn't even on one corner. They walk among us, and even breed! I don't drive the bit even a thou into the glass if I can help it. Harder on the bit when its cutting glass. I use a g38.2 to find the copper go about 1.5 mil below that. Please, can you define the mm to mil conversion, and how that relates to inches for an old man like me who is used to speaking in thousandths for everyday precision measurements? mil -- mm == value * 0.0254 mm -- mil == value / 0.0254 1 inch = 1000 mil Good. I am in electronics, so to me metric always made sense, but I've been stuck in Rome, doing as the Romans did for 79 years. This old dog needs to learn metric in the physical world, not just in wavelengths. Well, electronics still has a lot of imperial measures in use for PCB design. Yup, trying to keep it sorted in eagle can keep you on your toes. Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) Z.O.I.D.: Zombie Optimized for Infiltration and Destruction A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 06:42 PM, Gene Heskett wrote: [snip] Generates: [snip] G2 X9.97547740 Y9.97547764 Z9.97547781 I10. J0. P3 That is seriously wrong... The generated code should read: ... G2 X10. Y10. Z10. I10. J0. P3 ... Is you add a move([0,0,0]); before the arc, does it still come out with a fractional XYZ position? You may want to try: spindlespeed(400); feedrate(100); spindle(1); literal(( initial global pos , global_position, )\n); literal(( global offset , global_offset, )\n); move([0,0,0]); literal(( before arc global pos , global_position, )\n); arc_cw([10, 10, 10], 10, 3); literal(( after arc global pos , global_position, )\n); spindle(0); Then you can see in the generated code what the positions evaluated to. The initial position should have been initialized to zero on all axes and the offset should read zero if none set on the command-line. My local compile gives: ... S400. F100. M3 ( initial global pos [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) ( global offset [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) G1 X0. Y0. Z0. ( before arc global pos [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) G2 X10. Y10. Z10. I10. J0. P3 ( after arc global pos [10.00mm,10.00mm,10.00mm,0.00mm,0.00mm,0.00mm] ) M5 ... -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 05:13 PM, Kent A. Reed wrote: It seems to me your to-do list is relevant independently of whether gcmc remains a standalone tool or mutates into another LinuxCNC interpreter. Agreed. It would be nice to have a wiki page, forum section, or some such where we can capture feedback, discussions, and desiderata. These email discussions get disjointed and are difficult to mine after the fact. Yes, I am wondering whether I should get this on LCNC wiki, or just make my own homepage or gitorious wiki to do this. Documentation is always twice as hard as writing the code. I try, at least, to update some documents as I go. But, you are right, it needs quite a bit of improvement, including proper discussion space. As for added functionality, I'd certainly want to see a meta-level ability in gcmc to include* user-defined units of functionality** at runtime. Otherwise I have to do it myself while preparing an input file to gcmc. This forces me to do bookkeeping better left to the computer. The include facility is a must to be part of the language. Will require a bit work, but is an important feature. Once an include facility is in place, then a user-space library can be created for common (more complex) tasks. Some (simple) functions may become built-ins once it is established what common requirements are. Some other messages have flashed by which border on programming-language bashing. I hope we can avoid yet another flame-war and concentrate on scoping, completing, and using your gcmc. Agreed. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 07:01 PM, Bertho Stultiens wrote: On 10/30/2013 06:42 PM, Gene Heskett wrote: [snip] Generates: [snip] G2 X9.97547740 Y9.97547764 Z9.97547781 I10. J0. P3 It was probably caused because I had been compiling with -O0 (for debugging) and that does not detect uninitialized variables. I pushed an update to gitorious that should fix that. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 2:14 PM, Bertho Stultiens wrote: Some (simple) functions may become built-ins once it is established what common requirements are. I like the way you think:-) Regards, Kent -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 11:51 AM, Bertho Stultiens wrote: On 10/30/2013 04:27 PM, TJoseph Powderly wrote: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?AptProgrammingForEMC look at the screenshots of the generic path description. This is high level and abstracted. The output is filtered according to machine style ( horiz, vertical, special kins, special variant of gcode ) I did take a look at Apt programming, but decided against it as being a bit exotic in syntax. I was looking for a C-like syntax, which is familiar more people afaik. no problem, please look at what you say tho. languages are different. familiar is a perspective. i agree what you propose is more C like APT is very traditional in CadCam, yet is unfamiliar to you So your flexible mechanism gets tied to your preferences (thats not a a bad thing ) but separating the effects ( linuxcnc internal commands ) from the path descriptor ( gcode, turtle, CL, Apt, Step ) is a _very_good_ idea. regards TomP -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Rotary stage
here is a more complete model for your enjoyment/critique https://www.dropbox.com/s/boyfgtldlw0kw8h/BallWormex2.igs On Wed, Oct 30, 2013 at 5:12 AM, Dave Caroline dave.thearchiv...@gmail.comwrote: Before anyone makes new rotaries, I have an interesting article from Summer school in electrical engineering, proceedings July 12 to 16 1948 BTH, The British Thomson-Houston Co Ltd Vibration and noise problems in engineering They were using an early spectrum analysis tool listening to the noise from a drive gear set made on a hobbing machine. http://www.collection.archivist.info/archive/proceedings/PR22/ see pages 60 61 and the table on page 66 The dominant error as you may see is regular error at tooth frequency A way I would put it is, if there were no accuracy errors there would be no sound to measure. Even the the measures they took to make the 360 master wheel still show up in the the result in table 1. The accuracy of a worm drive is also very important to telescope makers and to show the periodic error I mentioned earlier in this thread this page has some graphs http://www.pk3.org/Astro/index.htm?astrophoto_mount_errors.htm Just think how you are going to make your worm pitch match yout worm gear pcd to the accuracy needed. Hope it all goes well. Dave Caroline -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Addressee is the intended audience. If you are not the addressee then my consent is not given for you to read this email furthermore it is my wish you would close this without saving or reading, and cease and desist from saving or opening my private correspondence. Thank you for honoring my wish. Just for you NSA - think autointercourse terrorist suitcase bomb sarin hello -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 15:30:14 Bertho Stultiens did opine: On 10/30/2013 06:42 PM, Gene Heskett wrote: [snip] Generates: [snip] G2 X9.97547740 Y9.97547764 Z9.97547781 I10. J0. P3 That is seriously wrong... The generated code should read: ... G2 X10. Y10. Z10. I10. J0. P3 ... Is you add a move([0,0,0]); before the arc, does it still come out with a fractional XYZ position? You may want to try: spindlespeed(400); feedrate(100); spindle(1); literal(( initial global pos , global_position, )\n); literal(( global offset , global_offset, )\n); move([0,0,0]); literal(( before arc global pos , global_position, )\n); arc_cw([10, 10, 10], 10, 3); literal(( after arc global pos , global_position, )\n); spindle(0); Then you can see in the generated code what the positions evaluated to. The initial position should have been initialized to zero on all axes and the offset should read zero if none set on the command-line. My local compile gives: ... S400. F100. M3 ( initial global pos [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) ( global offset [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) G1 X0. Y0. Z0. ( before arc global pos [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) G2 X10. Y10. Z10. I10. J0. P3 ( after arc global pos [10.00mm,10.00mm,10.00mm,0.00mm,0.00mm,0.00mm] ) M5 ... H, not at all what I got: === (gcmc compiled code, do not change) (2013-10-30 15:26:56) (-- prologue begin --) G17 ( Use XY plane ) G21 ( Use mm ) G40 ( Cancel cutter radius compensation ) (-- prologue end --) S400. F100. M3 ( initial global pos [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) ( global offset [-1.955982mm,-1.955967mm,-1.955956mm,0.00mm,0.00mm,0.00mm] ) G1 X-1.95598221 Y-1.95596695 Z-1.95595554 ( before arc global pos [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) G2 X8.04401779 Y8.04403305 Z8.04404446 I10. J0. P3 ( after arc global pos [10.00mm,10.00mm,10.00mm,0.00mm,0.00mm,0.00mm] ) M5 G2 X8.04401779 Y8.04403305 Z8.04404446 I0. J0. P3 M5 (-- epilogue begin --) M2 (-- epilogue end --) But I also have an offset that will not home or touchoff out, of +.003z This is something else I have noted before, so I'll stop it, delete the .var and .txt files try again. I guess I must have taken them out of my ini file as way more trouble that they are worth, a restart got rid of the +.003Z offset in the dro display, but the above code now gives a zero radius arc in line 18 error. Then, looking at the arccw.test.gcmc file again, somehow the last 2 lines got duplicated. Removed them and recompiled, got this now: = (gcmc compiled code, do not change) (2013-10-30 15:43:08) (-- prologue begin --) G17 ( Use XY plane ) G21 ( Use mm ) G40 ( Cancel cutter radius compensation ) (-- prologue end --) S400. F100. M3 ( initial global pos [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) ( global offset [-0.026255mm,-0.026255mm,-0.026255mm,0.00mm,0.00mm,0.00mm] ) G1 X-0.02625543 Y-0.02625519 Z-0.02625501 ( before arc global pos [0.00mm,0.00mm,0.00mm,0.00mm,0.00mm,0.00mm] ) G2 X9.97374457 Y9.97374481 Z9.97374499 I10. J0. P3 ( after arc global pos [10.00mm,10.00mm,10.00mm,0.00mm,0.00mm,0.00mm] ) M5 (-- epilogue begin --) M2 (-- epilogue end --) = Works, draws a nominally 20mm diameter spiral, moving z up for nominally 2.25 revolutions in the xy plane. So starting at XYZA = 0.0, 0.0, 0.0, 0.0, the ending position is 0.975, 0.975, 0.975, 0.0. Is that the intended action? Spindle-at-speed display=400, so that works. Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) Whenever I feel like exercise, I lie down until the feeling passes. A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 16:08:35 Kent A. Reed did opine: On 10/30/2013 2:14 PM, Bertho Stultiens wrote: Some (simple) functions may become built-ins once it is established what common requirements are. I like the way you think:-) Regards, Kent 2nded. Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) What this country needs is a good five cent ANYTHING! A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 16:07:26 Bertho Stultiens did opine: On 10/30/2013 07:01 PM, Bertho Stultiens wrote: On 10/30/2013 06:42 PM, Gene Heskett wrote: [snip] Generates: [snip] G2 X9.97547740 Y9.97547764 Z9.97547781 I10. J0. P3 It was probably caused because I had been compiling with -O0 (for debugging) and that does not detect uninitialized variables. I pushed an update to gitorious that should fix that. And does, thanks Bertho. Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) What this country needs is a good five cent ANYTHING! A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On 10/30/2013 08:58 PM, Gene Heskett wrote: [snip] H, not at all what I got: [snip] ( global offset [-0.026255mm,-0.026255mm,-0.026255mm,0.00mm,0.00mm,0.00mm] ) This is why it fails. My code did not initialize the global offsets correctly, which had the consequence that the tracked global position was off. G1 X-0.02625543 Y-0.02625519 Z-0.02625501 The move([0,0,0]) corrected the discrepancy and then the arc works. [snip] Works, draws a nominally 20mm diameter spiral, moving z up for nominally 2.25 revolutions in the xy plane. So starting at XYZA = 0.0, 0.0, 0.0, 0.0, the ending position is 0.975, 0.975, 0.975, 0.0. Is that the intended action? Spindle-at-speed display=400, so that works. The intended action was to start at [0,0,0] and end at [10,10,10] with 2.25 revolutions in the xy plane. The uninitialized global offsets made the IJ calculations of the arc incorrect. As replied earlier, that should now have been fixed in my commit (and pushed to the gitorious repo). You should be able to do a git pull and recompile. Then the coordinates should match up correctly. -- Greetings Bertho (disclaimers are disclaimed) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Wednesday 30 October 2013 20:06:47 Bertho Stultiens did opine: On 10/30/2013 08:58 PM, Gene Heskett wrote: [snip] H, not at all what I got: [snip] ( global offset [-0.026255mm,-0.026255mm,-0.026255mm,0.00mm,0.00mm,0.00mm] ) This is why it fails. My code did not initialize the global offsets correctly, which had the consequence that the tracked global position was off. G1 X-0.02625543 Y-0.02625519 Z-0.02625501 The move([0,0,0]) corrected the discrepancy and then the arc works. [snip] Works, draws a nominally 20mm diameter spiral, moving z up for nominally 2.25 revolutions in the xy plane. So starting at XYZA = 0.0, 0.0, 0.0, 0.0, the ending position is 0.975, 0.975, 0.975, 0.0. Is that the intended action? Spindle-at-speed display=400, so that works. The intended action was to start at [0,0,0] and end at [10,10,10] with 2.25 revolutions in the xy plane. The uninitialized global offsets made the IJ calculations of the arc incorrect. As replied earlier, that should now have been fixed in my commit (and pushed to the gitorious repo). You should be able to do a git pull and recompile. Then the coordinates should match up correctly. They do, at 10 if I switch the display to mm.. This was after the recommendation to get the fresh copy from gitorious. One less multi-legged critter. :) Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) The less a statesman amounts to, the more he loves the flag. -- Kin Hubbard A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
Gene Heskett wrote: Yeah, but we're still stuck with DIPS in .1 widths. But then we invented them 50 years ago. :) Except for a quick wire-wrap converter for something, I haven't used DIPs in years. SOIC is .050 (half DIP lead pitch) and there is stuff at .635mm (.025 or quarter DIP pitch) but all of electronics is moving toward hard metric dimensions. I just left my pick and place machine in metric, and do everything for it in mm units. Fortunately, my electronic CAD system will make data for either units easily. Funny, though, my PC board house wants data in inch units, but the boards are made in China! No doubt they convert everything to mm before sending data to the Chinese fab. Jon -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] gcmc - G-Code Meta Compiler
On Thursday 31 October 2013 00:11:32 Jon Elson did opine: Gene Heskett wrote: Yeah, but we're still stuck with DIPS in .1 widths. But then we invented them 50 years ago. :) Except for a quick wire-wrap converter for something, I haven't used DIPs in years. SOIC is .050 (half DIP lead pitch) and there is stuff at .635mm (.025 or quarter DIP pitch) but all of electronics is moving toward hard metric dimensions. But 75% of mine is one offs, for me, so I tend to use what is available at the shack since I am 100 to 200 miles from a real electronics supply house. Old habits die hard. The other 25% is probably a concept board for a 30 yo legacy computer the board designer isn't normally me, but somebody sending me a set of eagle files from the free version with a can you make 2 or 3 of these? request. Footprint changers because the older one time proms are now gone into the sands of time and are now 5x faster eproms with 4 to 10 more pins, that sort of stuff. If its simple, the new chip sits not more than .2 from the old one, but a socket and 600 mil dip chip taller. I am sure some of this could be done in tsop's but the footprint translations would use more real estate, no net savings except maybe in power, and 99.9% of this is 5 volt logic anyway. I just left my pick and place machine in metric, and do everything for it in mm units. Fortunately, my electronic CAD system will make data for either units easily. Funny, though, my PC board house wants data in inch units, but the boards are made in China! No doubt they convert everything to mm before sending data to the Chinese fab. Chuckle. ok as long as they don't do a mars lander on the inch stuffs. ;-) Jon Cheers Jon, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) However, never daunted, I will cope with adversity in my traditional manner ... sulking and nausea. -- Tom K. Ryan A pen in the hand of this president is far more dangerous than 200 million guns in the hands of law-abiding citizens. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users