#emc-devel | Logs for 2007-11-21

[00:45:26] <cradek> I have some interesting work done with 5 axis tool length compensation that might be a general solution for nontrivkins machines. It is a bit invasive and not well integrated yet. Should I make a branch? Does anyone want to see it?
[00:48:56] <cradek> by not well integrated, I mean not at all
[00:55:48] <jmkasunich> hi cradek
[00:56:26] <jmkasunich> "general solution for non-triv machines" sounds interesting
[00:56:50] <cradek> hi
[00:57:45] <cradek> we have extra axes uvw. If you put them relative to the tool tip (I have only done W for 5 axis so far) you can move tool offsets there
[00:58:12] <cradek> so it just turns it into a kins problem. for serial machines even I can handle it then
[00:58:59] <cradek> it also gives you some neat things like real 5 axis controls have: you can position the tool at whatever angle/location and drill/plunge/face with it.
[00:59:11] <cradek> you could even do this in teleop mode (if teleop would work right)
[00:59:23] <jmkasunich> oh, so you meant "general solution to the tool offset problem on non-triv machines", not "general solution to the brokenness of non-triv machines"
[00:59:30] <cradek> yes
[00:59:32] <jmkasunich> * jmkasunich was getting excited for a minute there
[00:59:38] <cradek> :-P
[00:59:55] <jmkasunich> that drill/plunge/face thing is cool
[01:00:07] <cradek> yeah
[01:00:16] <cradek> and for handwritten gcode it would be great
[01:00:43] <cradek> g0b33c99x1y2z3; g1w-100f10; g0w0
[01:01:47] <cradek> well maybe not w-100 (mixing units)
[01:02:01] <jmkasunich> ?
[01:02:40] <cradek> forget it
[01:02:53] <cradek> I don't know how to integrate these changes, or if it's possible
[01:03:02] <cradek> TLO has assumptions at all levels
[01:03:21] <jmkasunich> I'm sufficiently behind that I don't even know how the UVW stuff works
[01:03:23] <cradek> interp, canon, guis
[01:03:36] <jmkasunich> it seems that there are as many ways to do that as there are people
[01:03:38] <cradek> what about it?
[01:04:00] <cradek> it's just three more (linear) axes
[01:04:12] <jmkasunich> the one you did, does it do uvw as offsets from xyz like the wire edm folks want? or as independent axes like the foam people want?
[01:04:28] <cradek> they are independent
[01:04:39] <cradek> (lathe folks want a third thing)
[01:04:55] <jmkasunich> right, which I have no clue about
[01:04:55] <cradek> we eventually need to have a configurable interpreter. I don't know how to do that.
[01:05:28] <jmkasunich> that makes two of us
[01:05:36] <jmkasunich> I'd be happy to get teleop and homing working
[01:05:50] <cradek> yeah teleop would be nice. it almost works.
[01:06:21] <jmkasunich> the homing issues that I was running into, and the 101 homed flags, got me thinking
[01:06:40] <jmkasunich> that, and something reminded me of the concept of runlevels that has been discussed before
[01:06:58] <jmkasunich> I'd kinda like to seriously consider runlevels for 2.3
[01:07:30] <jmkasunich> for non-triv kins, one level would be "haven't homed everything, can't go to coord mode"
[01:08:03] <cradek> if you're saying we should throw out task and start again, but smarter this time, I'm with you
[01:08:21] <jmkasunich> I'm not sure I'm saying that
[01:08:47] <jmkasunich> in the past I was thinking of runlevels as being a realtime thing, because they would be used to do some types of interlocking
[01:09:09] <jmkasunich> like, you can't enable amps until the hydraulic pressure is up
[01:09:22] <cradek> I think no more should be in realtime than needs to be in realtime
[01:09:30] <jmkasunich> I can agree with that
[01:09:34] <cradek> for one thing, it's a pain to talk to it
[01:10:05] <jmkasunich> the original runlevel concept would have had levels like:
[01:11:30] <jmkasunich> estopped, idle, pump running, amps on, homed, coord, running program
[01:12:03] <jmkasunich> various operations would or would not be allowed depending on the level
[01:12:13] <jmkasunich> and various conditions would apply to level transitions
[01:12:16] <cradek> yeah that sounds smart
[01:12:48] <cradek> how many times did I start a program running on the mazak without homing? 3 in a week I think
[01:13:25] <cradek> it stopped soon enough, but still that shouldn't be allowed (on that machine)
[01:13:28] <jmkasunich> I think it was anonimasu (or maybe anderswallin) who ran a commercial machine that wouldn't let you do anything except jogs until you had homed all axes
[01:13:36] <jmkasunich> for non-triv kins that is pretty much a requirement
[01:13:42] <cradek> on mine you can't even jog!
[01:13:51] <cradek> (it's a huge pain)
[01:14:25] <cradek> to jog before homing (which sometimes you NEED to do) I hold down a limit switch when enabling it
[01:14:46] <jmkasunich> heh
[01:14:48] <cradek> so, that safety feature causes me to stick my fingers places where they shouldn't be...
[01:15:43] <cradek> but anyway (sorry)
[01:15:50] <cradek> yes, some kind of runlevels.
[01:16:57] <jmkasunich> the hard part is (as always), how do you configure it
[01:17:09] <cradek> sure
[01:17:18] <jmkasunich> trivkins machines could skip right past the "homed" state, or not, depending on the integrator
[01:17:31] <jmkasunich> nontriv would always (I think) want to use that level
[01:18:46] <CIA-19> 03cradek 07w_tool_length * 10emc2/configs/5axis/5axis.ini: TLO on W axis. currently this is only useful on the 5axis kins/config.
[01:18:46] <CIA-19> 03cradek 07w_tool_length * 10emc2/nc_files/cone.ngc: TLO on W axis. currently this is only useful on the 5axis kins/config.
[01:18:46] <CIA-19> 03cradek 07w_tool_length * 10emc2/src/emc/rs274ngc/interp_find.cc: TLO on W axis. currently this is only useful on the 5axis kins/config.
[01:18:47] <CIA-19> 03cradek 07w_tool_length * 10emc2/src/emc/kinematics/5axiskins.c: TLO on W axis. currently this is only useful on the 5axis kins/config.
[01:18:51] <CIA-19> 03cradek 07w_tool_length * 10emc2/src/emc/usr_intf/axis/extensions/emcmodule.cc: TLO on W axis. currently this is only useful on the 5axis kins/config.
[01:18:54] <CIA-19> 03cradek 07w_tool_length * 10emc2/src/emc/task/emccanon.cc: TLO on W axis. currently this is only useful on the 5axis kins/config.
[01:18:57] <CIA-19> 03cradek 07w_tool_length * 10emc2/src/emc/usr_intf/axis/scripts/axis.py: TLO on W axis. currently this is only useful on the 5axis kins/config.
[03:15:53] <cradek> so much silence
[03:16:16] <cradek> nobody cares about tool length
[03:48:05] <cradek> yuck. write a loop that runs a gcode line that produces motion each time (like in cone.ngc)
[03:48:10] <cradek> now step over it
[03:48:41] <cradek> you'll be surprised, but not too much
[03:57:33] <jmkasunich> what happens?
[03:57:59] <cradek> step works by waiting until a motion with a different id (line number) starts, and then pausing
[03:58:09] <jmkasunich> oops
[03:58:12] <cradek> so, all the motions in the loop run in one step
[03:58:33] <jmkasunich> doesn't gdb have that function? "step over loop" or something like that? ;-)
[03:58:48] <cradek> yes "next" I think
[03:58:52] <cradek> but, it also has step
[03:59:01] <jmkasunich> heh
[03:59:19] <jmkasunich> yuck, I really shouldn't have left this DC rated contactor sitting on the lathe bench
[03:59:29] <cradek> maybe step needs to be rethought too
[03:59:34] <cradek> (with all the rest of task)
[04:00:28] <jmkasunich> DC rated contactor with permanent magnet arc blowout
[04:00:31] <jmkasunich> chip magnet
[04:01:15] <cradek> bad news if used on AC?
[04:01:24] <jmkasunich> not really
[04:01:38] <jmkasunich> but bad news when steel chips are stuck all over it
[04:01:45] <cradek> oh, ha
[04:01:52] <jmkasunich> pick pick pick
[04:02:01] <jmkasunich> scrape, blow, wipe
[04:02:07] <LawrenceG> a really cool light show the first few times it operates
[04:02:12] <jmkasunich> yeah
[04:02:26] <jmkasunich> I am such a slob sometimes
[04:19:00] <jmkasunich> finally
[04:19:47] <jmkasunich> by a small miracle known as "me finally doing something productive for an evening", the Shoptask is no longer covered in chips, tools, and gritty cement dust
[04:20:12] <cradek> yay
[04:20:29] <jmkasunich> small steps....
[04:20:30] <cradek> time to build something?
[04:20:48] <jmkasunich> ever so slowly getting back to the CNC project
[04:20:49] <cradek> when I'm in a rut I like to build something, even very small
[04:21:28] <jmkasunich> yeah
[04:21:29] <cradek> last time was a nice aluminum holder for my wiggler set - big deal, make a block square, drill five holes of various sizes
[04:21:43] <cradek> but still it gets me doing something
[04:22:11] <cradek> but, it'll be dirty again...
[04:22:22] <jmkasunich> the shoptask? true
[04:22:31] <jmkasunich> but it will take a while
[04:22:36] <cradek> you had motors turning in june - I hope you put one on your machine sometime soon
[04:22:55] <jmkasunich> heh, I have lots to do to get _back_ to where I was in June
[04:23:17] <cradek> you will love having a cnc lathe... manual lathes are just no fun.
[04:23:56] <jmkasunich> I dunno, I like lathe work
[04:24:11] <jmkasunich> at least for onsey-twosey things
[04:24:37] <cradek> I think tapers and threads are a pain...
[04:24:38] <jmkasunich> I wouldn't have dreamed of trying to do the "magic socket" using CNC
[04:24:45] <jmkasunich> well sure, that's true
[04:25:15] <cradek> yeah for odd stuff I sometimes just use the jog arrows at very slow jog speed
[04:25:23] <cradek> a wheel or two would be better
[04:25:39] <jmkasunich> yeah, I'll probably use the wheels quite a bit
[04:26:04] <jmkasunich> and I imagine "F1 Z3" after using the wheel on X to set depth of cut will be nice
[04:27:15] <cradek> I love measuring a diameter with a micrometer and setting X, and then having it right until the job is done
[04:27:41] <cradek> (I never had resettable handwheels when it was manual)
[04:28:03] <cradek> so I had a notepad I wrote dial settings on...
[04:28:03] <jmkasunich> oh, that would suck
[04:28:44] <jmkasunich> my next step has to be cleaning off my desk/workbench
[04:29:01] <jmkasunich> its impossible to work when surrounded by a 6" deep mess
[04:29:45] <jmkasunich> but cleaning the bench is always the worst thing to do, cause thats where the stuff with no "home" winds up
[13:07:54] <cradek_> cradek_ is now known as cradek
[15:16:57] <cradek> if we have tool table editing in the gui, there's no reason not to expand the tool table to include anything we might need - and then hide most of it from the user when it's not appropriate
[15:36:56] <alex_joni> right
[15:37:06] <alex_joni> also: how about a format where you specify:
[15:37:15] <alex_joni> tool_1 X2.5 Z102.7
[15:37:19] <alex_joni> instead of:
[15:37:21] <cradek> I'd be happy to help with the internals, but I'm clueless about the gui
[15:37:30] <alex_joni> tool_1 2.5 0 102.7 0 0 0
[15:37:42] <alex_joni> same here ;)
[15:38:03] <alex_joni> this would need to read/write stuff to the tool table through task, not directly
[15:38:11] <cradek> I agree
[15:38:19] <alex_joni> we can work on that
[15:38:29] <alex_joni> but there's too much to do.. and I have too little time :D
[15:38:46] <alex_joni> cradek: there's a german guy who extended TOOL_CHANGE location in a very nice way
[15:38:46] <cradek> there are a lot of pieces in place already I think (the nml message)
[15:38:56] <jepler> cradek: any idea why you made this change? The log message is a bit cryptic for me ..
[15:38:59] <jepler> http://cvs.linuxcnc.org/cvs/emc2/src/emc/rs274ngc/gcodemodule.cc.diff?r1=1.23;r2=1.24;f=h
[15:39:04] <jepler> "not used for anything, but called now"
[15:39:34] <cradek> umm
[15:40:19] <alex_joni> http://private.addcom.de/rc-hobby/sonst/emc/ww1.png
[15:40:20] <cradek> the set_feed_rate python call was somehow busted
[15:40:32] <cradek> I don't remember what I was working on
[15:40:54] <alex_joni> http://private.addcom.de/rc-hobby/sonst/emc/ww2.png
[15:41:26] <alex_joni> 1..10 are various moves based on stuff in the ini
[15:43:20] <cradek> do you have a patch?
[15:44:25] <alex_joni> yes, but I don't want to apply it as it is
[15:44:47] <alex_joni> (actually it's not a patch, but a full source dir)
[15:44:55] <alex_joni> as it is now it breaks existing configs..
[15:45:07] <alex_joni> I want to rethink it as an extention from the current state
[15:45:10] <cradek> jepler: cd rs274ngc; cvs diff -D 2007/11/02 -D 2007/11/04
[15:45:31] <cradek> it was when I was fixing the initial/abort conditions for fpr/css
[15:45:48] <cradek> + SET_FEED_MODE(0);
[15:45:48] <cradek> + SET_FEED_RATE(0);
[15:45:51] <cradek> + SET_SPINDLE_MODE(0);
[15:46:44] <jepler> cradek: ah, hm
[15:46:54] <jepler> I see that just taking off the #if 0 breaks touch off
[15:47:18] <cradek> I probably was being an idiot and didn't bother to figure out the real problems
[15:48:24] <cradek> I don't know why you guys let me touch the source code
[15:51:27] <CIA-19> 03jepler 07TRUNK * 10emc2/src/emc/usr_intf/axis/scripts/axis.py: feed rate is required for gcode time estimate, and this also requires a new stub in dummycanon
[15:51:36] <CIA-19> 03jepler 07TRUNK * 10emc2/src/emc/rs274ngc/gcodemodule.cc: feed rate is required for gcode time estimate, and this also requires a new stub in dummycanon
[15:57:02] <CIA-19> 03jepler 07TRUNK * 10emc2/src/emc/rs274ngc/gcodemodule.cc: prevent metric files from being off by a factor of 25.4 in time
[16:04:06] <CIA-19> 03jepler 07v2_2_branch * 10emc2/src/emc/rs274ngc/gcodemodule.cc: backport: axis gcode time estimate
[16:04:06] <CIA-19> 03jepler 07v2_2_branch * 10emc2/debian/changelog: backport: axis gcode time estimate
[16:04:09] <CIA-19> 03jepler 07v2_2_branch * 10emc2/src/emc/usr_intf/axis/scripts/axis.py: backport: axis gcode time estimate
[16:12:14] <cradek> thanks jepler
[16:18:08] <jepler> I hope it's right
[16:18:09] <jepler> er
[16:18:42] <alex_joni> we'll test before 2.2.2
[16:19:45] <cradek> I noticed again last night that resume isn't quite right
[16:19:53] <cradek> I didn't work on it though.
[16:21:27] <alex_joni> not quite right how?
[16:21:46] <cradek> after you step, you can't resume until you push pause (even though pause is already down)
[16:21:51] <cradek> brb
[16:34:22] <cradek> I guess this only happens if you start by stepping
[16:34:31] <cradek> (I thought I saw it in another way last night)
[16:34:52] <jepler> ... I think I've decided not to try backporting the pause/step stuff for a release this weekend ...
[16:35:21] <cradek> I forget exactly how badly it's broken
[16:37:38] <cradek> ... not that bad
[16:38:00] <alex_joni> not that bad
[16:38:26] <alex_joni> jepler: I agree it's safer this gets some more testing.. so 2.3.x shouldn't be a problem
[16:39:00] <jepler> or 2.2.3 for that matter
[16:46:48] <alex_joni> or that
[17:47:42] <SWPadnos___> SWPadnos___ is now known as SWPadnos
[18:45:48] <SWPadnos___> SWPadnos___ is now known as SWPadnos
[21:28:34] <CIA-19> 03tissf 07TRUNK * 10emc2/docs/html/gcode_fr.html: French translation update
[21:28:34] <CIA-19> 03tissf 07v2_2_branch * 10emc2/docs/html/gcode_fr.html: French translation update