#emc | Logs for 2007-01-01

[00:00:24] <lerman> How would the command m101 get to see all of the other stuff on the command line. (Or to use gcode jargon: in the block)?
[00:00:45] <fenn> the parameters?
[00:00:57] <cradek> more importantly, how does it cause canonical calls to be made
[00:01:04] <fenn> hmm m-codes only have 2 arguments
[00:01:09] <fenn> thats lame
[00:01:54] <lerman> That's a kludge. At least, my kludge :-) is complete. In the sense that you should be able to implement any canned cycle.
[00:02:26] <fenn> one advantage of not using custom g-codes is that axis will render them properly in the preview
[00:02:53] <lerman> Some of the threading canned cycles have a lot of parameters. Hey. I hadn't even thought of that.
[00:03:09] <lerman> -- fenn's comment.
[00:03:11] <cradek> that's an understatement :-/
[00:04:17] <lerman> Do we currently have a file that is read (for interpretation) at startup of the interpreter? (Before any user file is read.)
[00:04:24] <cradek> no
[00:04:54] <lerman> So, I would have to add that. It would be supplied (in theory) by the integrator.
[00:05:20] <lerman> And it would be the only place where owords with negative numbers would be permitted.
[00:06:29] <lerman> So, g82.1 would be implemented in a subroutine named o-821. Of course, with named owords, I could just use oG82.1.
[00:06:39] <cradek> I'm bothered by this in a fundamental way. We already have our own gcode (ngc) that's incompatible with gcode done by other manufacturers. you're proposing that (potentially) all our users will have a gcode language that are incompatible with each other.
[00:07:40] <lerman> They already do. fanuc implements something different than Haas, different than ... etc. It depends on what canned cycles you've paid for.
[00:08:11] <cradek> no, that's not what I said. This makes EMC2 user "A" and EMC2 user "B" unable to share their programs.
[00:08:38] <cradek> I don't care about Fanuc users (although a program written with G0/1/2/3 will probably work fine)
[00:08:42] <lerman> Well, as long as they installed the same canned cycles, they could.
[00:09:14] <cradek> they can't install my G99 and your G99, so they can run my programs and yours.
[00:09:38] <lerman> In our case, most EMC users are their own integrators. (Is that true? -- are there a bunch of Sherline users who depend on Sherline to integrate for them.)
[00:10:00] <cradek> yes I think we have a LOT of sherline users
[00:10:28] <cradek> and at least a few other manufacturers
[00:10:34] <lerman> Well, I assume that we will try to implement industry 'standard' canned cycles. If you install your own, you might be out of luck.
[00:10:54] <cradek> who is we?
[00:11:15] <lerman> Assignment of canned cycle number should be strictly controlled (by the board of directors).
[00:12:11] <cradek> either you give integrators control, or you don't - I think I am not following you
[00:13:30] <cradek> dammit I hope it doesn't seem like I just like to argue
[00:13:36] <lerman> Presumably, the board would say: g82.1 should be implemented according to the way Haas (or whatever) does it. You can never really control an integrator. But I assume that some integrator might need a canned cycle g82.1 and then implement it to install. It is to the integrators advantage to be part of the community, too.
[00:14:27] <lerman> Nah. If people don't question things, we wind up writing things twice. -- gee: like my recent parameter stuff. (but that will be easy to fix.)
[00:14:32] <cradek> if the board/community thinks we should have g82.1 today we'd just stick it in the interpreter
[00:15:50] <lerman> I think it would be a lot harder to put there that to do it using a gcode subroutine. Also, not many people can read the C code to understand how the cycle works (or even find out where it is implemented).
[00:16:07] <fenn> * fenn either
[00:16:25] <lerman> either?
[00:16:36] <fenn> i can read C, but not C written by a program
[00:17:14] <lerman> Which C is written by a program?
[00:17:19] <fenn> most of the interpreter
[00:17:55] <lerman> No it isn't -- at least it doesn't look that way to me.
[00:19:06] <cradek> some of it is maybe a bit strange, but it's certainly written by a human I think
[00:19:32] <lerman> To the degree that programmers are human. Which is arguable.
[00:19:38] <fenn> heh
[00:19:48] <fenn> well, its been a while, i might be thinking of something else
[00:20:23] <lerman> NML, maybe? I haven't looked at it at all.
[00:21:35] <fenn> yeah, emc.cc
[00:21:57] <fenn> i just crack up laughing every time i look at that
[00:23:22] <fenn> interp is really long for what it does though
[00:24:19] <lerman> I've never considered that.
[00:26:28] <lerman> rs274ngc is a really rotten standard, though. Very limited line length, squishing out white space, conversion to lower case. All of that is a crock in a modern environment. But, I suppose it might have been necessary to keep old programs punched on paper tape working.
[00:27:40] <lerman> In the name of compatibility, we are stuck with junk. As we add new features, they have the same junk.
[00:28:47] <fenn> yep that's why i think its better to use a different language that outputs raw g-code
[00:29:21] <fenn> or acts directly on the state variable
[00:29:56] <lerman> Just don't try to read the generated g-code. But -whoops- that's all that axis shows you.
[00:30:42] <fenn> well.. lets say we used a source level debugger in the edit window
[00:30:49] <lerman> So... the right way might be to use a different language.
[00:31:01] <fenn> what would you want it to highlight if you clicked on a line in the preview rendering?
[00:31:32] <lerman> Say, python (to name someone else's favorite), for flow control with embedded g-code stuff.
[00:31:40] <fenn> the final API call? the last function called? a stack trace?
[00:32:20] <lerman> A stack trace would do the job, nicely.
[00:33:11] <fenn> ok i think thats a reasonable interface
[00:34:00] <fenn> will look at various python modules to see if any do what we want already
[00:35:19] <lerman> But what would be the underlying cannonical interface -- the same old gcode?
[00:35:46] <fenn> gcode is above the canonical interface
[00:36:13] <lerman> Yes, but it is pretty close.
[00:36:20] <fenn> right
[00:37:38] <lerman> The issues: ...
[00:37:40] <lerman> How do you machine lines, arcs, etc
[00:37:41] <lerman> How do you specify coordinates, origins, offsets
[00:37:43] <lerman> How do you specify cutter compensation
[00:37:44] <lerman> etc
[00:38:18] <lerman> Would we just use python for control structs? Parameters? Computations? etc?
[00:38:50] <fenn> which would be easier to interface to?
[00:38:59] <lerman> We could, I think. But that would have been a lot harder to integrate into the interpreter than what I did.
[00:39:00] <fenn> gcode or canonical?
[00:39:50] <fenn> the canonical function calls are already pretty well specified arent they?
[00:39:58] <lerman> gcode might be easier. I could imagine kludging an interface to the interp so that it was fed a line at a time from some new interpreter.
[00:40:24] <lerman> Yes. It could be done by using existing canon.
[00:40:36] <fenn> i just think its a bad idea to layer cruft needlessly
[00:41:02] <lerman> It is well defined -- with a separate doc, I think, and a machine model that is well specified.
[00:41:19] <lerman> I agree that adding layers is bad.
[00:42:04] <fenn> i think g-code is useful for what it does, but we'd be fighting it if used as an API
[00:43:10] <lerman> But, what would be embedded in the python. It would be easy to say:
[00:43:12] <lerman> g1 x#pythonParam x#pythonThing
[00:43:13] <lerman> in the middle of a python program. Use a special character or word or something to tell the interpreter that this is an output line (perhaps its already there).
[00:43:21] <fenn> yes
[00:43:37] <fenn> that would call the existing g-code interp
[00:43:50] <lerman> What would be embedded (and how) if we used 'canon' directly?
[00:44:12] <fenn> you'd use SWIG or something to call the C functions directly from python
[00:44:27] <lerman> The user (today a gcode programmer) would have to learn some python AND learn canon.
[00:44:43] <fenn> no
[00:45:06] <fenn> the python layer would be for writing wizards, right?
[00:45:35] <lerman> Well, there are two issues, then:
[00:45:38] <lerman> 1 -- what does the user write (let's say gcode inside of python)
[00:45:38] <lerman> 2 -- how is it implemented (kludge the interp or have python library call canon)
[00:45:54] <fenn> but it should easily interpret standard gcode so you can run any g-code program into the python shell
[00:46:06] <lerman> It could be. But average users (me) could use the python layer directly.
[00:46:51] <fenn> ok i see two scenarios
[00:46:57] <lerman> I think that might be the wrong model. Have Axis read and display the python directly.
[00:47:01] <fenn> one, is an end user writing a specific part program
[00:47:16] <fenn> the other is a developer writing a wizard for many different possible applications
[00:47:47] <fenn> the end user should be able to write G1X2 etc
[00:48:00] <fenn> but also be able to call python functions that have been provided already
[00:48:32] <lerman> I'm a user. Suppose I wanted to generate a flowsnake. How would I do that?
[00:48:44] <fenn> you'd write a python function
[00:49:01] <fenn> is that too much to ask?
[00:49:15] <lerman> OK. I can write a python fn as well as a kludged gcode subroutine.
[00:50:11] <lerman> Do you python? Could you translate my flowsnake program into your proposed language?
[00:50:25] <fenn> * fenn looks
[00:50:36] <lerman> As in... you're turn to write a proposal for the wiki. :-)
[00:50:56] <fenn> heheh ok
[00:51:12] <lerman> whoops... s/you're/your/
[00:51:13] <fenn> i have to understand the algorithm first
[00:51:51] <lerman> I just googled flowsnake and found a java implementation.
[00:52:03] <fenn> oh i thought you wrote it originally
[00:52:36] <lerman> Nope. flowsnakes have been around for a long time.
[00:52:50] <lerman> Sorry that wasn't clear.
[01:03:21] <fenn> * fenn is converting flowsnake.ngc to flowsnake.py
[01:10:42] <fenn> bah.. python and its stupid commas
[01:11:55] <fenn> it works!
[01:12:09] <lerman> Show me...
[01:13:28] <fenn> http://pastebin.ca/298550
[01:14:42] <fenn> save to flowsnake.py and open with axis
[01:15:50] <fenn> * fenn looks around for an old mailing list post
[01:16:12] <lerman> I believe you. Suppose you wanted to build a new interpreter that took this directly. Clearly, the print lines are NOT nice.
[01:16:20] <fenn> right
[01:16:37] <fenn> that's just a first pass to get it into valid python syntax
[01:18:35] <cradek> instead of a new interpreter you could make a python gcode object with rapid(x,y.z) feed(x,y,z) etc
[01:19:20] <cradek> if you don't like print "g0 x%f y%f" etc
[01:19:45] <lerman> You would want them to say something like:
[01:19:47] <lerman> foobargag g1 f10 xendX yendY
[01:19:46] <lerman> Where foobargag denoted something special to inform the interpreter that this was going to be interpreted like good old fashioned gcode. And endX endY caused the current values of those python things to be embedded. We gould do that because the spaces WOULD be significant in the new language.
[01:20:24] <fenn> you could snork some of the code from print for that
[01:20:30] <lerman> Well, I might want to have spaces after the x and y.
[01:20:36] <fenn> then you get all the fancy format features
[01:21:14] <fenn> ferinstance gcode "X%f Y%f Z%f" (x,y,z)
[01:21:21] <fenn> or block quotes
[01:21:29] <fenn> gcode """ <50 pages of data> """
[01:21:41] <fenn> and it would be routed to the old interp
[01:21:44] <cradek> or you could use print :-)
[01:22:01] <fenn> but feed(x,y,z) would call the canon call
[01:22:07] <fenn> LINEAR_MOVE or whatever
[01:22:09] <lerman> The problem with print is that you have the nasty quotes and commas.
[01:22:40] <cradek> are you making this for programmers or machinists?
[01:22:40] <fenn> would you rather something like
[01:22:49] <fenn> gcode "x" x "Y" y "Z" z
[01:22:58] <fenn> instead of
[01:23:09] <fenn> gcode "x", x, "y", y, "Z", z
[01:23:19] <fenn> (me too)
[01:23:41] <lerman> But since we have the source to python, we can make it do what we want. And since it is line oriented we could look for the word gcode at the beginning of a line. I'd like:
[01:23:43] <lerman> gcode g1 f10 x endX y endY
[01:23:45] <lerman> gcode g1 x10 y20
[01:23:46] <lerman> etc.
[01:24:34] <fenn> gcode g1 f10 x endX y endY poses some problems
[01:24:50] <lerman> The problem might be that you would have to be careful that there was no variable named x. So, maybe you want want to require:
[01:24:49] <lerman> gcode g1 f10 x#endX y#endY
[01:25:02] <fenn> how do you recognize endX as a variable without all the ugly tricks you have to use in the rs274 interp?
[01:25:32] <lerman> That would be reasonable to read and write. If you did not want to use any python, you could still read and write this.
[01:25:58] <lerman> spaces WOULD be significant.
[01:26:20] <fenn> ok.. i dont know how to go about changing the way python interprets its source
[01:26:44] <lerman> An issue is whether to support X[1+2]. I'd say NO.
[01:28:06] <lerman> We would have to write our own language that looked like python with a little added stuff. I haven't looked at the source of a python interpreter, but it would probably be pretty easy to do something special with lines starting with "gcode".
[01:29:17] <fenn> i'd rather not mess with the python interp
[01:29:50] <fenn> unless its easy to add a module
[01:31:01] <lerman> I know. Isn't a module just a subroutine? If so, then you have the issue of how do you make that line look nice for a 'normal' gcode writer.
[01:31:25] <lerman> I suspect that there is no neat way. (without a mod to the interpreter)
[01:32:20] <fenn> is it really worth it though?
[01:32:56] <fenn> you'd still have to add gcode to the beginning of every line
[01:33:19] <lerman> Yes. (Aren't you the one who wrote:
[01:33:18] <lerman> bah.. python and its stupid commas
[01:33:38] <fenn> heh actually i was complaining about python in general
[01:33:54] <lerman> Or something else that couldn't be on the beginning of a normal python line. Maybe just a colon.
[01:33:56] <fenn> because arguments to function calls are separated by commas
[01:34:29] <fenn> but lerman if we use print it's all done already
[01:34:38] <fenn> print """
[01:34:43] <fenn> <insert gcode here>
[01:34:44] <fenn> """
[01:35:09] <lerman> Yes. But it looks' like crap. Particularly if you want to have python parameters inside the gcode line.
[01:35:23] <fenn> use %f then
[01:35:47] <lerman> gack.
[01:40:31] <fenn> d'eaux
[01:40:41] <fenn> konqueror crashed in the middle of my wiki entry
[01:40:47] <lerman> :g1 f10 x#endX y#endY
[01:40:47] <lerman> print"g1 f10 x", endX, "y", endY
[01:40:50] <lerman> (assuming a colon as the first character of a python line is illegal)
[01:40:51] <lerman> Which do you think is easier to read/write? Was I missing a quote or a comma?
[01:41:22] <cradek> the second one
[01:41:33] <fenn> * fenn thinks this would be easy in lisp...
[01:41:49] <fenn> does python have reader macros?
[01:41:54] <cradek> because it's python, and I know python - or I can learn it by using the tutorial or getting a book
[01:42:42] <lerman> Let me change the question. Which would be easier for someone who presently writes gcode to use?
[01:43:07] <cradek> that person would grumble at either one, and would continue to write gcode
[01:43:13] <lerman> (A typical debating technique. If you don't like the answer to a question, change the question.)
[01:43:35] <cradek> I think we (you?) should admit that we have gcoders and programmers, and not force them to use the same langauge
[01:44:22] <cradek> fenn keeps saying that other languages are already fine, you say they're confusing to gcoders -- you're both probably right
[01:45:08] <lerman> Well, I'd like to offer more to the gcoder -- in an incremental path.
[01:45:40] <cradek> that's certainly a challenging task
[01:45:46] <lerman> Without requiring that they have all of it at once.
[01:45:52] <cradek> (especially when you want several increments)
[01:45:58] <cradek> hi jon
[01:46:16] <elson> Hello, Chris, and everybody else, and a happy new year!
[01:46:25] <lerman> python is a lot easier (for me) to read than in might be to write. The language seems easy -- the libraries are hard.
[01:46:33] <fenn> maybe i'm spoiled, but i think python is really easy to learn, at least at a basic level
[01:46:39] <lerman> ...and the best to all of you.
[01:46:48] <cradek> I think gcoders write simple programs, or make the jump to CAM
[01:46:55] <cradek> thanks jon, same to you
[01:46:58] <cradek> it's not quite that time here yet
[01:47:14] <lerman> 3 hrs 15 min to go.
[01:47:17] <ejholmgren> HAPPY YEAR!!
[01:47:26] <ejholmgren> in ~ 4 hrs
[01:47:29] <fenn> g0 2006!! w00t
[01:47:28] <elson> For the Europeans, they are already there!
[01:50:46] <ejholmgren> errr... geez make that "HAPPY NEW YEAR"
[01:50:47] <skunkworks> Hey jone - happy new year
[01:50:58] <ejholmgren> the killian's irish red must be catching up
[01:51:00] <elson> I'm trying to get homing to work on my Bridgeport, with current EMC2 and the hal_ppmc.c driver. I made sure I'm getting the index signal through to the ppmc.0.encoder.00.index pin, and it responds correctly to the home switch, but then just keeps searching. I'm pretty sure the home_latch_vel is slow enough that it is not missing the pulse.
[01:51:36] <elson> Thanks, skunkworks!
[01:52:26] <skunkworks> elson: Are you running head? I think there was issues that where fixed in head but I don't exactly remember.. or was that just for the motech card?
[01:52:42] <skunkworks> cradek would know ;)
[01:53:36] <elson> It seems maybe there are some settings of the homing params that don't work right. There was a message from John Kasunich about it, but I searched and can't find it. Yes, I'm running with a head version from about 3 days ago.
[01:53:57] <cradek> have you hooked axis.N.index-enable to ppmc.whatever?
[01:56:09] <cradek> axis.N.index-enable <=> ppmc.N.encoder.NN.index-enable
[01:56:10] <elson> No, axis.n.index-enable enables the resetting of the hardware counter by the index pulse. Not all encoder counters can handle this. I have updated USC and UPC for this, for threading support. I haven't done the PPMC yet. So, it can latch the count, or it can tell you it sees the index signal, that's all. Does EMC2 now only support index by zeroing the counter on the index pulse?
[01:56:15] <cradek> I think this is the connection you need
[01:56:48] <cradek> I don't know that answer for sure
[01:56:53] <elson> My current PPMC hardware does not support clearing the counter from the index pulse. I guess I can revise the FPGA config.
[01:57:23] <cradek> I think that's the canonical way of doing it now - I'm not sure whether or not there are other ways too.
[01:57:35] <elson> There is an axis.n.index signal that is an INPUT. If it is not for recognizing index, what is it for?
[01:57:43] <cradek> I think that's how mdynac has his motenc set up (and we recently fixed motenc to support it)
[01:58:20] <cradek> wait, what version are you using?
[01:58:29] <cradek> I'm looking at 2.1/head
[01:59:07] <cradek> you may be right about how homing to index works in 2.0 (I'm actually not sure it works at all)
[01:59:46] <elson> OK, well, I have wanted to add the threading support to the PPMC to align it with the other boards. I got my update from emc2-head (is that right, or is it only emc2-head on my system?)
[02:00:18] <cradek> I don't understand - are you using the packages or did you build from cvs?
[02:00:57] <ejholmgren> http://video.google.com/videoplay?docid=727346500427703770&q=lathe
[02:01:02] <ejholmgren> wow
[02:01:26] <fenn> mmm machine tool porn
[02:02:39] <elson> I built from cvs. I think this is the most recent checkout command I used : cvs -z5 -d:ext:anon@cvs.linuxcnc.org:/cvs co -d emc2-head emc2
[02:02:49] <cradek> scary how it drills toward that end mill
[02:03:07] <cradek> elson: ok, I don't see axis.N.index then - are you sure?
[02:04:16] <fenn> i like how it holds the piece for parting off
[02:04:42] <cradek> halcmd: show pin axis.0.*index*
[02:04:43] <cradek> 05 bit I/O FALSE axis.0.index-enable
[02:05:11] <skunkworks> fenn: I think it can also machine from both ends of the stock also. (passing it to the other chuck)
[02:05:37] <cradek> fenn: you saw the hex turning lathe right? http://www.youtube.com/watch?v=oGq-9NNmr3o
[02:06:55] <elson> Chris, you are right, I was misremembering what I saw.
[02:07:52] <cradek> I'm pretty sure it will work right if you can update the firmware like the others
[02:08:04] <elson> I'm being dragged off to dinner. But, if there is no longer an input to axis (or whatever) to sense the index signal, then it is clear I MUST reset the counter. Needs to be done, anyway!
[02:08:18] <cradek> have a nice dinner
[02:08:49] <elson> Thanks, home made pizza!
[02:08:53] <cradek> yum
[02:09:52] <alex_joni> greetings.. from 2007 :)
[02:10:02] <cradek> hi alex from the future!
[02:10:12] <alex_joni> hi chris
[02:10:32] <alex_joni> the world is still here, and just as mad
[02:10:34] <fenn> cradek: yes, do you understand how that makes flat surfaces in one pass?
[02:10:50] <cradek> alex_joni: I guess that's good to hear
[02:11:10] <cradek> fenn: my guess is 'simple geometry' but I haven't figured it out
[02:11:20] <fenn> its definitely an idea worth worrying about
[02:11:38] <alex_joni> cradek: the main spindle is way slower than the other one
[02:11:48] <fenn> no i think they are synchronized like gears in mesh
[02:12:11] <fenn> and changing the phase relationship changes the angle of the rounded shape that gets cut out
[02:12:27] <alex_joni> fenn: but it's not a rounded shape that comes out
[02:12:30] <fenn> and somehow you can use that + a linear movement to make a flat shape
[02:12:35] <fenn> like a hexagon
[02:12:58] <alex_joni> if you look at that video again, you'll see that the cutting tool has a far greater velocity
[02:13:03] <alex_joni> they are synced
[02:13:15] <alex_joni> but something like 1:2 or higher
[02:13:16] <cradek> also note they're counter-rotating
[02:13:44] <alex_joni> cradek: right
[02:13:52] <alex_joni> the cutting tool has a larger diameter
[02:13:59] <alex_joni> so I guess that's the ratio
[02:15:07] <alex_joni> if the main spindle (the stock) would be fixed, then the cutting tool would make an arc.. right?
[02:15:16] <fenn> i cant really tell how fast they are moving relative.. there's aliasing on the chuck jaws which makes it look like its going backward
[02:15:45] <fenn> but also on the polygon cutter
[02:16:06] <alex_joni> also, if they would turnwith the same speed, then you would get no cutting
[02:16:28] <cradek> not true if they're counter-rotating
[02:17:33] <alex_joni> well.. at least you cut in the same spot
[02:23:21] <alex_joni> wb
[02:24:12] <fenn> more polygon cutting http://www.youtube.com/watch?v=SlLyXIcv6b0
[02:38:18] <fenn> bbiab; i will add more to this later: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?PythonBindings
[03:30:59] <fenn> broccoli and brown sauce baby
[03:31:35] <cradek> bean and lentil soup with garlic and cumin?
[03:31:52] <fenn> that's also a good one, but it's been done to death the last couple weeks here
[03:32:17] <cradek> I admit yours sounds better
[03:32:23] <cradek> but we'll see
[03:32:43] <fenn> mine has added neurotransmitters for flavor
[03:32:57] <fenn> (glutamate)
[03:33:33] <cradek> I'm clueless about food chemistry - and doubt I have any deficiencies
[03:33:55] <cradek> I think I eat a little surplus of everything :-)
[03:34:11] <fenn> heh
[03:36:13] <cradek> I like my pressure cooker, but it's still a little scary
[04:00:26] <ejholmgren> brown sauce?
[04:14:00] <fenn> concentrated msg i believe
[04:17:56] <fenn> soy sauce, sugar, and oyster sauce?
[04:52:47] <cradek> I dunno fenn, my soup was pretty darn good
[04:53:39] <fenn> http://video.google.com/videoplay?docid=-7831550688320827327
[04:53:48] <fenn> polygonal turning animation
[04:54:49] <cradek> huh, romania joined the EU today but alex didn't say anything
[05:03:05] <fenn> you can cut spiral polygons too.. i wonder if that's useful for anythin
[05:50:21] <fenn> http://www4.profilator.de/service/datenpool/videos.html/copy3_of_2005072616534541250/2005080615242588659/hinterlegen_innen_gesamt_animation.mpg
[05:50:31] <fenn> inside spline turning.. wow
[05:50:34] <fenn> 11mb file
[05:59:18] <fenn> i guess that's why we use involute splines
[06:11:54] <cradek> Hi to 2007 in US Central
[06:11:58] <cradek> now it's time for bed
[06:29:59] <fenn> http://www.remsales.com/pages_blocks_v3_exp/images/links/POLYGON_MILLING_[Read-Only].pdf
[06:32:42] <fenn> i think you could do square or hex in two or three passes with only one cutter
[06:32:56] <fenn> would make setting up easier since you dont have to align all the cutters precisely
[06:57:45] <tomp> fenn: after 3 martinis, the gear cutting video is really cool! happy new year ( i love russian vodka http://russianvodka.com/russian_vodkas/moskovskaya_vodka.htm) I re-commend the 'Martini Room, Elgin Illinois', great entry show: a girl steps out of a cab, drops keys. bends over, wind blows dress over head... too good to be true! honest it happened as i walked in! I am damn lucky!)
[08:29:51] <A-L-P-H-A> happy new year you old foggies. :D
[08:39:04] <anonimasu> that polygon milling stuff is cool :)
[09:09:42] <A-L-P-H-A> yeppers.
[09:09:45] <A-L-P-H-A> swp showed me something last week
[09:10:09] <A-L-P-H-A> it's pretty cool when both things spin in timed sync... to creat X # of flats.
[10:26:02] <Jymmm> polygon milling whaaaat???
[10:26:07] <Jymmm> url?
[11:06:48] <alex_joni> morning all
[11:07:39] <alex_joni> happy new year
[11:23:13] <awallin> awallin is now known as etla
[11:25:52] <alex_joni> hi etla
[11:34:12] <etla> hi
[11:40:32] <alex_joni> what's up?
[11:42:03] <etla> I did a bit of the python-vcp thing yesterday
[11:42:13] <etla> now I'm playing around with layout for the widgets
[11:42:29] <alex_joni> saw that
[11:42:37] <alex_joni> nice :)
[11:42:54] <etla> I'm reading an xml file with the widget definitions, looks a bit like a .vcp file
[11:43:01] <etla> <pyvcp>
[11:43:01] <etla> <hbox>
[11:43:01] <etla> <button>
[11:43:01] <etla> <text>"TestButton"</text>
[11:43:01] <etla> </button>
[11:43:01] <etla> <led>
[11:43:03] <etla> <size>20</size>
[11:43:03] <etla> </led>
[11:43:05] <etla> <scale>
[11:43:09] <etla> <orient>HORIZONTAL</orient>
[11:43:11] <etla> </scale>
[11:43:11] <etla> <checkbutton>
[11:43:13] <etla> </checkbutton>
[11:43:15] <etla> </hbox>
[11:43:17] <etla> </pyvcp>
[11:43:19] <etla> ;)
[11:43:36] <alex_joni> one day you'll want to make that proper XML
[11:43:53] <etla> proper meaning ?
[11:44:21] <alex_joni> that can be validated
[11:45:04] <alex_joni> e.g. write a schema for it :)
[11:45:09] <etla> that needs a DTD ?
[11:45:32] <alex_joni> yeah
[11:47:25] <alex_joni> do you know of any good python intros ?
[11:47:47] <etla> try this: http://docs.python.org/tut/tut.html
[11:47:57] <etla> it might be elementary for you though...
[11:48:19] <alex_joni> elementary is what I'm after right now:=
[11:48:21] <alex_joni> :)
[11:48:34] <alex_joni> at lest regarding pypthon
[11:48:39] <alex_joni> darn I can't type
[11:49:50] <alex_joni> wonder if that tutorial doesn't exist in downloadable form
[11:50:43] <etla> I probably have lot's and lot's of pdf books that I can email you if you want ;)
[11:51:46] <alex_joni> nm, found something
[11:52:08] <alex_joni> I'll take you up on that offer when I'll be back home
[11:52:21] <alex_joni> internet right now is damn slow
[11:56:02] <alex_joni> is 2.5 justified?
[11:56:10] <alex_joni> or should I get 2.4?
[11:56:21] <etla> no idea, I use what comes with emc2/ubuntu6.06
[11:56:33] <etla> that's 2.4.3
[11:57:23] <alex_joni> ok, thanks
[12:08:40] <alex_joni> bbl
[13:21:31] <etla> now I've posted the latest pyvcp to the wiki and a note to emc-devel
[13:33:46] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[14:10:12] <alex_joni> etla: looks very good & especially usefull to me :=
[14:10:14] <alex_joni> :)
[14:18:59] <etla> hi again, thanks for the kind words... :)
[14:24:45] <alex_joni> heh, wasn't intended as "kind words"
[14:57:09] <jepler> good morning and merry christmas
[14:57:11] <jepler> er, happy new year
[14:57:16] <jepler> I get them confused :-P
[14:57:55] <jepler> etla: holy cow that's a lot of progress for a little more than a day!
[14:58:05] <etla> hi jepler
[14:58:32] <etla> jepler: yeah, it wasn't too bad, I did do some python tutorials before...
[14:59:03] <alex_joni> jepler, etla : I'm more and more impressed how quickly you can do things in python
[14:59:38] <etla> yep, sometimes it's scary effective...
[14:59:56] <etla> but it's also easy to write quite cryptic code
[15:03:24] <alex_joni> hi jeff
[15:03:53] <jepler> hi alex
[15:04:46] <alex_joni> happy new year
[15:10:07] <jepler> thank you
[15:10:21] <jepler> http://emergent.unpy.net/index.cgi-files/sandbox/axis+pyvcp.png
[15:11:20] <etla> cool! that was similar to what I imagined could be done !
[15:11:22] <alex_joni> a bit of polishing, but looks nice already
[15:12:14] <jepler> I modified the vcpparse module just a little bit, then put this in ~/.axisrc:
[15:12:14] <jepler> import vcpparse
[15:12:14] <jepler> f = Tkinter.Frame(root_window)
[15:12:14] <jepler> f.grid(row=0, column=4, rowspan=6)
[15:12:14] <jepler> vcpparse.create_vcp(f, comp)
[15:12:39] <jepler> basically I changed vcpparse so that it doesn't do anything when it is imported, and so that it can accept an argument for the Tk frame and hal component to use
[15:14:01] <etla> so maybe my code wasn't all rubbish then...
[15:15:15] <jepler> http://pastebin.ca/299178
[15:16:24] <etla> maybe I'll try that
[15:18:41] <etla> hmm.. I don't have an existing -axisrc
[15:18:52] <alex_joni> touch ~/.axisrc
[15:19:40] <jepler> oh, and the .xml file went in the machine configuration directory
[15:21:11] <etla> Can not find -sec HAL -var HALUI -num 1
[15:21:11] <etla> Stopping realtime threads
[15:22:14] <etla> and where does vcpparse.py and pyvcp.py go ?
[15:23:08] <jepler> in emc2/lib/python/
[15:25:14] <etla> yes! it works!
[15:25:51] <etla> the cursor flashes whenever I point at a widget
[15:28:32] <jepler> etla: in axis, I have some special logic to only .set() a Tkinter variable when the new value differs from the old one
[15:28:53] <jepler> etla: otherwise, tk may redraw the widget(s) affected by the new value
[15:29:06] <jepler> I'm not sure why that would make the pointer flicker, but I wonder if it could be because Tk is continually redrawing...
[15:30:44] <etla> jepler: right, the update() function for each widget should probably not do anything if the value does not change
[15:33:16] <etla> now it's in the wiki
[15:33:30] <etla> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?PyVCP
[15:34:32] <alex_joni> etla: what do you intend to control with it ?
[15:34:41] <etla> jepler: this way, you can just say 'do it with pyVCP' to people who beg for new AXIS features
[15:34:56] <jepler> etla: I hope you'll put a GPL license block and check it in soon
[15:35:35] <etla> alex: I think spindle control, viewing part and tool offsets, servo command(load) etc.
[15:36:00] <etla> jepler: that's encouraging ! where do I get the standard GPL header ?
[15:37:17] <jepler> hm there are files without the header in lib/python
[15:37:16] <etla> maybe just copy/paste from some other emc file
[15:37:20] <jepler> I should fix
[15:37:24] <jepler> etla: take a look at rs274/author.py
[15:37:27] <alex_joni> etla: you can take it from another one
[15:38:20] <jepler> er, no, that's one that's missing
[15:38:30] <jepler> look around in the python files, I'm sure one has a copyright
[15:40:16] <CIA-8> 03jepler 07HEAD * 10emc2/lib/python/propertywindow.py: add license notices
[15:40:15] <CIA-8> 03jepler 07HEAD * 10emc2/lib/python/rs274/ (author.py icon.py): add license notices
[15:40:45] <CIA-8> 03jepler 07v2_1_branch * 10emc2/lib/python/propertywindow.py: merge from HEAD: add license notices
[15:40:46] <CIA-8> 03jepler 07v2_1_branch * 10emc2/lib/python/rs274/ (author.py icon.py): merge from HEAD: add license notices
[15:41:02] <alex_joni> jepler: have you tried building debs for sim?
[15:41:43] <etla> jepler: there's still the ugly sys.path.insert(0,"/home/anders/emc2-head/lib/python/") in vcpparse.py
[15:42:23] <jepler> etla: eek
[15:42:43] <jepler> alex_joni: they build but I haven't used them much
[15:43:06] <alex_joni> jepler: nice.. someone asked about that
[15:43:05] <etla> since my HEAD installations are run-in-place, I don't have a 'hal' python module installed in the system - I think.
[15:44:00] <CIA-8> 03jepler 07v2_1_branch * 10emc2/tests/README: merge rev 1.2: talk about how to use halstreamer to give input data for a test
[15:44:02] <CIA-8> 03jepler 07v2_1_branch * 10emc2/tests/flipflop.0/ (expected runstreamer test.hal): merge rev 1.2: talk about how to use halstreamer to give input data for a test
[15:44:18] <jepler> oops that wasn't quite the right commit message
[15:44:21] <alex_joni> etla: #!/usr/bin/env python
[15:44:21] <alex_joni> import sys, os
[15:44:21] <alex_joni> BASE = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), ".."))
[15:44:21] <alex_joni> sys.path.insert(0, os.path.join(BASE, "lib", "python"))
[15:45:14] <jepler> etla: ^^^ that works when the script is in bin/ or otherwise one level below the top emc2 RIP directory
[15:46:03] <etla> how about emc2/lib/python ?
[15:46:30] <alex_joni> bin/../lib/python
[15:46:59] <jepler> if the module is being imported then it doesn't have to worry about the path
[15:47:05] <jepler> the importer has to worry
[15:47:14] <alex_joni> jepler: how does that work for installed?
[15:47:52] <alex_joni> jepler: hal_manualtoolchange.py I mean
[15:48:08] <jepler> alex_joni: in run-installed the sys.path.insert should be harmless
[15:48:18] <jepler> if the directory doesn't exist, nothing is hurt
[15:48:52] <alex_joni> ah, so it finds it in the proper path.. got it
[15:49:23] <jepler> sys.path.insert just adds one more place to look
[15:49:34] <alex_joni> hi roltek
[15:50:43] <alex_joni> I wonder if it wouldn't be usefull to have widgets that trigger 'emc' things not only 'hal' stuff
[15:51:15] <etla> alex: yes, probably through the emc python module
[15:51:21] <etla> emc.command() ?
[15:51:39] <alex_joni> and emc.stat()
[15:51:46] <jepler> that's what halui is for
[15:51:48] <etla> so you would have a hal_button and a nml_button
[15:52:27] <etla> bit HAL only deals with BIT or FLOAT signals, and expressing everything with those is a bit cumbersome
[15:52:55] <alex_joni> jepler: I find it odd to have a slider in axis, which links to a hal pin, is connected to halui, and sends a NML message to emc
[15:52:55] <etla> would emc2/lib/python be the correct place to submit ?
[15:53:10] <etla> I mean commit
[15:54:35] <jepler> etla: yes
[15:56:36] <jepler> * jepler shakes his head at Mario.'s message Re: [Emc-users] CNC routing goes mainstream
[15:56:59] <etla> that was posted sometime in the fall on cad_cam_edm_dro I think
[15:57:21] <alex_joni> jepler: I too felt he's out of line
[15:58:18] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/pyvcp.py: pyVCP widget library
[15:58:59] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/vcpparse.py: pyVCP XML config file parser
[16:01:22] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/vcpparse.py: add GPL copyright notice
[16:02:05] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/pyvcp.py: add GPL copyright notice
[16:04:10] <CIA-8> 03awallin 07HEAD * 10emc2/configs/sim/pyvcp_demo.xml: a demo XML file for pyVCP
[16:05:16] <alex_joni> * alex_joni pings cradek
[16:05:15] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/vcpparse.py: change demo file name
[16:09:59] <etla> OK, so now pyVCP is an official part of emc2-HEAD !
[16:10:25] <alex_joni> cool, now we take it out
[16:10:31] <alex_joni> etla: just kidding
[16:10:42] <etla> jepler, cradek: could we have the vcpparse script run when pyvcp=pyvcp_demo.xml is set in the [AXIS] part of the ini file ?
[16:11:21] <etla> now the somewhat cryptic ~/.axisrc is required
[16:11:27] <jepler> etla: I'm working on "something better"
[16:12:09] <jepler> etla: it will be a line in the inifile
[16:12:27] <etla> jepler: yes, that sounds good.
[16:12:44] <jepler> I'd also like to figure out a "useful" example control panel, to put in the standard configs/sim/axis inifile
[16:13:20] <etla> that will require a matched .hal file to do the interconnects
[16:13:21] <jepler> with just one or two widgets in it
[16:13:33] <etla> spindle speed display ?
[16:13:55] <etla> limit-switch LEDs?
[16:14:02] <etla> well, something that makes sense in sim...
[16:14:12] <alex_joni> a diagnose screen would be nice
[16:14:31] <jepler> "diagnose"?
[16:14:35] <alex_joni> limit switches, step/dir leds, spindle on/off, ...
[16:14:36] <etla> but maybe one pyvcp_demo.xml should remain which shows how all the widgets are used
[16:15:16] <alex_joni> etla: somehow sim/ doesn't feel the best place for it
[16:16:09] <etla> that's all I use on my dev. machine
[16:16:21] <etla> it would be nice to add some kinematics to servo-sim
[16:16:27] <alex_joni> etla: yeah, but it's probably the first thing users try
[16:16:28] <etla> or maybe there is something there already ?
[16:16:36] <alex_joni> so it's nice to keep it simple
[16:16:51] <etla> alex: but this will be like halui, if you don't activate it in the ini you won't see it
[16:17:07] <etla> it does clutter the dir with one more file...
[16:19:05] <alex_joni> and one of the inis's with the calls to it :)
[16:19:15] <alex_joni> otherwise it's not really usefull to have there
[16:19:38] <alex_joni> I'm not saying that an different dir would be better though
[16:22:58] <etla> sim/axis_pyvcp would be just fine for now also
[16:24:15] <etla> thanks for all the help guys, going now, but I'll be back...
[16:26:46] <alex_joni> happy new year sam
[16:27:12] <Guest199> happy new year to you alex - how was the vacation?
[16:27:28] <Guest199> I hear ro joined the eu
[16:27:46] <alex_joni> yeah, we did
[16:27:53] <alex_joni> * alex_joni is still on vacation
[16:27:59] <Guest199> Guest199 is now known as skunkworswrk
[16:28:11] <skunkworswrk> skunkworswrk is now known as skunkworkwrk
[16:28:14] <alex_joni> early start don't you think?
[16:28:15] <skunkworkwrk> something like that
[16:28:44] <alex_joni> heh.. it's quite funny
[16:28:58] <alex_joni> I just realized that you can see things I type, before I do :D
[16:29:12] <alex_joni> <connection issues>
[16:29:17] <skunkworkwrk> question it - how did you know it was me?
[16:29:27] <alex_joni> * alex_joni knows :D
[16:29:32] <alex_joni> I have a fish
[16:29:39] <skunkworkwrk> that takes talent. or you know my work ip address ;)
[16:29:49] <alex_joni> the fish know everything
[16:30:53] <skunkworkwrk> actually I am on vacation also - but I ended up here at work ;)
[16:31:02] <alex_joni> http://web.mit.edu/emrac/www/
[16:31:51] <CIA-8> 03jepler 07HEAD * 10emc2/lib/python/vcpparse.py: allow endval to be specified. when running standalone (not in axis) call hal_ready when done
[16:32:06] <skunkworkwrk> :)
[16:32:36] <CIA-8> 03jepler 07HEAD * 10emc2/configs/sim/ (lathe.xml lathe_postgui.hal lathe.ini): show speed of simulated spindle using pyvcp
[16:35:36] <CIA-8> 03jepler 07HEAD * 10emc2/src/emc/usr_intf/axis/scripts/axis.py:
[16:35:36] <CIA-8> when [DISPLAY]PYVCP is specified, load the .xml file and show the control panel
[16:35:36] <CIA-8> on the right side of the AXIS window
[16:35:49] <skunkworkwrk> jepler: hooked some led's to the pluto - so far so good. pretty cool
[16:35:57] <skunkworkwrk> just seem to work ;)
[16:36:47] <jepler> great
[16:37:05] <skunkworkwrk> How fast where you guys able to read write to it? My period is still set at 100ms
[16:37:14] <jepler> 1ms was fine on cradek's lathe
[16:37:16] <skunkworkwrk> Should I play with lowering that?
[16:37:17] <skunkworkwrk> ok
[16:37:27] <jepler> 100ms won't give you very good machine control :-P
[16:37:34] <skunkworkwrk> I figured ;)
[16:37:40] <jepler> actually I think chris tried 500uS for awhile, but it didn't seem to make a lot of difference
[16:37:41] <alex_joni> jepler: what's in lathe.xml?
[16:38:16] <jepler> alex_joni: it's a pyvcp file that shows the spindle speed of the simulated spindle
[16:38:25] <alex_joni> ahh.. ok
[16:39:39] <jepler> http://emergent.unpy.net/index.cgi-files/sandbox/axis+pyvcp2.png
[16:40:01] <alex_joni> jepler: read my mind.. thank you
[16:42:15] <cradek> wow, that's really cool
[16:43:10] <alex_joni> hi chris
[16:45:12] <lerman> Hello all.
[16:46:05] <cradek> hi guys
[16:46:30] <lerman> alex_joni, jepler, cradek, skunkworks, etla, and of course, the ever present CIA that watches over us all.
[16:47:11] <lerman> I've been (vaguely) following the VCP stuff.
[16:47:25] <jepler> cradek: where is the apostrophe, if any, in "happy new year's" supposed to go? and why is it there?
[16:47:34] <cradek> I was thinking we could stick that on the right side of the AXIS screen, and it might help the guy who wants a button to say which pulley his belt is on - oh look, a screenshot from the guys who get up earlier in the morning
[16:48:27] <cradek> jepler: in my happy place, there isn't an apostrophe there, and there isn't an "s"
[16:48:37] <jepler> cradek: "happy new year"?
[16:48:52] <cradek> jepler: thanks, same to you
[16:49:16] <jepler> :)
[16:49:27] <lerman> Once upon a time I suggested the ability to output (and input) between hal and parameters. Output would be easy, but could be dangerous if used to control hardware. Input would be more difficult.
[16:51:05] <lerman> For now, though, there is enough stuff on my plate.
[16:51:42] <alex_joni> lerman: right, I remember
[16:52:24] <lerman> jmk, I think, was concerned that giving users the ability to gcode to the hardware would be dangerious. He was correct.
[16:52:49] <alex_joni> g0 X100 might also be dangerous
[16:52:57] <lerman> Although the user can already send the tool into the vise.
[16:53:03] <lerman> Yes.
[16:53:23] <cradek> it's another way that makes gcode incompatible, even among emc2 users
[16:53:31] <lerman> Although I think some limit exceeded error might appear.
[16:53:53] <lerman> If they have incompatible hardware, that would be the case.
[16:54:46] <cradek> more than the usual though. say someone does tool change with a bunch of parameters instead of M6
[16:55:27] <lerman> I might want to be able to code my own version of M6. Of course, I can already do that with classic ladder.
[16:56:47] <lerman> gcode assumes a fixed model of a machine. Some of us (or some of them) would like to change that model, somewhat.
[16:58:25] <cradek> gcode should be a tool path description language that describes the part more than it describes the machine
[16:59:05] <lerman> For example, I would like to be able to probe (as soon as I get one) three points on a fixture and then be able to automatically align the axis in x and y. Then all of my standard g0, g1, g2, etc would refer to the new aligned coordinate system. To make things even more interesting, I would like the display (in axis) to show the commanded positions in the gcode coordinates, so I could follow...
[16:59:07] <lerman> ...the program.
[16:59:07] <alex_joni> cradek: seen that link with the hex cutting last night?
[16:59:33] <alex_joni> the pdf by fenn?
[16:59:35] <cradek> alex_joni: not yet, I only have one computer with flash and I haven't been there yet
[16:59:58] <cradek> oh I did see a pdf, yes
[17:00:06] <alex_joni> http://www.remsales.com/pages_blocks_v3_exp/images/links/POLYGON_MILLING_[Read-Only].pdf
[17:00:14] <cradek> interesting that the sides are only approximately flat
[17:00:16] <alex_joni> it was exactly as I pictured it :)
[17:00:25] <alex_joni> they can't be completely flat
[17:00:59] <alex_joni> even a facemill can't make a complete flat surface :D
[17:01:13] <cradek> lerman: this is where I sound like a nut, because I don't think probing belongs in gcode either, for the same reasons :-)
[17:01:57] <alex_joni> I wonder how long g-code will be still used
[17:02:03] <lerman> Probing IS part of the standard, though.
[17:02:26] <cradek> yes it is
[17:02:54] <cradek> thankfully, I don't have to like everything in the standard
[17:03:25] <alex_joni> heh.. yeah
[17:03:34] <skunkworkwrk> but..but.. it's that standard.
[17:03:48] <alex_joni> no butts now
[17:04:05] <alex_joni> skunkworkwrk: plenty other standards around :)
[17:04:18] <cradek> it has a few crazy things in it - probing is one of the less crazy
[17:04:19] <lerman> I could use the probing I described and still have a compatible program, though. Just put in a test -- is probing available. If yes, do my probing; if no, tell the user to manually align the fixture.
[17:04:20] <skunkworkwrk> :) don't change it too fast.. I like gcode
[17:04:46] <skunkworkwrk> there - I said it.
[17:05:13] <jtr> luddite ;)
[17:06:05] <lerman> My son does some blacksmith work. Has an anvil and forge. He describes himself as year 1000 ready.
[17:06:27] <cradek> y1k?
[17:07:16] <jepler> [Read-Only] hah
[17:08:35] <alex_joni> jepler: ?
[17:08:42] <lerman> So. How do we decide what 'changes' are acceptable in the interpreter. I say changes rather than improvements.
[17:09:29] <alex_joni> first we decide who is 'we'
[17:09:29] <lerman> 1 -- Shouldn't break existing, standard conforming gcode
[17:09:40] <jtr> There's a blacksmith shop around the corner from me. He has/had a sign up that his products were all Y2K ready.
[17:10:00] <lerman> We is the community. acting thru the Board.
[17:10:35] <alex_joni> lerman: starts to sound like trouble :D
[17:11:17] <lerman> Being born is trouble. It's all downhill after than. :-)
[17:11:58] <jepler> alex_joni: the URL -- as though if they didn't put [Read-Only] in the URL of the PDF file, I might be modifying it or something
[17:12:02] <alex_joni> well.. at least there's a guy waiting at the bottom
[17:12:36] <eugenics> eugenics is now known as ^eugenics
[17:13:30] <col> evening
[17:14:02] <^eugenics> I wish the channel a good new year!
[17:14:53] <alex_joni> same for you :)
[17:15:42] <^eugenics> I need it, and I will fight for it.
[17:15:47] <skunkworkwrk> http://video.google.com/videoplay?docid=-6438700334710473669&q=stepper&hl=en
[17:17:06] <skunkworkwrk> maybe I should get the gantry to do that ;)
[17:18:09] <^eugenics> :)
[17:18:59] <jtr> hah!
[17:19:20] <skunkworkwrk> I could have 3 part harmany (3 axis)
[17:19:53] <skunkworkwrk> * skunkworkwrk goes off to write a O-word program to do it
[17:20:31] <alex_joni> heh
[17:47:34] <alex_joni> skunkworkwrk: done?
[17:48:03] <skunkworkwrk> ;) - not yet
[17:48:17] <alex_joni> what's keeping you?
[17:48:22] <skunkworkwrk> * skunkworkwrk is actually getting other work done
[17:48:36] <SWPadnos> I'd like to hear "Flight of the Bumble Bee" on your machine :)
[17:49:16] <SWPadnos> but I don't know if it can accel that quickly
[17:49:52] <skunkworkwrk> guns and roses - 'sweet child of mine'?
[17:50:00] <SWPadnos> Van Halen - something or other ;)
[17:50:15] <skunkworkwrk> hot for teacher - with the drums at the begining
[17:50:27] <SWPadnos> (wasn't Eddie Van Halen the "fastest guitar player" for a while?)
[17:50:29] <SWPadnos> heh
[17:52:47] <alex_joni> how about some stratovarius drums ?
[17:53:03] <SWPadnos> did he make any?
[17:53:22] <alex_joni> lol
[17:53:44] <alex_joni> you can bang on violins :P
[17:53:51] <SWPadnos> or is that a band I've never heard of? ;)
[17:54:08] <alex_joni> that one
[17:55:18] <alex_joni> http://www.youtube.com/watch?v=p7t1eJ5Jdqw
[17:57:48] <SWPadnos> hmmm - that definitely doesn't sound like a Stradivarius ;)
[17:57:54] <cradek> hmm, the spindle readout on sim/lathe is in rps, not rpm
[17:58:32] <SWPadnos> oops
[17:59:49] <jepler> cradek: I think there's no way to avoid the raw speed being in rps, if its .position is to be in rotations
[17:59:54] <jepler> cradek: that's why i scaled it by 60 for display
[18:00:27] <jepler> maybe there should be a separate .velocity-scale
[18:00:33] <cradek> I don't follow
[18:00:54] <cradek> I mean the bargraph should be in rpm (I thought it was in your screenshot)
[18:01:09] <jepler> the bargraph is in rpm for me
[18:01:11] <jepler> it's not for you?
[18:01:19] <cradek> no
[18:01:52] <cradek> http://timeguy.com/cradek-files/emc/rps.png
[18:02:17] <CIA-8> 03jepler 07HEAD * 10emc2/configs/sim/lathe.hal: lathe speed readout should be in rpm, not rps
[18:02:20] <jepler> looks like I failed to commit a file
[18:02:27] <cradek> aha thanks
[18:03:28] <cradek> much better
[18:03:33] <cradek> this is very cool
[18:04:00] <jepler> you should tell etla / awallin that when you see him
[18:04:30] <cradek> I will
[18:07:00] <ejholmgren>
[18:16:43] <skunkworkwrk> another one asking about axis reversing. http://www.cnczone.com/forums/showthread.php?t=29687
[18:16:59] <skunkworkwrk> I wonder is puting a little comment in the ini file would help
[18:18:10] <SWPadnos> somebody probably needs to make (or publicize if it already exists) a "quick start guide" for setting up EMC2 for steppers
[18:18:32] <SWPadnos> step 1: use this procedure to calculate how many steps/second you need
[18:18:47] <SWPadnos> step 2: use this method to figure out how fast your computer can generate steps
[18:18:52] <SWPadnos> etc. etc.
[18:20:10] <cradek> a one-page quickstart would be nice.
[18:22:31] <cradek> maybe skunkworks wrote most of it for that thread
[18:23:00] <SWPadnos> it seems that way
[18:23:42] <SWPadnos> I wonder if we could have the option of specifying the desired number of steps/second in the ini, and calculate the BASE_PERIOD from that ...
[18:28:12] <jepler> ha ha ha http://edge.org/q2007/q07_6.html#gelernter
[18:30:11] <SWPadnos> do you want to take the blue hole, or the red hole? :)
[18:30:17] <lerman> We have the ineptitude of the Unibomber to thank for that comment.
[18:30:42] <lerman> comment->commentary.
[18:30:41] <cradek> I wonder if he's a nut or a (funny) troll
[18:30:57] <lerman> The Unibomber?
[18:31:08] <SWPadnos> Freeman Dyson - isn't he dead?
[18:33:27] <wb9mjn> I saw Freeman give his "Small is Beutiful" talk in grad school...
[18:33:40] <wb9mjn> I still have the program....
[18:33:41] <SWPadnos> yeah, but how olda re *you*? ;)
[18:33:43] <wb9mjn> Great talk...
[18:33:48] <wb9mjn> Pretty old...hi...
[18:34:14] <jepler> wikipedia shows Dyson as living.
[18:34:16] <jepler> born 1923
[18:34:17] <SWPadnos> I have a book about the Orion project, which was written by his son
[18:34:30] <SWPadnos> hmm - interesting
[18:34:35] <wb9mjn> What was the "Orion" Project...
[18:34:49] <SWPadnos> nuclear-bomb propelled spaceship
[18:34:53] <wb9mjn> Oh....
[18:35:15] <wb9mjn> Always thought that was an Edmund Teller thing...
[18:35:42] <SWPadnos> very cool. the "heavy lifter" design would take a 4000 ton payload from earth surface to mars landing and back to earth orbit
[18:36:01] <SWPadnos> without refueling ...
[18:38:15] <skunkworkwrk> I remeber seeing a show on that. they could lauch huge buildings into space if they wanted to.
[18:41:12] <skunkworkwrk> * skunkworkwrk doesn't know why I always seem to miss the second m in remember
[18:41:30] <SWPadnos> you need to remember it better :)
[18:41:54] <SWPadnos> hmmm - it looks like there's a bigger ship with a 10000 ton payload
[18:43:23] <skunkworkwrk> tree huggers have a problem with nuclear material shot into the atmosphire ;)
[18:43:31] <SWPadnos> really?
[18:43:33] <SWPadnos> huh
[18:43:45] <skunkworkwrk> crazies I tell you
[18:45:26] <SWPadnos> heh - saw this in a magazine a couple of months ago: http://www.ultimatestupidity.com/pics/1/diesel/
[18:48:25] <jepler> holy cow that's big
[18:49:12] <SWPadnos> yes
[18:49:36] <skunkworkwrk> oh its all photo shopped. j/k. I saw it also in maybe popular machanics or some thing like that.
[18:50:21] <SWPadnos> yeah, ot "big-ass machine world" or something :)
[18:50:25] <SWPadnos> or
[18:52:04] <SWPadnos> hmmm - fuel consumption 0.278 pounds / hp / hour
[18:52:23] <SWPadnos> or, at 100k hp, 27800 lbs/hour o_O
[18:59:34] <skunkworkwrk> awallin: http://emergent.unpy.net/index.cgi-files/sandbox/axis+pyvcp2.png
[18:59:49] <alex_joni> bet he saw that
[19:01:19] <skunkworkwrk> :)
[19:03:55] <awallin> oh, I didn't see that particular screenshot yet. thanks
[19:04:07] <awallin> looks good!
[19:04:43] <awallin> did jepler commit any changes to make the pyvcp load automagically from ini file settings ?
[19:04:52] <cradek> awallin: that is really cool, thanks
[19:05:27] <cradek> awallin: that's what you get when you run sim/lathe now
[19:05:52] <awallin> cradek: you're welcome, the code is probably a mess compared to what you're used to... ;)
[19:06:05] <cradek> haha you're assuming a lot about the existing code
[19:06:09] <awallin> nice. so there's a new ini parameter that points to the xml file ?
[19:06:35] <cradek> sorry I have no clue how it works, I just ran it
[19:06:55] <awallin> ok, but you did not have to edit a ~/.axisrc by hand
[19:07:02] <cradek> no
[19:07:06] <awallin> great
[19:07:15] <cradek> I don't have a .axisrc at all
[19:07:45] <awallin> I guess that was jepler's quick fix to get it working the first time
[19:08:13] <cradek> bbl
[19:13:05] <awallin> hrmmm, I get: HAL: ERROR: pin 'axisui.spindle-speed' not found
[19:13:05] <awallin> HAL:1: link failed
[19:13:12] <awallin> when trying to run sim/lathe
[19:16:20] <lerman> Has anyone heard from fenn, today?
[19:16:56] <SWPadnos> not today (EST) :)
[19:17:32] <lerman> He had converted my flowsnake program to python, and I want a copy.
[19:26:26] <cradek> lerman: http://pastebin.ca/298550
[19:26:39] <lerman> thanks.
[19:31:02] <Twingy> http://www.sears.com/sr/javasr/product.do?vertical=TOOL&pid=00921754000&adCell=P2&BV_UseBVCookie=Yes
[19:33:13] <skunkworkwrk> you must be a spammer ;)
[19:33:52] <skunkworkwrk> that is the actual picture of the machine? when I first looked at it - I just figured that was an add for a thickness planer.
[19:34:44] <wb9mjn> Take a look at the http://www.carvewright.com/ website...they have a video....
[19:35:41] <Twingy> nah
[19:35:44] <Twingy> just saw it on tv
[19:35:56] <Twingy> * Twingy has a taig
[19:37:09] <wb9mjn> They also have a probe....
[19:37:22] <wb9mjn> You can carve up a master, probe it, and recreate it...
[19:37:55] <awallin> cradek, jepler: with the new sim/lathe, I always get HAL: ERROR: pin 'axisui.spindle-speed' not found, HAL:1: link failed
[19:38:09] <awallin> it's working for you ?
[19:38:26] <alex_joni> awallin: you sure you updated all of emc2?
[19:38:31] <alex_joni> even the configs dir?
[19:38:50] <alex_joni> maybe you don't have the lathe.xml or you got a conflict merging the lathe ini
[19:39:00] <awallin> yes. could it be that I am under vmware, and thus everything is a bit slow ?
[19:39:24] <awallin> what's the '?' files I get when I do cvs update ?
[19:39:25] <alex_joni> I think I saw a commit message by jepler that he put a hal ready at the end of pyvcp
[19:39:38] <alex_joni> ? is for local files which don't exist in the repo
[19:39:46] <alex_joni> M is for merged
[19:39:50] <alex_joni> P for patched
[19:39:57] <alex_joni> M for modified.. sorry
[19:40:11] <awallin> can I delete the ?'s with some command
[19:40:16] <alex_joni> that means you have a newer change than in the repo
[19:40:20] <alex_joni> no, but it shouldn't matter
[19:40:36] <alex_joni> gotta run
[19:40:36] <alex_joni> bbl
[19:40:40] <awallin> ok
[19:41:34] <lerman> I'm trying to run fenns flowsnake..py and get undefined sqrt. What do I need to do to get that defined? (syntax of import and whatever...)
[19:41:47] <awallin> import math
[19:41:49] <awallin> maybe
[19:42:37] <awallin> if you do 'import math' then math.sqrt(2) will work
[19:42:54] <awallin> if you want just sqrt(2) to work you need to do 'from math import *'
[19:43:36] <lerman> from math import * worked
[19:43:40] <lerman> thanks
[19:44:40] <skunkworkwrk> pretty cool video. neat little machine.
[19:55:11] <awallin> yeah! now I see the new sim/lathe working !
[19:59:38] <awallin> but I wonder how it works... there's still the explicit reference to pyvcp_demo.xml in vcpparse.py
[20:11:00] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/vcpparse.py: remove debug 'print' commands
[20:15:44] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/pyvcp.py: fix blinking cursor problem for led widget
[20:25:19] <lerman> python gurus: How can I access the stack frame at run time? In particular, I would like to access the dictionary containing the local variables of the calling function.
[20:25:54] <SWPadnos> http://lfw.org/python/inspect.html
[20:26:01] <SWPadnos> may be helpful ?
[20:26:27] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/pyvcp.py: fix blinking cursor problem for bar widget
[20:29:46] <lerman> Well, _getframe() seems to be what I want. I'd seen that before. But, I don't know how to invoke it.
[20:30:44] <lerman> I apparently need to do anObject._getframe() ... What object would that be?
[20:30:51] <SWPadnos> me either - I only know about that page because of Google ;)
[20:31:33] <lerman> I figured.
[20:38:02] <lerman> Got it. The idea is this (after a discussion with fenn). I'd like to try using python as a gcode wrapper. In flowsnake.py, fenn used nasty looking printing like:
[20:38:05] <lerman> print "g1 f10 x", endX, "y", endY -- which looks like crap (to me). I suggested something like:
[20:38:07] <lerman> gcode("g1 f10 x#endX y#endY") instead. Now I know how to implement it. :-)
[20:39:34] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/pyvcp.py: fix cursor blinking for number widget
[20:45:24] <Rugludallur> Happy New Year everyone
[20:46:00] <anonimasu> happy new year
[20:47:15] <anonimasu> lerman: that's nice
[20:47:20] <anonimasu> lerman: what do you think of python?
[20:48:04] <lerman> Not too bad for me to read (I'm a C programmer). Hard for me to write (I'm a C programmer).
[20:48:33] <anonimasu> I guess it depends on what you want to do
[20:48:56] <anonimasu> im in love with python for making hacks
[20:48:59] <Jymmmm> anonimasu: What were you talking about last night.... hex milling or something like that
[20:49:17] <anonimasu> I said the videos were cool as hell :)
[20:49:19] <anonimasu> just a sec..
[20:49:30] <Jymmmm> anonimasu: url?
[20:50:04] <SWPadnos> http://www.youtube.com/watch?v=oGq-9NNmr3o
[20:50:20] <Jymmmm> looking...
[20:52:07] <anonimasu> thanks
[20:52:10] <anonimasu> I couldnt find it :)
[20:52:10] <Jymmmm> Did they just vut a hex nut on that shaft?!
[20:52:14] <Jymmmm> cut
[20:52:18] <anonimasu> http://video.google.com/videoplay?docid=6346970134695813259
[20:52:28] <anonimasu> look at that ;)
[20:52:53] <anonimasu> will emc do that someday?
[20:52:54] <anonimasu> :D
[20:52:59] <anonimasu> *grins*
[20:53:03] <Jymmmm> anonimasu tomorrow
[20:53:10] <anonimasu> that's brutal stuff
[20:53:36] <lerneaen_hydra> 'lo
[20:53:39] <SWPadnos> it can just about do it now, but possibly only with HAL
[20:53:48] <anonimasu> what would it take to do?
[20:53:51] <anonimasu> a 2nd spindle?
[20:54:00] <anonimasu> driven tool.. that is
[20:54:06] <SWPadnos> I'm not sure how one could configure the interpreter / TP to keep track of the second spindle
[20:54:07] <Jymmmm> wth kind of cutter is making that hex nut?!?!?!
[20:54:15] <awallin> the second spindle is synced very accurately to the first one
[20:54:19] <SWPadnos> standard cutters, but several of them
[20:54:38] <anonimasu> yep
[20:54:41] <SWPadnos> I'm not sure it's any "better" synchronization than multi-pass threading requires
[20:54:44] <Jymmmm> SWPadnos: Um, it's spaced uniquely....
[20:54:55] <awallin> it could be done easily in HAL, the question is if the servo update rate of EMC is enough
[20:55:04] <Jymmmm> that's a hell of a sync!!!!!!!!!!
[20:55:14] <anonimasu> you need a servo spindle..
[20:55:25] <SWPadnos> you need 6 tools to pass the workpiece per revolution of the workpiece - so if you have a 2-slot head, it needs to turn 3x as fast as the chuck
[20:55:28] <anonimasu> or well, sync on both I think..
[20:55:52] <SWPadnos> you need to sync the X/Z as well, I imagine
[20:55:58] <anonimasu> yeah maybe
[20:56:14] <Jymmmm> I doubt there's a PC for the controller! LOL
[20:56:21] <awallin> if you ship me the hardware for free I'll promise to make it work on emc ;)
[20:56:35] <anonimasu> if you look in the middle of it..
[20:56:50] <anonimasu> you see the tool slow down
[20:56:51] <Jymmmm> awallin: Sounds like a plan, but we'll need your left testical as deposit.
[20:56:54] <anonimasu> 03:xx
[20:57:39] <anonimasu> hm
[20:59:51] <Jymmmm> Oh, does anyone work on TV's by chance? I have no color on the tuner, or video inputs. But have color on the OSD.
[21:00:44] <anonimasu> pal/the other stuff right?
[21:01:21] <anonimasu> ntsc/pal
[21:01:34] <Jymmmm> anonimasu: NTSC Sony 32"
[21:01:49] <anonimasu> ok.., but do you have the settings right?
[21:01:53] <awallin> get an LCD telly.
[21:01:55] <Jymmmm> It worked the first couple of days, then no color at all.
[21:02:02] <anonimasu> no clue then
[21:02:12] <anonimasu> im waiting for one in the mail
[21:02:25] <anonimasu> :)
[21:02:32] <anonimasu> though I'll be short on cash for a while
[21:02:50] <Jymmmm> I cracked the back off of it, thinking maybe a cable came loose. There are modular PCB's in it but a lil chicken to reseat them till I figure out how to discharge the flyback safely.
[21:04:14] <anonimasu> ok
[21:04:44] <Jymmmm> Hmmmm gmail down?
[21:04:59] <Jymmmm> weird. nm
[21:06:26] <anonimasu> :/
[21:06:51] <anonimasu> Jymmmm: did you set your router back up?
[21:07:11] <Jymmmm> anonimasu Yeah, a couple of days ago.
[21:07:19] <Jymmmm> oh no not yet (wrong router)
[21:07:39] <Jymmmm> Still trying to get the garage unpacked
[21:07:41] <anonimasu> oh, that kind I dont care about :D
[21:07:50] <anonimasu> they are a pain in general
[21:08:25] <Jymmmm> Had to buy a new frig yesterday, now it looks like the new frig is fubared too. *sigh*
[21:09:07] <anonimasu> frig?
[21:09:10] <anonimasu> fridge?
[21:09:41] <jtr> Jymmmm: Just stay away from the wire running from the picture tube to the flyback.
[21:09:51] <Jymmmm> My gf's monitor goes out, replaced it with a 17" which also went out. Then replaced that. Ten the 32" Tv goes out, and replaced that. Then the Frig goes out, replaced that yesterday, adn now it doesn't even set ice cubes yet and almost 24hours later.
[21:10:11] <anonimasu> is there something wrong with your mains?
[21:10:16] <jtr> Jymmmm: how's your power?
[21:10:18] <Jymmmm> jtr Can't, need to disconnect it to be able to pull out the electronics.
[21:10:29] <jtr> what he said. ^^^
[21:11:15] <Jymmmm> Hmmmm, This is a new place, but I don't think so. I checked which circuit is what, and now of the breakers are overloaded (I don't think)
[21:11:19] <Jymmmm> s/now/none/
[21:12:13] <Jymmmm> You thinking brown outs?
[21:12:50] <anonimasu> no idea whatsoever it may be
[21:13:51] <Jymmmm> I have a Kill-a-watt meter, maybe I'll toss it on and watch the line voltage.
[21:13:54] <jtr> I'm wondering if your voltage is high. should have two legs of 110, but if the neutral connection is poor coming into the house,
[21:14:47] <jtr> when you put a heavy load on one leg, the other leg could go up in voltage.
[21:15:26] <jtr> like 90/130 rather than 110/110
[21:16:22] <Jymmmm> ah, ok. MAybe I'll borrow another kill-a-watt meter from work and see if I can figure out which circuits are on the first and second half of the 220
[21:16:56] <anonimasu> ^_^
[21:17:23] <Jymmmm> Nothing fancy... http://www.the-gadgeteer.com/review/kill_a_watt_electric_usage_monitor_review
[21:18:17] <Jymmmm> Work just gave them out one year for Christmas gifts. This year was a network cable tester.
[21:18:51] <anonimasu> hm ok
[21:18:59] <anonimasu> looks like a neat tool
[21:20:18] <Jymmmm> This is this years xmas gift... http://www.compusa.com/products/product_info.asp?product_code=316202
[21:20:47] <Jymmmm> While I'm thinking about it, I'm going to go plug in the kill-a-watt meter.
[21:21:10] <anonimasu> nice
[21:31:16] <Jymmmm> Well, I plugged it into the 110 outlet closest to the electric dryer. Got 119VAC. Turned on the dryer and it dropped to 118VAC
[21:32:42] <lerman> SWPadnos: solved my problem. Thanks for your quick google.
[21:33:17] <anonimasu> :/
[21:34:46] <SWPadnos> oh -- you're welcome
[21:36:50] <jtr> Jymmmm: the dryer is a balanced load, pulling equally from each leg of the 220 - very little from the neutral.
[21:37:06] <lerman> I can now write python with embedded stuff like:
[21:37:08] <lerman> g("g1 f10 x$endX y$endY ($Glevel)"
[21:37:11] <lerman> endX and endY are local variables; Glevel is a global variable and they all get substituted.
[21:37:52] <lerman> The only down side is that you have to write the line of gcode inside g("...").
[21:37:58] <jtr> Jymmmm: try loading with toaster, microwave, and other 110 loads.
[21:38:14] <lerman> [And you might want to know python if you care to use its features.)
[21:38:20] <Jymmmm> jtr: Good to know. Will try the other appliances.
[21:38:21] <Jymmmm> brb
[21:39:22] <SWPadnos> you can probably do something with triple-quoted literal strings, and so some pattern/varaible substitution on the string (using the python equivalent of eval() )
[21:40:44] <anonimasu> python rocks :D
[21:40:48] <lerman> Using the template class it's only a few lines of code -- once you know the magic to get the local and global symbol tables.
[21:41:08] <lerman> Pythons are reptiles -- have no rocks. :-)
[21:41:11] <anonimasu> I made a program to hook gnuplot for work..
[21:41:27] <anonimasu> and throw my data from our machines as a graph :)
[21:41:30] <anonimasu> pressures and stuff
[21:42:00] <SWPadnos> lerman, I'm not a python expert, but it sounds to me like you're trying to solve a problem using python in a non-pythonic way :)
[21:43:24] <lerman> I'm not sure. I'd like the user to be able to not be a python programmer. Python I/O is a bit of a pain because of the quotes and commas.
[21:44:16] <lerman> It makes for a stepping stone approach where you learn just as much python as you can stand at a time.
[21:44:57] <lerman> But, you might be right.
[21:45:05] <Jymmmm> jtr: Turned on/off the coffee maker and microwave... as each one was turned on, I saw it go from 119, to 118, to 117
[21:45:08] <SWPadnos> well, I can't say for sure, especially because I know little of either python or the particular problem you'r eworking on
[21:46:13] <lerman> Its the alternative that cradek likes. Don't add subs and calls and named parameters to the interpreter. Instead, use python.
[21:46:24] <SWPadnos> ah
[21:46:32] <anonimasu> hm,. I like that also
[21:46:41] <Jymmmm> jtr: This is a older place. There is only like one or two outlets that acutally have a ground.
[21:46:48] <Jymmmm> (tested)
[21:46:50] <SWPadnos> so you want to use something like names params and stuf fin a file, and process it with a python program to generate code EMC can understand?
[21:47:02] <SWPadnos> s/names/named/
[21:47:42] <lerman> I 'spoke to' fenn last night and he also liked the python approach. So, I challenged him to rewrite the flowsnake program in python -- which he responded to nicely. I din't like the syntax of the print lines, so here we are -- the best of both.
[21:49:29] <lerman> Pretty much. cradek would (probably) just run the program as an input to Axis. I don't mind that, but I'd like axis to display the thing in source form and provide single stepping, step into, step over, breakpoints, etc. That would let us debug the stuff.
[21:50:43] <SWPadnos> what does single-step mean when one "source" line may generate many G-code lines?
[21:50:55] <ve7it> ve7it is now known as LawrenceG
[21:51:00] <SWPadnos> or the opposite (several lines of source only generate a single G-code line)
[21:51:06] <lerman> A message like limit exceeded on line12345 doesn't tell us much without seeing it in the context of the source that generated. If we could feed the line to the interpreter in "real time", when the interp generated ad error, we could gen a python backtrace.
[21:52:09] <awallin> would anyone like to jog emc with the mouse-wheel ?
[21:52:10] <lerman> It's the opposite, I think. Show the line of source with the g("....") and then be able to see the backtrace.
[21:52:47] <lerman> I'd prefer a separate encoder wheel. I hate to think about the results when I drop the mouse (again).
[21:53:07] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/pyvcp.py: the scale widget now responds to the mouse-wheel
[21:53:38] <awallin> the pointer would have to be on top of a special jog-area
[21:53:54] <awallin> and emc in manual mode
[21:54:19] <lerman> I would still drop the mouse and lose it.
[21:54:51] <lerman> But it would be fine for toy or hobbiest machines, I suppose.
[21:55:02] <awallin> I think I'll try it sometime later...
[22:12:09] <jtr> Jymmmm: I'm out of ideas - my speculation may have been flat wrong.
[22:13:40] <Jymmmm> jtr: No, I'm not dismissing the fact that this is an older place and all. Why it's dropping a volt per appliance I have no clue.
[22:14:10] <Jymmmm> jtr: If there is no/poor ground, would that affect anything?
[22:15:40] <jtr> generally, no.
[22:16:10] <Jymmmm> I know crap about AC, Just that' their labeled hot, neutral, and ground.
[22:16:34] <Jymmmm> and that 220 into the building is really one leg of 220 and enutral to get 110
[22:17:29] <jtr> two hots, 180 deg out of phase get you 220. either hot and the "neutral" give you 110.
[22:18:05] <Jymmmm> can you get 110 from one of the hots and ground?
[22:19:45] <jtr> yes, but not a safe practice. ground and neutral are bonded together at the service entrance. or supposed to be.
[22:19:53] <Jymmmm> bonded?
[22:20:46] <jtr> if you are spliced, connected. when you read the code book, you start saying bonded - it's the term they use.
[22:21:03] <jtr> s/if you are//
[22:21:04] <Jymmmm> Either one, I still don't "get it"
[22:21:21] <jtr> bonded = connected
[22:21:24] <SWPadnos> tying two wires together is called "bonding"
[22:21:55] <Jymmmm> "tying" doesn't sound like physically connected, or is it?
[22:22:04] <SWPadnos> yes
[22:22:07] <jtr> yes.
[22:22:30] <robin_sz> tied to ground ... connected to ground ... joined to ground .. bonded to ground ... same thing
[22:22:47] <Jymmmm> Ok, then why is hot+gnd not as "safe" as hot+neutral, if gnd and neutral are the same thing?
[22:23:07] <robin_sz> eek, well, say they became disconnected at the inlet ...
[22:23:16] <robin_sz> now all your exposed metalwork is live!
[22:23:17] <jtr> my service entrance has a ground bus, and a neutral bus. Heavy jumper between them bonds them together electrically.
[22:24:05] <jtr> if the jumper comes loose, and you are using ground as a power return, your safety ground just went to 110v.
[22:24:07] <Jymmmm> Ok, so say I turn off the mains. Take an ohm meter to an outlet. Both the neutral + gnd would (should) show 0 ohms?
[22:24:36] <robin_sz> Jymmmm, say, you decided to wire a lamp between the metal casing of the lamp in your dining room and hot ... and the ground lead in the lamp failed du e to flexing/breaking .. now what happens?
[22:24:45] <jtr> between neutral and ground, yes.
[22:25:26] <Jymmmm> robin_sz: I'm understanding the "safety" factor now, just trying to figure out the difference between neutral and ground.
[22:25:35] <SWPadnos> one is safe, the other is not
[22:26:06] <robin_sz> Jymmmm, electrically, theres not much difference .. but ground is not normally part of the supply loop, its a seperate protective circuit, a backup,
[22:26:09] <lerman> Also, ground might be a smaller diameter.
[22:26:15] <SWPadnos> ground wires are often sized a bit smaller than the hot/neutral. they're also not sheathed (they're bare copper)
[22:26:30] <lerman> Hey fenn.
[22:26:34] <Jymmmm> SWPadnos right, or green. Yeah.
[22:26:42] <robin_sz> not ALL building have them connected at the supply inlet either
[22:26:52] <fenn_> fenn_ is now known as fenn
[22:27:03] <fenn> mornin
[22:27:03] <robin_sz> that only in PME .. there are other grounding schemes ...
[22:27:14] <jtr> PME?
[22:27:14] <Jymmmm> PME?
[22:27:22] <jtr> what he said
[22:27:24] <robin_sz> protective multiple earth
[22:27:26] <lerneaen_hydra> SWPadnos: wtf? they have bare ground cables in the US? O.o
[22:27:32] <robin_sz> lerneaen_hydra, apparently
[22:27:37] <SWPadnos> yes
[22:27:47] <SWPadnos> well, sometimes
[22:27:47] <Jymmmm> Rolmex has that
[22:27:52] <robin_sz> lerneaen_hydra, you are green/yellow like the rest of the planet for ground?
[22:27:53] <SWPadnos> yep
[22:27:54] <lerneaen_hydra> next you'll be telling me that they staple the wires to wooden beams
[22:28:00] <lerneaen_hydra> robin_sz: yep
[22:28:03] <fenn> lerman: so i've been thinking.. how are we going to run python code if axis isnt present?
[22:28:08] <SWPadnos> 12/2 wire is white, black, bare
[22:28:23] <lerneaen_hydra> SWPadnos: what about corrosion?
[22:28:29] <lerneaen_hydra> abrasion?
[22:28:39] <Jymmmm> Ok, if there is shitty wiring here causeing brownouts, is there anythign I could do?
[22:28:42] <SWPadnos> copper doen't corrode much when it's at ground poential
[22:28:42] <lerman> How do we run any code if axis isn't present?
[22:28:56] <robin_sz> Jymmmm, move?
[22:28:58] <lerneaen_hydra> SWPadnos: I was thinking because of salt in the air and stuff
[22:29:02] <Jymmmm> robin_sz I just moved in.
[22:29:15] <Jymmmm> robin_sz and took 4 months to get the place.
[22:29:16] <jtr> lerneaen_hydra: and the bare wire is in the overall sheath
[22:29:24] <robin_sz> Jymmmm, its unlikely to be in-house wiring causing brownouts ...
[22:29:34] <jtr> s/in/inside/
[22:29:36] <Jymmmm> robin_sz suggestions?
[22:29:39] <robin_sz> unless of course you can smell burning
[22:29:41] <lerneaen_hydra> jtr: oh! so there is an PVC sheilding?
[22:30:03] <robin_sz> probably netural shifts doe to poor load balancing in the building
[22:30:16] <robin_sz> Jymmmm, buy a decent UPS for the sensitive stuff
[22:30:18] <Jymmmm> http://extreme.infomagic.net/static/romex_12_2.jpg
[22:30:21] <lerneaen_hydra> we have that in sweden too, though that's just local ground for a certain wire (there is a "real" ground wire in the cable)
[22:30:33] <robin_sz> Jymmmm, they will boost the voltage during brownouts
[22:30:40] <jtr> lerneaen_hydra: yes, two insulated and teh bare in an overall sheath.
[22:30:47] <lerneaen_hydra> Jymmmm: A line-interactive UPS will increase the voltage during brownouts
[22:30:55] <lerneaen_hydra> and an online one too of course
[22:30:59] <robin_sz> APC SmartUPS are nice
[22:31:33] <lerman> fenn:
[22:31:37] <lerman> see: http://www.se-ltd.com/~lerman/files/flowsnake2.py
[22:31:36] <lerman> for a version of your code that lets you say:
[22:31:37] <Jymmmm> robin_sz: Not proven yet, But my Gf's 17" went out, our 32" TV lost all it's color, and the frig went out and just replaced it yesterday (and looks like I'll have to call and have the new one serviced today as well)
[22:31:40] <lerman> g("g1 f10 x$endX y$endY ($Glevel)")
[22:31:40] <lerman> with substitution of local (endX and endY) and global (Glevel) parameters.
[22:31:41] <robin_sz> just dont put a) CRT monitors or b) laser printers on it
[22:32:23] <robin_sz> Jymmmm, coo, bad. get a UPS .. with the APC ones you can log mains voltage and graph it
[22:32:39] <robin_sz> Jymmmm, as for the frig ... did you move it recently?
[22:33:02] <Jymmmm> The outlet that our computers are on is NOT grounded. I was planning on putting a grounding rod in and running a ground wire to the outlet. My UPS is only 1800VA, so I'm not sure it;ll handle all of our systems (less the CRTs)
[22:33:12] <lerneaen_hydra> Jymmmm: are you sure it's just not surges or generally shitty power?
[22:33:12] <robin_sz> fridge even
[22:33:45] <Jymmmm> lerman: No, I'm not sure of anythign at this point or even if it's power or just murphy's law
[22:33:48] <lerman> My fridge has a microprocessor in it; so it might care about the power.
[22:33:56] <lerneaen_hydra> lerman: wtf?
[22:34:02] <robin_sz> Jymmmm, as for the fridge ... did you move it recently?
[22:34:09] <fenn> soft start motors
[22:34:25] <robin_sz> Jymmmm, and if you did, did you leave it to stand a full 24hrs before switching it on?
[22:34:28] <Jymmmm> robin_sz The NEW frig, yes from the store to the house. But we never tipped it
[22:34:59] <lerneaen_hydra> fenn: seems stupid from a reliablility standpoint to have a microprocessor for that
[22:35:11] <robin_sz> 24hrs my friend or the motor pumps the oil into the coils and .. goodnight vienna
[22:35:21] <lerman> lerneaen_hydra: one of us should change his handle... and since mine is my real name, I vot for you :-)
[22:35:39] <Jymmmm> robin_sz It never went more than 30 degrees tilt
[22:35:44] <robin_sz> sigh ...
[22:35:53] <lerneaen_hydra> lerman: oh no! :p
[22:35:59] <Jymmmm> robin_sz doens't matter huh?
[22:36:03] <lerneaen_hydra> lerneaen_hydra is now known as the_lerneaen_hyd
[22:36:07] <the_lerneaen_hyd> hmm
[22:36:08] <the_lerneaen_hyd> damn
[22:36:13] <the_lerneaen_hyd> the_lerneaen_hyd is now known as lerneaen_hydra
[22:36:15] <robin_sz> 30 is plenty .. trust me .. they die
[22:36:19] <Jymmmm> k
[22:36:27] <lerman> Not enough characters.
[22:36:32] <lerneaen_hydra> yeah
[22:36:42] <lerneaen_hydra> oh, uh, maybe some client-level stuff?
[22:36:44] <lerneaen_hydra> like stalking
[22:36:49] <lerman> lerman is now known as klerman
[22:36:50] <lerneaen_hydra> I personally stalk LH
[22:37:02] <lerneaen_hydra> and hydra and other permutations
[22:37:05] <klerman> Does this solve the problem?
[22:37:11] <fenn> lerneaen_hydra: know of a better way?
[22:37:23] <lerneaen_hydra> if it's ok with you then definetly
[22:37:25] <lerneaen_hydra> lerneaen_hydra:
[22:37:29] <lerneaen_hydra> oops
[22:37:30] <robin_sz> klerman, hi, you must be new here ....
[22:38:04] <klerman> Hi. You look familiar. Do I come here often? (Man walks into a bar and says...)
[22:38:26] <robin_sz> ;)
[22:39:03] <robin_sz> for some reason, whenever I see lerneaen_hydra I always think of something from greek mythology with a hea dof snakes or something
[22:39:16] <lerneaen_hydra> robin_sz: yep, that's correct
[22:39:19] <Jymmmm> robin_sz: Ok, just unplugged the frig. Will 24h from now be long enough for the oil to drop back down and out of the coils?
[22:39:39] <lerneaen_hydra> one of hercules 7 (or was it 9) tasks was to kill the lerneaen hydra
[22:39:46] <robin_sz> Jymmmm, ummm ... do you want the bad news?
[22:39:56] <Jymmmm> robin_sz sure,
[22:40:14] <robin_sz> Jymmmm, well, is it just sort of running, but not actually getting cold?
[22:40:34] <lerneaen_hydra> robin_sz: it's spelled the lernaean hydra though
[22:40:35] <Jymmmm> Both the frig and freezer are at 46F
[22:40:34] <lerneaen_hydra> not lerneaen
[22:41:03] <robin_sz> Jymmmm, well, ive not know one recover yet ... but maybe you'll be lucky and be the first
[22:41:27] <klerman> How about hydra_lernaean?
[22:41:33] <SWPadnos> I'm pretty sure that when we had out new fridge delivered, the delivery people pluggged it in for us ...
[22:41:42] <robin_sz> basically, if you switch it on too soon after moving it .. it pumps the oil out and thats that.
[22:41:45] <SWPadnos> so it may not always be detrimental to turn one one after moving it
[22:42:08] <robin_sz> SWPadnos, so, and as a rule, delivery people have exactly how much intellignece?
[22:42:30] <SWPadnos> not much, but our fridge has been functioning perfectly for the last 4 years ...
[22:42:39] <robin_sz> SWPadnos, well, if it was vertical all the time, maybe it would be OK, but if its had to go upstiars ...
[22:42:48] <klerman> About the same as us. But most if it is tied up with their gonads.
[22:43:12] <SWPadnos> reaised ranch = up 1/2 flight indoors, plus 6 steps outside and a pirouette at the landing
[22:43:23] <klerman> While our intelligence is tied up with hardware/software.
[22:44:53] <robin_sz> SWPadnos, well, my gunsmith is an ex-fridge engineer and he explained all the reasons to me .. and basically, 24hrs is a really good plan .. you find they will run continously once they have pumped their oil out, they just stay on all the time and don;t get cold .. because it cant compress anymore
[22:45:22] <robin_sz> and turning off again and waiting wont bring it back
[22:45:34] <anonimasu> new oil?
[22:45:49] <klerman> Sealed unit.
[22:45:54] <robin_sz> anonimasu, getting the oil out of the circuit is the first problem
[22:46:01] <anonimasu> or is it refridgerant you are talking about?
[22:46:02] <anonimasu> robin_sz: vaccum?
[22:46:14] <anonimasu> * anonimasu has nfc how it works.
[22:46:27] <robin_sz> Jymmmm, on a posiive note, you might just have disturbed a joint and released the freon, thats easier to fix
[22:46:38] <klerman> Take it apart, blow it out, put in new oil, suck it out with vaccuum, add new freon, etc.
[22:46:57] <SWPadnos> or call the store and tell them it doesn't work ... :)
[22:47:24] <SWPadnos> robin_sz, I'm not disputing that they can die this way, just pointing out that it's not guaranteed
[22:47:45] <klerman> If it's just low the freon, add a special fitting, add some more, (use your pressure/vaccuum gauges) seal it back up.
[22:47:57] <anonimasu> have the store guys fix it?
[22:48:11] <klerman> Is it new?
[22:48:15] <anonimasu> im pretty sure it's standard practice, about this kind of things
[22:48:26] <robin_sz> SWPadnos, agreed, but .. im afraid Jymmmm's have all the signs
[22:48:46] <anonimasu> I dont think they care about that 24h stuff..
[22:48:57] <SWPadnos> at least the major one - fridge doesn't work ;)
[22:49:56] <robin_sz> http://www.fridgedoctor.com/fridge-doctor-book/tips-on-moving-a-refrigerator.html
[22:50:07] <robin_sz> that seems to know more than I do
[22:50:08] <robin_sz> not hard
[22:50:13] <klerman> Did you drop it down the stairs, or stand it on its head? Why would we do that? Besides I wasn't home at the time -- my husband was in charge of that.
[22:51:56] <anonimasu> :)
[22:55:11] <anonimasu> Jymmmm: http://it.slashdot.org/it/07/01/01/1350219.shtml
[22:55:17] <anonimasu> why gmail might be flakey
[22:55:24] <robin_sz> that tip about carrying them suction-side down is not one I had heard of .. but makes sense
[22:56:58] <anonimasu> slashdot must be the world's lamest site..
[22:57:10] <anonimasu> all they do is post old stuff..
[23:28:41] <Jymmmm> anonimasu: Thanks. I already disable JAVA and enable only as needed, guess I'll have todo the same for JS too. Though I usually connect to gmail via POP3, not the web interface.
[23:30:03] <anonimasu> oh, yeah, but that's probably why it's flakey..
[23:30:41] <Jymmmm> anonimasu: POP3 is fine, but not ALL of my gmail accounts are setup as POP3 is the problem.