#emc-devel | Logs for 2006-06-14

[04:31:59] <lilo> [Global Notice] Hi all. If you've been knocked off freenode by the 'D C C' exploit recently, please be aware that a quick fix is to connect to chat.freenode.net via port 8001, instead of the default port (6667). Please check with the support channel for your favorite IRC client if you have more questions. Thanks!
[14:16:14] <jepler> cradek: you're right, there's a comment about the accel / 2.0
[14:16:16] <jepler> // honor accel constraint if we happen to make an acute angle
[14:16:16] <jepler> // with the next segment. A dot product test could often
[14:16:16] <jepler> // eliminate this.
[14:16:16] <jepler> if(tc->blend_with_next)
[14:16:18] <jepler> tc->maxaccel /= 2.0;
[14:16:53] <cradek> if I put in a comment, that means I don't have to fix it, right?
[14:19:49] <jepler> hm, I don't see how to fix it
[14:20:35] <cradek> it's tough because you have to decide the accel before you move along the segment the first time
[14:20:40] <jepler> yeah
[14:20:56] <cradek> I think you need one more lookahead
[14:21:22] <cradek> if concave(this,next) || concave(next, next->next) next->accel /= 2
[14:21:35] <cradek> (when you first plan next)
[14:21:44] <jepler> ugh
[14:22:04] <cradek> in that block for "next is being read for the first time"
[14:22:30] <cradek> concave() is trivial, most of the code is written already
[14:23:53] <cradek> um, actually I mean acute()
[14:23:57] <cradek> dot<0
[14:30:39] <jepler> hm, I'm not sure how to write acute() when there's XYZ and ABC motion
[14:30:43] <cradek> there's a boundary problem in my algorithm
[14:30:57] <jepler> also when taking into account that one or both parts can be circles
[14:30:59] <jepler> there is?
[14:31:22] <cradek> what about the first and second segments in the program
[14:31:56] <jepler> you have to /= 2 them
[14:31:58] <jepler> I think
[14:31:59] <cradek> jepler: the start/ending vector stuff in tc.c takes care of that all for you, I already wrote it
[14:32:16] <cradek> I think...?
[14:32:28] <cradek> do they get helix right?
[14:32:47] <jepler> I dunno
[14:32:52] <cradek> looking...
[14:33:25] <jepler> are these functions, or some fields in TC_STRUCT?
[14:33:40] <cradek> no, crap
[14:33:50] <cradek> tcGetStartingUnitVector() etc
[14:40:30] <cradek> but you're right, if you do this, I think you'll get a FE if you have XYZ colinear and an A reversal
[14:40:58] <cradek> you'd have to fix the unit vector helpers
[15:01:28] <cradek> heck if there's an abc move, always do the divide
[15:01:55] <SWPadnos> out of curiosity, why divide in the first place?
[15:02:20] <cradek> SWPadnos: because of the picture I drew on the whiteboard for jepler
[15:02:28] <SWPadnos> oh. that makes perfect sense
[15:02:39] <cradek> g0x0 g0x1 g0x0
[15:03:04] <cradek> as you're nearing x1, the first seg is accelerating at -A, the second seg is accelerating at A in the opposite direction
[15:03:12] <cradek> those add to 2A
[15:03:42] <cradek> ... you violate A constraint anytime you make an acute angle
[15:03:45] <SWPadnos> ok, so for acute angles, you're limiting the total accel for both segments to A - makes sense
[15:03:52] <cradek> right
[15:04:04] <SWPadnos> but the accels shouldn't be additive in the first place, I think
[15:04:33] <cradek> that's just a consequence of the algorithm
[15:04:38] <SWPadnos> right
[15:05:05] <SWPadnos> I suspect that some sort of method of choosing the target speed at the crossover point (which may be the endpoint) would make sense
[15:05:16] <SWPadnos> then each segment deals with getting to or from that target vel
[15:06:39] <cradek> crap, even in just XYZ these unit vector helpers are wrong for helixes.
[15:07:19] <SWPadnos> bummer
[15:08:13] <cradek> they're only used for tolerance calculation
[15:08:30] <cradek> * cradek shivers
[15:09:23] <SWPadnos> well - my mother has a lot of free time these days ...
[15:09:51] <skunkworks> I have to admit that sounds funny. (think alien)
[15:10:43] <cradek> for some reason I can't quite picture how to get a unit vector along a helix
[15:11:30] <cradek> you add some proportion of the circular (call it XY) and some proportion of the "height" (call it Z) and normalize
[15:11:36] <cradek> I think
[15:12:01] <SWPadnos> it's the same as for any other unit vector
[15:12:30] <SWPadnos> dir(vec) / mag(vec)
[15:12:44] <cradek> heh I know that
[15:12:47] <SWPadnos> heh
[15:12:49] <cradek> it's the dir that's the problem
[15:12:53] <SWPadnos> just not picturing it, I guess
[15:13:18] <cradek> I never was good at geography
[15:13:23] <SWPadnos> heh
[15:13:33] <SWPadnos> geometry always puts my mother into fits as well ;)
[15:15:54] <cradek> I bet you scale by the length projected into XY and the linear (Z) lengths respectively
[15:16:24] <SWPadnos> yep
[15:16:43] <cradek> that's just the cylindrical coordinate parallel to the rectangular method
[15:16:52] <cradek> uh, parallel is not a good word to use there
[15:17:06] <SWPadnos> the circular part and the depth part look like a 2-d vector, aligned parallel to the circular path
[15:17:35] <SWPadnos> so you're spinning a Z-(something) plane around a circle
[15:18:01] <cradek> ok so will you go ahead and write that?
[15:18:07] <cradek> thanks so much, bye
[15:18:14] <SWPadnos> um - see you.
[15:18:21] <SWPadnos> which files do I need to edit? ;)
[15:18:30] <cradek> just tc.c
[15:19:16] <cradek> I was just being a dork again, you know
[15:19:22] <SWPadnos> ok. and why does there need to be a separate unit vector calculator for each type of move?
[15:19:24] <SWPadnos> of course ;)
[15:19:32] <cradek> PmCartesian tcGetStartingUnitVector(TC_STRUCT *tc)
[15:19:36] <cradek> and Ending
[15:20:08] <cradek> I don't understand the question
[15:20:21] <SWPadnos> is there a function like PmCartesian GetNextPointOnThisPath() ?
[15:20:33] <cradek> that's tcGetPos
[15:20:58] <SWPadnos> err - not the next endpoint, but the next place to move to
[15:21:13] <SWPadnos> the next interpolated point, I guess
[15:21:41] <cradek> tcGetPos gives the ongoing points along the segment
[15:21:50] <cradek> still not sure if that's what you're asking
[15:21:56] <SWPadnos> I think it is
[15:22:15] <SWPadnos> and does tcGetPos use these starting and ending unit vector functions?
[15:22:33] <cradek> I was tempted to use GetPos to get the endpoint, and then another point a little from the end, and subtract, but that's only an approximation
[15:22:38] <cradek> no it doesn't
[15:23:25] <cradek> the unit vector functions give the real answer, not an approximation that's a consequence of positional quantization along the segment
[15:23:58] <SWPadnos> ok. I must be missing something (the whole thing maybe), because if you have two PmCartesians Here (the current pos) and There(the next pos), then there's a single function to get the unit vector between the two
[15:24:01] <SWPadnos> ah - ok ;)
[15:25:06] <cradek> the path, vels, accels, are all represented exactly in the motion queue - the necessary quantization only happens at the end when outputting points, I think it's wrong to use it for planning/constraints
[15:25:33] <SWPadnos> agreed - have I mentioned that I haven't finished my first cup of coffee yet? ;)
[15:25:44] <cradek> ok, I'm going for more too, can't hurt
[15:26:02] <SWPadnos> never - in fact, it reduces the risk of cirrhosis of the liver by as much as 80%
[15:26:20] <SWPadnos> (if you drink more than 4 cups per day)
[15:26:21] <Lerneaen_Hydra> cradek: are you the one most active with regards to lathe development in EMC?
[15:35:58] <cradek> I guess so
[15:36:12] <cradek> I'm not working on it right now, but I "touched it last"
[15:37:14] <Lerneaen_Hydra> cradek: ok, should I send the list of things that emc may want to add for better lathe functionality?
[15:38:00] <cradek> maybe it should go on the wiki
[15:39:01] <cradek> since I bet others would like to see it/comment
[15:39:25] <SWPadnos> and possibly a mail to the users list as well
[15:39:40] <cradek> definitely
[15:39:56] <SWPadnos> is there a reference to the wiki in the emc manpages?
[15:40:14] <cradek> I don't think so currently
[15:40:26] <SWPadnos> I wonder if that would help people to know it exists?
[15:40:31] <Lerneaen_Hydra> cradek: ok, should I make a new wiki page?
[15:40:38] <cradek> Lerneaen_Hydra: I think so
[15:40:39] <SWPadnos> assuming they even look at the help
[15:40:53] <Lerneaen_Hydra> cradek: any idea of a suitable name?
[15:41:09] <SWPadnos> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Lathe_Code
[15:41:24] <cradek> another appropriate place would be the feature request tracker, but it's so clumsy to use and doesn't encourage collaboration
[15:41:53] <SWPadnos> if it makes sense, then add things to that page. otherwise, make a new page, and add a link to the Lathe_Code page
[15:42:33] <Lerneaen_Hydra> SWPadnos: I think a serpare page would be better, that page is quite big as it is
[15:42:41] <SWPadnos> true.
[15:42:47] <cradek> that page is a bit of a dumping ground
[15:42:57] <SWPadnos> I just searched for lathe, and that one looked reasonable
[15:44:37] <Lerneaen_Hydra> maybe a page called: lathe_code_potential_additions ?
[15:46:07] <SWPadnos> how about Advanced_Lathe_Features
[15:47:39] <Lerneaen_Hydra> I was thinking that keeping the start of the name lathe_code_something_something would make it easier to find in the article index, but that may not matter
[15:48:31] <SWPadnos> the search is on the page text, not the page title
[15:48:59] <Lerneaen_Hydra> oh, ok
[15:49:20] <SWPadnos> Lathe_Advanced_Features would also work for a while
[16:00:38] <jepler> cradek: if tort.ngc passes I'll check in this acute() change
[16:00:59] <cradek> yay
[16:01:49] <cradek> but won't some helixes still be wrong?
[16:01:54] <skunkworks> you guys are great.
[16:01:54] <cradek> or did you fix it?
[16:02:04] <jepler> no, I didn't fix it, but it hasn't errored yet either
[16:02:52] <cradek> g0x0y0z0; g3x.1y.1i.05j.05z1; g3x0y0i-.05j-.05z0; m2
[16:06:16] <jepler> ignoring this possible helix bug for the moment, instead of acute() it should really be a function that returns a number from 0.5 to 1.0 saying how much of the acceleration can be used
[16:06:38] <jepler> 0.5 for the "opposite directions" case, 1.0 for the "obtuse angle" case, and numbers in between for acute angles
[16:06:43] <jepler> right?
[16:07:17] <cradek> I think yes if you check both ends and use the minimum
[16:09:01] <jepler> is the "number from 0.5 to 1.0" min(1, 1-dot()/2) ?
[16:09:38] <jepler> or something more complexicated
[16:09:43] <cradek> I think that's right
[16:10:23] <cradek> no
[16:10:51] <cradek> the 0<dot<1 case is wrong
[16:11:25] <jepler> maybe I meant min(1, 1+dot()/2)
[16:12:04] <jepler> your helix program doesn't ferror for me
[16:12:07] <jepler> is it supposed to?
[16:12:30] <cradek> yeah I figured it would exceed Z accel
[16:13:09] <cradek> maybe I don't remember how I did accel on helixes
[16:14:42] <cradek> make the .1 and .05 proportionally smaller and change the second one to a g2 for good measure
[16:15:39] <cradek> no not a g2, we want the endpoints to be "colinear" when projected onto XY
[16:16:12] <cradek> maybe you're getting the centripetal accel limiting and it's saving you
[16:16:43] <cradek> I dunno jeff
[16:17:00] <jepler> it sucks when you think there's a bug but you can't get it to trigger
[16:17:06] <cradek> yep
[16:20:20] <jepler> should I make my Z accel very small for this test?
[16:21:41] <jepler> .. still no ferror
[16:35:00] <skunkworks> alex must have been busy - there is a magma update in 6.06
[16:35:14] <skunkworks> today
[17:07:30] <skunkworks> are helix's supposed to be working?
[17:08:55] <skunkworks> nm
[17:18:59] <skunkworks> hey alex - installed your latest kernel today - no issues (update manager)
[17:20:15] <alex_joni> skunkworks: coo.. is that aj4 ?
[17:20:31] <alex_joni> dpkg -l | grep linux-image
[17:28:01] <skunkworks> I don't remember - you want me to run that line?
[17:30:46] <SkunkworksD> alex_joni: http://pastebin.com/708927
[17:43:18] <alex_joni> SkunkworksD: perfect
[17:49:15] <skunkworks> ready for prime time yet?
[17:49:41] <alex_joni> skunkworks: your call
[17:49:43] <alex_joni> :D
[17:50:10] <skunkworks> I coud do a fresh install to test it
[17:50:18] <alex_joni> it shouldn't be any different
[17:50:30] <alex_joni> I hope cradek will install one these days to test
[17:50:40] <alex_joni> he seems to have a longer history with building these :D
[17:51:14] <skunkworks> what about the people that upgrade from breezy - still an issue?
[17:52:09] <alex_joni> skunkworks: I upgraded a vanilla breezy, and had some issues
[17:52:23] <alex_joni> so I'm not sure what to say..
[17:57:14] <cradek> sorry I've not had much time for emc lately
[17:59:51] <alex_joni> cradek: I understand that.. same here :(
[17:59:56] <alex_joni> and next week I'm in greece :D
[18:08:08] <alex_joni> skunkworks: care to try something out?
[18:08:18] <alex_joni> actually SkunkworksD :)
[18:09:30] <skunkworks> sure
[18:09:33] <skunkworks> whats up
[18:09:42] <alex_joni> http://dsplabs.cs.upt.ro/~juve/tempdebs/emc2-artwork-usplash_1.00_i386.deb
[18:15:17] <alex_joni> skunkworks: got it? (it's very small)
[18:15:40] <SkunkworksD> installed I think
[18:15:50] <alex_joni> SkunkworksD: ok, then you need to reboot :D
[18:15:54] <SkunkworksD> reboot - (splash screen I take it)
[18:15:58] <alex_joni> right
[18:16:06] <alex_joni> you should already see it on shutdown
[18:17:05] <skunkworks> funny
[18:17:12] <skunkworks> a little chunky but cute
[18:17:16] <skunkworks> :)
[18:17:48] <skunkworks> now for the ubuntu login screen?
[18:17:58] <alex_joni> if you can make a better one (about 640x300) I'll change it
[18:18:06] <alex_joni> oh, 16 colours PNG
[18:18:33] <SWPadnos> eeeeewwwww - why not use the 224 color logos?
[18:18:44] <SWPadnos> err - splash screens
[18:18:45] <jepler> SWPadnos: it uses vga16 framebuffer
[18:18:51] <SWPadnos> eeeewwwwww :)
[18:18:55] <jepler> oh, for the login screen? forget it.
[18:18:58] <SWPadnos> but that's a good reason
[18:19:07] <jepler> the ubuntu boot splash is 16-color
[18:19:11] <jepler> I don't know about the login screen
[18:19:13] <SWPadnos> dunno - haven't looked
[18:19:23] <SWPadnos> I can't always boot htat machine to a graphical login
[18:24:35] <SWPadnos> has there been an update to XOrg (to 7.1 or something)?
[18:27:17] <alex_joni> not official afaik
[18:27:21] <alex_joni> at least not on dapper :D
[18:27:26] <SWPadnos> ok
[18:27:35] <SWPadnos> still battling the ati driver issues
[19:15:15] <alex_joni> skunkworks: so you had no issues adding the usplash?
[19:15:56] <SWPadnos> alex_joni, got a question on the kernel upgrade
[19:16:14] <alex_joni> SWPadnos: shoot
[19:16:32] <SWPadnos> ok. there's a long question about the kernel modules directory, which I can post if you like
[19:16:41] <alex_joni> ok..
[19:16:48] <cradek> darn, I thought you fixed that
[19:16:58] <SWPadnos> I think it's because both are the same numerical version, and only the -aj# changes
[19:17:00] <alex_joni> I did on the latest
[19:17:10] <SWPadnos> one sec - I'll pastebin it
[19:17:15] <alex_joni> SWPadnos: what version are you installing?
[19:17:50] <alex_joni> pastebin should be fine
[19:18:36] <SWPadnos> htp://pastebin.com/709182
[19:18:39] <SWPadnos> the latest
[19:18:51] <SWPadnos> aj4
[19:19:19] <SWPadnos> http://pastebin.com/709182
[19:19:22] <SWPadnos> there ;)
[19:19:50] <alex_joni> oddd
[19:20:07] <SWPadnos> the same thing happened when I upgraded to -aj3
[19:20:16] <SWPadnos> I just answered Y, sinec I think I know what I'm doing ;)
[19:20:17] <alex_joni> SWPadnos: yeah, that was expected
[19:20:30] <alex_joni> not sure wtf it's still there in aj4
[19:20:58] <SWPadnos> ok
[19:22:08] <SWPadnos> I'm assuming that it's sage to allow the installation to continue, but I was wondering whether all files would get replaced correctly
[19:23:09] <SWPadnos> grrr. not sage, safe
[19:23:56] <skunkworks> got that also - I just answered no
[19:24:05] <SWPadnos> ok
[19:24:35] <cradek> skunkworks: what's the url to your photos of workshop?
[19:24:40] <SWPadnos> that's what I did before, and it didn't add or remove any problems, so Iassumed it was the right answer ;)
[19:25:17] <skunkworks> cradek: http://www.electronicsam.com/images/KandT/cncworkshop/
[19:25:21] <alex_joni> SWPadnos: it is the right answer, but the latest does have silent_modules=YES, so it shouldn't print that message
[19:25:24] <cradek> thanks
[19:25:43] <SWPadnos> alex, there's another error - apparently there's a symlink in the kernel modules package, which points to a nonexistent directory (so it gets removed)
[19:25:59] <SWPadnos> oops - the symlink is in the kernel-image package
[19:26:03] <alex_joni> skunkworks: that's a bug
[19:26:08] <alex_joni> SWPadnos: that's a bug
[19:26:14] <alex_joni> and I notified it to the ubuntu people
[19:26:22] <alex_joni> hint: the symlink doesn't get removed
[19:26:26] <alex_joni> it only says so
[19:26:36] <SWPadnos> ok
[19:26:55] <skunkworks> is it an issue?
[19:27:01] <alex_joni> skunkworks: no
[19:27:05] <skunkworks> other than hard drive space :)
[19:27:15] <alex_joni> a symlink??
[19:27:17] <SWPadnos> actually, the link isn't there after install
[19:27:38] <alex_joni> SWPadnos: which one? /lib/modules.../build ?
[19:27:44] <SWPadnos> so I guess they fixed the bug, it actually does delete the symlink ;)
[19:27:58] <alex_joni> it didn't here
[19:28:04] <alex_joni> are you sure it's not there?
[19:28:07] <SWPadnos> no: /lib/modules/2.6.15-magma/source
[19:28:09] <alex_joni> ls doesn't show it
[19:28:17] <alex_joni> ahh.. source shouldn't matter :D
[19:28:23] <alex_joni> I think?
[19:28:25] <SWPadnos> nope, just another message
[19:28:44] <SWPadnos> though I did apt-get build-dep at some point, so I should have source (I think)
[19:28:53] <alex_joni> no
[19:28:56] <alex_joni> you don't build on source
[19:29:00] <alex_joni> you build on headers
[19:29:01] <SWPadnos> ok. apt-get source ...
[19:29:08] <alex_joni> no, not that either
[19:29:09] <alex_joni> :D
[19:29:22] <SWPadnos> apt-get me the damned source code ;)
[19:29:22] <alex_joni> apt-get install linux-source.. (best guess)
[19:29:29] <alex_joni> right
[19:29:53] <alex_joni> apt-get source gives you something completely different ;)
[19:30:40] <SWPadnos> right - all the stuff to build the .deb?
[19:30:57] <alex_joni> nah, the apt-get source is for building all archs
[19:31:01] <alex_joni> and all debs
[19:31:06] <alex_joni> and lots of other stuff ;)
[19:31:13] <alex_joni> that's the official way to build them kernels
[19:31:23] <alex_joni> at least that's how ubuntu-kernel people do them
[19:31:31] <SWPadnos> ah
[19:31:34] <alex_joni> not that our/my way isn't any good
[19:31:46] <alex_joni> just different (using make-kpkg instead of debuild)
[19:32:32] <SWPadnos> well - let's see if the stupid ATI card can give me a display this time
[19:33:05] <alex_joni> SWPadnos: tweaked make-kpkg for the source link stuff, next kernel should not complain
[19:33:05] <SWPadnos> hmmm. maybe nofb is a good fix
[19:33:12] <SWPadnos> ok
[19:33:13] <alex_joni> nofb?
[19:33:28] <SWPadnos> yeah - X goes into some wacky mode if I don't do that
[19:33:51] <SWPadnos> it's an ati / fb / dri / drm / X problem of some sort ;)
[19:34:01] <SWPadnos> oh, and maybe AGP/GART thrown in for good measure
[20:04:02] <alex_joni> SWPadnos: https://launchpad.net/bugs/49167
[20:04:49] <SWPadnos> ok
[20:08:24] <skunkworks> alex_joni: did the guy on the list ever say if the probing worked for him?
[20:10:14] <alex_joni> skunkworks: I think so
[20:10:24] <alex_joni> can't remember for sure though :D
[20:10:47] <skunkworks> sweet
[20:10:58] <skunkworks> too much stuff to try
[20:14:39] <alex_joni> it was Marc van Doornik
[20:14:49] <alex_joni> but he never said if it's working for him or not
[20:15:16] <skunkworks> hm - I guess it would be easy to test
[20:15:30] <alex_joni> I tested with halvcp
[20:15:34] <alex_joni> and it worked ok
[20:16:05] <cradek_> cradek_ is now known as cradek
[20:54:31] <alex_joni> cradek: seems we missed announcing 2.0.1 on the mailing lists :-?
[20:55:01] <cradek> oops
[20:55:25] <alex_joni> can you do that? or should I do it in the morning?
[20:55:29] <alex_joni> off to bed now ;)
[20:55:41] <cradek> I may be away from the computer for the night, I'm just leaving work
[20:55:59] <cradek> you're better at announcements anyway
[20:56:29] <alex_joni> ok, I'll do it first thing tomorrow morning
[20:56:36] <cradek> thanks
[20:56:39] <alex_joni> but I don't agree that I'm better :P
[20:56:48] <alex_joni> just that you know
[20:57:11] <cradek> ok noted
[20:57:15] <cradek> :-)
[20:57:22] <cradek> goodnight
[20:57:33] <alex_joni> thx, have a nice day
[20:57:39] <cradek> thanks