#emc-devel | Logs for 2009-02-02

[05:42:30] <LawrenceG> yea... ubuntu 8.10 has a very easy way to make a bootable usb dongle from any bootable iso image... see system/administration/create usb startup disk
[09:06:30] <Lerman_______> Lerman_______ is now known as Lerman
[10:40:09] <micges> in changelog can be mentioned motion params changed to pins
[11:14:49] <alex_joni> micges: sure
[11:18:25] <CIA-2> EMC: 03alex_joni 07TRUNK * 10emc2/debian/changelog: mention param->pin change
[11:18:36] <alex_joni> micges: happy now? :)
[11:18:54] <micges> yes :)
[11:19:08] <alex_joni> thanks for bugging me
[11:19:55] <micges> np
[11:54:32] <BigJohnT> alex_joni: did I foul up the move of axis-currentandselected.png?
[11:57:24] <alex_joni> forgot to add it
[11:57:51] <BigJohnT> :/ must have got distracted
[11:57:54] <alex_joni> np
[11:58:04] <BigJohnT> thanks for catching it
[11:58:23] <alex_joni> do you plan to move all pics to images/ ?
[11:59:08] <BigJohnT> yes it cleans up the directory a lot
[12:00:27] <BigJohnT> I was doing one at a time in case they are used in multiple places as it is hard to finger out where it is missing sometimes
[12:02:56] <micges_mill> alex_joni: when I'm removing key=[EMCMOT]SHMEM_KEY emc didn't load
[12:12:02] <micges_mill> hal: http://www.pastebin.ca/1325264
[12:13:40] <micges_mill> ini: http://www.pastebin.ca/1325266
[12:15:57] <alex_joni> did you remove it from the hal file aswell?
[12:16:42] <alex_joni> what's the actual error?
[12:17:14] <micges_mill> checking..
[12:17:44] <micges_mill> ok I get mistake
[12:18:01] <micges_mill> SHMEM_KEY must be removed from ini AND hal
[12:20:11] <micges_mill> so the default SHMEM_KEY is different than 111
[12:20:35] <micges_mill> ok I'm updating my configs
[12:54:23] <CIA-2> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/ladder/images/Default_Signed_Integer_Variables.png: update image to 2.3
[12:55:45] <micges> alex_joni: I've mentioned someday that some errors applied Nan to position file that is saved after exit
[12:57:11] <micges> today while messing with scales and so I have this error once again and again much time was spended to find that Nan is in position file
[12:57:30] <micges> will be any error checking ?
[12:57:51] <micges> for example Nan-> 0
[13:04:42] <The_Ball> Is a forth axis (A) setup is past the trivkins module? I see that the axis can be controlled by emc, but if I want to see the "bit" move in axis do I need to use non trivial kinesis?
[13:07:28] <orbitaudio> hey guys, anyone around?
[13:33:03] <jepler> orbitaudio: no.
[13:33:16] <CIA-2> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/ladder/classic_ladder.lyx: add if and qf variables
[13:46:18] <CIA-2> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/config/emc2hal.lyx: add pin types for iocontrol and missing pin
[13:46:42] <BigJohnT> * BigJohnT is off to work now that the ice age is over
[14:27:25] <SWPadnos> The_Ball, trivkins can do 8 or 9 joints
[14:43:02] <micges_mill> In MDI is allowed calling O<file> call ?
[14:43:24] <SWPadnos> hmm. could be. have you tried it?
[14:43:29] <micges_mill> yes
[14:43:35] <SWPadnos> did it work?
[14:43:42] <cradek> haha
[14:44:03] <micges_mill> no and I dont know if I make error
[14:44:21] <micges_mill> no more docs to read
[14:44:41] <SWPadnos> I know Lerman put some effort into making sure that MDI could use subroutines in the loaded file, but I'm not sure that he got external file calls working
[14:45:03] <SWPadnos> I thought that was the intent though, that it should work
[14:45:23] <micges_mill> what time zone is he ?
[14:45:31] <SWPadnos> mine, I think
[14:45:38] <SWPadnos> (09:45 now)
[14:46:09] <jepler> fwiw I get "file not open" with both numbered and named O-call.
[14:46:10] <cradek> I think classicladder timers are (recently) broken
[14:46:49] <jepler> (recent TRUNK)
[14:47:01] <cradek> Change old timer to use new control pin. Ladder programs that used the old timers need to connect the 'E' and new 'C' pins together so timer works as before
[14:47:06] <cradek> oh...
[14:47:25] <cradek> wonder what that's for
[14:47:28] <jepler> I have no idea what those words mean
[14:47:43] <cradek> that means "your machine won't come out of estop anymore"
[14:47:54] <SWPadnos> unless you connect the E and C pins together
[14:47:56] <cradek> "try editing your ladder for a while" :-)
[14:49:50] <cradek> sure 'nuff
[14:50:28] <cradek> so when do we write the "god help you if you're updating from 2.2" document?
[14:51:58] <SWPadnos> once we know what it should say?
[14:52:33] <jepler> all throughout the 2.3 development cycle, just like debian/changelog
[14:52:42] <cradek> ohhh right
[14:52:58] <SWPadnos> see, that's why we like you for a release manager :)
[14:53:33] <cradek> but the changelog was done in a few late-night drunken fits
[14:53:41] <cradek> by, uh, me
[14:53:50] <SWPadnos> the upgrading document should be an interesting read then
[14:53:50] <jepler> and a great job, too
[14:54:00] <jepler> sounds like you're the best man to do the "updating" document as well
[14:54:10] <cradek> arg
[14:54:32] <SWPadnos> heh, now there's a great spam message subject: "How dumb are you?"
[14:55:12] <micges_mill> LOL
[14:55:43] <micges_mill> end of work for today
[14:55:44] <micges_mill> bbl
[14:58:10] <micges> ideas about allowing definiable G-code and Other-code was written somewhere ?
[14:58:17] <jepler> micges: not in 2.3 that's for sure
[14:58:26] <jepler> it's the time for fixing bugs, not the time for new features.
[14:58:42] <micges> yes yes I know
[15:00:47] <micges> If even I'll do it locally becouse as cradek said its mistake to do tool change in gcode, and better it doesn't fully work :)
[15:02:01] <micges> bbl
[15:02:06] <jepler> micges: aha, as to your earlier question: add [RS274NGC]LAZY_CLOSE=1 to your inifile
[15:02:20] <jepler> oops, too slow
[15:03:15] <cradek> semirant: I wish we wouldn't hide new functionality behind obscure ini settings, when there is no tradeoff and enabling it by default would not hurt anything else
[15:03:40] <alex_joni> jepler: another option is to feed the o-word subroutine to MDI
[15:03:45] <alex_joni> before calling it
[15:04:05] <cradek> alex_joni: pretty sure that can't work, because MDI is not "seekable"
[15:04:21] <cradek> imagine a loop for instance
[15:04:30] <alex_joni> hmm.. sure? I thought each mdi line gets a pesudo negative line
[15:04:40] <alex_joni> maybe it can seek in reverse .. :D
[15:04:46] <cradek> yes but you can't seek through them
[15:05:13] <alex_joni> never tried it myself.. didn't need it so far
[15:06:32] <alex_joni> bbl.. running home
[15:07:38] <cradek> http://media.unpythonic.net/emergent-files//01233419381/ohno-medium.jpg
[15:07:50] <cradek> now that's a thing of beauty
[15:08:45] <jepler> why thank you
[15:08:55] <jepler> it's nice to be recognized for one's accomplishments
[15:09:18] <cradek> is it in daily use now?
[15:09:59] <jepler> (like the blog entry says, I do hope to find a better way to package it)
[15:10:06] <jepler> if 2 days means "daily", then yes
[15:10:28] <SWPadnos> is that an automatic evil eye or something?
[15:11:49] <jepler> SWPadnos: I was calling it "red alert", but I like "evil eye" better.
[15:11:55] <SWPadnos> heh
[15:12:07] <SWPadnos> "Now, with automatic evil!"
[15:12:29] <KimK> "I'm afraid I can't do that, Dave."
[15:13:37] <jepler> the full blog entry is http://emergent.unpy.net/01233419381 if anyone cares to know a bit more
[15:35:20] <seb_kuzminsky> jepler: what no x10? ;-)
[15:35:46] <SWPadnos> there's a gadget they have (had?) at ThinkGeek that does some stuff like that
[15:35:55] <SWPadnos> I thought it was called "The Orb"
[15:36:23] <SWPadnos> glows different colors depending on whatever triggers you set up on the PC (stock prices, server ping time, ...)
[15:36:53] <SWPadnos> ah-ha. Ambient Orb
[15:37:01] <jepler> SWPadnos: yeah, I recall seeing that as well
[15:37:28] <seb_kuzminsky> bbl
[15:37:31] <SWPadnos> hmmm. for $000, I'll go with the cardboard box approach
[15:37:36] <SWPadnos> uh $100
[15:38:45] <fenn> $100 cardboard box
[15:38:48] <SWPadnos> now this is all you get when you search for "orb": http://www.thinkgeek.com/geektoys/cubegoodies/8c94/
[15:38:54] <SWPadnos> Singig Monkey Balls
[15:38:58] <SWPadnos> WSinging
[15:39:01] <SWPadnos> -W
[15:39:14] <jepler> hm http://www.ambientdevices.com/cat/orb/orborder.html "check out our end-of-2007 discount" plus a helpful demo showing that the Orb can track stock market changes of up to +-2.5%
[15:39:25] <SWPadnos> heh
[15:39:29] <jepler> at first I thought maybe you meant "stinging"
[15:39:32] <SWPadnos> they must have all crashed or something
[15:39:34] <jepler> "ow my monkey"
[15:39:37] <SWPadnos> heh
[15:39:58] <SWPadnos> in the immortal words of "Sprocketz", "Would you like to pet my monkey?"
[15:41:22] <jepler> but ambientdevices isn't dead -- they've recently introduced the Ambiemt Umbrella, which can apparently tell you whether it's raining. http://www.coolhunting.com/archives/2006/01/forecasting_umb.php
[15:41:51] <SWPadnos> heh
[15:42:30] <SWPadnos> and then there's this: http://customwheel.com/custom_wheels/product_info.php/products_id/1687
[16:00:42] <alex_joni> SWPadnos: the Phenom II x4 940 is out
[16:00:45] <alex_joni> apparently
[16:01:22] <SWPadnos> yep, has been for a few weeks
[16:01:28] <SWPadnos> it's even come down in price once :)
[16:02:00] <alex_joni> it's now in 45nm though
[16:02:09] <SWPadnos> yes
[16:03:17] <alex_joni> still away from an i7 965 Extreme
[16:05:14] <alex_joni> humm.. I missed the i7 so far, wonder how it feels like :)
[16:05:55] <SWPadnos> luckily, the Phenoms are about $800 less than the really high-performance i7s
[16:06:09] <SWPadnos> as are the low end i7 chips (strangely, the 920 and 940 :) )
[16:12:35] <SWPadnos> oh wait, the core i7 940 is expensive as hell, $565 at NewEgg
[16:13:28] <SWPadnos> the 920 is closer, at $295
[16:40:50] <jepler> 09:02:51 <jepler> micges: aha, as to your earlier question: add [RS274NGC]LAZY_CLOSE=1 to your inifile
[16:41:27] <micges> thanks
[16:50:40] <jepler> (unless there's some problem with enabling this option, I think it should be made the default in 2.3 ..)
[16:51:50] <micges> I will test it using it to changing tools in my rack tool changer
[16:52:38] <micges> (no time ti extend canon or definiable M6 code)
[18:02:48] <CIA-2> EMC: 03alex_joni 07TRUNK * 10emc2/debian/.cvsignore: more silencing
[18:16:07] <micges> lerman: around?
[18:20:42] <alex_joni> I haven't seen him in a pretty long while..
[18:21:49] <CIA-2> EMC: 03alex_joni 07TRUNK * 10emc2/docs/UPDATING: note moving the RS274NGC_STARTUP_CODE to the [RS274NGC] section
[18:26:29] <micges> he has bot or something on irc ?
[18:26:46] <alex_joni> no, his IRC client is online
[18:26:54] <alex_joni> but he didn't say anything lately
[18:27:00] <micges> ah ok
[18:29:38] <christel> [Global Notice] Hi all, It would appear one of our client servers just dropped off the face of the planet. We're looking into the issue and should hopefully have it back soon. Affected users just over 2,000. Apologies for the inconvenience and have a good day.
[18:51:42] <CIA-2> EMC: 03cradek 07TRUNK * 10emc2/debian/changelog: a few more things
[18:53:31] <alex_joni> did any of you try a new stepconf generated config?
[18:53:51] <alex_joni> the things cmorley added aren't that bad
[18:53:52] <cradek> not me
[18:53:55] <alex_joni> but ...
[18:54:11] <alex_joni> he added a way to set G92 origins from pyvcp + halui
[18:54:41] <cradek> hm, I don't think that's a good example (or idea)
[18:54:53] <alex_joni> obviously if you do that, the live plot and the program plot don't match
[18:55:15] <cradek> yes you'd have to hit reload
[18:56:15] <alex_joni> http://imagebin.org/37330
[18:56:41] <BigJohnT> I've tried a few of the pyvcp and the classicladder config's
[18:56:44] <cradek> I think it's good to make adding a vcp panel easy, but I don't care for any of the samples/examples he has set up
[18:57:21] <cradek> I think the real problem is that for stepconf-target systems, a panel is just not needed for anything
[18:57:28] <cradek> "problem"
[18:57:35] <alex_joni> BigJohnT: I was looking at offseting the splash g-code in Y by a small amount
[18:57:53] <alex_joni> but also noticed that by default stepconf did a (-4 .. 0 ) Z-axis config
[18:58:07] <BigJohnT> it just needs a bit like .25
[18:58:29] <alex_joni> yeah, but how about Z?
[18:58:34] <BigJohnT> the Z needs to be below 0
[18:58:51] <alex_joni> SH = 0.1 (safety height I think)
[18:58:58] <cradek> -4..0 = correct configuration IMO
[18:59:16] <alex_joni> cradek: then would you mind making SH 0 ?
[18:59:21] <BigJohnT> I think so I did it once
[18:59:43] <cradek> if you are really concerned about the splash not running before the person figures out touch off, you could put a g54 offset in the var file by default
[19:00:04] <jepler> that seems like a bad idea too
[19:00:13] <jepler> or at least still not a good idea
[19:00:19] <cradek> I'm on the fence here
[19:00:33] <jepler> people are going to try to "cut" this file
[19:00:34] <alex_joni> I think offseting the program .5 in Y is the least issue-prone
[19:00:43] <cradek> (1) it would be nice if it would just run. (2) people need to figure out and use touch off before they run anything
[19:00:45] <alex_joni> jepler: they always do
[19:00:51] <jepler> the normal procedure of "touch off Z0 as top of material" means that something like SH=0 isn't a solution
[19:01:00] <jepler> since then you destroy the tool on rapids
[19:01:10] <jepler> screwing around with g92: same thint
[19:01:23] <alex_joni> jepler: touch off Z0 as top of material on a machine with -4..0 travel seems like a bad choice
[19:01:25] <jepler> setting g54 offset in initial var file: works once, until you set origins
[19:01:32] <jepler> alex_joni: uh what?
[19:01:40] <jepler> it's what I do on my mill
[19:01:42] <jepler> it works just fine
[19:02:12] <cradek> ?
[19:02:13] <SWPadnos> you need to touch off the top of material as something slightly <0, or you can never move above the material
[19:02:13] <alex_joni> sorry.. not beeing obtuse on purpose
[19:02:15] <BigJohnT> alex_joni: this is what I did the other day http://pastebin.ca/1323841
[19:02:40] <SWPadnos> uh - nevermind. I think I may beatalking about homing or something
[19:02:51] <SWPadnos> s/beatalking/be talking/
[19:03:05] <cradek> BigJohnT: there's a Y problem too? I thought the problem was Z
[19:03:18] <BigJohnT> yes Y and Z
[19:03:21] <jepler> there is no problem
[19:03:36] <BigJohnT> X was all ready moved
[19:03:40] <jepler> there are negative Ys and Zs but that's not a problem
[19:04:08] <jepler> perfectly legitimate part programs have positive and negative numbers in them
[19:04:21] <jepler> here's the bigger problem: the program uses more X travel than my machine has. waaaah fix it
[19:04:35] <alex_joni> adjust #3 ?
[19:04:54] <alex_joni> * alex_joni is afraid of getting smacked.. but, there might be a way :D
[19:04:55] <cradek> I think we can't make it run as-is on every machine
[19:05:06] <alex_joni> pyvcp panel with a slider, then M66 to read the value -> presto
[19:05:15] <cradek> * cradek smacks alex_joni
[19:05:24] <alex_joni> luckily I didn't feel that
[19:06:52] <jepler> cradek: thank you for translating what I said from sarcasm into english
[19:08:12] <cradek> jepler: anytime
[19:08:21] <cradek> I also smacked alex for you
[19:08:26] <alex_joni> how about making it run on more machines?
[19:08:45] <alex_joni> cradek: you didn't have to.. jepler kicked me under the table
[19:08:56] <jepler> alex_joni: it runs on most of them, after you create proper offsets using touch off
[19:09:29] <alex_joni> guess then we need to fix the docs :D
[19:09:30] <jepler> however, nobody's proposed a durable fix for this alleged problem that doesn't make it harmful program when you use touch off
[19:09:31] <cradek> could one of you guys add (comments) saying how to use touch off to run the splash screen?
[19:09:44] <cradek> then it's like a mini-tutorial
[19:10:00] <BigJohnT> ok
[19:10:07] <SWPadnos> make G-code which shows up as instructions on how to load your own G-code
[19:10:24] <SWPadnos> instead of EMC2 AXIS
[19:10:27] <SWPadnos> :)
[19:10:28] <jepler> s/make it harmful/make it a harmful/
[19:11:04] <alex_joni> jepler: hmm.. not sure I see how offsetting it in Y by .5 makes it harmful ?
[19:11:08] <cradek> I'm serious
[19:11:10] <SWPadnos> but then nobody would be able to run it, except maybe Stuart
[19:11:11] <cradek> alex_joni: Z is the harm
[19:11:30] <cradek> alex_joni: it MUST do rapids at a safe height (> 0)
[19:11:42] <cradek> that means it will not run without a Z work offset
[19:12:06] <alex_joni> right
[19:12:33] <cradek> the fix is to show people how to set a work offset, which is among the first things they will need to figure out to use EMC anyway
[19:13:26] <cradek> unless I misunderstand the goal here
[19:13:53] <BigJohnT> I could put that in the first couple of lines as comments so it shows up
[19:14:11] <cradek> I think that would be nice
[19:14:29] <SWPadnos> how about a (msg."..") line
[19:14:37] <cradek> it will be a challenge to make it concise and precise enough - you have very few lines to work with
[19:14:40] <BigJohnT> I'll do it this evening when I get home
[19:15:02] <SWPadnos> ideally they'd have to dismiss a dialog that tells them not to try running the code until they have set work offsets (though it's already too late)
[19:15:29] <cradek> SWPadnos: YOU FOOL YOU SHOULD NOT HAVE DONE THAT [OK]
[19:15:36] <skunkworks> you guys are a bunch of programers with no machine experience (quote from some message board) ;)
[19:15:46] <SWPadnos> oh, that reminds me, with the new messaging stack in AXIS (very nice by the way), is there a keyboard command to clear a message/all messages?
[19:15:47] <alex_joni> QUICKLY PRESS ESCAPE NOW [OK]
[19:15:58] <SWPadnos> cradek, yeah, it is a little late by that point, huh :)
[19:15:59] <cradek> SWPadnos: help/key quick reference
[19:16:12] <SWPadnos> hmmm. that didn't work on this WIndows machine ;)
[19:16:27] <alex_joni> ctrl-space
[19:16:57] <SWPadnos> thanks - just found it
[19:17:12] <cradek> skunkworks: ha! I'm a better machinist than 99.9% of the population
[19:17:19] <BigJohnT> so there is no issue with moving the Y and tell them about setting the Z offset?
[19:17:46] <alex_joni> BigJohnT: if they set the offset for Z.. why not set it for Y aswell?
[19:18:08] <BigJohnT> start with one so as to not confuse them?
[19:18:13] <cradek> BigJohnT: the Y-0.02 is icky anyway. go ahead and move it I think
[19:18:30] <BigJohnT> ok
[19:18:47] <alex_joni> * alex_joni can do that now
[19:18:57] <cradek> (I'd even call it a bug in that font.)
[19:20:04] <jepler> nah, fonts "legitimately" go below the baselin
[19:20:04] <jepler> e
[19:20:30] <BigJohnT> why you must be all ready home alex_joni its 21:12 over there
[19:20:47] <alex_joni> oh, long time ago
[19:20:56] <alex_joni> .2 is enough?
[19:21:14] <cradek> jepler: but "C"?
[19:21:22] <BigJohnT> I think that is what I moved it
[19:21:53] <BigJohnT> nope I moved it .5 and it looked nice
[19:23:19] <CIA-2> EMC: 03alex_joni 07TRUNK * 10emc2/share/axis/images/axis.ngc: move .5 in Y - will be all positive now
[19:24:00] <alex_joni> BigJohnT: the only thing is that my clock is probably off ;)
[19:24:09] <alex_joni> about 7-8 minutes late
[19:24:30] <BigJohnT> my clock is always off :)
[19:24:53] <BigJohnT> and I don't wear a watch
[19:24:58] <alex_joni> better now
[19:27:58] <cradek> I wonder what "(Like CDI.)" means - it's all over the hostmot2 manpage
[19:29:42] <BigJohnT> I give up what is CDI ?
[19:29:49] <cradek> I don't know
[19:30:21] <BigJohnT> have to ask seb_kuzminsky I guess
[19:30:58] <CIA-2> EMC: 03jepler 07TRUNK * 10emc2/configs/common/configurable_options/pyvcp/spindle.xml: Panels offered in stepconf are forbidden to duplicate functionality already offered by the AXIS user interface.
[19:30:59] <CIA-2> EMC: 03jepler 07TRUNK * 10emc2/src/emc/usr_intf/stepconf/ (stepconf.glade stepconf.py): Panels offered in stepconf are forbidden to duplicate functionality already offered by the AXIS user interface.
[19:31:27] <jepler> "canonical digital input"
[19:31:37] <cradek> ah
[19:31:40] <jepler> no, that doesn't make sense
[19:31:50] <jepler> canonical device interface?
[19:31:56] <cradek> um sure
[19:32:03] <cradek> want some coffee?
[19:32:15] <jepler> anyway, I think it means "this bit is like what the documentation says encoders should do", and so forth
[19:33:17] <jepler> cradek: better wait until at least 2PM
[19:33:21] <jepler> michael was right about the dangers of early lunch
[19:34:18] <cradek> dang
[19:35:56] <alex_joni> dangers of early lunch?
[19:36:20] <alex_joni> I usually end up having an late lunch afterwards..
[19:52:56] <jepler> http://emergent.unpy.net/files/sandbox/bad-accel-in-g33.1.png sim/lathe g0x0z0; m3s20; g33.1 z3 k1 (inches)
[19:53:21] <jepler> Zacc scale is 5k/div so those moments of acceleration are way out of constraints
[19:53:29] <jepler> TRUNK
[19:53:39] <cradek> hmmm
[19:53:42] <cradek> sim/lathe?
[19:53:51] <jepler> yes
[19:54:07] <cradek> this code is totally different from the 2.2 code he's (probably?) using
[19:54:14] <cradek> but still, thanks - a different problem
[19:54:21] <alex_joni> he said 2.2.8
[19:57:59] <jepler> there's something weird going on here
[19:58:16] <jepler> sometimes it even just pauses
[19:58:27] <cradek> yeah it's completely bogus
[20:00:06] <cradek> I don't think index is working
[20:04:25] <jepler> it looks like it starts moving before index-enable is cleared ?
[20:05:23] <jepler> http://emergent.unpy.net/files/sandbox/move-before-index.png
[20:05:30] <jepler> but even so .. wtf is with that sawtooth xvel?
[20:05:44] <jepler> if threading was this bogus, wouldn't you have noticed on your lathe !?
[20:07:39] <cradek> um, I haven't threaded for a while, but it was working then
[20:08:24] <seb_kuzminsky> "CDI" == canonical device interface
[20:08:30] <seb_kuzminsky> not sure if that's a useful thing to say in the docs
[20:10:40] <BigJohnT> not without a definition to go along with it :)
[20:11:04] <seb_kuzminsky> good point :-)
[20:11:50] <alex_joni> users won't know what it is, even with a definition
[20:11:59] <seb_kuzminsky> maybe i should just remove it
[20:12:21] <seb_kuzminsky> maybe it was more of a "note to self"
[20:33:02] <Martinp23> [Global Notice] Hi folks! Earlier one of our leaf (client) servers had a few connection issues. This was due to latency issues on the sponsor's network. Fortunately, the sponsor now reports that the problems have been resolved and so everything is back to normal. We're very sorry for the inconvenience. Thanks for using freenode and have a nice day!
[21:09:09] <SWPadnos> can anyone think of halcmd commands that are applicable without RT loaded, other than help?
[21:09:37] <alex_joni> and you don't mean sim.. right?
[21:09:55] <SWPadnos> correct
[21:10:26] <SWPadnos> I guess the command-line completion could also try to complete switches, but there aren't any that make sense without RT
[21:10:51] <alex_joni> loadusr ?
[21:10:55] <alex_joni> waitusr?
[21:11:08] <jepler> I'd say "none".
[21:11:09] <alex_joni> and quit
[21:11:12] <jepler> don't get clever
[21:11:13] <SWPadnos> I'm not sure you can loadusr without RT loaded, hal_init will fail
[21:11:26] <alex_joni> jepler: I only read the command from halcmd help
[21:11:26] <SWPadnos> I'm trying to be exactly as clever as needed here :)
[21:12:23] <jepler> "halcmd -h" works without realtime loaded, but "halcmd help" doesn't. of course, the version I just tested is apparently 2.1.7, so maybe that needs some salt with it
[21:12:26] <alex_joni> I wonder if it's a bug that I can run all halcmd commands without errors
[21:12:37] <alex_joni> (on sim without HAL started/loaded)
[21:12:55] <jepler> alex_joni: it's a tiny, unimportant bug
[21:12:58] <SWPadnos> heh
[21:13:08] <alex_joni> I can live with it beeing a feature :)
[21:13:11] <SWPadnos> I just noticed that one as well - trying to load realtime seems to not quite fail
[21:13:18] <SWPadnos> err, hal_init seems to not quite fail
[21:13:46] <jepler> SWPadnos: what are you trying to do?
[21:13:57] <alex_joni> obviously some bug fix
[21:14:06] <alex_joni> certainly not a new feature ..
[21:14:07] <SWPadnos> make it so halcmd completion doesn't do really stupid things when no RT is loaded
[21:14:44] <SWPadnos> right now, you get error messages when you try to tab-complete at a bash shell
[21:14:45] <jepler> reminds me, for that halcmd completion stuff to help users, it has to be put in a file in /etc/completion.d
[21:14:50] <SWPadnos> yes
[21:14:57] <jepler> you'll work on that too?
[21:14:59] <alex_joni> -line completion could also try to complete switches, but there
[21:15:07] <alex_joni> sorry ..
[21:15:13] <SWPadnos> phew :)
[21:15:32] <SWPadnos> jepler, sure, if we can add a .profile script or something to the packages
[21:15:57] <SWPadnos> I don't know what the Ubuntu Way of making bash startup changes is though
[21:17:01] <jepler> I think /etc/completion.d is a "drop a file in here and magic happens" directory
[21:17:09] <SWPadnos> oh, could be
[21:17:26] <alex_joni> I think all .d directories are like that
[21:17:51] <SWPadnos> ok, so dropping e.c2-completion in there should do it. I'll check that
[21:17:52] <alex_joni> btw, I plan to take advantage of /etc/apt/sources.list.d/
[21:17:56] <SWPadnos> emc2-completion
[21:18:01] <SWPadnos> good plan :)
[21:18:08] <alex_joni> can't hurt to try it out..
[21:18:41] <alex_joni> (that makes it easier to update versions or repos.. just nuke the old emc2.list, and write a new one)
[21:26:17] <cradek> jepler: mdi!
[21:26:21] <cradek> tc->id is zero
[21:26:32] <cradek> I thought those got negative ids
[21:27:02] <jepler> cradek: aha
[21:30:06] <cradek> I bet I broke it when I put line numbers in the canons
[21:34:37] <cradek> hm, line-number related stuff is still bad
[21:35:24] <cradek> when I run a program (7 lines) to the end, current_line goes to 0 like it should. but then when I mdi a command, it goes back to 7
[21:35:40] <alex_joni> do you have LAZY_CLOSE ?
[21:35:48] <cradek> no
[21:36:52] <alex_joni> interp_list.set_line_number(--pseudoMdiLineNumber);
[21:37:13] <jepler> that doesn't work anymore
[21:37:21] <jepler> because the motions get line numbers in the canon calls, or something like that
[21:37:26] <jepler> cradek explained all this to me once
[21:37:33] <cradek> mumble mumble mumble
[21:37:41] <alex_joni> that's the only thing that gets set for MDI's I think
[21:37:59] <jepler> why's the line number important in motion?
[21:38:40] <alex_joni> canon also calls: interp_list.set_line_number(line_no);
[21:39:06] <alex_joni> in flush_segments()
[21:39:07] <cradek> it's how I tell if this move is still the one I was working on last time
[21:39:19] <SWPLinux> crap. I have unfinished work in halcmd completion, so I can't commit the nonRT completion patch
[21:39:44] <alex_joni> diff | sortout | patch fresh TRUNK ?
[21:40:02] <cradek> same files?
[21:40:04] <SWPLinux> I guess I should try to figure out how I was going to list only the thread which a function is attached to
[21:40:10] <SWPLinux> yeah, it's more completion stuff
[21:40:40] <SWPLinux> making delf smart about which functions it shows you, and then making it complete the correct thread (since a function is only ever atteached to one)
[21:40:44] <SWPLinux> attached
[21:41:07] <alex_joni> cradek: is line-number attached to endpoint now?
[21:41:36] <cradek> motion-causing canon calls have a line number as an argument
[21:42:25] <alex_joni> right, and they get called by interp with the line number as an argument
[21:43:11] <alex_joni> Interp::execute_block()
[21:43:22] <alex_joni> block->line_number = settings->sequence_number;
[21:43:29] <jepler> SWPadnos: I have a memory that I promised to do something in connection with 'halcmd alias'; do you recall what it was?
[21:43:35] <alex_joni> (I bet that's where it takes the old number from .. or something like that)
[21:43:45] <SWPLinux> jepler: err, no - not really
[21:43:47] <alex_joni> jepler: maybe write a test?
[21:43:53] <SWPLinux> the IRC logs may remember
[21:44:10] <alex_joni> hmm.. there is one already
[21:44:15] <alex_joni> maybe you already did..
[21:44:58] <SWPLinux> more food. bbiab
[21:48:07] <cradek> argh
[21:48:23] <cradek> too many layers
[21:48:28] <cradek> I'm so lost
[21:48:34] <alex_joni> * alex_joni is looking too
[21:48:40] <cradek> thanks :-/
[21:49:01] <cradek> too bad I keep screwing it up and you have to fix it
[21:49:15] <alex_joni> oh, I don't _have_ to :P
[21:49:18] <alex_joni> I just try to
[21:49:26] <cradek> :-)
[21:50:05] <ehj> Alex- I don't want to interrupt you, but when you get a chance, can we chat about Ubuntu kernel debs?
[21:50:21] <alex_joni> ehj: sure
[21:50:29] <alex_joni> the only issue is that it's close to midnight here ;)
[21:50:37] <ehj> Looked like you were in the middle of something.
[21:51:47] <ehj> You mentioned some other instructions in your email.
[21:52:14] <alex_joni> ehj: yup, download the source from http://www.linuxcnc.org/hardy/dists/hardy/base/source
[21:52:20] <ehj> alex - ok, I will try to keep it short.
[21:52:27] <alex_joni> (url from memory.. might be a bit off, it was in the email)
[21:52:41] <alex_joni> unpack the source, then I'll walk you into it :)
[21:52:50] <ehj> k, yea I saw that in the email and already went there.
[21:52:56] <alex_joni> oh, and grab your .config from the kernel you already built
[21:53:04] <alex_joni> (the one that is running, and shows 4 cpu's)
[21:53:25] <ehj> Ok, that will probably be to long I was going to install another instance of Ubuntu just for this.
[21:53:32] <ehj> *too
[21:54:14] <alex_joni> for the record.. I hate the "Home All" thingie when debugging something
[21:54:26] <cradek> just turn it off!
[21:54:33] <cradek> (me too)
[21:54:47] <alex_joni> emctask: set_line_number -2
[21:54:47] <alex_joni> NML_INTERP_LIST::append(nml_msg{size=116,type=220}) : list_size=1, line_number = 420
[21:55:17] <ehj> alex - I will set that all up and check back tomorrow. Thanx
[21:55:28] <alex_joni> ehj: I'm still here for 1-2 hours ;)
[21:55:34] <cradek> I bet 420 is the number of lines in axis.ngc
[21:55:34] <alex_joni> usually
[21:55:38] <alex_joni> right
[21:56:15] <ehj> Alex - k, I will see how far I get.
[21:56:22] <alex_joni> ok.. so emctaskmain sets the interp line number to -2, then puts the command on the interp list
[21:56:51] <alex_joni> and calls emcTaskPlanExecute()
[21:57:15] <alex_joni> which calls interp.execute(command)
[22:01:47] <alex_joni> once it gets there (rs274ngc_pre.cc Interp::execute() line number is wrong)
[22:05:18] <cradek> ohh the canon call is wrong
[22:05:27] <cradek> I was looking in the wrong place
[22:05:34] <alex_joni> which one?
[22:05:57] <cradek> interp calls STRAIGHT_FEED(wrong line number, x, y, z, ...)
[22:06:42] <alex_joni> block->line_number ?
[22:06:48] <cradek> right
[22:07:25] <alex_joni> why is that wrong?
[22:08:06] <cradek> Interp::execute_block sets it to settings->sequence_number...
[22:08:12] <alex_joni> right
[22:08:17] <alex_joni> which is wrong ..
[22:09:02] <cradek> does the interp know if it's running in mdi mode?
[22:09:10] <alex_joni> I don't think so
[22:09:43] <alex_joni> I think it knows that it's MDI when Interp::execute() is called
[22:10:07] <alex_joni> there is a MDImode =1 in there
[22:10:12] <cradek> aha
[22:12:53] <cradek> if (NULL != command) {
[22:12:53] <cradek> MDImode = 1;
[22:12:53] <cradek> _setup.sequence_number = -1;
[22:13:00] <cradek> this 'fixes' it
[22:13:07] <alex_joni> but that shouldn't be -1
[22:13:16] <alex_joni> it should get the line_number from the interpl
[22:13:19] <cradek> I don't think anything cares whether all the mdi commands have different ids
[22:13:28] <alex_joni> if you say so ;)
[22:13:31] <cradek> maybe the interpl shouldn't keep track of line numbers anymore
[22:13:41] <cradek> they are overridden by the ones in the canon calls
[22:14:10] <alex_joni> ah, so that's what happens..
[22:14:25] <alex_joni> taks sets the line number to be used, then calls interp to interpret the command
[22:14:43] <alex_joni> interp does the interpreting and calls canon calls, which overwrite the line number
[22:15:05] <cradek> ahhh
[22:15:28] <cradek> http://cvs.linuxcnc.org/cvs/emc2/src/emc/task/emccanon.cc.diff?r1=1.149;r2=
[22:16:05] <cradek> I always forget that task runs the interp both ways - its input and output
[22:16:50] <alex_joni> right
[22:17:21] <cradek> should I commit this one line?
[22:17:27] <alex_joni> one way to fix it is overload Interp::execute() and pass a line number
[22:17:31] <cradek> or is there a bigger fix needed
[22:17:35] <alex_joni> when we call it for a MDI
[22:17:43] <cradek> ok, I see
[22:17:47] <alex_joni> but probably that's too paranoid for this
[22:17:57] <alex_joni> (just to have increasing negative MDI numbers)
[22:17:58] <cradek> I suppose it would be better if the IDs are different
[22:18:12] <alex_joni> can you blend them?
[22:18:18] <cradek> should we do it that way (tomorrow)?
[22:18:28] <alex_joni> I can try and see what happens ;)
[22:18:34] <cradek> not really - so the TP knows them apart
[22:18:41] <cradek> that's what caused all this in the first place
[22:18:52] <alex_joni> then it's not that important
[22:18:54] <cradek> ok I'm all for it, if you can fix it that way
[22:19:00] <alex_joni> if it doesn't work right away, I'll drop it
[22:21:14] <jepler> cradek: need any of those tools that thinktink.com/precisebits.com sell? I'm going to put in an order.
[22:21:38] <cradek> no thanks, I think I have several left
[22:21:49] <jepler> ok
[22:22:03] <jepler> you ever going to put max back together to be a circuit board milling machine anyway?
[22:22:16] <cradek> not sure...
[22:23:07] <alex_joni> maybe 3D PCB's
[22:33:26] <alex_joni> emctask: set_line_number -2
[22:33:26] <alex_joni> rs274ngc_pre: execute() line_number = -2
[22:33:26] <alex_joni> NML_INTERP_LIST::append(nml_msg{size=116,type=220}) : list_size=1, line_number = -2
[22:33:47] <alex_joni> cradek: I'll clean it up, and commit
[22:34:00] <alex_joni> please look it over, and revert if it's too "weird" or intrusive
[22:39:28] <CIA-2> EMC: 03alex_joni 07TRUNK * 10emc2/src/emc/nml_intf/emc.hh: fix line number in case of MDI commands
[22:39:30] <CIA-2> EMC: 03alex_joni 07TRUNK * 10emc2/src/emc/canterp/canterp.cc: fix line number in case of MDI commands
[22:39:30] <CIA-2> EMC: 03alex_joni 07TRUNK * 10emc2/src/emc/task/ (emctask.cc emctaskmain.cc): fix line number in case of MDI commands
[22:39:31] <CIA-2> EMC: 03alex_joni 07TRUNK * 10emc2/src/emc/rs274ngc/ (rs274ngc.hh rs274ngc_pre.cc): fix line number in case of MDI commands
[22:40:38] <alex_joni> the only thing I don't like is redefining (copy-ing) emcTaskPlanExecute in emctask.cc
[22:40:45] <alex_joni> maybe someone comes up with a better idea..
[22:48:18] <SWPadnos> could be
[22:50:08] <alex_joni> ehj: no problem
[22:50:16] <ehj> Alex - I have a new bare install of ubuntu 8.04, no packages other than the default packages are loaded at this point. Which specific source tar balls should I download? linux_2.6.24-16.30.linuxcnc.4.tar.gz and rtai_3.6.1-linuxcnc.4.tar.gz?
[22:51:18] <alex_joni> grab the linux_2.6.24-16.30.linuxcnc.4.tar.gz source for now
[22:51:26] <ehj> k
[22:52:58] <alex_joni> let me know when you unpacked it
[22:53:31] <alex_joni> if it takes a while to download, take the time and "sudo apt-get install ccache"
[22:53:44] <SWPadnos> heh
[22:53:53] <SWPadnos> noticed the 1:40 comment huh? :)
[22:54:15] <SWPadnos> alex_joni, does make-kpkg always do a clean build?
[22:54:27] <SWPadnos> (or whatever the kernel packager helper scriptie thingie is)
[22:54:39] <alex_joni> yes
[22:54:46] <SWPadnos> bummer
[22:54:53] <alex_joni> but that doesn't work with ubuntu kernel sources anymore
[22:54:58] <alex_joni> so make-kpkg is out :D
[22:55:04] <ehj> alex - quick question, on debian I can do "su -" and use the password entered at install. Under Ubuntu this password is rejected. Do I have to sudo everything?
[22:55:20] <alex_joni> you can sudo -s
[22:55:34] <ehj> k
[22:55:34] <alex_joni> and enter your password, then you'll get a root prompt
[22:55:49] <alex_joni> or use "sudo passwd" to set the root passwd, then 'su -' will work too
[22:57:07] <ehj> Should I unpack to my home folder or /usr/src as with the Lenny instructions?
[22:57:25] <alex_joni> your home folder is fine
[22:57:48] <alex_joni> you need to install build-essential now
[23:01:35] <CIA-2> EMC: 03bigjohnt 07TRUNK * 10emc2/share/axis/images/axis.ngc: add a hint or three for those who must run the splash code
[23:01:48] <alex_joni> even though they shouldn't .. eh?
[23:02:40] <BigJohnT> heh
[23:03:11] <BigJohnT> * BigJohnT runs and hides
[23:04:07] <alex_joni> ehj: let me know when you are finished
[23:07:03] <ehj> k, done and done.
[23:07:43] <alex_joni> ok.. now lets look at some stuff
[23:07:49] <ehj> k
[23:07:50] <alex_joni> but before that..
[23:07:59] <alex_joni> NEVER EVER run kernel command in the source
[23:08:03] <alex_joni> like make menuconfig
[23:08:09] <alex_joni> make clean, and the like
[23:08:16] <ehj> k
[23:08:30] <alex_joni> they will just mess up the source, and you won't be able to build packages :)
[23:08:37] <alex_joni> now.. look inside debian/
[23:08:57] <alex_joni> lots of folders there
[23:09:03] <alex_joni> we care about binary-custom.d/
[23:09:15] <alex_joni> inside there you'll see a folder rtai/
[23:09:22] <ehj> k, I am there
[23:09:30] <alex_joni> (which is our custom flavour)
[23:09:42] <ehj> k
[23:09:51] <alex_joni> in patchset/ you'll see the patches that get applied
[23:10:10] <alex_joni> the 0001-hal-linux-2.6.24-x86-2.0-04.patch you probably know already
[23:10:21] <alex_joni> (it's the one you used to apply by hand)
[23:10:43] <ehj> got it
[23:10:48] <alex_joni> the other one is a small fix I had to do to allow rtai to build
[23:10:54] <alex_joni> ok.. up one dir
[23:11:01] <alex_joni> you'll see config.i386
[23:11:02] <ehj> k
[23:11:25] <alex_joni> that is the config used to build the kernel package
[23:11:48] <alex_joni> you can save that one, and replace with your own config (the one with SMP)
[23:12:57] <ehj> My .config was a folder, I must have the wrong thing.
[23:14:22] <alex_joni> right
[23:14:32] <alex_joni> you can get it from a system where you booted the kernel
[23:14:37] <alex_joni> it should be in /boot/
[23:15:22] <ehj> I have it in /usr/src/linux on another volume. Just a sec.
[23:18:22] <ehj> k, got it.
[23:19:55] <alex_joni> ok.. there are 2 ways to proceed
[23:19:57] <ehj> rename .config to config.386?
[23:20:01] <ehj> k
[23:20:05] <alex_joni> that would be a way
[23:20:25] <alex_joni> and it would result in building a kernel which is named similar to the regular linuxcnc kernel
[23:20:28] <ehj> -old
[23:20:35] <alex_joni> or we can create a falvour called rtai-smp
[23:20:40] <ehj> oops, wrong keyboard.
[23:20:42] <alex_joni> and put it there
[23:20:51] <alex_joni> I'd rather do that now
[23:21:03] <alex_joni> copy the whole rtai folder to rtai-smp
[23:21:17] <alex_joni> (the one inside debian/binary-custom.d/)
[23:21:22] <ehj> k
[23:22:16] <ehj> Done
[23:22:18] <alex_joni> hmm.. not sure it'll like dashes, so better make it rtaismp
[23:22:24] <alex_joni> just to be safe
[23:22:41] <ehj> Done
[23:23:21] <ehj> Now rename .config to config.i386 in rtaismp?
[23:24:21] <alex_joni> yes
[23:24:48] <alex_joni> now open debian/rules.d/i386.mk
[23:25:24] <alex_joni> you'll see a line "custom_flavours = .."
[23:25:30] <alex_joni> add rtaismp to that line
[23:25:43] <ehj> k
[23:26:27] <alex_joni> ok, now edit the build.sh script in the topdir
[23:26:57] <alex_joni> there is a part called "custom-binary-rtai" that needs to read "custom-binary-rtaismp"
[23:27:05] <ehj> k
[23:27:42] <alex_joni> now try to run it
[23:28:45] <alex_joni> it'll probably complain about missing programs, if any
[23:28:50] <alex_joni> (like fakeroot ..)
[23:29:54] <ehj> ./build.sh? Do I need sudo? error fakeroot: command not found.
[23:30:06] <alex_joni> sudo apt-get install fakeroot
[23:32:16] <ehj> k, next try, missing separator in i386.mk
[23:32:45] <alex_joni> ????
[23:33:12] <ehj> Never mind, I screwed up going between keyboards.
[23:33:57] <ehj> Just accept defaults?
[23:34:44] <alex_joni> yes
[23:35:36] <ehj> k, got to take a 20 minute break. Dinner is on the table.
[23:35:51] <alex_joni> well.. I'm off to bed
[23:35:57] <alex_joni> hope this compiles for you
[23:36:03] <ehj> np, I check back tomorrow.
[23:36:10] <alex_joni> if you got 2 more minutes I'll let you know what to do next
[23:36:24] <alex_joni> when this finishes, you should have a couple packages
[23:36:30] <alex_joni> a tar.gz with the new source
[23:36:44] <alex_joni> a linux-image-2.6.24-16-rtaismp* package
[23:37:00] <alex_joni> and a linux-headers-2.6.24-160rtaismp* package
[23:37:07] <alex_joni> and a linux-headers-2.6.24-16-rtaismp* package
[23:37:23] <alex_joni> you'll need to install both, and reboot and see if the kernel is running
[23:37:50] <alex_joni> if all is ok, you can grab the rtai sources from linuxcnc.org/hardy/dists/hardy/base/sources
[23:38:17] <alex_joni> edit rtai/debian/rules to read KERNEL_VER=2.6.24-16-rtaismp
[23:38:30] <alex_joni> the rest should be ok
[23:38:39] <SWPadnos> I wonder if -j<n> is usable with the kernel these days
[23:38:58] <alex_joni> then use the build script from rtai/build.sh
[23:39:20] <alex_joni> and that's it
[23:40:24] <alex_joni> (then obviously install the rtai-modules-2.6.24-16-rtaismp package aswell, and configure/compile emc2)
[23:40:46] <alex_joni> for emc2 you can get the sources, cd debian && configure -r
[23:41:20] <alex_joni> then fakeroot dpkg-buildpackage from the emc2 topdir
[23:41:44] <jepler> SWPadnos: yes, I think so
[23:42:02] <alex_joni> jepler: I think it already does that
[23:42:19] <alex_joni> we use DEB_BUILD_OPTIONS=parallel=2
[23:42:26] <SWPadnos> ok. I think I remember having problems with it a long time ago
[23:42:30] <alex_joni> that translates somewhere along the line to -j2
[23:42:38] <alex_joni> probably :D
[23:42:39] <SWPadnos> maybe in the 2.4-2.5 on gentoo era
[23:42:42] <SWPadnos> heh
[23:44:12] <alex_joni> 2.2 anyone?
[23:54:28] <BigJohnT> donde?
[23:54:41] <SWPadnos> waaaaaaay back when
[23:54:46] <SWPadnos> kernel 2.2, not EMC2.2
[23:54:47] <alex_joni> BigJohnT: 2.2.x kernel, not emc2
[23:54:50] <BigJohnT> LOL
[23:55:00] <alex_joni> I ran 2.2.13 for a really long time
[23:55:02] <SWPadnos> seems like 1974 right now
[23:55:10] <alex_joni> 94 maybe :D
[23:55:13] <SWPadnos> (seems like 1974 when 2.2 was cool, that is)
[23:55:19] <SWPadnos> yeah, time dilation
[23:55:57] <BigJohnT> * BigJohnT needs to stoke the time warp plasma drive
[23:56:14] <alex_joni> 2.2.0 was 1999
[23:57:00] <BigJohnT> YEA! my 5i20 will get here Tuesday
[23:57:03] <SWPadnos> I think I had set up a 1.4x(?) firewall at my old company
[23:57:07] <SWPadnos> cool
[23:57:16] <alex_joni> linux-1.1.13.tar.bz2 23-May-1994 00:00 1.0M
[23:57:21] <alex_joni> hah, 1M
[23:57:26] <SWPadnos> yeah
[23:57:32] <SWPadnos> remember the days of "zImage"
[23:57:37] <SWPadnos> instead of bzImage
[23:57:47] <alex_joni> I think I always ran bzImage
[23:57:52] <alex_joni> on the kernels I built
[23:57:54] <SWPadnos> "big zImage" :)
[23:58:00] <alex_joni> (not sure about rpm's)
[23:58:03] <SWPadnos> ie, too big for a floppy
[23:58:16] <BigJohnT> none of my kernels would pop :(
[23:58:24] <ehj> alex - I saw your notes. One thing on rtai, I need to changle processors to 4, but I should not use menuconfig there too, right?
[23:58:55] <alex_joni> it's already set to 8
[23:59:19] <alex_joni> in debian/rules --enable-cpus=8
[23:59:20] <SWPadnos> ehj, that's the maximum number of CPUs supported, not the number expected or rwquired
[23:59:28] <SWPadnos> required
[23:59:31] <ehj> k, it was 2 when doing it on lenny.
[23:59:50] <SWPadnos> alex_joni, is there a similar step for RTAI? (or does that do the RTAI one as well?)