#emc-devel | Logs for 2008-08-31

[02:43:59] <cradek> In [NCMS, page 73, 74] there are three other legal approaches in addition to this one.
[02:47:39] <cradek> Block delete is discussed in [NCMS, page 3] but the discussion makes no sense.
[02:48:13] <cradek> Block delete is handled by [description of algorithm nothing like how the code does it]
[02:48:24] <SWPadnos> ???
[02:48:43] <cradek> these comments make me cry
[02:48:54] <cradek> or maybe it's the whole interpreter
[02:49:10] <SWPadnos> NCMS?
[02:49:21] <cradek> some reference book I don't have
[02:49:23] <cradek> I guess
[02:50:28] <SWPadnos> heh, ok - it's not just me :)
[02:51:02] <cradek> I'd always like a few little features here and there, but it's not simple to add them
[11:01:49] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/gcode/main.lyx: fixed reference error that Jeff caught
[11:33:11] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/index.tmpl: add getting started to html and fix a broken link
[13:11:51] <skunkworks> this may have been why Karl Schmidt send an email to the list. Karl Schmidt
[13:12:37] <skunkworks> heh - I suck at copy and paste ;)
[13:12:51] <skunkworks> http://www.cnczone.com/forums/showthread.php?t=61609
[14:26:42] <jepler> ooooh pretty sparks http://www.electricstuff.co.uk/marxthree.html
[15:24:01] <BigJohnT> that's wild
[16:12:13] <BigJohnT> I'm getting an error on 2.2.x during the build of the html docs :(
[16:12:15] <BigJohnT> make: *** No rule to make target `objects/Getting_Started.xml', needed by `objects/xref.xml'. Stop.
[16:13:29] <jepler> hm -- I do too. I wonder why I haven't been getting emails about it
[16:13:41] <BigJohnT> I've compaired the trunk and 2.2.x submakefile, doc.xm. and index.tmpl files and can't find a difference
[16:13:52] <jepler> there was a change I had to make to the Submakefile when you added 'getting started' but I may not have made it in 2.2
[16:14:13] <jepler> revision 1.103
[16:14:14] <jepler> date: 2008/08/24 15:07:43; author: jepler; state: Exp; lines: +16 -0
[16:14:14] <jepler> make building html from documents in docs/src but not in a subdir work
[16:14:15] <jepler> this one, I think
[16:14:25] <BigJohnT> ok let me go look
[16:14:49] <jepler> yep that lets it proceed further
[16:14:53] <jepler> I'll check it in
[16:15:41] <BigJohnT> ok thanks
[16:17:15] <CIA-40> EMC: 03jepler 07v2_2_branch * 10emc2/docs/src/Submakefile: from TRUNK: make building html from documents in docs/src but not in a subdir work
[16:19:09] <SWPadnos> the compile farm doesn't build docs
[16:19:29] <jepler> SWPadnos: no, my cronjobs do
[16:19:35] <SWPadnos> oh
[16:19:39] <jepler> they should build multiple times per day and send me e-mail when it fails
[16:19:41] <jepler> (this works for TRUNK
[16:19:42] <jepler> )
[16:19:43] <SWPadnos> ah, ok
[16:19:55] <jepler> 16 * * * * report-if-fail emc2-doc-build
[16:19:57] <jepler> 46 * * * * report-if-fail emc2.2-doc-build
[16:20:43] <BigJohnT> no wonder your johnny on the spot when I screw up something in the docs :)
[16:30:57] <BigJohnT> thanks jepler it works now :)
[16:43:24] <CIA-40> EMC: 03bigjohnt 07v2_2_branch * 10emc2/docs/src/index.tmpl: fixed introduction link
[16:54:28] <CIA-40> EMC: 03bigjohnt 07v2_2_branch * 10emc2/docs/src/Submakefile: add file
[16:56:55] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/Submakefile: add file
[16:57:47] <BigJohnT> * BigJohnT now understands more about what I didn't know about the html documents :)
[17:03:18] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/README: add info on adding files
[17:41:47] <CIA-40> EMC: 03tissf 07v2_2_branch * 10emc2/src/po/fr_axis.po: French translation typo correction
[17:44:44] <CIA-40> EMC: 03tissf 07TRUNK * 10emc2/src/po/fr_axis.po: French translation typo correction
[17:58:12] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/hal/tutorial.lyx: fixed dead reference
[18:09:33] <BigJohnT> I get this error on 2.2.x man9/mux4.9:27: warning: can't find font `N'
[18:09:43] <BigJohnT> when I changed this http://pastebin.ca/1189706
[18:10:02] <BigJohnT> the error went away... I think it was a typo
[18:11:40] <BigJohnT> if someone can verify that the N should have been an R I'll check in the typo fix
[18:41:12] <BigJohnT> brb
[19:02:15] <BigJohnT> ok
[19:03:23] <BigJohnT> hey LawrenceG
[19:04:34] <LawrenceG> good afternoon!
[19:04:49] <BigJohnT> the engrave is cool
[19:05:14] <LawrenceG> pretty easy to use with axis
[19:06:23] <LawrenceG> the qcad fonts work great for engraving.... some simple single stroke ones, and some a little fancier
[19:09:59] <BigJohnT> it would not run on my system until I removed a () from hmmm let me look
[19:11:38] <BigJohnT> I think it was this line class Line: that I had to remove the ()
[19:13:00] <LawrenceG> strange... are you on 8.04 or an older version ?
[19:13:05] <BigJohnT> 6.06
[19:13:27] <LawrenceG> ok... must be a difference in the 2 versions of python
[19:13:50] <LawrenceG> I didnt try it on my 6.06 machine
[19:14:01] <BigJohnT> what would be cool is if you had a justify checkbox for left or centered
[19:14:26] <BigJohnT> I keep 6.06 on this machine so I can edit the documents
[19:16:39] <LawrenceG> centered would be nice for some panel layouts... not sure how that would interact with the rotation logic which assumes 0,0 is the ll point on the string
[19:17:43] <SWPadnos> if it's relatively easy to get the size of the text string, then a "standard" 9 radio-button layout to select the base point shouldn't be too hard to do
[19:18:04] <SWPadnos> left/middle/right and top/middle/bottom matrix
[19:18:13] <BigJohnT> that would be cool
[19:19:08] <BigJohnT> while your here SWPadnos can you check my fix for mux4 font warning above?
[19:24:06] <BigJohnT> LawrenceG: I need to copy all my stuff from my plasma computer it has a file selection thingy for python that would make picking your font file easy
[19:26:40] <SWPadnos> I looked at it but I don't understand enough troff or groff or whatever it is to know that it's right :)
[19:27:42] <BigJohnT> thanks
[19:28:00] <BigJohnT> I didn't get the error after the change or any new errors...
[19:29:13] <SWPadnos> yeah, it looks like \fR goes back to "Regular" text
[19:29:26] <BigJohnT> that's what I thought too
[19:30:13] <SWPadnos> I don't get what this construct does though: ... "the \\fBin\\fIN\\fR values" ...
[19:30:21] <SWPadnos> ah, now I see
[19:30:34] <SWPadnos> bold, then italic N, then back to normal
[19:30:52] <BigJohnT> kinda hard to read :)
[19:31:03] <SWPadnos> yep
[19:31:07] <BigJohnT> everything seems to go back to \fR
[19:33:38] <CIA-40> EMC: 03bigjohnt 07v2_2_branch * 10emc2/src/hal/components/mux4.comp: fix font error during make
[19:36:25] <BigJohnT> LawrenceG: what does the scale equate to?
[19:38:19] <micges> hello all
[19:38:33] <BigJohnT> hi
[19:42:06] <micges> jepler: can you tell me what fixed in glcanon.py and axis.py on friday ?
[19:50:43] <micges> I hav
[19:58:04] <LawrenceG> BigJohnT, I am not sure what the original values of data that comes out of the qcad font definition files (seems like maybe .1mm units)... one has to play with the scales to get the height width wanted... The default I put of 0.04 seems to give about .3" chars
[19:59:16] <LawrenceG> scales are written as gcode vars, so they can be adjusted at runtime
[20:34:45] <BigJohnT> hmmm it sends the file with the same name as the program
[20:36:30] <BigJohnT> LawrenceG: I like the vars in the g code file... cool
[20:46:18] <LawrenceG> the font and the char/word spacing is about the only things that are not done at runtime
[20:50:45] <BigJohnT> If I get time I'll try and merge the file open for a font picker...
[20:53:18] <LawrenceG> that would be cool John, bump the version as well
[20:53:45] <BigJohnT> ok
[21:23:26] <Lerman> The general question is where do developers (of emc) add scripts containing new features.
[21:23:28] <SWPadnos> those generally go in scripts/, tcl/, tcl/scripts/
[21:23:32] <SWPadnos> I think
[21:24:06] <SWPadnos> take a look at the Submakefile(s) for some other programs
[21:24:20] <SWPadnos> I don't know if there are any that will help though, this may be a new category
[21:25:17] <SWPadnos> for the filters, AXIS just executes the program via some exec-like call, so I think the program has to be on the PATH or explicitly defined in the ini
[21:27:29] <alex_joni> Lerman: I don't understand enough of what you described to be able to answer your question
[21:27:32] <Lerman> So, I could add a makefile so that make install puts the bash script in /usr/local/bin or whatever. And the same with the python script.
[21:27:48] <alex_joni> Lerman: yes, probably so
[21:28:01] <Lerman> 1 -- where does axis look for filters?
[21:28:14] <alex_joni> not add a makefile, but add a couple of lines to the existing src/Makefile
[21:28:15] <SWPadnos> there isn't a python "script" per se
[21:28:23] <alex_joni> it doesn't look for filters
[21:28:34] <alex_joni> you register an extension (let's call it .wiz) in the ini file
[21:28:36] <Lerman> exec looks for filter.
[21:28:42] <Lerman> s
[21:28:50] <alex_joni> when the user starts emc2/AXIS then opens a file
[21:29:02] <alex_joni> it will see files of known types (.ngc, .wiz, etc)
[21:29:19] <alex_joni> if the user selects a .wiz file the content isn't directly sent to the interpreter
[21:29:36] <SWPadnos> AXIS sees what program to execute for whatever file extension. if that's "/usr/bin/python", then axis runs /usr/bin/python
[21:29:41] <alex_joni> instead AXIS runs the executable registered for the extension, and passes the file as an argument
[21:30:02] <alex_joni> the output from running the file gets then passed to emc2
[21:30:04] <SWPadnos> if the ini entry only says "python", then AXIS will exec python - and whatever is on the path first will be executed
[21:30:27] <Lerman> Yes. It runs the executable by calling exec. And it gets that from PATH. OK.
[21:30:29] <SWPadnos> there's no search in "special places" for the filter executables (not by AXIS anyway)
[21:30:55] <alex_joni> but this is specific for AXIS
[21:31:07] <SWPadnos> I don't think that AXIS uses PATH directly - the exec call likely does though (I don't know the specifics of the call used)
[21:31:26] <Lerman> IMHO, it should look in special places. Otherwise, name clashes can be a problem.
[21:32:06] <Lerman> The person who writes the filter must currently know what else might be in the user path with the same name.
[21:32:29] <alex_joni> I find it hardly likely that someone choses the same name
[21:32:41] <SWPadnos> you may be able to write the ini example as $EMC2_HOME/scripts/myprogram
[21:32:43] <alex_joni> someone writing a filter is smart enough to try to run the name he choses first
[21:33:17] <SWPadnos> I don't know if EMC2_HOME (or whatever it is) is set for installed packages though
[21:33:34] <Lerman> Can I put $EMC2_HOME in a .ini file?
[21:33:37] <SWPadnos> I know it's there for RIP (possibly spelled differntly :) )
[21:33:42] <SWPadnos> I don't know :)
[21:34:01] <SWPadnos> make up a silly program that just prints "M2" to stdout, and try it :)
[21:34:18] <alex_joni> I doubt AXIS parses env variables
[21:34:26] <SWPadnos> exec may thougn - dunno
[21:34:29] <SWPadnos> though
[21:34:30] <alex_joni> you'd want to ask jepler
[21:34:43] <alex_joni> but anyways, I don't see filters as a way to do custom g-codes
[21:34:46] <SWPadnos> hmmm. exec probably doesn't, does it
[21:35:00] <SWPadnos> no way - me either
[21:35:02] <alex_joni> I mean, I understand how it can work, but it feels wrong
[21:35:18] <SWPadnos> that's an interp thing, whereas the filter thing is GUI
[21:35:27] <alex_joni> no, the filter thing is AXIS
[21:35:37] <alex_joni> no other GUI has it
[21:35:43] <SWPadnos> right - it's in the GUI
[21:35:56] <alex_joni> it's in one GUI
[21:35:59] <SWPadnos> as I was about to point out - you would lose custom M/G codes with other UIs
[21:36:08] <SWPadnos> I know, but it's in the "GUI layer"
[21:36:17] <SWPadnos> and only one GUI has implemented it
[21:36:18] <alex_joni> yeah, that's what I mean too
[21:36:28] <SWPadnos> which gives us the problem that other BUIs don't have that functionality
[21:36:28] <Lerman> Not really a filter. The issue is that Axis (and other guis) don't let you have multiple files. A filter can be run (whether standalone or within Axis) that prepended the files with the custom codes.
[21:36:32] <alex_joni> and if you run with a remote GUI you're probably proper fscked
[21:36:35] <SWPadnos> which is wrong for G/M codes
[21:37:16] <alex_joni> Lerman: at the moment task reads the g-code file.. right?
[21:37:18] <Lerman> Right now, the interp can handle multiple source files -- but the GUIs don't know about them. That causes issues.
[21:37:24] <alex_joni> the GUI does too..
[21:37:46] <alex_joni> I would like the GUI not touching files directly
[21:37:54] <alex_joni> but get it's needs from task
[21:38:06] <Lerman> Axis reads the source file (singular) by including a stubbed interpeter.
[21:38:08] <alex_joni> (that would include the already changed file)
[21:39:08] <Lerman> But when Axis displays the source of the file, it reads the original file -- it doesn't include the stuff that was included by demand on the fly.
[21:39:30] <alex_joni> yes, because it reads it directly
[21:40:09] <Lerman> By using a filter, Axis can "see" the stuff that the user included by reference.
[21:40:30] <Lerman> Otherwise, Axis only sees the result of that stuff.
[21:40:36] <alex_joni> yes, but that also means you would need to add the same functionality to most of the GUI's
[21:40:58] <alex_joni> which means a lot of duplicated code
[21:41:08] <Lerman> For the other guis, we could preprocess the .wiz file to generate the .ngc file.
[21:41:32] <alex_joni> yes, but if they all would get it from one place it would be way easier
[21:42:31] <Lerman> Well, we could do that, but then there is an extra step (conversion of wiz to ngc) that would otherwise uneeded.
[21:42:48] <alex_joni> I don't follow
[21:42:51] <Lerman> Of course, GWiz could automatically generate the ngc file when it saved the wiz file.
[21:43:32] <alex_joni> I think there are different issues here
[21:43:41] <alex_joni> I was mainly focusing on custom m/g-codes
[21:43:52] <alex_joni> s/custom/integrator-definable/
[21:43:53] <Lerman> The wiz file contains calls to the various wizards. The ngc file contains the actual wizard subroutines. The user doesn't need to see the actual subroutines except when stepping through them.
[21:44:25] <alex_joni> and you want AXIS to display the high level calls only?
[21:44:43] <Lerman> Ah. The same is true for custom gcodes (yes integrator-definable). What happens when a user single steps through one of them?
[21:45:04] <alex_joni> when you load a program .. it would actually contain some wiz calls, instead of actual g-code
[21:45:53] <alex_joni> hmm.. I think I need to sleep over this
[21:45:55] <Lerman> But single stepping into a custom g-code is the same as single stepping through any other subroutine.
[21:46:23] <Lerman> I need to get back to work, anyway. I'll see you later.
[21:46:38] <alex_joni> yeah, it's close to 1am here anyways :)
[21:48:40] <alex_joni> good night all
[21:50:01] <BigJohnT> night alex