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

[01:57:23] <jmkasunich_> jmkasunich_ is now known as jmkasunich
[11:10:35] <CIA-19> 03tissf 07TRUNK * 10emc2/docs/src/ (Submakefile index_fr.tmpl): French translation
[11:10:44] <CIA-19> 03tissf 07TRUNK * 10emc2/docs/html/gcode_fr.html: French translation
[11:18:02] <alex_joni> morning tissf
[11:19:44] <tissf> hi ajex_joni how are you ?
[11:19:58] <tissf> alex ! sorry
[11:44:14] <alex_joni_> alex_joni_ is now known as alex_joni
[11:44:40] <alex_joni> tissf: sorry.. connection died..
[11:44:47] <alex_joni> logger_dev: bookmark
[11:44:47] <alex_joni> Just this once .. here's the log: http://www.linuxcnc.org/irc/irc.freenode.net:6667/emcdevel/2007-11-19.txt
[11:45:07] <alex_joni> tissf: just fine :D you?
[13:31:21] <jepler> I've been able to reproduce the "arc in MDI causes no motion" behavior several times in a row.
[13:31:31] <jepler> here are the steps I've been using: start emc sim/axis.ini
[13:31:46] <jepler> F1 F2 ctrl-home
[13:31:52] <jepler> clear G54 coordinate offsets
[13:32:00] <jepler> F5 G2F1X0I1
[13:32:15] <jepler> at this point, DTG goes to 6.mumble inches but the machine is not moving
[13:32:25] <jepler> here's the debug output:
[13:32:25] <jepler> Issuing EMC_TRAJ_CIRCULAR_MOVE -- (+221,+168, +0,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000, -1, +3,0.000000,0.000000,20.000000, +0,)
[13:32:48] <jepler> if I jog a bit at random and then reissue the move, I get a slightly different movement issued:
[13:32:51] <jepler> Issuing EMC_TRAJ_CIRCULAR_MOVE -- (+221,+168, +0,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,0.000000,1.000000, -1, +3,0.016667,1.200000,20.000000, +0,)
[13:33:07] <jepler> note that the field after +3 was 0.000000 the first time and 0.016667 in the one that worked
[13:33:26] <jepler> the next number is 0 vs nonzero as well
[13:33:39] <jepler> I am guessing that those are velocity and acceleration
[13:34:46] <jepler> no that's not right -- they're 'vel', 'ini_maxvel'
[13:44:45] <jepler> 1283 tcircle = fabs(angle * radius / circ_maxvel);
[13:44:45] <jepler> (gdb)
[13:44:45] <jepler> 1285 taxial = fabs(axis_len / axial_maxvel);
[13:44:45] <jepler> (gdb)
[13:44:45] <jepler> 1286 tmax = MAX(taxial, tcircle);
[13:44:47] <jepler> (gdb) print tcircle
[13:44:50] <jepler> $9 = 0
[13:44:52] <jepler> (gdb) print taxial
[13:44:55] <jepler> $10 = inf
[13:44:57] <jepler> this is probably not right..
[13:45:09] <jepler> (gdb) print angle
[13:45:09] <jepler> $11 = 0
[13:45:24] <jepler> OK, first problem -- angle should probably be 2pi here, not 0.
[13:45:50] <jepler> (gdb) print axis_len
[13:45:51] <jepler> $12 = 3.3087224502121107e-24
[13:46:04] <jepler> second problem, axis_len is not quite zero but axial_maxvel *is*
[13:46:17] <jepler> leading to infinite taxial
[13:48:06] <jepler> I don't think this has anything to do with MDI
[13:54:34] <jepler> this fixes the specific behavior I saw (with like changes for each plane): http://pastebin.ca/783992
[13:54:53] <jepler> (emccanon.cc)
[14:24:07] <alex_joni> seems good to me, the axis_len > 0.001 seems bogus to me too
[14:24:23] <alex_joni> but you should wait for chris.. he touched this stuff the most number of times :0
[14:45:43] <SWPadnos> gah. I can't remember the moderator password for the emc2mail list I set up on DH
[14:46:12] <SWPadnos> and I'm starting to get spam there (awaiting moderation ...)
[14:51:47] <cradek> a lot of machines have lower vel/acc for Z; most arcs are in XY only. In the usual case we should be able to ignore Z constraints
[14:52:03] <cradek> but, I don't know how to safely do that
[14:52:12] <cradek> safe = avoid FP issues
[14:52:28] <SWPadnos> also arcs in other planes
[14:52:50] <cradek> sorry, I meant 'the usual case' = xy plane, no helix
[14:52:54] <SWPadnos> right
[14:57:34] <jepler> I just noticed that 2.1.1 didn't get announced on sourceforge
[14:57:46] <jepler> er, 2.2.1
[15:04:22] <alex_joni> oops.. forgot that
[15:04:28] <alex_joni> will do it today
[15:04:39] <alex_joni> jepler: thanks for noticing
[15:06:18] <jepler> maybe we should try to do 2.2.2 this weekend
[15:08:57] <SWPadnos> it is a holiday weekend for many (which could be good or bad for an open source project :) )
[15:09:45] <alex_joni> holiday?
[15:09:56] <SWPadnos> Thanksgiving here in the US
[15:10:02] <SWPadnos> Thursday anyway
[15:10:52] <cradek> jepler, alex_joni: did you finish the step/pause/resume fixes in AXIS?
[15:11:45] <alex_joni> cradek: in TRUNK at least
[15:11:55] <skunkworks> we are going to have 2 meals at the house - one for the wifes familly (thurs) and one for mine (sat)
[15:12:03] <alex_joni> almost completely.. jeff had a couple things to finish :)
[15:12:16] <alex_joni> cradek: I'm a bit awkward about merging it to v2_2
[15:12:39] <alex_joni> it "only" affects AXIS, but it's a bit intrusive imo
[15:13:24] <cradek> I will test it some more when you guys say it is ready, that's all I can offer
[15:13:35] <cradek> jepler gets to decide on the backport :-)
[15:14:57] <jepler> fwiw I only lose thursday to the holiday ..
[15:15:18] <jepler> I'll look at the axis pause/step changes soon
[15:15:34] <cradek> thanks
[15:17:37] <jepler> It'd also be nice to fix this arc bug
[15:34:14] <skunkworks> Hi paul! http://www.tuxcnc.org/pivot/entry.php?id=17#body
[15:38:32] <cradek> haha
[15:39:03] <jepler> I try not to read the troll, but if you promise it's funny maybe I will
[15:39:23] <SWPadnos> I think you pl;ay the part of "Eppler" in that story
[15:39:58] <jepler> it's kind of him to spell my name wrong
[15:40:21] <SWPadnos> if that is indeed supposed to be you
[15:41:28] <skunkworks> heh :) names have been changed to protect the innocent..
[15:41:43] <SWPadnos> not bloody likely ;)
[15:42:11] <jepler> if it was a mistake maybe he'll correct it after he reads through the logs
[15:42:19] <cradek> ha
[15:42:25] <jepler> I hope he's learned to search for "hi paul" in order to more easily find the parts that are relevant
[15:42:40] <skunkworks> I try to be helpful
[15:42:50] <cradek> that's very kind
[15:45:04] <jepler> well I broke down and read it
[15:45:27] <jepler> I love his fix for the "race condition" (which by the way should be an offensive term to anyone who is of a particular race)..
[15:45:51] <SWPadnos> heh - yeah, pretty funny isn't it?
[15:46:29] <SWPadnos> like an efficient loop eliminates race conditions
[15:47:08] <jepler> not that I particularly love the old code either, but neither one protects against a modification to one of the two variables
[15:47:15] <SWPadnos> right
[15:47:22] <jepler> and of course his has the "bools not equal to zero or one" problem
[15:47:26] <jepler> oh well
[15:47:29] <jepler> back to my actual life
[15:47:54] <SWPadnos> I prefer the shorter version - using ^ instead of multiple ifs, but it's all the same when you get down to it
[15:48:32] <SWPadnos> blech - I think I should have rinsed this coffee cup one more time - soapy coffee is the worst
[15:50:04] <jepler> yes but you need some ! in there to make sure you've got zeros or ones
[15:50:15] <SWPadnos> true enough
[15:50:41] <SWPadnos> outdata |= !!((*(slot->digout[b].data)) ^ (slot->digout[b].invert))
[15:51:10] <jepler> outdata |= (!data) ^ (!invert);
[15:51:13] <jepler> is what I had in mind
[15:51:27] <jepler> what if 'data' is 0x2 and 'invert' is 0x1? You want to get a zero bit in outdata, but you'll get a 1 bit
[15:51:30] <SWPadnos> hmm. that looks better (or at least shorter)
[15:52:13] <jepler> I am certain we hashed this all out once before
[15:52:23] <SWPadnos> heh
[15:52:26] <SWPadnos> probably
[15:53:55] <jepler> I wonder if we considered this variant: data ? !invert : invert
[15:54:21] <SWPadnos> you still have the possibly-not-0-or-1 problem with invert
[15:54:30] <SWPadnos> in the !data case
[15:55:34] <jepler> OK then, data ? !invert : !!invert
[15:55:41] <SWPadnos> I may be low on caffeine, but wouldn't that - err, right
[15:55:50] <SWPadnos> no, wait
[15:56:01] <SWPadnos> invert ? !data : !!data
[15:56:36] <jepler> bah, that has a chance of being understood
[15:56:46] <SWPadnos> oh, sorry. I'll get more soap now
[15:56:48] <SWPadnos> err, coffee
[15:56:56] <jepler> data and invert are equivalent, but if you write it in my way you'll have more trouble understanding it
[15:57:23] <SWPadnos> if we output invert instead of data, that might be just confusing enough
[15:58:06] <SWPadnos> though you're right, out = data ^ invert, so they're commutative
[16:37:56] <jepler> hahah -- I think the pump was inadvertently tested once.
[16:38:01] <jepler> (said john k)
[16:38:53] <SWPadnos> yeah - I'm glad I didn't see that particular fountain
[16:39:03] <cradek> yeah, thankfully I only heard about that.
[16:39:16] <SWPadnos> I know how bad my bandsaw coolant gets, and that's only after a few months
[16:42:23] <skunkworks516> yucky
[16:43:24] <SWPadnos> very
[16:43:49] <SWPadnos> at least it dries out after a while - it's just an open-top basin
[16:51:55] <skunkworks516> We have used water soluable coolant off and on.. Don't really remember an issue with it.
[16:53:00] <skunkworks516> the place rarely gets above 70 though. maybe that helps
[17:06:39] <CIA-19> 03tissf 07TRUNK * 10emc2/docs/src/index.tmpl: French translation
[20:03:14] <alex_joni> * alex_joni heads home
[20:03:24] <alex_joni> see you guys tomorrow probably
[20:03:41] <alex_joni> jfyi, it's not the best thing to leave home at 10pm :)
[20:03:45] <alex_joni> err.. work
[20:07:39] <skunkworks516> Have fun :)
[20:23:42] <tissf> goodnight alex_joni and all
[20:56:28] <alex_joni> jepler: sf news item done
[20:56:39] <alex_joni> thanks for reminding me about that..
[21:22:04] <jepler> thanks for doing it
[21:50:09] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[22:07:41] <SWPadnos___> SWPadnos___ is now known as SWPadnos