#emc-devel | Logs for 2008-09-20

[00:36:45] <jmkasunich> damn you guys talk a lot
[00:36:48] <jmkasunich> and then run away
[00:38:58] <jmkasunich> gotta go out in the garage and do some machining
[00:39:04] <jmkasunich> if seb shows up, somebody come out and get me
[03:49:34] <cradek> I think I have new-run-from-line working here
[03:49:39] <cradek> the question is what to do with it now
[03:51:07] <cradek> you can prepare the machine for restart using any function of manual or mdi modes, then it starts reading gcode at the line you specify, completely ignoring everything above it in the file
[03:55:43] <cradek> you can even set variables in MDI before running
[04:08:48] <cradek> I've tried all sorts of restarts in different files and I am always able to "get what I want" using this method
[04:15:44] <cradek> yay - more tomorrow - goodnight
[09:16:13] <christel> [Global Notice] Happy Software Freedom Day! I hope you're all marking the day and spreading the word -- if you haven't yet considered marking SFD, check out http://cgi.softwarefreedomday.org/map.shtml to see if there is a local event you can attend! Have a great day!
[09:41:42] <alex_joni> cradek: sounds good, did you try messing with o-word loops and functions?
[12:40:00] <jepler> .. the case I specifically wonder about is where functions are defined at the top and called after the restart point ..
[12:40:37] <jepler> it would be nice if that worked, though you could also adopt a "functions at the bottom" style
[12:48:01] <alex_joni> jepler: I think you need to define a function before you call it
[12:48:21] <alex_joni> otherwise the interp starts opening files with the same name as the function name.. I think
[12:58:53] <Lerman> If it can't find a file by that name, then it searches the current file to the end.
[12:59:21] <alex_joni> ah, ok.. so that works then :)
[13:03:27] <Lerman> Yes. Although it is not clear that the order I do things is the "best" order.
[13:03:48] <alex_joni> oh, surely each other order will have it's supporters :D
[13:03:58] <Lerman> I did it that way to avoid searching the entire file.
[13:04:42] <Lerman> It winds up that the whole idea of multiple files is a loser because the rest of the system (GUI, etc) doesn't support it.
[13:05:34] <alex_joni> atm
[13:05:52] <Lerman> A better approach, I think, might be to have a (for Axis) filter that reads the file and incorporates any necessary files into what is passed to Axis.
[13:06:20] <Lerman> For non-Axis users, the files could be processed by a script after they were created.
[13:07:25] <Lerman> I've written a version that goes through a directory tree and includes everything. A future version could incorporate only those that are referenced.
[13:08:25] <alex_joni> hmm.. short question
[13:08:38] <Lerman> I'm listening....
[13:08:50] <alex_joni> how hard would it be to interpret a file up to a certain line, and generate a list of modal codes up to there?
[13:09:02] <alex_joni> then check that against the current modal codes, and generate a diff..
[13:09:48] <alex_joni> I'm thinking about run-from-line..
[13:10:26] <alex_joni> if you select you want to restart from line 1000
[13:10:37] <Lerman> Off hand, I don't know. Remember though, that with o-words, running up to a certain line is not a complete description since the line might be executed multiple times.
[13:11:05] <alex_joni> yeah, I'd be tempted to disallow run-from-line inside o-word or such
[13:11:34] <alex_joni> otherwise you get to implement a complete debugger
[13:11:47] <alex_joni> with run from line, step into, step over, set params, whatever..
[13:11:51] <Lerman> Correct. Wouldn't that be nice to have? :-)
[13:12:12] <alex_joni> well.. nice .. maybe ;)
[13:13:18] <Lerman> The interpreter "know" what modal codes are set at any point in execution. We could add an option to output the line number and the current modal codes as each line is executed.
[13:13:47] <Lerman> That would provide all the information you need. Process it with some scripts.
[13:14:11] <Lerman> Of course, that assumes there is no probing or other input operations that can change the flow of control.
[13:15:47] <Lerman> For reasonably sized files, we could add a structure in memory to keep track of all of that.
[13:16:58] <Lerman> I assume that modal codes includes things like Swords (speed), current coordinate system, values of offsets in each coordinate system, etc.
[13:17:54] <Lerman> That can amount to a lot of stuff. In fact, all of the variables need to be saved. That includes both numeric and named parameters.
[13:18:14] <alex_joni> eek.. :/
[13:18:33] <Lerman> To make it *always* work, you need to have *everything*.
[13:21:48] <Lerman> Assuming that there are no probes, I think the best way is to actually run up to that point, but disable all motions.
[13:24:06] <alex_joni> hmm.. that's tricky
[13:24:19] <alex_joni> imagine Mxx commands that generate fixture moves or whatever
[13:32:39] <jepler> ah the good old days http://axis.unpy.net/01102370471
[13:33:18] <alex_joni> heh
[13:33:23] <jepler> (that was 2004)
[13:33:36] <jepler> (I wish it would show the date on the entry page -- I should fix that)
[13:36:40] <alex_joni> GMT: Mon, 06 Dec 2004 22:01:11 GMT
[13:37:27] <alex_joni> jepler: import time
[13:37:36] <alex_joni> then "time.gmtime(epoch)"
[13:37:37] <jepler> I know how to convert that number to a date
[13:37:46] <jepler> I just have to write the code to display it on the page
[13:37:54] <alex_joni> yeah, I know :)
[13:38:29] <alex_joni> http://www.epochconverter.com/ <- handy convert codes in a couple of languages/environments
[13:51:44] <jepler> aha, that's better. http://axis.unpy.net/01102716853
[14:29:14] <cradek> jepler: I think it's pretty clear that won't run the function, it'l give an error that the function isn't defined
[14:32:01] <cradek> oh I forgot that 'verify' is killed by this change
[14:47:26] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/ladder/images/ (12 files): new classicladder screen shots
[15:11:37] <BigJohnT> how do I unremove a file from a cvs remove that I have not commited yet?
[15:15:54] <BigJohnT> nm
[15:29:36] <CIA-40> EMC: 03bigjohnt 07v2_2_branch * 10emc2/docs/src/gcode/main.lyx: add g95 is not for threading
[15:30:35] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/ladder/images/ (4 files): add the rest of the graphics
[17:06:10] <BigJohnT> anyone know what \menuseperator does when loading classicladder?
[17:06:15] <BigJohnT> in trunk
[17:15:40] <jepler> BigJohnT: It's intended as a standard way to mark up the location of an item inside a menu. You'd use it where you might instead write ">" to denote "File > Open"
[17:16:23] <BigJohnT> it seems like classicladder is on the menu of Axis loaded or not
[17:16:39] <jepler> could be
[17:16:46] <BigJohnT> or do I misunderstand what you mean :)
[17:17:10] <jepler> BigJohnT: maybe I misunderstood what you are asking
[17:17:15] <BigJohnT> it was in the docs...
[17:17:27] <jepler> docs/src/ladder/classic_ladder.lyx:539:--help \SpecialChar \menuseparator
[17:17:29] <jepler> this?
[17:17:44] <BigJohnT> no, one moment
[17:19:04] <BigJohnT> in the classicladder manual it showed an example of loadusr classicladder --nogui \menuseperator
[17:19:58] <BigJohnT> i was wondering what the \menuseperator did when loading classicladder...
[17:20:34] <jepler> ok then I am answering the right question
[17:21:17] <jepler> The LyX source says "\SpecialChar \menuseparator". In the lyx gui and in the pdf files, this gives a closed, right-pointing triangle which is intended to separate parts of a menu.
[17:21:40] <jepler> It is intended to be used in place of ">" to denote the location of an item inside the menu, the "File > Open" example I mentioned a moment ago
[17:21:56] <BigJohnT> ok I understand now
[17:22:03] <jepler> I don't know who used that here, or why -- I don't think it's a sensible use of it
[17:22:16] <BigJohnT> np it's gone :)
[17:22:17] <jepler> but in any case, the html documentation doesn't translate it correctly, it just writes \menuseparator into the output
[17:22:42] <BigJohnT> thanks for the help jepler
[17:27:07] <jepler> hm what was the name of that extra package for building docs in TRUNK?
[17:27:10] <jepler> my memory is too short
[17:28:00] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/common/Linux_FAQ.lyx: added info about the magic -L to find
[17:28:01] <jepler> ah texlive-latex-extra
[17:28:31] <BigJohnT> ME?
[17:30:29] <CIA-40> EMC: 03bigjohnt 07v2_2_branch * 10emc2/docs/src/common/Linux_FAQ.lyx: added info about the magic -L to find
[17:32:36] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/ladder/ (classic_ladder.lyx ladder_intro.lyx ladder_intro_fr.lyx): almost done adding new classicladder info
[17:40:36] <CIA-40> EMC: 03jepler 07TRUNK * 10emc2/docs/src/lyxtree.py: handle 'menuseparator' special character
[17:45:28] <jepler> (huh, \SpecialChar \menuseparator got turned into \backslash menuseparator somewhere there in history .. I wonder how ..)
[17:48:35] <BigJohnT> dunno...
[17:50:51] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/ladder/classic_ladder.lyx: what comes first spell checking or commiting :) fix a bunch of typos
[17:55:08] <CIA-40> EMC: 03seb 07TRUNK * 10emc2/docs/man/man9/hostmot2.9: Made raw.dump_state a HAL_IO pin, which is what it is. Minor documentation improvements.
[17:55:10] <CIA-40> EMC: 03seb 07TRUNK * 10emc2/src/hal/drivers/mesa-hostmot2/ (README TODO raw.c): Made raw.dump_state a HAL_IO pin, which is what it is. Minor documentation improvements.
[17:58:27] <BigJohnT> jepler: I just did a grep on \menuseperator and it is no longer in any docs in trunk
[18:00:38] <BigJohnT> nore is it in 2.2.x, it must have been something in the text file that Chris Morley sent me :)
[18:03:30] <jepler> ok
[18:22:32] <cradek> hi folks
[18:22:43] <BigJohnT> hi cradek
[18:24:57] <cradek> wow, ladder docs - that will be nice.
[18:25:06] <BigJohnT> :)
[18:26:16] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/config/stepconf.lyx: add charge pump info
[18:26:55] <CIA-40> EMC: 03bigjohnt 07v2_2_branch * 10emc2/docs/src/config/stepconf.lyx: add charge pump info
[18:28:02] <BigJohnT> I never did understand how to use classicladder till I was forced to figure it out to write how to do it in the docs :)
[18:28:58] <cradek> haha
[18:29:07] <cradek> I never did understand it until I needed to use it and then figured it out
[18:29:31] <cradek> the blank window is daunting
[18:29:59] <BigJohnT> like the old wordprocessor I had on dos 3.somthing or other
[18:30:09] <BigJohnT> fire it up and you get a prompt
[18:30:44] <cradek> demo_sim_cl is very useful. you can run it and see how the estop chain can work
[18:31:02] <BigJohnT> ok thanks
[18:31:05] <cradek> I think understanding emc's estop is very confusing without an example
[18:31:30] <cradek> there's that "request enable" pulse that you have to latch somehow
[18:31:45] <cradek> there is a hal module for it (somehow) but doing it in ladder is so easy and flexible
[18:32:22] <BigJohnT> I'll add that to the classicladder docs
[18:32:36] <cradek> cool
[18:33:00] <cradek> it would be great to point people there when they ask about estop config
[18:34:43] <BigJohnT> well, it's nap time for this almost old geezer :)
[18:34:57] <cradek> do you plan your naps? mine just happen.
[18:35:11] <BigJohnT> nope the feeling just comes over me and I obey
[18:35:34] <cradek> well have a nice one.
[18:35:42] <BigJohnT> ok talk to you later
[18:35:44] <cradek> dream about classicladder
[18:35:57] <BigJohnT> did that last night
[18:36:01] <cradek> yikes
[18:36:17] <BigJohnT> now it's e-stops :O
[18:36:56] <BigJohnT> see you later
[18:37:03] <cradek> bye
[18:39:53] <alex_joni> I wonder how it's like to dream about e-stops
[18:40:05] <alex_joni> do you wake up from time to time?
[18:40:26] <jepler> make: *** No rule to make target `../docs/src/ladder/ladder_action_load.png', needed by `depends/ladder/ladder_intro_fr.d'. Stop.
[18:40:38] <jepler> did my docs just build at a bad moment or is there a file missing?
[18:41:29] <alex_joni> I think BigJohnT removed some files, put new ones in place.. might be a missing dep
[18:43:18] <cradek> Failed to remake target file `../docs/src/ladder/ladder_action_load.png'.
[18:43:23] <cradek> me too
[18:44:36] <alex_joni> it needs to be docs/src/ladder/images/ladder_action_load.png
[18:44:42] <alex_joni> the _fr doc is not updated
[18:44:54] <cradek> ah
[18:45:00] <cradek> I couldn't get make to tell me what it was
[18:45:03] <alex_joni> oh, I have a lyx on this system
[18:45:10] <alex_joni> hang on, I'll commit a fix now
[18:45:16] <cradek> thanks
[18:47:03] <alex_joni> hmm.. looks ok in the document
[18:47:18] <alex_joni> maybe jepler's lyx2html doesn't support subdirs?
[18:50:37] <jepler> huh -- now it works
[18:50:50] <jepler> I thought I changed something in a lyx file but cvs diff doesn't show it
[18:50:54] <alex_joni> old dep?
[18:51:10] <jepler> maybe, if several times I didn't successfully delete the old dep file
[18:51:20] <alex_joni> heh.. probably :)
[19:36:58] <jepler> alex_joni: hm, see the e-mail from Steve Hobbs? I don't know why this would be disabled, but it sure is
[19:37:09] <jepler> grep FTDI_SIO config-2.6.24-16-rtai
[19:37:09] <jepler> # CONFIG_USB_SERIAL_FTDI_SIO is not set
[19:37:22] <jepler> (that's the config in linux-image-2.6.24-16-rtai_2.6.24-16.30.linuxcnc.2_i386.deb)
[19:55:37] <alex_joni> it probably was disabled in the regular kernel aswell..
[20:17:06] <jepler> not at all
[20:17:12] <jepler> I use that driver
[20:18:21] <jepler> /usr/src/linux-source-2.6.24$ grep CONFIG_USB_SERIAL_FTDI_SIO debian/Config/config.i386
[20:18:24] <jepler> CONFIG_USB_SERIAL_FTDI_SIO=m
[20:30:28] <BigJohnT> jepler: you must have built at a bad time to get the error
[20:35:29] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/gcode/main.lyx: add G95 not for threading
[20:53:08] <alex_joni> jepler: odd then
[20:53:54] <BigJohnT> I had to do a make clean here
[20:54:22] <BigJohnT> hi alex_joni
[21:21:47] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/config/stepconf.lyx: fix ref to pyvcp
[21:22:53] <jepler> well, my quest to get the altera devkit installed on virtualbox windows and modify the pluto firmware worked first try
[21:23:00] <jepler> yay me :-P
[21:23:27] <jepler> now pluto_step will tristate all outputs until the first full write cycle, which avoids the "amps turn on for a moment at startup" problem
[21:23:31] <jepler> * jepler wanders off again
[21:23:53] <BigJohnT> cool