#emc-devel | Logs for 2009-07-05

[13:46:26] <jepler> I just ran across something interesting-looking (but unused and unimplemented) in saicanon:
[13:46:29] <jepler> void PARAMETRIC_3D_CURVE_FEED(FunctionPtr xfcn, FunctionPtr yfcn,
[13:46:32] <jepler> FunctionPtr zfcn, double start_parameter_value,
[13:46:34] <jepler> double end_parameter_value) {}
[13:47:00] <cradek> that is interesting
[13:47:54] <CIA-1> EMC: 03jepler 07master * rfa2c947effaf 10/src/emc/sai/saicanon.cc: clean up this file
[13:49:49] <cradek> jepler: if I have remote-tracking branches, how can I tell git to atomatically ff them if possible, when I pull?
[13:50:12] <cradek> currently it seems like I have to checkout them and pull again to get the ff (causing me a recompile when I checkout back to master)
[13:53:01] <cradek> although maybe it doesn't matter and I shouldn't worry about it
[13:58:19] <jepler> cradek: I'm not sure
[14:18:33] <jepler> cradek: I think I've determined that for the G33 move after a G1 G95 move, it never reaches if(tc->active == 0) {
[14:18:46] <jepler> with the G33 move, possibly because it blends the G33 into the G1G95 move
[14:19:00] <jepler> is something supposed to inhibit blending of the first G33?
[14:26:01] <cradek> yes, let me look for the snippet
[14:26:38] <cradek> line 705
[14:28:58] <cradek> is g1g95 tc->synchronized? if so the test on line 705 is wrong
[14:34:20] <jepler> yes
[14:35:07] <cradek> argh
[14:35:14] <jepler> it's tc->synchronized && tc->velocity_mode
[14:40:03] <jepler> yuck, it's still not at all right
[14:40:16] <jepler> I got a crazy sawtooth velocity thing
[14:40:47] <cradek> but if you change g1g95 to g0 it syncs fine?
[14:41:26] <jepler> er, no
[14:41:38] <cradek> maybe you're asking for the impossible
[14:41:56] <cradek> iirc, I was doing s300 and g33 k.0625
[14:43:46] <jepler> yes, changing parameters made it nicer .. but I still don't understand a sawtooth velocity http://emergent.unpy.net/index.cgi-files/sandbox/sawtooth.png
[14:43:58] <jepler> if it couldn't keep up, wouldn't it just go at G0?
[14:44:30] <cradek> yeah I don't understand that either
[14:45:50] <jepler> http://emergent.unpy.net/index.cgi-files/sandbox/0001-fix-G1-G95-followed-by-G33.patch
[14:46:20] <jepler> anyway, that's what I came up with
[14:46:50] <cradek> processing...
[14:47:01] <jepler> (you can apply that with git-am 0001*.patch)
[14:47:29] <cradek> that feels right to me
[14:47:51] <cradek> it seems like a correct formulation for "will we have to wait for spindle sync"
[14:48:53] <jepler> shall I push it, then?
[14:49:09] <cradek> yes
[14:49:21] <cradek> I'll test it after breakfast
[14:49:27] <cradek> it's surely a backport candidate
[14:49:45] <jepler> yes, I agree
[14:50:18] <jepler> I'll probably make 2.3.2 as soon as we decide whether that bugfix is right
[14:50:25] <cradek> ok
[14:53:43] <skunkworks> wait - jepler has a lathe?
[14:54:03] <SWPadnos> we've all got sim lathes
[14:54:24] <skunkworks> heh
[14:54:55] <jepler> I've also got a scara and a puma, but they don't really work very well
[14:56:24] <jepler> skunkworks: cradek and I made the remaining two motor mount plates last night
[14:56:34] <jepler> he actually let me run the control for the last one
[14:57:04] <cradek> "Error 0000!"
[14:57:11] <skunkworks> Nice! I saw the picuture cradek linked
[15:00:16] <skunkworks> How many axis is the mesa servo board?
[15:00:22] <skunkworks> is it 4?
[15:00:59] <jepler> you can fit 4 servos worth of signals on one mesa connector
[15:01:57] <jepler> the 7i30 is 4 100W h-bridges
[15:02:56] <jepler> but they have some 2-channel boards as well
[15:03:29] <skunkworks> neat
[15:04:16] <skunkworks> I bet you can't wait to try to mill a circuit board
[15:05:04] <jepler> there's more work before that
[15:05:12] <jepler> two more couplings and a bunch of press fits
[15:05:30] <jepler> but I'm getting close
[15:05:42] <jepler> my homework assignment is to write the gcode for the couplings
[15:07:44] <skunkworks> :)
[15:19:46] <cradek> jepler: after more thought, I'm not sure there's much point - it's all just tool changes and stuff, most of it will just be done manually
[15:21:09] <cradek> off to breakfast
[16:54:00] <micges> I cannot start emc: insmod: error inserting '/usr/realtime-2.6.15-magma/modules/rtai_hal.ko': -1 File exists
[16:54:31] <micges> can't unload this mod
[16:54:45] <cradek> maybe dmesg says more
[16:57:55] <micges> Jul 5 18:50:49 lucy-old kernel: [ 7622.117407] Unable to handle kernel NULL pointer dereference at virtual address 00000008
[16:58:53] <micges> I messed up with mod params :)
[16:59:00] <jepler> after errors like that it's not a surprise that modules won't unload. reboot.
[16:59:41] <micges> oh ok
[18:15:54] <skunkworks> alex_joni: how mom and baby?
[18:26:25] <jepler> cradek: get a chance to test that g33 bugfix?
[18:27:05] <cradek> was just starting on that
[18:27:39] <jepler> great, thanks
[18:27:52] <jepler> it's not possible to write a "runtests" for it, since those can only test what canon does..
[18:28:02] <cradek> yeah
[18:28:10] <cradek> so many major parts of emc are untestable
[18:28:59] <cradek> oh you didn't push it?
[18:30:03] <cradek> chris@rover2:~/emc2.git/src$ git am 0001-fix-G1-G95-followed-by-G33.patch
[18:30:04] <cradek> Applying: fix G1 G95 followed by G33
[18:30:07] <cradek> wow, that's neat
[18:30:17] <jepler> umm I guess I didn't
[18:43:49] <BigJohnT> jepler: I've narrowed my problem to something in the text that I copied and pasted
[18:44:58] <BigJohnT> must be some non-printing character that got copied from the pdf
[18:55:18] <CIA-1> EMC: 03cradek 07master * r91eb21423f28 10/src/emc/kinematics/tp.c: fix G1 G95 followed by G33
[19:06:24] <CIA-1> EMC: 03bigjohnt 07master * r07581d6b7eed 10/docs/src/drivers/hostmot2.lyx: Add velocity to stepgen
[19:06:25] <CIA-1> EMC: 03bigjohnt 07master * rab8cab6368fb 10/docs/src/gcode/main.lyx: Add info on G5.2 G5.3 NURBs
[19:07:07] <jepler> cradek: the fix tested OK?
[19:07:33] <cradek> yes I think it's right
[19:08:59] <cradek> forgot to put it on the branch - done now
[19:09:10] <CIA-1> EMC: 03cradek 07v2_3_branch * r7e0b44355fc3 10/src/emc/kinematics/tp.c: fix G1 G95 followed by G33
[19:09:20] <cradek> (man that's easy)
[19:09:46] <CIA-1> EMC: 03jepler 07master * r602c9c386d53 10/src/emc/sai/saicanon.cc: fix message name
[19:09:47] <CIA-1> EMC: 03jepler 07master * r5b225a22be7d 10/src/emc/sai/driver.cc: make the -b (block delete) commandline flag work
[19:10:12] <jepler> thanks
[19:15:20] <jepler> I hope git doesn't help me botch this release
[19:17:13] <cradek> wow, a lot of changes.
[19:21:12] <jepler> yeah it's a huge list of stuff in 2.3.2
[19:21:16] <jepler> it's about a month late..
[19:23:11] <cradek> jepler: how about 4df548f backport?
[19:23:48] <jepler> it doesn't cherry-pick for me :(
[19:25:17] <jepler> looks like it needs af632972c56169b55e520c397316caa31662c22e too
[19:26:38] <jepler> - else: unit_str = u"\xb0"
[19:26:38] <cradek> ah
[19:26:42] <jepler> + else: unit_str = _(u"\xb0")
[19:26:51] <jepler> hm, I wonder why I thought this needed to be localizable
[19:27:03] <cradek> what is b0?
[19:27:21] <jepler> U+00b0 176 DEGREE SIGN “°” Symbol, other
[19:30:34] <cradek> emccalib works in 2.3 right?
[19:31:35] <jepler> the fix for the hm2 problem is 40e0083
[19:31:38] <jepler> on the branch
[19:33:18] <cradek> did you backport the backplot angle change thing that I recently fixed?
[19:36:34] <jepler> no, but this change is only on master:
[19:36:34] <jepler> -static const double epsilon = 1e-8;
[19:36:34] <jepler> +static const double epsilon = 1e-4; // 1-cos(1 deg) ~= 1e-4
[19:36:49] <cradek> ok
[19:37:27] <cradek> wonder if we want that. it's supposed to fix "it gets really slow after a while"
[19:39:32] <BigJohnT_> BigJohnT_ is now known as BigJohnT
[19:41:47] <jepler> does it, though?
[19:41:50] <cradek> wow git log -S is slooooow
[19:42:04] <cradek> well, I don't know that, and it's a good question.
[19:42:16] <jepler> I'm going to draw the line here for 2.3.2 in any case
[19:42:25] <cradek> ok
[19:42:27] <jepler> pulling in a bunch of changes at the last minute is probably not the brightest thing to do
[19:43:10] <cradek> can't argue with that.
[19:43:37] <cradek> going out to the shop - yell when it's time for me to do my dapper thing.
[19:44:19] <CIA-1> EMC: 03jepler 07v2_3_branch * r9f8816eb0ff4 10/src/emc/usr_intf/axis/scripts/axis.py: show the user the active units (in, mm, degree-symbol) in touch off dialog
[19:44:19] <CIA-1> EMC: 03jepler 07v2_3_branch * rc273a142f2cd 10/src/emc/usr_intf/axis/scripts/axis.py: in lathe mode touch off, show diameter or radius if appropriate
[19:44:21] <CIA-1> EMC: 03jepler 07v2_3_branch * rdb871645c383 10/debian/changelog: note new fix
[19:44:21] <CIA-1> EMC: 03jepler 07v2_3_branch * r9a3531d8681e 10/ (VERSION debian/changelog src/configure): bump version for release
[19:44:22] <CIA-1> EMC: 03jepler 07v2_3_branch * r266de006e649 10/ (VERSION debian/changelog src/configure): bump version after release
[19:44:58] <jepler> hm that error looks errorish: http://pastebin.ca/1484928
[19:45:09] <jepler> #
[19:45:10] <jepler> fatal: bad object 0000000000000000000000000000000000000000
[19:45:54] <BigJohnT> can I still push to master or should I wait?
[19:46:46] <jepler> BigJohnT: you can push to master
[19:46:53] <BigJohnT> ok thanks
[19:50:04] <jepler> cradek: #git suggests that error could come from a "broken hook that can't handle new refs"
[19:51:34] <cradek> hmmmm
[19:51:50] <cradek> I think the cia hook always exits with 0; the other one is the buildbot triggerer
[19:53:26] <cradek> oh it might print that and then exit 0, and your push will still work
[19:54:17] <cradek> yeah your tag is there
[19:55:46] <jepler> yes that looks fine
[19:56:00] <cradek> what was the coupling diameter we need? is it .625?
[19:57:16] <CIA-1> EMC: 03bigjohnt 07master * rc942b6433fcf 10/docs/src/gcode/main.lyx: Add example to G5.3
[19:57:17] <CIA-1> EMC: 03bigjohnt 07master * r424f002a43fa 10/docs/src/gcode/images/nurbs01.png: Add image for G5.2 example
[19:57:35] <jepler> well BigJohnT has committed someone to getting nurbs working right :-/
[19:57:42] <BigJohnT> :)
[19:58:09] <BigJohnT> what part is not working right?
[19:58:21] <cradek> that's a good first question to ask
[19:58:30] <jepler> judging from halscope, it seemed that it was not feeding smoothly
[19:59:10] <jepler> I am guessing they don't work with the new coordinate system rotation
[19:59:12] <cradek> I've also seen it generate non-arcs
[19:59:51] <BigJohnT> yes, and it seems correct to generate non arcs if you program a strait line
[20:00:04] <BigJohnT> I found that while playing with it a while ago
[20:00:14] <BigJohnT> straight
[20:00:20] <cradek> er, I mean things that were meant to be arcs, but didn't have matching start/end radii
[20:00:45] <cradek> so I got bogus spiraly things
[20:03:46] <BigJohnT> just watching it run and it seems to slow down at each control point change
[20:04:21] <jepler> yeah you'd see the same thing in halscope if you looked at XY or XYZ velocity
[20:28:27] <jepler> BigJohnT: it appears that in the bad 'main.lyx' file you pasted smart quotes. Normally, a lyx file seems to contain dumb quotes which are displayed as smart quotes (i.e., the character stored is " but it's displayed as an open-quote or close-quote according to context)
[20:28:47] <jepler> BigJohnT: when this construct is converted to format 221 for lyx2html, it is converted into something that lyx2html doesn't understand how to handle
[20:31:01] <jepler> er, that's not quite right either -- they're stored as a different kind of quote entirely
[20:31:06] <jepler> anyway, it's not trivial to fix
[20:32:05] <jepler> so you'll have to just work around it when it happens
[23:11:26] <jepler> cradek: any idea if this is close to the right fix for the problem Frank Tkalcevic just reported? http://emergent.unpy.net/index.cgi-files/sandbox/0001-reject-invalid-J-K-values-in-G76.patch
[23:14:20] <lerman> An Axis enhancement question: would it be possible to have a mdi command that generated a preview rather than executed i?. It would be nice to be able to call an o-word subroutine and preview the results before actually executing the command.
[23:27:56] <jepler> lerman: I've considered the same thing, but for gwiz why not write a 2-line program (O- ... / M2) and have axis load it?
[23:31:12] <lerman> Because I already have the entire wizard library loaded. I might want to manually jog to a point (that is shown in the display), run a routine to save it to a variable. Then jog to another point (shown in the display), run another routine to save it. Then run a subroutine that (for instance) mills the surface defined by the points.
[23:31:13] <lerman> It would be good if all the points could be displayed at once.
[23:32:33] <lerman> I think that loading a new file forgets all of the saved variables. (It probably should.)
[23:34:59] <jepler> well by mentioning variables you've hit at a weak spot in axis's preview: it only shows the effect of variables that are saved in the var file, or which are set in the program itself
[23:38:26] <lerman> Ah yes. A variable that is set by reading the current position would be invisible to Axis. Oh well.