#emc-devel | Logs for 2009-10-27

[00:09:14] <cradek> cool, Dave is talking about doing an EMC thing at NAMES again. Might give me a reason to visit detroit/cleveland again.
[00:09:55] <cradek> argh, Dale
[00:35:22] <jmkasunich> I have grand ambitions of having my pcbmill working by then
[00:35:46] <jmkasunich> considering that I've made pretty much zero progress since the CNC workshop, I'm not sure how realistic those ambitions are
[00:35:47] <cradek> cool!
[00:35:57] <cradek> what's next on it?
[00:36:14] <jmkasunich> I could attack it from either of two directions
[00:36:26] <jmkasunich> either quill and spindle, or start the X carriage
[00:36:34] <jmkasunich> I think I should do the spindle first
[00:37:43] <jmkasunich> the quill is about 10" of 1.5" diameter bar, and I need to drill a hole all the way thru
[00:38:49] <jmkasunich> then do some precision boring at each end - bottom for the spindle bearing stack, top for the ballscrew nut
[00:38:59] <jmkasunich> so I need to come up with a steady rest
[00:39:29] <cradek> you made something else that fits the shoptask - I forget what it was - can you adapt it?
[00:39:57] <jmkasunich> yeah, I have a base, and a block that will hold one (maybe a pair) of those fancy spindle bearings on center height
[00:40:44] <jmkasunich> the bores are 40mm, which is 1.575, so if I make a sleeve that is 1.500 ID and 1.575 OD, I could use the bearings
[00:41:37] <jmkasunich> wall thickness of the sleeve is only 0.037" tho
[00:42:21] <cradek> that sounds irritating but not too impossible
[00:43:08] <jmkasunich> well, it needs to be a nice press fit, tight enough to have zero slop, loose enough that I can get the bearings back off without violence
[00:43:27] <cradek> how long does it have to be?
[00:43:46] <jmkasunich> I think each bearing is about 5/8" wide
[00:43:47] <cradek> .1" long - easy, 1" long - very hard
[00:43:57] <jmkasunich> since they are angular contact, I probably want to use a pair
[00:46:05] <jmkasunich> I should approach the guy that runs the model shop in wisconsin about a government job
[00:46:19] <jmkasunich> that shop has a 24" leblond with a 5" spindle hole
[00:47:05] <cradek> that's one way to pick a job...
[00:47:25] <jmkasunich> ?
[00:48:31] <cradek> oh I thought you were picking a new workplace based on what tools they had for you to use
[00:48:48] <jmkasunich> no, this is the shop in the building I've been traveling to so often
[00:49:09] <jmkasunich> "government job" aka "g-job" = what you say when you are doing a personal project at work
[00:49:33] <cradek> ah, never heard that before
[00:49:45] <jmkasunich> I think the term dates back to the WW2 era, when lots of commercial shops were doing military work for the first time
[00:50:18] <jmkasunich> boss asks what employee is working on (cause he knows it ain't the normal stuff), and the employee says "it's for the government"
[00:51:22] <cradek> ha
[13:34:37] <skunkworks> logger_dev: bookmark
[13:34:38] <skunkworks> Just this once .. here's the log: http://www.linuxcnc.org/irc/irc.freenode.net:6667/emcdevel/2009-10-27.txt
[14:10:08] <Dave911> >>boss asks what employee is working on (cause he knows it ain't the normal stuff), and the employee says "it's for the government"
[14:10:10] <Dave911> I learned that term while working at GM way back when. I was a coop student and I saw a machinist working on something I didn't recognize. Being a naive student I asked what it was for??
[14:10:11] <Dave911> Government job.... was all I got back. I later asked a senior engineer what kind of government work we were doing?? (At a car assembly plant?) That got a lot of laughs.....
[14:10:13] <Dave911> That GM plant did a "lot" of government work!
[14:14:03] <alex_joni> lol
[14:17:43] <jepler>
[14:17:58] <alex_joni> jepler: if you say so
[14:22:24] <cradek> from webbbs: when the circle start on G41 or G42, the tool position is tangent at two axis, and the full circle is break with it.
[14:22:52] <alex_joni> of course it is
[14:23:00] <jepler> that is what I meant to say, actually.
[14:23:33] <cradek> (trying to figure out what to test...)
[14:23:41] <alex_joni> cradek: only if not helical cutting
[14:23:45] <SWPadnos> try google translate on that
[14:23:45] <jepler> does it mean that the entry move is a full circle?
[14:23:59] <cradek> alex_joni: what?
[14:24:08] <alex_joni> cradek: sorry.. not helping :/
[14:25:45] <jepler> http://emergent.unpy.net/files/sandbox/0001-Improve-backwards-compatability-with-high-resolution.patch thoughts?
[14:26:36] <cradek> http://timeguy.com/cradek-files/emc/full-circle.png
[14:26:38] <cradek> (wfm)
[14:27:04] <alex_joni> jepler: I'd rather make it a hal function and call taht
[14:27:17] <alex_joni> although not sure how .. hmm
[14:27:35] <alex_joni> bbl.. gotta run
[14:27:39] <jepler> alex_joni: hah coward
[14:29:37] <jepler> I also didn't see a way to do it at the hal level
[14:31:50] <jepler> and to be honest I think what I've written is quite gross -- but it happens to make the high-resolution probing backwards compatible with existing configs..
[14:31:53] <jepler> which is a nice benefit
[14:32:19] <cradek> the pointer changes when the user links the pin to something, and you detect that?
[14:32:24] <jepler> right
[14:32:43] <jepler> the initial pointer value is always pointing to the "dummysig" field of the hal_pin_t
[14:32:50] <cradek> isn't there a clean way to tell if a pin is linked?
[14:33:11] <jepler> yes-ish, if you have the hal_pin_t
[14:33:50] <jepler> I suppose I could store the hal_pin_t* instead of the canary
[14:34:03] <cradek> another terrible thing we could, that would save from more kinds of problems, is to error if the latched value is "far" from the bbbbbbcurrent value
[14:34:11] <cradek> bbbbbbcurrent?
[14:34:28] <cradek> brb
[14:34:38] <jepler> I don't like that solution, it'll be wrong sometimes
[14:35:03] <jepler> I could preload with NaN and explicitly check for it...
[14:35:07] <jepler> that should be wrong nevertimes
[14:40:29] <jepler> ooh, I found a way to trigger this message: isnan error in emcTrajLinearMove()
[14:44:10] <jepler> http://emergent.unpy.net/files/sandbox/isnan-error.ngc
[14:44:25] <cradek> you know vel of the probing move, you have an upper bound on dt (cycle time), so you have an upper bound on the distance from the current position it makes sense to have latched (v*dt)... it seems to me this scheme has two advantages: you can detect and error on a nonsense latch value, and you don't paper over outdated configs so they persist forever
[14:45:49] <cradek> wow, I had no idea "inf nan" is an error message
[14:46:02] <jepler> that's from the (DEBUG)
[14:46:51] <cradek> duh, I was just seeing that
[14:47:06] <cradek> you get to keep both pieces?
[14:47:51] <cradek> and if I comment out line 3, AXIS crashes with a seg fault upon loading the preview
[14:48:05] <jepler> ow!
[14:50:33] <cradek> I wish I understood waht edugonza2008 is trying to say (and that he said what version he's using, and that he had posted a minimal gcode program that shows the problem...)
[14:50:52] <jepler> emc/task/emctask.cc 321: interp_error: Calculated resulted in 'not a number'
[14:51:03] <jepler> this ^^ would be preferable to the other behavior
[14:51:14] <cradek> is?
[14:51:27] <cradek> but yeah
[14:51:54] <jepler> so you say axis crashed when commenting out one of the #1*#1 lines?
[14:51:58] <cradek> yes
[14:52:40] <jepler> ugh, it does with my change as well
[14:53:08] <cradek> I don't think AXIS always aborts the preview when there are interpreter errors
[14:53:16] <jepler> 0xb6073f25 in Interp::convert_param_comment (this=0x36393932, comment=<value optimized out>, expanded=0x39363232 <Address 0x39363232 out of bounds>, len=959657780) at emc/rs274ngc/interp_convert.cc:1296
[14:53:21] <jepler> 1296 *expanded++ = *v++;
[14:53:27] <cradek> for instance it does not detect "Cannot do G1 with no feed rate" or however it's spelled
[14:53:57] <cradek> that's quite a len
[14:54:11] <jepler> uh yeah
[14:54:46] <jepler> (gdb) x/4c &len
[14:54:46] <jepler> 0xbfe88528:52 '4'55 '7'51 '3'57 '9'
[14:54:49] <jepler> stack's smashed
[14:55:29] <cradek> char valbuf[30]; // max double length + room
[14:55:34] <jepler> yeah
[14:55:36] <jepler> I think that's it
[14:55:58] <cradek> I think I had more than 30x'9'
[15:17:04] <CIA-48> EMC: 03jepler 07master * rc298b4216791 10/src/emc/rs274ngc/interp_convert.cc: Fix a crash when trying to format very large values
[15:17:05] <CIA-48> EMC: 03jepler 07master * r70d0b3ec74ec 10/src/emc/usr_intf/axis/scripts/axis.py: create pin axisui.notifications-clear to clear notifications from a gcode M1nn script or with a hardware pushbutton
[15:17:06] <CIA-48> EMC: 03jepler 07master * r1da00a907870 10/src/emc/rs274ngc/interp_read.cc: Don't propagate inf or nan results
[15:29:48] <CIA-48> EMC: 03jepler 07master * r14b8248a3917 10/src/emc/rs274ngc/interp_read.cc: fix grammar
[18:17:14] <alex_joni> hi all
[18:17:53] <jepler> hi alex_joni
[20:10:10] <jepler> ls
[20:10:12] <jepler> argh
[20:10:28] <SWPadnos> 0 total
[20:39:49] <alex_joni> -1 total now
[21:36:37] <mhaberler> cradek: will do a freshbuild of git master, retry & report
[23:56:57] <jepler> * jepler curses his isp