#emc | Logs for 2005-06-08

Back
[00:00:15] <SWPadnos> well, home might be with the spindle in the middle of the work surface, not at an end
[00:00:40] <Jymmm> SWPadnos under what cercomstances?
[00:00:44] <SWPadnos> it doesn't strictly need to be 0,0,0 eitherr
[00:01:06] <SWPadnos> well - I may want a machining envelope that goes from -10 to +10, instead of 0 to 20
[00:01:18] <SWPadnos> if I do bolt circles all the time, for instance
[00:01:40] <SWPadnos> (shaft hole at 0,0, and nake acircular array of holes around the origin)
[00:01:48] <SWPadnos> make a circular ...
[00:02:09] <Jymmm> SWPadnos Ah, well unless I installed a DRO and use that as a HOME switch, it's gonan have to be 0,0,0
[00:02:23] <Jymmm> physically on the machien that is
[00:02:23] <SWPadnos> I was just pointing out that home is a well known position - it doesn't have to be at the end of travel
[00:02:35] <Jymmm> SWPadnos ah, ok. ty =)
[00:02:53] <SWPadnos> yeah - it's easier and less expensive to use the same switch, and on a budget machine, you'd want to do that
[00:04:02] <Jymmm> SWPadnos Well, like in your example. You can't have a physical switch right in the middle (not practically anyway). But I do understand what you are saying, but I would think that would be a virtiual point rather than 0,0,0
[00:04:33] <SWPadnos> sure you can - use a microswitch with a roller actuator, and a triangular piece of metal on the table
[00:04:43] <SWPadnos> (or trapezoidal)
[00:05:00] <SWPadnos> the metal block will depress the actuator as the table passes by
[00:05:04] <Jymmm> SWPadnos what purpose what that serve?
[00:05:19] <SWPadnos> it would give you home in the middle of travel ;)
[00:05:26] <Jymmm> SWPadnos (btw, I'm NOT being a smartass here)
[00:05:40] <SWPadnos> me either
[00:05:55] <Jymmm> SWPadnos well couldn't 0,0,0 plus 50 do the same thing?
[00:06:02] <SWPadnos> yes
[00:06:05] <Jymmm> assuming full travel is 100
[00:06:11] <SWPadnos> there is an ini setting ofr "home position"
[00:06:19] <SWPadnos> it's usually 0,0,0, but doesn't have to be
[00:06:37] <Jymmm> ok, and that need to be recalirbrated each time the machien is turned on.
[00:06:59] <SWPadnos> all that tells EMC is that the position is defined as X when the switch is hit
[00:07:03] <SWPadnos> no
[00:07:20] <SWPadnos> say I have a machine with 25x25 travel (familiar?)
[00:07:29] <Jymmm> yep =)
[00:07:33] <SWPadnos> and I want the 0,0,0 reference to be in the center of the work platform
[00:07:42] <Jymmm> right
[00:07:43] <SWPadnos> and 5 inches above it
[00:08:06] <SWPadnos> I can put the home switches at the travel limits (on the minus side, say)
[00:08:30] <SWPadnos> and put -12.5, -12.5, -5 as the home position in the ini
[00:08:55] <SWPadnos> now, the table will physically move to the left, front, down -most position it can get
[00:09:08] <Jymmm> so instead of always mounting the starting point at 0,0,0 you cna now do dead center instead (as example)?
[00:09:10] <SWPadnos> but the display will then change to (-12.5, -12.5, -5)
[00:09:15] <SWPadnos> yep
[00:09:23] <SWPadnos> a g0 0,0,0 will move to dead center
[00:09:29] <SWPadnos> (fast)
[00:10:04] <SWPadnos> you can also do that if you have a home switch that isn't at the end of travel - you can offset the defined home coordinate for the position of the switch
[00:10:24] <SWPadnos> (most of htese switches have rollers, and will allow travel beyond the dwitch point)
[00:10:26] <SWPadnos> these
[00:10:31] <SWPadnos> switch
[00:10:33] <SWPadnos> ...
[00:11:09] <fenn> yarr
[00:11:29] <SWPadnos> actually - look at these (and buy them, if I were you) http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7520414137
[00:11:40] <Jymmm> * Jymmm looks
[00:12:08] <SWPadnos> these allow you to put the switch somewhere, and have an adjustable block that pushes the switch
[00:13:05] <Jymmm> SWPadnos whats the diff in those compared to microswitches?
[00:13:20] <Jymmm> these look harded to mount
[00:13:26] <Jymmm> harder
[00:13:34] <SWPadnos> microswitch as in the little ones you get at radio shace, or the Honeywell Microswitch brand
[00:13:51] <Jymmm> CherrySwitch
[00:14:36] <Jymmm> http://www.lakesidepinballparts.com/switch.jpg
[00:14:39] <SWPadnos> no major difference, except for ruggedness, I think
[00:14:50] <Jymmm> like that, but withthe longer paddle
[00:14:51] <SWPadnos> also, these are made to have a positionally accurate trip point
[00:15:06] <SWPadnos> it varies by like 0.1 mm or something
[00:16:02] <Jymmm> I could be wrong, but on that machien, it would seem very difficult to mount those.
[00:16:18] <Jymmm> where a microswitch can fit in almost anywhere
[00:16:37] <Jymmm> those seem more like a conveoyer system
[00:16:39] <SWPadnos> true - they are bigger
[00:17:00] <SWPadnos> well - they're environmentally sealed, and have a 1/2" conduit thread on the back
[00:17:12] <SWPadnos> you can run the cable in a liquid-tight conduit
[00:17:29] <Jymmm> lol, I'm looking at using twisted pair =)
[00:17:47] <SWPadnos> on a larger machine, conduit is essential, since people are slinging around multi-hundred pound blocks of steel
[00:17:48] <Jymmm> but I know exactly what you mean.
[00:18:03] <Jymmm> Yep, or on a bottling line
[00:18:10] <SWPadnos> (1 6" vise is around 85 opunds - bad if you drop it on a cord)
[00:18:13] <SWPadnos> opunds
[00:18:16] <SWPadnos> pounds
[00:18:17] <SWPadnos> dammit
[00:18:24] <Jymmm> #s
[00:18:26] <Jymmm> there
[00:18:38] <SWPadnos> these are the ones I have, except 4 of mine have rollers: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7520535866
[00:19:35] <Jymmm> Cool. I think I'll stick with ms on the 25x25 machine. When I get to 125x125, then we'll talk =)
[00:20:03] <SWPadnos> these: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=7520675611
[00:20:40] <Jymmm> more like these http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&category=55833&item=7520451388&rd=1
[00:20:56] <SWPadnos> yep
[00:21:05] <SWPadnos> do you have the switches yet?
[00:21:22] <Jymmm> nope, $0.76 each
[00:21:30] <jacky^> i go to bed, night all
[00:21:35] <SWPadnos> ok - get some, and see how accurate they are
[00:21:36] <Jymmm> G'night jacky^
[00:21:39] <SWPadnos> good night jacky^
[00:21:46] <jacky^> night
[00:22:20] <Jymmm> I guess I could mount one to my calipers (somehow) and measure it
[00:22:31] <fenn> use a dial indicator if you have one
[00:22:43] <fenn> (not a dti)
[00:22:45] <Jymmm> dial calipers is what I have
[00:22:56] <Jymmm> whats dti ?
[00:23:01] <fenn> dial test indicator
[00:23:16] <fenn> same idea, but 100x more sensitive
[00:23:16] <Jymmm> oh, heh nope dont got one of those
[00:24:01] <Jymmm> i'll just use the jaws on the dial calipers to simulate the linear motion
[00:24:40] <Jymmm> but... I do like the idea of using a DRO scale as a limit switch. Just zero it where you want HOME to be
[00:25:07] <SWPadnos> ok - my Omrons have a +- 0.8 mm variation in operating position
[00:25:14] <fenn> jymmm, as a home switch you mean
[00:25:26] <Jymmm> fenn yeah
[00:26:14] <fenn> SWPadnos: that's not very good
[00:26:18] <SWPadnos> Jymmm: one other thing to think about with the open switches is junk gumming them up - the industrial ones are sealed, and chips won't stop them from working
[00:26:32] <SWPadnos> no - it's worse that I expected
[00:27:35] <fenn> on most hexapods they cover the whole moving assembly with thick waterproof bellows; only the clamping surface/spindle is exposed
[00:27:42] <fenn> makes a lot of sense to me
[00:28:02] <SWPadnos> but that's why people are interested in using an index pulse to do accurate homing
[00:28:47] <fenn> heh you could have a cam on your leadscrew that trips a switch :)
[00:29:04] <SWPadnos> well - -I'm lucky enough that my encoders have index, so I'm all set
[00:29:22] <fenn> yep
[00:29:23] <Jymmm> http://oeiwcs.omron.com/webapp/commerce/command/ProductDisplay?prrfnbr=741&prmenbr=316
[00:29:41] <SWPadnos> (in fact, I can AND the index with one of the phases, and get a 1/4000-revolution accuracy)
[00:32:15] <SWPadnos> http://oeiwcs.omron.com/webapp/commerce/command/ProductDisplay?prrfnbr=755&prmenbr=316
[00:32:30] <SWPadnos> 0.01 mm repeatability - that's better
[00:32:52] <Jymmm> SWPadnos heh, login and tell us the $$$$$$$$$$$$$$$$$$$$$$$$$$44
[00:33:04] <SWPadnos> If only I had a login :)
[00:33:32] <Jymmm> SWPadnos http://oeiwcs.omron.com/webapp/commerce/command/ExecMacro/Omron/macros/terms.d2w/report
[00:33:35] <SWPadnos> $35 in 10's at Mouser
[00:33:50] <SWPadnos> $35 in 10's at Mouser :)
[00:34:08] <Jymmm> for $35/ea I can buy 20 extra at $0.76/ea =)
[00:34:19] <SWPadnos> but where would you mount them all? :)
[00:34:39] <Jymmm> on the 80/20 =)
[00:34:48] <fenn> i saw a homemade optical switch somewhere on the net that was accurate to better than .0001" (.002mm)
[00:34:48] <SWPadnos> ah - that would work
[00:35:07] <SWPadnos> you could do without encoders - just read the position from the switches
[00:35:26] <Jymmm> lol
[00:35:37] <fenn> assuming you have leadscrews in the irst place
[00:35:58] <Jymmm> I like the idea of using a DRO scale as a dynamic HOME switch
[00:36:15] <Jymmm> hit the zero butotn, and you're home baby =)
[00:36:19] <Jymmm> toolless too
[00:36:28] <SWPadnos> you can do that with EMC
[00:36:44] <SWPadnos> just select each axis and hit the home button, and you're home, baby
[00:37:05] <SWPadnos> it's just if you want it to *mean* anything, you'd use switches
[00:37:12] <Jymmm> yep
[00:37:41] <Jymmm> I need to go drill some holes for this mounting plate. bbl
[00:37:53] <SWPadnos> see ya - it's time for ET anyway :)
[00:38:07] <Jymmm> ET phone ****************HOME*****************8
[00:38:26] <Jymmm> hasta!
[00:38:36] <SWPadnos> bye
[00:38:44] <SWPadnos> SWPadnos is now known as SWP_Away
[01:05:43] <fenn> howdy
[01:05:50] <jmkasunich> 'lo
[01:06:08] <fenn> trying to get axis to run with emc2
[01:06:21] <jmkasunich> any luck?
[01:06:27] <fenn> it's looking for plat/ but plat/ doesnt exist
[01:06:39] <fenn> emc2 doesnt hve a working make install either
[01:06:41] <jmkasunich> plat is an emc1 thing
[01:06:48] <fenn> so i'm trying to figure out where to put stuff to make it work
[01:06:50] <jmkasunich> nope - emc2 runs from the compile directory
[01:07:10] <fenn> supposedly this is the version of axis that runs with emc2
[01:07:27] <jmkasunich> I've never tried axis... alex got it working with emc2 I think
[01:07:39] <fenn> yeah a couple days ago
[01:10:03] <fenn> gonna look at the source to see what its trying to do
[01:13:31] <fenn> doh! i forgot to patch it.. *bonk*
[01:17:41] <fenn> + printf("alex_joni was here\n");
[01:18:13] <jmkasunich> is he taking credit? or blame? ;-)
[01:21:11] <fenn> territory, i think
[01:42:58] <bpmw_> Hi Fellows, I desperatley need some help with some code, I keep getting to line 13 and get a "joint 0 following error"
[01:43:36] <bpmw_> even though EMC verified the program.
[01:44:07] <fenn> that means your PID tuning is set up wrong (i think)
[01:44:24] <jmkasunich> bpmw: this is emc2, right?
[01:44:25] <fenn> it means the code is sending commands to the motors faster than it thinks the motors can keep up
[01:44:34] <bpmw_> I'm using emc2
[01:44:52] <jmkasunich> two possibilities:
[01:45:07] <bpmw_> Shoot!
[01:45:16] <jmkasunich> 1) you need to adjust the ferror and min_ferror numbers in your ini file (I can help you with that)
[01:45:52] <bpmw_> Ok I believe they are set to 1 and 0.0001
[01:45:55] <jmkasunich> 2) you are being bitten by a bug in the stepgen module (which I have been trying to fix for the last week, I'm a couple hours away from releasing the fix)
[01:46:29] <jmkasunich> 1 for ferror is certainly high enough, that's not your problem
[01:46:37] <jmkasunich> but 0,001 for min-ferror is probably too low
[01:47:00] <bpmw_> Should I try 0.0004?
[01:47:03] <jmkasunich> what is your scaling (steps/inch)?
[01:47:10] <jmkasunich> (or are you using mm?)
[01:47:21] <bpmw_> 28800, inches
[01:47:34] <jmkasunich> what is max velocity in the ini file
[01:47:45] <bpmw_> 0.100
[01:48:04] <jmkasunich> 0.1 inches/sec (6 inches/min)?
[01:49:04] <bpmw_> but I only rapid at F3 and Mill at F2 otherwise it dies. I have to eliminate all G00 commands.
[01:49:22] <bpmw_> yes to above.
[01:49:42] <jmkasunich> ok, you may be seeing the bug
[01:50:28] <jmkasunich> try changing FERROR to 0.010, and MIN_FERROR to 0.003
[01:50:42] <jmkasunich> if that doesn't fix it, then it is almost certainly the bug
[01:51:30] <bpmw_> Ok, I will give that a try! I'll let you know shortly.
[01:52:04] <jmkasunich> next question: how did you get your copy of emc2? did you follow the instructions on Weyland's wiki page?
[01:53:02] <bpmw_> Yes I followed them to a tee.
[01:53:46] <jmkasunich> ok, that's fine.. however that means you checked out a specfic version of emc2 (the one I wanted weyland to run) and so you won't get my fix when I commit it
[01:53:46] <bpmw_> John do I change in all axes?
[01:53:50] <jmkasunich> yes
[01:54:00] <jmkasunich> to fix the version issue:
[01:54:15] <jmkasunich> change to the emc2 directory
[01:54:30] <jmkasunich> and do: cvs up -dPA
[01:54:38] <A-L-P-H-A> could someone send me the generic.ini file... My BDI machine won't save to a floppy, nor does it have a net card.
[01:54:56] <jmkasunich> ohh... don't do that cvs command yet!!
[01:55:09] <jmkasunich> you just reminded me
[01:55:26] <jmkasunich> copy your ini file(s) to another name before you do the cvs up command
[01:56:09] <jmkasunich> sorry A-L-P-H-A, I thought you were bpmw...
[01:56:19] <jmkasunich> bpmw, save your config files before you do the ipdate
[01:56:45] <bpmw_> don't worry my controller is in garage, have to bring in the house to connect to internet. I'll try ferror avenue first.
[01:56:47] <A-L-P-H-A> I did copy the generic.ini to generic_original.ini
[01:56:51] <A-L-P-H-A> and then started to tinker.
[01:56:57] <jmkasunich> A-L-P-H-A: exactly which files (from which version of emc) do you need?
[01:56:59] <A-L-P-H-A> but something's whacked with that machine, it powers itself off.
[01:57:16] <A-L-P-H-A> this is BDI 4.20 /usr/local/emc/generic.ini I am looking for.
[01:57:39] <jmkasunich> I have 4.20, I can send you that file... /msg my you addy
[01:57:56] <jmkasunich> s/my you/me your/
[01:58:48] <jmkasunich> note: if you are doing anything realtime on a machine (like EMC), you should go into the BIOS and disable all power management stuff
[01:59:14] <jmkasunich> dunno if that has anything to do with your problem or not, but it's worth a try
[02:01:28] <bpmw_> bpmw_ is now known as bpmw_[A]
[02:01:28] <bpmw_[A]> * bpmw_[A] is now away - Reason : be right back
[02:02:28] <A-L-P-H-A> jmkasunich, sorry didn't catch that.
[02:02:45] <A-L-P-H-A> now my questions are now to do with the acceleration, pause, and all that other gunk.
[02:03:28] <A-L-P-H-A> http://pastebin.com/296865 <-- movement stuff
[02:04:25] <jmkasunich> generic.ini is on the way
[02:04:31] <A-L-P-H-A> thanks
[02:07:38] <A-L-P-H-A> jmkasunich, nothing.
[02:11:49] <fenn> takes a while for email to get there
[02:13:10] <jmkasunich> fenn: it bounced... some overzealous anti-virus didn't like a file named <anything>.ini
[02:13:35] <A-L-P-H-A> what's this Cycle_TIME setting?
[02:13:37] <jmkasunich> renamed to generic.txt and it worked
[02:14:12] <jmkasunich> I'm not entirely sure, there are several cycle_time settings in different sections of the file
[02:14:35] <jmkasunich> you are running the bdi-4 branch which is mostly emc1 - I don't know emc1 very well
[02:14:57] <jmkasunich> in general, you shouldn't be changing stuff like that unless you know exactly what you are doing
[02:15:11] <jmkasunich> limit your changes to stuff like scaling, accel and velocity limits, and such
[02:15:22] <fenn> A-L-P-H-A: your pulley/gear ratio is backwards
[02:15:38] <fenn> should be 30/48
[02:15:58] <A-L-P-H-A> 30 is on my motor, 48 is on the drive mechanmism
[02:16:19] <bpmw_[A]> bpmw_[A] is now known as bpmw_
[02:16:21] <jmkasunich> I got 12800 steps/in for X and Y, 32000 steps/inch for Z
[02:17:49] <bpmw_> Hi John, That seemed to do the trick. Machine is running right now on 3rd hole. I'll try the update tommorow night. Thanks a bunch!!!!
[02:17:53] <fenn> right me too
[02:18:09] <jmkasunich> bpmw_ that's great
[02:18:24] <A-L-P-H-A> .25" / 2000 pulses * 48 teeth (drive mechanism) / 30 teeth (motor) = 0.0005" = 8000steps/inch.
[02:18:27] <fenn> A-L-P-H-A: think about what happens when you increase the pulley/gear size on the ballscrew
[02:18:28] <jmkasunich> are you subscribed to the users or developers mailing list?
[02:18:40] <bpmw_> Bye for now.
[02:18:47] <A-L-P-H-A> it should take up MORE steps
[02:18:55] <A-L-P-H-A> jmkasunich, whom? me
[02:19:04] <jmkasunich> no, bpmw
[02:19:35] <fenn> A-L-P-H-A: add units (i.e steps/rev steps/in) after each term in the equation and see if it balances out
[02:19:37] <A-L-P-H-A> 0.000078125" / step.
[02:20:06] <A-L-P-H-A> yeah, I think you're right... I do have the steps messed up.
[02:20:16] <jmkasunich> now you know why I prefer steps/in instead of in/step
[02:20:36] <jmkasunich> the numbers are nicer
[02:21:10] <A-L-P-H-A> .1" / 2000pulse * 0.625ratio = 0.00003125"/step
[02:21:30] <A-L-P-H-A> 32000steps/inch
[02:21:33] <jmkasunich> yep
[02:21:45] <A-L-P-H-A> no WONDER TurboCNC was messing up so badly.
[02:21:50] <A-L-P-H-A> hahahhaha
[02:22:01] <A-L-P-H-A> I was supposed to get 6.35mm, and I kept getting 6mm.
[02:22:22] <A-L-P-H-A> shib. I shoulda double checked my math.
[02:22:31] <fenn> why 30 and 48 tooth gears anyway?
[02:22:33] <A-L-P-H-A> <-- B.Sc Mathematical Sciences too.
[02:22:46] <A-L-P-H-A> fenn, uh... it was what I had handy. haahahhaha
[02:22:55] <A-L-P-H-A> only cost me $25CDN a set.
[02:22:59] <fenn> egad
[02:23:20] <fenn> real live gears? like, involute tooth?
[02:23:29] <fenn> seems like overkill for servos
[02:23:42] <A-L-P-H-A> nono... timing gears. I couldn't get real gears for that price.
[02:23:46] <A-L-P-H-A> XL timing gears.
[02:23:52] <fenn> right
[02:24:01] <A-L-P-H-A> good enough for my purposes.
[02:24:02] <jmkasunich> oh, you mean pulleys and timing belts?
[02:24:08] <A-L-P-H-A> I'm not machining areospace parts.
[02:24:20] <A-L-P-H-A> yeah, timing gears/belts.
[02:24:22] <fenn> yah i call those things toothed-belt pulleys
[02:24:26] <A-L-P-H-A> www.lloydleung.com/gallery
[02:24:34] <Jymmm> jmkasunich yeah the timing belt for a 251 clevland =)
[02:24:37] <Jymmm> 351
[02:24:47] <jmkasunich> gears mesh with each other, pulleys or sprockets go with belts and chains
[02:24:59] <fenn> pretty easy to make with a lathe and drill press
[02:25:04] <A-L-P-H-A> but these mesh with toothed belts
[02:25:20] <A-L-P-H-A> whatever, you guys know what I'm talking about now. :D
[02:25:59] <A-L-P-H-A> hey swampy
[02:25:59] <SWP_Away> SWP_Away is now known as SWPadnos
[02:26:04] <SWPadnos> hi there
[02:26:08] <jmkasunich> hi steve
[02:26:13] <SWPadnos> hi John
[02:26:32] <fenn> you guys have such boring names :)
[02:26:38] <SWPadnos> yeah Ben?
[02:26:46] <A-L-P-H-A> <-- Lloyd
[02:26:49] <A-L-P-H-A> beat THAT!
[02:26:57] <SWPadnos> Actually, I'm Stephen
[02:26:59] <fenn> too many lloyds around here
[02:27:20] <jmkasunich> sorry stephen ;-)
[02:27:39] <SWPadnos> two syllables, beat THAT!
[02:27:47] <A-L-P-H-A> http://lloydleung.com/gallery/Mill%20Photos/IMGP0211.JPG
[02:27:49] <Jymmm> Fabio
[02:27:58] <A-L-P-H-A> Flabio
[02:27:59] <SWPadnos> It's spelled Stephen, but pronounced Steve :)
[02:28:04] <SWPadnos> flabby-o
[02:28:37] <A-L-P-H-A> hey dmess, wanna carpool to the CNC-workshop?
[02:28:41] <jmkasunich> in that case, I was just using the phonetic spelling
[02:28:44] <dmess> high all
[02:28:46] <SWPadnos> right :)
[02:28:53] <SWPadnos> nope - not high here
[02:28:57] <A-L-P-H-A> dmess, http://www.cnc-workshop.com/
[02:29:01] <SWPadnos> (except in latitude)
[02:29:06] <dmess> where's it at...??
[02:29:19] <A-L-P-H-A> dmess, http://www.cnc-workshop.com/map.htm
[02:29:20] <SWPadnos> Illinois - near Peoria
[02:29:22] <jmkasunich> Illinoizy
[02:29:31] <Jymmm> BFE
[02:29:37] <A-L-P-H-A> about 13.5hr drive. if we don't get lost.
[02:29:40] <A-L-P-H-A> hahahhaa
[02:29:59] <jmkasunich> out in the boonies is fine for me... I don't like traffic and big cities
[02:30:09] <dmess> a long way from Matatchewan
[02:30:24] <jmkasunich> where's that?
[02:30:29] <dmess> i dind get lost... ' )
[02:30:30] <Jymmm> jmkasunich Population 1,000,000 is small
[02:30:53] <SWPadnos> not around here - that's twice the population of the state!
[02:30:53] <dmess> camp got lost
[02:30:56] <A-L-P-H-A> Jymmm, but those 1,000,000 people don't live in appartments... they live in REAL houses.
[02:31:01] <jmkasunich> I grew up in a town with 6000
[02:31:07] <SWPadnos> me, too
[02:31:12] <SWPadnos> there are around 8000 now though
[02:31:24] <jmkasunich> other way with my town, about 3000 now
[02:31:30] <A-L-P-H-A> dmess, Monday, June 20, thru Sunday, June 26, 2005
[02:31:34] <SWPadnos> aqnd it's just south of the "big city" of 50,000
[02:31:44] <jmkasunich> steel mill shut down, my whole generation pretty much had to move away for work
[02:31:46] <dmess> 3000-16000 depending on yhe $$ of gold
[02:31:48] <jmkasunich> mostly retirees now
[02:31:54] <SWPadnos> ah - bummer
[02:32:05] <jmkasunich> early 80s
[02:32:11] <SWPadnos> the county planners here were pretty smart - they started getting high tech companies in the '60s
[02:32:17] <SWPadnos> like IBM
[02:32:19] <fenn> A-L-P-H-A: www1.atwiki.com/cnc-workshop for what it's worth
[02:32:30] <dmess> not likely ALPHA... landing gear to make... you know..
[02:32:48] <fenn> damn roland never put the link up
[02:32:53] <A-L-P-H-A> dmess, damn you!!!! you're the only one near me to carpool with.
[02:33:12] <A-L-P-H-A> who's in Michigan?
[02:33:18] <Jymmm> dmess oh come one now... wing it w/o landing gear!
[02:33:21] <A-L-P-H-A> OH!!! isn't Les from Michigan?
[02:33:28] <fenn> no, georgia
[02:33:30] <jmkasunich> ray is in the UP of MI
[02:33:37] <A-L-P-H-A> RAY_H! ahh. yes.
[02:33:39] <dmess> i'll drive the cab... but i gotta be at work on Monday
[02:33:48] <A-L-P-H-A> hehehe... wonder could I get him to drive the rest of the way?
[02:34:09] <fenn> he's going there the friday before
[02:34:12] <fenn> i think
[02:34:17] <rayh_wayaway> rayh_wayaway is now known as rayh
[02:34:21] <jmkasunich> yes, maybe even thursday
[02:34:26] <A-L-P-H-A> doh.
[02:34:29] <rayh> Hi guys. Nice evening and food on the beach.
[02:34:31] <jmkasunich> speak of the devil... you been lurking ray?
[02:34:39] <rayh> Someone looking for a ride.
[02:34:45] <A-L-P-H-A> moi.
[02:34:48] <A-L-P-H-A> C'est moi.
[02:35:03] <rayh> Where you starting?
[02:35:08] <A-L-P-H-A> Toronto!
[02:35:09] <dmess> oh i carry my own landing gear.. but some of the customers are funny about the initial pics they seen WITH wheels
[02:35:21] <Jymmm> dmess lol
[02:35:35] <dmess> tu parle francais??
[02:35:35] <jmkasunich> alpha: I'm driving from Cleveland
[02:35:46] <A-L-P-H-A> Ohio?
[02:35:49] <jmkasunich> yes
[02:36:01] <jmkasunich> out on Saturday, back next Saturday
[02:36:13] <dmess> just a jont ALPHA... LOL
[02:36:40] <A-L-P-H-A> hmm... wonder could I meet you in Toledo.
[02:37:05] <jmkasunich> probably... you'd have to fiqure out someplace to leave your car
[02:37:30] <A-L-P-H-A> wonder how much a flight from Toronto to Detroit would be.
[02:37:42] <dmess> welcome to CANADA the largest contry on the planet.... 18 hrs to travers ONTARIO alone... we have 10 provinces and 3 territories... wann go for a drive.. ??
[02:38:10] <A-L-P-H-A> traverse
[02:38:14] <jmkasunich> A-L-P-H-A - or toronto to cleveland
[02:38:14] <Jymmm> s/drive/dog sled/
[02:38:19] <SWPadnos> Toronto to Chicago is around $375
[02:38:22] <SWPadnos> (USD)
[02:38:30] <Jymmm> one-way
[02:38:36] <SWPadnos> round trip
[02:38:50] <Jymmm> one and a half ways!
[02:38:58] <dmess> good german car.. not with your yankee shite
[02:38:59] <SWPadnos> circle jerk tour
[02:39:14] <SWPadnos> closer to $600 to Peoria
[02:39:28] <A-L-P-H-A> SWPadnos, found them for $301
[02:39:36] <dmess> im familiar SW
[02:39:38] <SWPadnos> even better - is that CAD?
[02:39:41] <A-L-P-H-A> $382CDN.
[02:39:51] <A-L-P-H-A> $301USD
[02:39:53] <jmkasunich> peoria is bound to involve connections... detroit or cleveland would be direct flights
[02:39:54] <A-L-P-H-A> $382CDN.
[02:40:03] <A-L-P-H-A> round trips
[02:40:08] <SWPadnos> not bad - that's probably your best bet - food and lodging on the way tend to add up
[02:40:25] <jmkasunich> I think northwest has a detroit hub, continental has a celevland hub
[02:40:30] <dmess> but did they mention YOU get ON the plane.... not IN the plane
[02:40:34] <Jymmm> SWPadnos sleeping bag and doritos
[02:41:00] <SWPadnos> just like on the plane
[02:41:16] <jmkasunich> SWP: you going to the workshop?
[02:41:16] <fenn> dmess: you associated with messier-dowty or is it just a freak coincidence?
[02:41:21] <dmess> ohh theres a difference...
[02:41:30] <SWPadnos> jmkasunich: I would like to, but I don't think I can
[02:41:35] <dmess> i would so be ..
[02:41:44] <jmkasunich> work?
[02:41:52] <rayh> catch you later guys.
[02:41:57] <dmess> whos fenn associated with
[02:41:59] <jmkasunich> bye ray
[02:42:01] <SWPadnos> I hope so :)
[02:42:11] <A-L-P-H-A> hmm... $524CDN round trip from Toronto to Peoria.
[02:42:14] <fenn> the scorched earth party
[02:42:49] <SWPadnos> plus my anniversary falls in the middle - I should be here if it's possible :)
[02:42:51] <dmess> cool i fly non powered - self landed stuff too
[02:42:55] <A-L-P-H-A> forget it... out of my budget.
[02:43:03] <jmkasunich> uhhh, yeah, that would be wise
[02:43:10] <Jymmm> SWPadnos if you ever want to see your testicals again that is
[02:43:23] <SWPadnos> yep - and she can't come along (and probably wouldn't want to :) )
[02:43:29] <A-L-P-H-A> unless Dmess can get a cesna to fly for those days? :)
[02:43:30] <A-L-P-H-A> hehehe
[02:43:33] <SWPadnos> I want her to see them, but yeah :)
[02:43:50] <jmkasunich> A-L-P-H-A, you have my email... if you want to catch a ride from cleveland, toledo, or detroit, get in touch
[02:43:55] <SWPadnos> hmmm - I can get there for $312 though - hmmm
[02:44:00] <A-L-P-H-A> jmkasunich, thanks.
[02:44:02] <fenn> dmess: http://www.armory.com/~crisper/Scorch/
[02:44:09] <dmess> oh you still get to look at them,,, they show 'em to ya in the jar,,,, for a loonnnggg ting
[02:44:43] <Jymmm> dmess yours sitting on the mantel huh?
[02:46:34] <dmess> no she dont let mee see 'em that often...
[02:46:40] <Jymmm> lol
[02:47:01] <dmess> but i got pics from another girlfriend
[02:47:02] <Jymmm> you gotta lojack them the next time you see em
[02:47:39] <dmess> take em back underground... deep...
[02:47:56] <dmess> go minin' again
[02:52:17] <dmess> http://www.nt.net/~klglover/macassa.html when MEN were MEN and women were weak in the knees
[02:57:37] <dmess> http://www.kirklandlakegold.com/KLGold2005ver1_files/frame.htm#slide0232.htm
[02:57:53] <dmess> good nite all... be well
[02:58:00] <SWPadnos> night
[02:59:28] <jmkasunich> night
[02:59:42] <A-L-P-H-A> later
[03:02:16] <SWPadnos> jmkasunich: I'd like to confirm that I understand a couple of things about HAL....
[03:02:22] <jmkasunich> shoot
[03:03:14] <SWPadnos> ok. a HAL component basically exports pins, parameters, and functions, but doesn't actually do anything until one or more of those functions are added to a HAL thread, right?
[03:03:34] <jmkasunich> yep
[03:04:22] <SWPadnos> internally, a write to a pin (connected via a signal to one or more other pins) happens immediately, since it's just an indirect store
[03:04:26] <SWPadnos> ?
[03:04:35] <jmkasunich> yep
[03:04:46] <jmkasunich> the signal has storage associated with it, the pins are pointers
[03:04:53] <SWPadnos> ah - OK
[03:05:06] <jmkasunich> when a pin is connected to a signal, that means it's pointer is adjusted to point at the signal's storage
[03:05:12] <SWPadnos> yep
[03:05:26] <SWPadnos> I was thinking of the gearchanger module ide I had a long time ago :)
[03:05:27] <jmkasunich> when a pin is not connected to a signal, it points at dummy storage
[03:05:51] <jmkasunich> so the module can dereference the pointer without worrying about where it points
[03:05:58] <SWPadnos> idea, not ide
[03:06:02] <SWPadnos> yep
[03:06:02] <jmkasunich> right
[03:06:30] <SWPadnos> this is also more generically applicable to the general filter idea I mentioned in my email
[03:07:19] <SWPadnos> I guess that kind of thing will be put together in the .hal file - the integrator can just set up a thread with the gearchange logic module running before the "standard" spindle module
[03:07:25] <SWPadnos> connected via signals
[03:07:47] <jmkasunich> yes - the integrator has to decide which functions should execute first
[03:08:02] <jmkasunich> probably by looking at the flow of data
[03:08:17] <SWPadnos> yep - I'm not sure a program could do it anyway
[03:08:39] <jmkasunich> I think it could as long as you explicitly break loops such as feedback
[03:09:28] <jmkasunich> if you had more metadata associated with each pin, telling the program what function reads or writes the pin
[03:09:48] <SWPadnos> depends - in my idea, there may be several functions which get chained together to provide support for one piece of hardware
[03:09:50] <jmkasunich> I want to go there eventually, but that will definitely be after the big refactor
[03:09:55] <SWPadnos> yep
[03:10:31] <SWPadnos> as an aside, have you seen the work ValarQ has done on a graphical configurator?
[03:10:45] <jmkasunich> no, where is it?
[03:10:51] <SWPadnos> one sec - looking
[03:11:23] <SWPadnos> we talked it through, and he's basically making a graphic front end to halcmd
[03:12:07] <SWPadnos> http://arda.no-ip.org/crapahalic.png
[03:13:25] <jmkasunich> ooohhhhhh
[03:13:36] <SWPadnos> heh - I thought you might like it
[03:14:06] <SWPadnos> we realized that the only way to get the exported pins was to load the module, and see what it publishes
[03:14:22] <jmkasunich> yeah, that is a failing
[03:14:29] <SWPadnos> since the modules can generate different numbers and types of pins, depending on the parameters
[03:14:41] <SWPadnos> actually, the idea is this:
[03:14:57] <SWPadnos> (though I haven't gone over all of this with him yet)
[03:15:03] <fenn> wow crapahalic is really coming along
[03:15:33] <SWPadnos> 1) present a list of the components in some directory tree (the same place halcmd would look)
[03:16:10] <SWPadnos> 2) when the user puts a component on the canvas, scan the file (or some config file) for parameters to the module, and prompt the user for them
[03:16:25] <SWPadnos> 3) load the module with the given parameters (via halcmd)
[03:16:40] <jmkasunich> you are speaking of insmod time parameters at this point, not HAL params, right?
[03:16:56] <SWPadnos> yes - command-line params
[03:17:19] <SWPadnos> 4) draw the new part(s) on the canvas, with the pin names from a halcmd enumeration of pins
[03:17:54] <SWPadnos> that's the way to get pins - I can go on to parameters and threads if you like :)
[03:18:22] <jmkasunich> I like that idea... that means as soon as you add a new component, it becomes available to the GUI
[03:18:42] <SWPadnos> yes, but the downside is that you can't run the configurator on a machine that doesn't have HAL
[03:18:54] <jmkasunich> true
[03:19:29] <SWPadnos> however, it's great for hobbyists, who will be configuring the machine they intend to run EMC on
[03:19:38] <jmkasunich> some of the refactor ideas will help the gui situation
[03:19:45] <SWPadnos> cool
[03:19:57] <SWPadnos> is there a published list of goals for the refactor?
[03:20:00] <jmkasunich> one of the goals of the refactor is to eliminate insmod time parameters
[03:20:07] <SWPadnos> that's a good one :)
[03:20:10] <fenn> lots of people wlil want to configure hal via windows...
[03:20:22] <fenn> dunno if it is the best thing to encourage them though
[03:20:36] <jmkasunich> I won't be encouraging them to use windows ;-)
[03:20:40] <SWPadnos> I'm not sure of that , but they would probably like to "play with it" on Windows
[03:21:03] <SWPadnos> I suspect that there will be a distinct lack of encouragement for that :)
[03:21:13] <fenn> i would definitely like to play with it without having to patch a kernel
[03:21:28] <SWPadnos> yes
[03:21:35] <jmkasunich> re: goals.. no, they aren't written down anywhere. perhaps I should start a wiki page for that so we can share ideas
[03:21:44] <SWPadnos> that would be good
[03:21:56] <jmkasunich> re: config without a patched kernel... that might be possible
[03:22:15] <SWPadnos> I think that figuring out a "large object" atomic update would be good
[03:22:19] <jmkasunich> as long as you don't need to actually run RT threads, I think the rest could be done on vanilla linux
[03:22:26] <SWPadnos> (ie, larger than the machine word size)
[03:23:39] <jmkasunich> I have some misc ramblings on the refactor written down in a couple places (mostly me capturing my ideas, not neccessarily readable by anyone else)
[03:23:54] <jmkasunich> I should gather those notes together, clean it up, and post it
[03:24:09] <SWPadnos> well - I'd put it somewhere on your to-do list, but not hte highest priority
[03:24:43] <jmkasunich> I do remember rambling about how to do large objects (using your ideas of an extra level of indirection, dual buffers, and separate pointers to read and write)
[03:25:03] <SWPadnos> yep - double buffering and a double dereference will probably work
[03:25:07] <jmkasunich> the biggest conceptual change, however, is:
[03:25:41] <jmkasunich> right now, at insmod time, the module reads command line params to see how many and what kinds of hal "blocks" you want
[03:25:53] <jmkasunich> and immediately exports the pins, params, and functs for those blocks
[03:26:04] <SWPadnos> right - you want to be able to spawn blocks dynamically
[03:26:05] <jmkasunich> the refactor wouldn't do that
[03:26:22] <jmkasunich> instead it would export "blocktypes", which are the kinds of blocks it can export
[03:26:28] <jmkasunich> right, you got it
[03:26:56] <SWPadnos> are there technical reasons why HAL functions don't directly call functions in other modules?
[03:27:06] <SWPadnos> (or is ait a design decision)
[03:27:09] <jmkasunich> then a halcmd command can create an instance of a blocktype (we were referring to instances as "blocks")
[03:27:29] <jmkasunich> yes (both)
[03:27:42] <Jymmm> jmkasunich : My new toy (just ordered it today) http://www.k2cnc.com/KS-2525_detail.asp
[03:27:47] <SWPadnos> ok - can you point me to the technical issues?
[03:28:15] <jmkasunich> if a hal function calls another function by name, then that other function must be present when the module is loaded, so that kernel linking can connect them
[03:28:43] <jmkasunich> which kind of defeats the dynamic linking that HAL is all about
[03:28:51] <SWPadnos> ah - I thikn it works if the modules are loaded on the same insmod line (though I could be thinking of RPM :) )
[03:29:43] <jmkasunich> modules are still loaded one-by-one, and all symbol references in the first module must be satisified from already loaded modules (or the kernel itself) before you go to the next module
[03:29:53] <SWPadnos> ah -OK
[03:30:06] <SWPadnos> thats only a problem if there are circular references though
[03:30:11] <jmkasunich> true
[03:30:28] <SWPadnos> and the integrator already has to know what depends on what to get the thread ordering correct
[03:30:36] <jmkasunich> but if module A must always have module B loaded to provide some function, then why not combine them?
[03:30:52] <SWPadnos> because module C may also depend on A, but not B
[03:31:07] <SWPadnos> and B and C may be mutually exclusive as well
[03:31:29] <jmkasunich> you mean A depends on C, right?
[03:31:49] <jmkasunich> I think I see where you are going...
[03:31:53] <SWPadnos> right - sorry
[03:31:58] <jmkasunich> A callls foo()
[03:32:10] <jmkasunich> B and C both contain different implementations of foo()
[03:32:15] <jmkasunich> and you choose which one to load?
[03:32:29] <SWPadnos> A provides foo(), which is needed by B and C, but only one of B or C may be loaded at the same time
[03:32:39] <SWPadnos> or like you said - both are applicable
[03:33:21] <jmkasunich> direct calls between modules breaks some of the modularity that HAL has now
[03:33:29] <SWPadnos> true
[03:33:44] <SWPadnos> since the interdependence is only through pins, which are always valid
[03:33:48] <jmkasunich> you could use the same logic to make direct data connections between modules without using pins, but I don't think it's a good idea
[03:34:19] <SWPadnos> I had thought of that, but I think it's not necessary, since indirection is cheap
[03:34:31] <SWPadnos> though it would reduce configuration troubles
[03:34:32] <jmkasunich> hal function calls are pretty cheap too
[03:35:30] <SWPadnos> there could be a HAL "function" pin
[03:35:48] <jmkasunich> are you trying to reduce the amount of configuration by making modules somewhat self configuring (IOW, they assume some things about associated modules instead of making you explicitly stagte those things)?
[03:35:52] <SWPadnos> it would stretch the input / output metaphor
[03:36:00] <SWPadnos> no
[03:36:22] <SWPadnos> I was referring to the fact that there are three statements required to connect two pins
[03:36:25] <SWPadnos> create signal
[03:36:29] <SWPadnos> linkps sig1
[03:36:40] <SWPadnos> oops - pin1 signal
[03:36:49] <SWPadnos> linkps pin2 signal
[03:36:50] <jmkasunich> you are describing two (or more) modules that when loaded would interconnect themselves (either data or execution paths) without using the pin/signal or function/thread mechanism
[03:37:08] <SWPadnos> ah - yes - that would happen with direct function calls
[03:37:23] <jmkasunich> ok, let's talk about the "three statements" issue
[03:37:34] <SWPadnos> ok
[03:37:44] <jmkasunich> it is perfectly legal for a module to call newsig and linksp from within it's init code
[03:38:07] <SWPadnos> so it can make a named signal, and connect one of its own pins to it
[03:38:12] <jmkasunich> so a module could, upon installation, first export pins, then create some signals and connect them to the pins automatically
[03:38:14] <jmkasunich> yes
[03:38:42] <jmkasunich> example: (I dunno if we would actually want to do this, but it's something I thought about)
[03:38:46] <jmkasunich> kinematics:
[03:38:58] <jmkasunich> input to the block (if it was a block) is 6 coords
[03:39:06] <jmkasunich> output is 6 joint values
[03:39:27] <jmkasunich> the main motion core could export those 12 pins
[03:39:43] <jmkasunich> create 12 signals, and connect them to the pins
[03:39:57] <SWPadnos> that presents a problem though - you can't run more than one instance of a module that does that
[03:40:19] <SWPadnos> and you have to be sure that no two modules create the same signal name
[03:40:20] <jmkasunich> then when you load the kins module, it would export it's own 12 pins, and connect them to the signals that it "knows" the core module just created
[03:40:40] <jmkasunich> any connections (function or data) between modules has the same requirements
[03:40:56] <SWPadnos> yes, but they're named in the .hal file, by a human
[03:41:06] <jmkasunich> if you "hard code" connections between modules, that assumes some shared knowledge of the hooks needed for those connections
[03:41:54] <SWPadnos> yes - I'm thinking about fairly specific types of modules needing this stuff (and I'm not sure it's necessary - that's why I want to know why it isn't done :) )
[03:42:14] <jmkasunich> if module A calls foo() in module B directly, you can't have two instances of A for the same reason
[03:42:33] <SWPadnos> why not?
[03:42:45] <jmkasunich> I oversimplified
[03:42:48] <SWPadnos> heh - ok
[03:43:29] <jmkasunich> if A.0 calls foo(), and A.2 calls foo(), you probably don't want both calls to foo() to manipulate the same HAL pins or other data
[03:43:59] <jmkasunich> granted you can pass a pointer to an instance of whatever foo() is supposed to mess with
[03:44:10] <SWPadnos> it would be no different than one function being called from different threads (like a read or write function)
[03:44:11] <jmkasunich> but that is still more shared info between the caller and the callee
[03:44:45] <jmkasunich> there are very few cases (maybe none) where a function will be called from more than one thread
[03:45:02] <SWPadnos> multiple threads using parts of the same parport, for instance
[03:45:10] <jmkasunich> nope...
[03:45:20] <SWPadnos> each has to call read, or it can't be sure the pins are current
[03:45:32] <jmkasunich> nope, that's not how the HAL aproach works
[03:45:42] <jmkasunich> everything is periodic, sampled
[03:46:14] <jmkasunich> lets assume we're talking about read (write is similar, just in reverse)
[03:46:16] <SWPadnos> that introduces aliasing problems when you have multiple threads
[03:46:33] <jmkasunich> the fastest thread that wants to read the port calls read(), which reads the HW and updates the hal pins
[03:46:40] <jmkasunich> all other threads use the pin data
[03:46:54] <jmkasunich> HAL pin data that is
[03:47:04] <jmkasunich> since they are slower, there is no aliasing issue
[03:47:12] <SWPadnos> that's a configuration nightmare (or at least a pretty bad dream)
[03:47:46] <jmkasunich> two threads calling the same function (and possibly interrupting each other) is worse
[03:47:52] <SWPadnos> unless the HAL lib automatically assigns the read/write funcsto the fastest thread that uses them
[03:48:53] <fenn> "enough rope to hang yourself with"
[03:48:59] <jmkasunich> I don't think that is any more of a nightmare than any other part of the thread/function API
[03:49:03] <jmkasunich> fenn: you got it...
[03:49:07] <SWPadnos> heh - there is that
[03:49:48] <SWPadnos> I was discussing PLC functionality, and how it can fit in with HAL
[03:49:51] <jmkasunich> if you have a 1mS thread writing your parport, and you try to send step/dir info from a stepgen running in a 25uS thread thru that port, it ain't gonna work
[03:50:01] <SWPadnos> that's pretty obvious
[03:50:23] <jmkasunich> so how does "obvious" turn into "nightmare"
[03:50:45] <SWPadnos> if I have two threads that run at similar rates, and I change one to be a bit faster,
[03:50:57] <SWPadnos> I need to change which one has the reader / writer functions
[03:51:18] <SWPadnos> it means that I have to do non-local changes for simple things
[03:51:43] <jmkasunich> can you give me a concrete example... all the RT SW I've ever worked with had only a few threads, and each was at a distincly different rate
[03:52:07] <SWPadnos> nope - no concrete here :)
[03:52:26] <jmkasunich> for instance, in a motor drive, there is one thread at the PWM rate, say 4KHz, another at about 5mS for slower stuff, and a third at 50mS
[03:52:53] <jmkasunich> things naturally fall into differnt threads, and you don't go randomly shuffling things around
[03:53:12] <SWPadnos> emc does more than one thing.
[03:53:17] <SWPadnos> there can be a mix of steppers and servos
[03:53:24] <jmkasunich> likewise for EMC, there is a fast thread for software stepgen and encoder counting (completley unused if you don't do those things), the servo thread, and the traj thread
[03:53:42] <SWPadnos> ther could even be more than one "machine" being controlled simultaneously
[03:54:02] <jmkasunich> ok, mixed stepper/servo
[03:54:12] <SWPadnos> (looking at big picture stuff - a pallet changer could be another 3 axes of motion)
[03:54:24] <SWPadnos> using different kinematics
[03:54:50] <jmkasunich> all axis run their axis control code at the servo rate, true servo axis write DACs at the servo rate, stepper axis write position commands to stepgen at the servo rate
[03:54:50] <fenn> q: does it cost more to run another thread with the partport module?
[03:55:01] <SWPadnos> a PLC would have several threads, independent of motion, but similar in rate
[03:55:19] <jmkasunich> then the high speed part of the stepgen module reads the postion command and makes steps for those axis that needs steps
[03:55:32] <jmkasunich> why similar in rate?
[03:55:51] <jmkasunich> I can see having a 1mS thread, a 10mS thread, and a 100mS thread, but not two 1mS threads
[03:56:09] <SWPadnos> well - a PLC usually has toughly 1ms, 10ms, and slower threads (maybe 100ms or 1 sec)
[03:56:14] <SWPadnos> roughly
[03:56:22] <SWPadnos> the servo rate may also be 1ms
[03:56:37] <SWPadnos> they won't be in the same thread (maybe)
[03:56:56] <SWPadnos> and I suspect that they wil lrandomly change which runs first
[03:57:03] <jmkasunich> ok, so you have a 1mS thread in the system, which calls the motion functions(s) and the PLC function that evaluates the 1mS ladder
[03:57:19] <jmkasunich> the 10mS thread calls the PLC function that evaluates the 10mS ladder, and etc
[03:57:53] <SWPadnos> then you decide you need a 1.5 KHz servo rate (or PLC rate), and you have to change configuration of the other thread as well
[03:58:24] <SWPadnos> it would also be ideal if one or the other could be shut down, by stopping its thread
[03:58:29] <jmkasunich> I would always run the fastest PLC and the motion in the same thread
[03:58:55] <SWPadnos> I'm not sure HAL should be made so that's the only viable choice though
[03:59:12] <jmkasunich> every place you have data passing from one thread to another, you have potential for aliasing and non-atomic issues
[03:59:21] <SWPadnos> yep
[04:00:01] <jmkasunich> hence, I would very much want to minimize that, by not having multiple threads unless there is a really good reason for it
[04:00:08] <jmkasunich> (like a 10:1 speed difference)
[04:00:34] <fenn> sorry for being ignorant, but what are the non-atomic issues?
[04:00:40] <SWPadnos> well - in testing, I'd want to be able to disable a particular thread by commenting the start command in the .hal file
[04:00:55] <jmkasunich> start affects all threads
[04:01:10] <SWPadnos> OK - then the thread create command (s)
[04:01:17] <jmkasunich> turning off only one thread could be a disaster if there is any interaction between threads
[04:01:29] <jmkasunich> for instance, if a PLC is handling limit switch signals that go to motion
[04:01:38] <jmkasunich> run the motion without the PLC, and you have no limits
[04:02:20] <fenn> * fenn sulks
[04:02:25] <SWPadnos> fenn: if you have a 64-bit piece of data on a 32-bit machine, you can get interrupted after having written the first 32, but before the last 32 have been stored
[04:02:41] <fenn> thanks swp
[04:02:54] <SWPadnos> true - one would have to be careful
[04:02:56] <SWPadnos> sure
[04:03:07] <jmkasunich> right... if that data is being passed from one function to another on the same thread, no problem, because you know the first function finishes running before the second one starts
[04:03:18] <jmkasunich> not so if the functions are in two differnet threads
[04:03:45] <SWPadnos> how heavyweight are HAL threads?
[04:03:56] <jmkasunich> a HAL thread is an RTAI task
[04:04:12] <SWPadnos> heh - how heavyweight is an RTAI task :)
[04:04:22] <jmkasunich> calling individual HAL functions from a thread is very light
[04:04:31] <SWPadnos> and switching threads?
[04:04:39] <jmkasunich> tasks aren't too bad
[04:04:43] <SWPadnos> ok
[04:04:49] <jmkasunich> different stacks of course
[04:05:07] <jmkasunich> save/restore FPU state if either one uses the FPU
[04:05:15] <SWPadnos> I see that there are two radically different ways of configuring a machine with HAL
[04:05:47] <SWPadnos> 1) make about 3 RT threads, and load each one with everything that needs to be done for the machine
[04:05:54] <jmkasunich> same memory mapping (assuming the current system, with RT code in kernel space) (the RTAI folks are working on ways to run RT code in user space)
[04:06:14] <SWPadnos> 2) make separate threads that perform specific tasks, at whatever rate is appropriate for the task
[04:06:39] <jmkasunich> 2) requires much more awareness of RT coding issues
[04:06:59] <SWPadnos> I'm not so sure of that
[04:07:13] <SWPadnos> it depends on the interactions between the threads
[04:07:35] <SWPadnos> and whether the single loaded thread needs optimization to fit within its period
[04:08:12] <SWPadnos> 2 does require much lighter task switches to be efficient though
[04:08:16] <jmkasunich> 1 thread that does A, B, C, D will always be faster than 2, one doing A & B, the other doing C & D
[04:09:02] <SWPadnos> yes, assuming that a task switch is more costly than the method used to chain functions (which it almost certainly is)
[04:09:05] <jmkasunich> of course if CD can run at half the speed of AB, then the net load is ABABCD and even with task switches it might work out
[04:09:35] <jmkasunich> but in that case, you better not be casually changing to ABCDABCD, or ABCDCD
[04:09:42] <SWPadnos> however, the ability to add or remove functions is much greater with option 2
[04:09:53] <jmkasunich> how so?
[04:10:10] <SWPadnos> each thread could be removed without changing the configuration of any other thread
[04:10:17] <SWPadnos> (except for interactions between them)
[04:10:35] <jmkasunich> you mean removing a group of functions?
[04:10:37] <SWPadnos> ie, a PLC can be added or removed without affecting ervo
[04:10:41] <SWPadnos> servo
[04:11:05] <jmkasunich> do you mean add/remove by editing the file and restarting, or dynamically?
[04:11:11] <SWPadnos> and without affecting the part of the .hal file that does servo thread configuration
[04:11:15] <SWPadnos> file editing
[04:11:26] <fenn> but dynamically sure would be cool
[04:11:39] <fenn> i'll shut up now
[04:11:44] <SWPadnos> it would also be easier dynamically, if it's possible to stop an individual thread
[04:11:52] <jmkasunich> * jmkasunich needs to check something before I put my foot in my mouth
[04:11:54] <Jymmm> kill -HUP
[04:11:56] <SWPadnos> (and start one, of course)
[04:12:09] <SWPadnos> kill -SHUTUP :)
[04:12:20] <Jymmm> lol
[04:12:28] <SWPadnos> or SHUTHUP, I guess
[04:12:37] <jmkasunich> checked, my memory is right
[04:12:43] <jmkasunich> in addition to addf, there is delf
[04:12:44] <Jymmm> mv SWPadnos /dev/null
[04:12:57] <SWPadnos> that was the fastest memtest I've ever seen :)
[04:12:58] <jmkasunich> so you can remove a function from a thread dynamically
[04:13:20] <SWPadnos> cat Jymmm > /dev/null
[04:13:28] <jmkasunich> also, addf accepts a postion argument, so you can add a function anywhere in a thread, not just at the end
[04:13:32] <SWPadnos> OK - that's a good thing :)
[04:14:01] <Jymmm> "remove a function from a thread dynamically" that can be done (in general) ?
[04:14:02] <fenn> dynamically?
[04:14:31] <jmkasunich> not perfect tho... the arg is a number, you can't say "add this function right after PLC", you have to say "make this function 4th from the beginning" or "2nd from the end"
[04:14:52] <SWPadnos> can you ask which number is PLCFunc0?
[04:14:54] <jmkasunich> fenn: yes, dynamically (use with caution when your machine is running)
[04:15:14] <Jymmm> jmkasunich that sounds dangerous
[04:15:16] <jmkasunich> halcmd show thread gives you the list, and I think there are numbers
[04:15:34] <jmkasunich> Jymmm: it is, in fact adding a locking mechanism is on the TO-DO list
[04:16:07] <Jymmm> jmkasunich : I just mean in general (thread wise) be it emc or anything at all.
[04:16:25] <SWPadnos> it happens every time you run or close a program
[04:17:00] <jmkasunich> Jymm; hal takes care of the nasty details like making sure the function doesn't get called after it's code has been removed, unlinking it's pins, etc
[04:17:11] <Jymmm> SWPadnos Well, if you want to halt, that's fine. but to just shove something on a thread seem s awefully ugly.
[04:17:17] <jmkasunich> but of course if unlinking the pins disconnects some vital part of the machine....
[04:17:35] <SWPadnos> proper operation is not guaranteed
[04:17:39] <jmkasunich> Jymmm: normal configs will set up all threads before starting them
[04:17:57] <fenn> that's pretty neat.. so i could say "remove steppgen" when i'm done using my toolchanger that has a stepper in it?
[04:17:59] <Jymmm> jmkasunich : Seriously dont mind me. I have a tendancy to see things from a life safety point of view.
[04:18:44] <jmkasunich> that's a good point of view.. and thats why we will have locking that won't let you remove functuons, add functions, link or unlink pins, etc, when the RT is running
[04:19:18] <jmkasunich> fenn: you could do that but I don't think it's a good idea... you'd just have to reconnect it before the next toolchange
[04:19:27] <A-L-P-H-A> for the generic.ini file, should I change linear_units to "INCH" and change all the step UNITS for each axis to my appropriate setting in inches? Or should I change them to their MM equivalent?
[04:19:37] <Jymmm> jmkasunich I've worked on "things" where they control 5,000 gallons of toxic "stuff" that can drop ppl dead on 4 seconds. so =)
[04:19:42] <fenn> can you change the thread timings dynamically?
[04:19:56] <jmkasunich> fenn: nope, that you can't do
[04:20:07] <jmkasunich> the fastest thread determines the period of the HW timer on the mobo
[04:20:16] <jmkasunich> the other threads are integer submultiples of that
[04:20:26] <SWPadnos> urk - OK
[04:20:29] <jmkasunich> (the realtime OS makes those rules, not hal)
[04:21:34] <jmkasunich> you might be able to change things on the fly, but you'd have to use the RTOS api to do it, and you'd have to be very carefull
[04:21:57] <jmkasunich> I think it would be just about impossible to do it without significant disturbances
[04:21:59] <SWPadnos> a n d t h i n g s g o t s l o w
[04:22:08] <SWPadnos> so they set the timing back to normal :)
[04:23:07] <jmkasunich> in theory if you changed the HW timer only, everything would speed up or slow down proportionally
[04:23:07] <fenn> what about stopping hal and starting with a different configuration
[04:23:37] <jmkasunich> stop realtime threads, stop timer, unload everything, load new config, start threads
[04:24:08] <fenn> that's probably good enough for anything I would ever want to do
[04:25:09] <jmkasunich> there are some messy things today, because of the lack of a userspace->kernel path for halcmd
[04:25:24] <SWPadnos> are the slower threads just queued every N PERIODs?
[04:25:33] <jmkasunich> probably
[04:25:48] <SWPadnos> hmmm - so ther eisn't likely any "load leveling"
[04:25:49] <jmkasunich> I say probably because that's most likely how the RTOS does it...
[04:26:10] <A-L-P-H-A> where do I read about the EMC ini file setup?
[04:26:25] <SWPadnos> let me know if you find out
[04:26:40] <A-L-P-H-A> SWPadnos, who?
[04:26:49] <SWPadnos> A-L-P-H-A: you
[04:27:02] <fenn> A-L-P-H-A: try the User.pdf on sourceforge
[04:27:18] <jmkasunich> set timer interrupt for fastest thread (say 1ms), on interrupt, mark the 1mS task runnable, every Nth time also mark the Nms thread runnable
[04:27:21] <A-L-P-H-A> SWPadnos, http://sherline.com/emc/Integrator_Handbook.pdf
[04:27:22] <A-L-P-H-A> found them.
[04:27:25] <A-L-P-H-A> page 47
[04:27:51] <SWPadnos> ok
[04:28:42] <jmkasunich> HAL doesn't get involved in thread scheduling, it leaves that to the RTOS
[04:28:43] <fenn> A-L-P-H-A: both the trajectory planner and axes (linear_units and units) are set to 1/25.4 in my .ini
[04:28:53] <SWPadnos> and if there are N, M, and P, all of which are multiples of N (like decades), then you end up woth 3 or 4 threads being ready in the same tiny little stepgen period
[04:29:06] <A-L-P-H-A> fenn, but how do I set the the step size then??
[04:29:13] <jmkasunich> right... but they have decreasing priorities
[04:29:19] <SWPadnos> INPUT_SCALE nad OUTPUT_SCALE
[04:29:22] <SWPadnos> yes
[04:29:28] <jmkasunich> the rtos scheduler runs the highest one that is runnable
[04:30:03] <jmkasunich> if P is still running and it becomes time to run N again, N is higher priority, P is suspended, N runs, P resumes
[04:30:42] <jmkasunich> if the 1mS thread needs 200uS each time, it uses 20% of the CPU
[04:30:52] <SWPadnos> yep - it works out OK, since they aren't run from the fastest task (as it would be in an RTOS-less micro)
[04:31:03] <fenn> A-L-P-H-A: my input_scale is 6400 and output_scale is 1000 (but i hear they are supposed to be the same? but it works anyway)
[04:31:12] <jmkasunich> if the 10mS thread needs 5mS to run, it runs in several 800uS chunks which add up to 5ms
[04:31:25] <SWPadnos> ie, every N interrupts, do this extra thing as well
[04:31:50] <jmkasunich> right... I've done things like that. now I know what you mean by load leveling
[04:32:15] <SWPadnos> yep - differnet "phases" do different rate tasks
[04:32:15] <jmkasunich> do A at 1mS, 11mS, 21mS, do B at 2mS, 12mS, 22mS, etc
[04:32:29] <A-L-P-H-A> GOD this emc.ini file is a pain in the mofo arse.
[04:32:36] <SWPadnos> heh - that it is
[04:32:50] <fenn> just wait until you have to configure a hexapod :)
[04:32:56] <SWPadnos> luckily you only have to deal with 87.3% of it :)
[04:33:03] <SWPadnos> or so
[04:36:49] <jmkasunich> (note: emc1 does "every N interrupts do this extra thing" for the TP
[04:37:03] <SWPadnos> interesting
[04:37:22] <jmkasunich> servo code runs on every servo cycle, then every traj cycle the traj code runs too... and it must finish before it's time to run the servo code again
[04:37:41] <SWPadnos> OK, but independent of freqmod, if it's used
[04:37:52] <jmkasunich> the "
[04:38:04] <jmkasunich> the "fast" thread that is used for stepping is independent
[04:39:01] <jmkasunich> emc2 creates three threads, the "fast" one, the servo one, and a traj one
[04:39:07] <jmkasunich> but right now, it doesn't use the traj one
[04:39:15] <jmkasunich> it runs the traj code every servo cycle
[04:39:31] <SWPadnos> I wonder if that's why weyland (I think) said it was smoother?
[04:39:43] <jmkasunich> but the intent is to move the traj code into the traj thread, so it can spend more time if needed
[04:40:07] <jmkasunich> I don't think so - I think his problem was mostly PID tuning
[04:40:12] <SWPadnos> ah
[04:40:26] <jmkasunich> * jmkasunich thinks it's insane that you have to tune steppers
[04:40:57] <SWPadnos> not really - they're subject to mid-band resonance and acceleration curves just like servos
[04:41:07] <SWPadnos> (though the driver needs to take care of some of that)
[04:41:22] <jmkasunich> PID tuning can't do squat about that, it has no feedback
[04:41:36] <SWPadnos> true
[04:41:40] <jmkasunich> the EMC1 PID "feedback" is just a count of the outgoing pulses
[04:41:52] <A-L-P-H-A> Can someone help configure my system? What else do I need to know? http://pastebin.com/296899
[04:42:03] <SWPadnos> yeah - it does allow a slowdown if the pulse generator can't keep up though
[04:42:37] <jmkasunich> right - followed by an overshoot later
[04:42:50] <jmkasunich> and if you don't have it tuned right, it can still accel/decel faster than the motors can track
[04:42:53] <SWPadnos> well - that's not ideal
[04:43:26] <SWPadnos> I guess they shouldn't need tuning, but they sure do need setup and testing
[04:43:30] <jmkasunich> the emc2 stepgen module will never exceed accel or velocity limits and is overshoot free except under some rare conditions
[04:44:08] <jmkasunich> the rare conditions are an input signal that just slightly exceeds the limits of the motor, then abruptly stops
[04:44:23] <jmkasunich> if the input is within limits, stepgen tracks it
[04:44:35] <SWPadnos> that module operates on a position input, right?
[04:44:38] <jmkasunich> if well outside limits, stepgen makes a smooth move to the final value
[04:44:40] <jmkasunich> yes
[04:44:50] <fenn> A-L-P-H-A: table size, acceleration, velocity,
[04:44:57] <SWPadnos> ah right - you wanted to short-circuit the PID
[04:45:03] <SWPadnos> (bypass)
[04:45:37] <jmkasunich> right - there is no PID block in stepgen, instead a bunch of math and conditionals
[04:45:49] <fenn> A-L-P-H-A: axis direction is probably best figured out once it's running
[04:45:50] <A-L-P-H-A> fenn, 28" x 8" (x&Y respectively) Acceleration = dunno. Velocity >=40 ipm would be nice.
[04:45:52] <jmkasunich> does some lookahead and estimatiing to decide when to slow down
[04:46:15] <fenn> A-L-P-H-A: you have to figure out what maximum accel/velocity will work before your motors choke
[04:46:19] <jmkasunich> A-L-P-H-A: velocity is determined by your motors and such...
[04:46:47] <A-L-P-H-A> k, well, what I HAD working with turbocnc was the following: Acceleration = Acceleration=5000.000000000000
[04:46:48] <A-L-P-H-A> StartSpeed=1500.000000000000
[04:46:48] <A-L-P-H-A> MaxSpeed=15000.000000000000
[04:46:54] <SWPadnos> right - I was thinking that it should take a "standard" velocity output, like a servo driver would (similar to JonE's stuff)
[04:46:57] <A-L-P-H-A> those are in Hz.
[04:47:01] <jmkasunich> with EMC2, I would start by driving the motors independent of EMC itself (using hal siggen) and determine what they can do
[04:47:35] <jmkasunich> freqgen takes a frequency/velocity input and makes pulses... you can use that with a PID block if you like PID tuning
[04:47:48] <jmkasunich> or you can use it in other applications that need frequency output
[04:47:58] <jmkasunich> stepgen takes position input
[04:48:09] <jmkasunich> both provide position "feedback"
[04:48:13] <SWPadnos> yep - design goal: take position input
[04:48:19] <A-L-P-H-A> I've got no feedback mechanmism right now
[04:48:19] <fenn> A-L-P-H-A: wth is StartSpeed?
[04:48:24] <SWPadnos> that's incompatible with taking velocity input :)
[04:48:33] <A-L-P-H-A> fenn, initial freq to output.
[04:48:40] <fenn> why?
[04:48:50] <A-L-P-H-A> fenn, start faster than 0?
[04:49:31] <fenn> you dont start at 0?
[04:49:50] <A-L-P-H-A> fenn, it's cause Turbocnc doesn't have lookahead, or continous motion.
[04:50:11] <SWPadnos> but you don't use an emc ini file with turbocnc
[04:50:25] <jmkasunich> are those numbers you gave us your Turbocnc config data?
[04:50:28] <fenn> that still seems weird to me
[04:50:34] <SWPadnos> and there's no equivalent in emc (AFAIK)
[04:50:35] <A-L-P-H-A> SWPadnos, thank you. :) I'm trying to MOVE from turbocnc to EMC.
[04:50:46] <SWPadnos> you're welcome :)
[04:51:06] <jmkasunich> I'm afraid I don't know anything about turbocnc so I can't help you translate your TC params to EMC params
[04:51:08] <A-L-P-H-A> SWPadnos, fenn, that was the data from my turbocnc.ini file, that I'm posting, to show you what I was running before.
[04:51:16] <SWPadnos> did it take 3 seconds to get up to full speed?
[04:51:42] <A-L-P-H-A> those parameters that I just posted, where the acelleration and max speeds of my machine that worked with turbocnc.
[04:51:52] <A-L-P-H-A> they will, and I understand will be difference in EMC.
[04:52:01] <fenn> what are the units on acceleration?
[04:52:04] <A-L-P-H-A> but lets work with those numbers for the time being... so I can get my machine to at least move.
[04:52:06] <SWPadnos> yes - 15000 max speed, 5000 accel - did it take 3 seconds?
[04:52:06] <jmkasunich> but we have not idea what the numbers mean...
[04:52:07] <A-L-P-H-A> fenn, hz.
[04:52:16] <A-L-P-H-A> SWPadnos, about that.
[04:52:24] <SWPadnos> OK
[04:52:42] <SWPadnos> actually 2.7 seconds, if it started at 1500
[04:52:56] <jmkasunich> ok, so we're guessing that Tcnc would start at 1500Hz, then ramp at 5000Hz/sec to a maximum of 15000Hz
[04:53:06] <A-L-P-H-A> jmkasunich, yes.
[04:53:07] <SWPadnos> yep - that's my guess
[04:53:13] <jmkasunich> IF that is true then we can calc the emc numbers
[04:53:51] <SWPadnos> OK - 12800 steps/inch on X & Y
[04:53:51] <jmkasunich> 15000Hz at 12800/inch = 1.172 inches/sec top speed
[04:53:59] <A-L-P-H-A> I swear, once I figure this INI file out, I'll write a parser in php, and slap it up on the web for all the use.
[04:54:06] <SWPadnos> OK by me
[04:54:14] <SWPadnos> especially if you include the USC stuff
[04:54:48] <jmkasunich> 5000Hz/sec accel at 12800/inch = 0.390 inch/sec^2 accel
[04:55:11] <A-L-P-H-A> wow those numbers are so not matching up. :/ hahaha
[04:55:19] <fenn> ini file probably needs more comments, huh?
[04:55:32] <jmkasunich> well what was your max speed in inches per second running Turbocnc?
[04:55:40] <SWPadnos> 1.172 IPS is 70.32 IPM
[04:55:46] <A-L-P-H-A> fenn, oh yeah... the ini file DEFINITELY needs some formating, and what's important to change and what's not.
[04:56:12] <A-L-P-H-A> OH!!!! IPS != IPM.
[04:56:17] <A-L-P-H-A> k, now the numbers are matching up.
[04:56:21] <SWPadnos> ok
[04:56:35] <jmkasunich> I hate minutes as a unit of time
[04:56:46] <fenn> yeah who thinks in minutes?
[04:56:49] <SWPadnos> no - the sec is much better
[04:56:53] <jmkasunich> machinists ;-)
[04:56:57] <SWPadnos> like "I'll just be a sec"
[04:57:09] <SWPadnos> even better - surface feet per minute ;)
[04:57:13] <fenn> "in 0.252 minutes i'll be done with this part"
[04:57:17] <jmkasunich> unless you're using Excel... the default time unit there is days
[04:57:27] <SWPadnos> that's just for recalcs though
[04:57:45] <A-L-P-H-A> jmkasunich, well... time has NO natural phenom. to equate too. Not like mass. or something. I guess if you want to time the frequency of a cesium atom at STP... but I digress.
[04:58:44] <A-L-P-H-A> k do we have enough info for my EMC ini file?
[04:59:08] <fenn> we'll find out
[04:59:15] <jmkasunich> you can try max velocity 1.172 for X and Y, max accel 0.39 for X and Y
[04:59:29] <SWPadnos> one second is exactly the time it takes light to travel 299,792,458 m - that's a natural phenomenon
[04:59:31] <jmkasunich> Z will be slower, cause it's 32000 steps/in in stead of 12800
[04:59:48] <Jymmm> 186,000 m/s
[05:00:04] <SWPadnos> 186200 *miles* /sec
[05:00:17] <A-L-P-H-A> SWPadnos, only in a perfect vaccuum. If there's matter in the way, it slows down.
[05:00:17] <SWPadnos> a m is a meter
[05:00:34] <Jymmm> SWPadnos I'm lazy... alright?!
[05:00:42] <SWPadnos> yes - I'm fine with that
[05:00:44] <fenn> as long as you don't have any space-time distortions caused by a nearby star or universe
[05:00:45] <A-L-P-H-A> jmkasunich, Z speed isn't _that_ much of a concern, as long as it's able to go >20ipm.
[05:01:13] <Jymmm> SWPadnos (in a vacuum)
[05:01:14] <jmkasunich> A-L-P-H-A... what it is able to do is determined strictly by your motors, drives, and machine
[05:01:15] <SWPadnos> it'll be around 27 or so, I think
[05:01:32] <jmkasunich> the ini file is telling EMC how fast EMC should tell it to go
[05:01:40] <SWPadnos> yes - in a vacuum
[05:01:42] <Jymmm> 299792458 m / s
[05:01:51] <jmkasunich> if the ini says go at 200 ipm, EMC will ask it to, and you'll get missed steps
[05:02:05] <A-L-P-H-A> jmkasunich, okay, understood.
[05:02:23] <fenn> z will probably be less than x and y, since it has to lift a mass
[05:02:27] <Jymmm> What is IPS (Industrial Pipe and Steel?!)
[05:02:32] <SWPadnos> there will also be a limitation based on the PERIOD you choose
[05:02:38] <jmkasunich> inches per second
[05:02:49] <A-L-P-H-A> what is this period? the time between pulses?
[05:02:50] <Jymmm> ips != ipMinute?
[05:02:53] <Jymmm> IPM
[05:03:00] <jmkasunich> period is another ini file parameter
[05:03:04] <SWPadnos> ideally, the motors will e the limiting factor, not the fastest period you can use
[05:03:19] <Jymmm> jmkasunich I think SWPadnos was confusing me
[05:03:25] <jmkasunich> he's doing 10x microstepping, so max frequency might be the limit
[05:03:39] <fenn> period is the rate emc runs at (?) something like that
[05:03:49] <A-L-P-H-A> yeah, I am doing 10x microstepping. G201 drivers.
[05:04:17] <jmkasunich> the PERIOD in the stock generic.ini file is 0.000024, 24uS
[05:04:22] <SWPadnos> hmmm - you may want the G901s, especially for the Z axis
[05:04:56] <jmkasunich> that's 41.666KHz interrupt rate, so 20833Hz maximum step rate
[05:05:04] <fenn> you can turn up the period to get a higher step rate
[05:05:15] <SWPadnos> on a fast enough machine
[05:05:19] <jmkasunich> actually you make PERIOD smaller to get a higher step rate
[05:05:29] <jmkasunich> and if you make it too small your computer locks up
[05:05:39] <SWPadnos> A-L-P-H-A: is this the same machine as you used for TurboCNC?
[05:05:45] <A-L-P-H-A> k, default of 0.000024 should be okay.
[05:05:56] <A-L-P-H-A> SWPadnos, yes. I've made it dual boot with DOS and EMC.
[05:06:10] <SWPadnos> nevermind - a duron 700 should be fine down to 20 or maybe 15 microseconds
[05:06:43] <A-L-P-H-A> TurboCNC is working fine, just without the features I _want_ / _need_ now... so I'm turning over to EMC... it's been a process for a while.
[05:07:22] <A-L-P-H-A> I can always dump a Athalon 1400 in there... just need to learn this INI file.
[05:07:42] <jmkasunich> 1/PERIOD = interrupt rate
[05:07:49] <jmkasunich> max step rate = 1/2 interrupt rate
[05:08:04] <jmkasunich> max velocity = max step rate / steps per inch
[05:08:14] <A-L-P-H-A> oh....
[05:08:24] <Jymmm> E=mc^2
[05:08:27] <fenn> on my pentium 2 period is .000016, and i haven't even tried taking it to the limit
[05:08:35] <SWPadnos> hence the G901 suggestion for Z at least - 32000 sptes per inch is a lot
[05:08:46] <SWPadnos> steps
[05:08:58] <jmkasunich> max accel is harder, that is determined by motor, load, and drive characteristics
[05:08:59] <SWPadnos> (for software generated pulses)
[05:09:20] <jmkasunich> probably need to start low on the accel and increase until you start losing steps, then reduce it by 20% or so
[05:09:43] <Jymmm> jmkasunich max accell. Is that 'whatever', jogging, underload ?
[05:09:58] <jmkasunich> SWP: slower travel on Z isn't usually a serious problem, because Z is usually short
[05:10:06] <A-L-P-H-A> Z = 3.5"
[05:10:09] <SWPadnos> true enough
[05:10:09] <A-L-P-H-A> Z travel
[05:10:27] <jmkasunich> I expect jogs use max accel
[05:10:37] <fenn> dunno if this is applicable, but accel too high can affect accuracy also
[05:10:42] <jmkasunich> and rapids
[05:11:11] <fenn> the machine wobbles around a lot
[05:11:14] <jmkasunich> normal machining moves have their speed and accel determined more by the part program and the feedrate
[05:11:26] <Jymmm> fenn wobbles?
[05:11:45] <SWPadnos> when the steppers lose steps and chatter
[05:11:47] <fenn> yeah its more noticeable on a really wobbly machine like mine
[05:11:59] <Jymmm> ah
[05:12:18] <fenn> but it will still happen at the .001" level on a bridgeport
[05:12:24] <A-L-P-H-A> what's this P, I, D stuff? Can that stuff be ignored, as I'm using steppers?
[05:12:29] <Jymmm> fenn 'wobbly machine' like it's not rigid enough?
[05:12:37] <fenn> Jymmm: right
[05:12:42] <jmkasunich> unfortunately no, not with EMC1 (or the bdi-4 branch you are using)
[05:12:55] <Jymmm> fenn : ah, ok. I was just trying to understand your techincal terms here =)
[05:12:58] <A-L-P-H-A> jmkasunich? me?
[05:13:32] <fenn> Jymmm: http://fenn.freeshell.org/camera/DCP_0329.JPG
[05:13:42] <SWPadnos> A-L-P-H-A: yes you - you can probably set I and D to 0, and P to something like 1 or 10 (or whatever they say in the sherline doc)
[05:13:59] <SWPadnos> 50
[05:14:09] <fenn> the mdf table is heavy and causes the gas pipes to flex around
[05:14:20] <jmkasunich> A-L-P-H-A: yes you, answering the PID question
[05:14:22] <SWPadnos> ff0, ff1, and ff2 should also be set to 0
[05:15:20] <Jymmm> fenn black pipe for rails?
[05:16:04] <fenn> Jymmm: yes, i didn't build it, it's a terrible design but it works
[05:16:33] <Jymmm> fenn : I'm not judgeing, just asking as I can't see the pipes in the pic =)
[05:16:44] <A-L-P-H-A> MAX_VELOCITY = 1.0 <--- does that mean right now, 1" per second?
[05:16:51] <fenn> just wanted to get that out there first :)
[05:16:58] <jmkasunich> yes, 1 inch per second
[05:17:26] <fenn> jmkasunich: go write some code!
[05:17:33] <jmkasunich> I'm trying
[05:17:50] <SWPadnos> but I keep bothering him with HAL questions ;)
[05:18:17] <jmkasunich> that was a good discussion, worth a little lost sleep
[05:18:36] <SWPadnos> ah - good then
[05:18:57] <jmkasunich> just doing final checks and cleanup before a commit
[05:19:01] <jmkasunich> then I'm outta here
[05:19:05] <SWPadnos> cool
[05:19:14] <fenn> fix the overshoot but?
[05:19:19] <fenn> er, bug
[05:19:20] <A-L-P-H-A> wow... this is so much stuff to cram into my head.
[05:19:22] <jmkasunich> yeah
[05:19:55] <SWPadnos> A-L-P-H-A: there's a fair amount of stuff in there, but it's not too hard if you break it down
[05:20:11] <fenn> A-L-P-H-A: wait until you have to start programming EMC
[05:20:13] <SWPadnos> emc is very capable and configurable, so there is a lot in the ini file
[05:20:21] <Jymmm> fenn : You got an aweful lot of EPS in there too =)
[05:20:32] <fenn> i love that stuff!
[05:20:56] <fenn> mostly for lost foam casting
[05:20:58] <Jymmm> fenn what are you doing with it?
[05:21:02] <Jymmm> ah ok
[05:21:09] <fenn> and other noodling around type stuffs
[05:21:28] <SWPadnos> where do you get EPS that's 2" - 3" thick?
[05:21:36] <Jymmm> SWPadnos Home Depot
[05:21:52] <SWPadnos> nope - I think they have 2", but not 3
[05:22:04] <fenn> hmmm.. bender lumber (local) has up to 2" blue stuff, i found the 4" stuff in a construction dumpster
[05:22:23] <SWPadnos> I have the RQ Riley plans for a carbon fiber recumbent bike, and it uses foam as the core material
[05:22:31] <fenn> still dont know where to get pink stuff
[05:22:46] <fenn> you can glue foam sheets together with rubber cement
[05:22:56] <Jymmm> SWPadnos : The mfg of EPS sells almost excluively to Home Depot and Lowes. I spoke with their Marketing Mgr. Just go to the order desk.
[05:23:09] <fenn> but! it can make a little ridge where the two sheets are joined
[05:23:14] <jmkasunich> pink foam.. that reminds me of something I saw on the web a couple months back
[05:23:18] <SWPadnos> ah - hadn't tried the contractor desk
[05:23:34] <jmkasunich> college kid build a model airplain out of pink foam, with electric power
[05:23:41] <jmkasunich> 24' wingspan
[05:23:55] <jmkasunich> yes 24 FEET
[05:23:56] <A-L-P-H-A> okay, so what do I set for the input and output scales? As I have no feedback, does input matter?
[05:24:10] <fenn> that must've cost a lot just for the foam
[05:24:11] <Jymmm> fenn I have hot glue for EPS =)
[05:24:13] <SWPadnos> A-L-P-H-A: yes - input scale should match output scale
[05:24:15] <jmkasunich> set them both to 12800 (or 32000 for the Z)
[05:24:38] <Jymmm> fenn just use low temp glue and gun and you'll be fine
[05:24:41] <fenn> Jymmm: hot glue isn't very accurate when you're gluing matched pieces together
[05:24:44] <SWPadnos> if the table goes the wrong way (for a given axis), then flip the sign of *both* input and output scales
[05:24:56] <SWPadnos> http://www.rqriley.com/xr2.htm
[05:24:57] <Jymmm> fenn that's what gorilla glues is for =)
[05:25:09] <fenn> well, i'd rather have something that doesn't release cyanide when i burn it
[05:25:20] <Jymmm> fenn huh?
[05:25:28] <fenn> gorilla glue=cyanoacrylate based
[05:25:37] <Jymmm> fenn since when?
[05:25:45] <fenn> eh, i thought it was
[05:25:58] <Jymmm> it's a water activated polymer base
[05:26:05] <fenn> okay it's polyurethane
[05:26:27] <fenn> IN CASE OF FIRE, FORMATION OF CARBON MONOXIDE, CARBON DIOXIDE, NITROGEN OXIDE, ISOCYANATE VAPOUR AND TRACES OF HYDROGEN CYANIDE IS POSSIBLE.
[05:27:27] <fenn> anyway, i haven't found anything that works better than rubber cement, not even "StyroGlue"
[05:28:47] <fenn> SWPadnos: that's a pretty neat bike
[05:28:57] <SWPadnos> yeah - I thought so too
[05:29:07] <SWPadnos> my wife bought me the plans
[05:29:44] <fenn> should be really easy if you have the cad files
[05:29:58] <fenn> well, easier
[05:30:10] <SWPadnos> they're in Rhino, so it's not as easy as it could be :)
[05:30:25] <SWPadnos> but yes - that was an idea - cnc, CAD plans, good combo
[05:31:04] <SWPadnos> nice that the total weight is 27-32 pounds as well
[05:31:58] <fenn> kinda heavy compared to most modern bikes
[05:32:05] <fenn> especially made from CF
[05:32:17] <SWPadnos> but a CF bike is $2500
[05:32:19] <A-L-P-H-A> do I have to worry about any of the torque units and whatnot? Roto Inertia etc?
[05:32:23] <A-L-P-H-A> rotor
[05:32:36] <CIA-8> 03jmkasunich * 10emc2/src/hal/components/siggen.c: fixed a couple of comments
[05:32:37] <SWPadnos> I don't think so
[05:32:41] <fenn> A-L-P-H-A: that's why you're doing max accel
[05:32:50] <jmkasunich> that stuff is mostly used for simulation of servo motors
[05:33:01] <A-L-P-H-A> okay
[05:33:04] <jmkasunich> (they are the specs of the imaginary motors)
[05:33:31] <SWPadnos> are those in the [AXIS] sections, or an [EMCSIM] section?
[05:33:38] <CIA-8> 03jmkasunich * 10emc2/src/hal/components/blocks.c: added a 4 input multiplexer block to HAL
[05:35:02] <CIA-8> 03jmkasunich * 10emc2/src/hal/components/stepgen.c: rewrote the position loop in stepgen to prevent overshoots when following a command that is right at the accel and velocity limits of the stepgen block
[05:37:40] <A-L-P-H-A> http://pastebin.com/296913 <-- only did the changes for the first axis.
[05:38:04] <A-L-P-H-A> is that right? or assumely correct?
[05:39:34] <SWPadnos> you should enter a max_acceleration
[05:39:38] <SWPadnos> 0.390
[05:40:06] <A-L-P-H-A> SWPadnos, what line?
[05:40:06] <SWPadnos> I think John had the max_velocity at 1.172
[05:40:12] <SWPadnos> 152
[05:40:21] <SWPadnos> uncomment that, and change it to 0.390
[05:40:32] <SWPadnos> is that your backlash number?
[05:40:37] <SWPadnos> (line 165)
[05:40:54] <A-L-P-H-A> yeah, that's my backlash.
[05:40:58] <SWPadnos> ok
[05:41:04] <A-L-P-H-A> 0.0065" it used to be much smaller.
[05:41:20] <A-L-P-H-A> I dunno why it's grown... but a factor of 3.
[05:41:25] <A-L-P-H-A> used to be like 0.002"
[05:41:32] <jmkasunich> if you have problems with lost steps, change backlash to zero and test again
[05:41:33] <A-L-P-H-A> and I haven't put any hours on it really.
[05:41:45] <A-L-P-H-A> k, I will change it to zero for now, and test
[05:41:55] <SWPadnos> I think SETUP_TIME and HOLD_TIME (lines 200,201) are also applicble to steppers, not servos
[05:42:37] <jmkasunich> if you have problems with backlash, and they go away when you set backlash to zero, you might want to consider emc2... but try emc1 first
[05:42:44] <fenn> Max_Velocity is how FAST in inches to accelerate per second. (?)
[05:42:51] <A-L-P-H-A> SETUP_TIME and HOLD_TIME are not documented.
[05:42:53] <SWPadnos> a mis-comment
[05:42:56] <SWPadnos> setup time is how many periods emc waits after a direction change, before outputting a step pulse
[05:43:10] <SWPadnos> hold_time is how many periods the step is kept active
[05:43:18] <A-L-P-H-A> fenn, yes
[05:43:32] <jmkasunich> or it it how long after the step pulse before it can change direction?
[05:43:37] <SWPadnos> not sure
[05:43:48] <fenn> silly me, i thought velocity was velocity and accel was accel
[05:43:49] <jmkasunich> that may be important for geckos
[05:43:59] <SWPadnos> I wonder if it's used in both capacities?
[05:44:01] <A-L-P-H-A> so should they be left alone? or changed for osmething?
[05:44:15] <jmkasunich> I'm not sure... emc2 does that differently
[05:44:16] <SWPadnos> you can probably change hold_time to 1
[05:44:37] <jmkasunich> no, leave it at 2
[05:44:48] <jmkasunich> I think that is for geckos
[05:44:50] <SWPadnos> is that the total step duration (high and low)?
[05:45:07] <jmkasunich> I think it is time from end of step pulse to direction change
[05:45:18] <SWPadnos> at 15 uS PERIOD, one is plenty for either
[05:45:37] <A-L-P-H-A> okay, where do I tell it what PIN to use?
[05:45:38] <jmkasunich> geckos want you to hold the direction input (Mariss prefers that you change direction only immediately before step)
[05:46:03] <SWPadnos> you don't - those are hardcoded in emc[1]
[05:46:07] <jmkasunich> you can't tell it what pins to use, that is hard coded (you'd need to edit code and recompile, or use emc2)
[05:46:23] <A-L-P-H-A> well, luckily I have them set to what the pins are supposed to be.
[05:46:30] <SWPadnos> true, but the hold time is in the 2 uS range, not 15
[05:46:33] <A-L-P-H-A> but still... that's kinda silly to do it that way.
[05:46:41] <SWPadnos> hence emc2
[05:46:49] <SWPadnos> and HAL
[05:46:50] <A-L-P-H-A> 'ight.
[05:47:00] <A-L-P-H-A> well, once this works, I'll worry about EMC2 for kicks.
[05:47:15] <A-L-P-H-A> so, am I _almost_ good to go with this ini file then?
[05:47:15] <fenn> A-L-P-H-A: hardcoded pins are really stupid IMHO
[05:47:16] <SWPadnos> this is a BDI install, right?
[05:47:30] <jmkasunich> SWP: trust me, geckos have a very strange direction timing requirements
[05:47:31] <A-L-P-H-A> yes, bdi 4.18 or was it 4.20?
[05:47:33] <A-L-P-H-A> the newest one.
[05:47:50] <jmkasunich> actually it might be the pulse multiplier ones only (G210, or G901)
[05:48:05] <SWPadnos> jmkasunich: yeah - I know, but the numbers are all below 5 microseconds - the max. step rate is 200 KHz
[05:48:14] <jmkasunich> the direction bit must remain stable untill all the multiplied pulses have been generated
[05:48:25] <SWPadnos> yes - you may be right about that
[05:48:42] <jmkasunich> so perhaps not a factor for alpha, he's not multiplying
[05:48:46] <jmkasunich> but better safe than sorry
[05:48:50] <SWPadnos> 210 / 310, with the 901 instead of the optoisolator only
[05:48:54] <A-L-P-H-A> now I know how the stupid girls feel, when they ask me for math help back in Uni.
[05:49:15] <jmkasunich> Matt Shaver is the one to ask about SETUP and HOLD
[05:49:32] <jmkasunich> he put them in, and I think he did it for geckos, so he probably knows how to set them
[05:49:40] <fenn> * fenn gets out his slide rule and pocket protector and does a few quick calculations
[05:50:09] <jmkasunich> I can hear my bed calling me....
[05:50:16] <jmkasunich> night all
[05:50:18] <A-L-P-H-A> I've honestly never seen a slip stick in real life. just in pictures.
[05:50:24] <fenn> me either
[05:50:29] <A-L-P-H-A> jmkasunich, thanks for th ehelp
[05:50:37] <jmkasunich> you're welcome
[05:50:55] <fenn> g'night
[05:51:12] <A-L-P-H-A> damn, it's almost 2am... I think this I'm just gonna save it, and test it in the morn.
[05:51:24] <A-L-P-H-A> though I am hungry right now. :/
[05:51:30] <fenn> if you've got it hooked up, you might as well see what happens
[05:51:42] <fenn> otherwise you'll toss and turn all night
[05:51:44] <SWPadnos> the only other things to change are the min and max limits
[05:51:55] <fenn> don't really need to do that just for testing
[05:52:09] <A-L-P-H-A> fenn, the other issue, is that the stupid floppy doesn't mount! so I can't copy the files over... and I dont' have a NIC in the computer. (I thought it did have one, but no)
[05:52:18] <fenn> ick
[05:52:24] <A-L-P-H-A> SWPadnos, I disabled them on purpose.
[05:52:26] <fenn> mount /dev/fd0 /floppy ?
[05:52:37] <A-L-P-H-A> fenn, shouldn't it pick it up automagically?
[05:52:37] <fenn> i think he meant soft limits
[05:52:47] <fenn> i dunno
[05:52:49] <SWPadnos> no - it's not automatic
[05:52:55] <SWPadnos> yes - I mean soft limits
[05:53:03] <A-L-P-H-A> ubuntu's automagic.
[05:53:20] <fenn> automagic can be annoying sometimes
[05:53:24] <SWPadnos> your machine has 28 inches in X - you may want to set +/- 10 for limits so you don't try to drive off the end of the machine
[05:53:25] <A-L-P-H-A> SWPadnos, I made them 1000, and -1000... even though my machins is 28 x 6 x 3
[05:53:44] <A-L-P-H-A> SWPadnos, I can't... the machine physically can't do that.
[05:53:54] <SWPadnos> unless you have a good E-STOP, I'd put some kind of limit in there for testing
[05:53:57] <A-L-P-H-A> I= it
[05:54:05] <A-L-P-H-A> k, I'll do that.
[05:54:23] <SWPadnos> and what happens when the machine hits the end, and the stepper is driver further?
[05:54:27] <SWPadnos> driven
[05:54:39] <fenn> and set your machine to where you want 0,0,0 before you start emc for the first time
[05:54:51] <A-L-P-H-A> SWPadnos, the motor just skips
[05:55:03] <SWPadnos> no damage to anything?
[05:55:36] <A-L-P-H-A> SWPadnos, nope... well... I'd probably wear out the belts early... but belts are $2-3CDN a piece.
[05:55:46] <A-L-P-H-A> timing belts.
[05:55:48] <SWPadnos> ok - then leave it :)
[05:56:19] <A-L-P-H-A> fenn, SWPadnos, thanks for the help thus far.
[05:56:42] <SWPadnos> sure - good luck
[05:56:56] <fenn> yes, some day i'll be old and grumpy and ignore you
[05:57:15] <SWPadnos> promises, promises :)
[05:57:21] <fenn> if i'm lucky
[05:57:53] <A-L-P-H-A> hehe... most of the people that went to codefest are old... only personw tihout grey hair is SWPadnos.
[05:58:01] <A-L-P-H-A> maybe he just dyes it.
[05:58:13] <SWPadnos> I think Martin had blond (but he took the photos :) )
[05:58:46] <A-L-P-H-A> I've got natural blonde hair... well, a patch of it... and then blonde highlights.
[05:58:53] <fenn> that's funny.. whenever i think of linux programmer i think "generation X"
[05:59:10] <A-L-P-H-A> <-- trailing end of GenX.
[05:59:12] <SWPadnos> but what's the range of valid values for X?
[05:59:17] <A-L-P-H-A> siblings are GenY.
[05:59:21] <fenn> X<=32
[05:59:39] <fenn> er, 25<X<32
[05:59:42] <A-L-P-H-A> borne in the 70's. Late late 60's count.
[05:59:45] <SWPadnos> ah - not me then
[05:59:51] <SWPadnos> ah - me then
[06:00:00] <SWPadnos> well - maybe
[06:00:05] <A-L-P-H-A> 65 to 79 are GenX.
[06:00:11] <SWPadnos> I guess I'm generation WXY or so
[06:00:19] <A-L-P-H-A> 80+ Gen Y. 90+ gen nothing yet.
[06:00:36] <A-L-P-H-A> GenX is essentially the babyboom echo.
[06:01:24] <SWPadnos> ah - my parents reproduced later than average, so they're not baby boomers, but some of us were born in the genX timeframe
[06:01:25] <A-L-P-H-A> so parents that were born 1945+ but before 1955.
[06:01:39] <A-L-P-H-A> well... you count.
[06:01:40] <fenn> shouldnt gen Y be the children of gen X? seems like people have it all wrong
[06:01:58] <A-L-P-H-A> fenn, no... cause there's also people after the babyboom.
[06:02:09] <A-L-P-H-A> but PRE genX.
[06:02:10] <fenn> yeah but they dont have anything to do with the babyboomers
[06:02:33] <SWPadnos> usually, a generation is considered 25 years, I think
[06:02:35] <A-L-P-H-A> Essentially GenX are the ones that get the shaft.
[06:02:42] <A-L-P-H-A> SWPadnos, yup.
[06:02:50] <SWPadnos> no specific requirement that everyone reproduce in that timeframe though
[06:02:59] <A-L-P-H-A> google, genX timeframe.
[06:03:19] <SWPadnos> (my oldest sister had her baby at 40, and a neice at 18)
[06:03:31] <SWPadnos> it definitely varies widely
[06:03:48] <A-L-P-H-A> The years 1965-79, 1964-82, 1960-1970, 1966-1977, and 1970-1983 have also been used in articles on Gen-X, but these all seem very arbitrary, and as you can tell, are all over the map, demographically.
[06:03:50] <SWPadnos> a niece had one at 18 - to be more clear there
[06:04:42] <A-L-P-H-A> I'll be back in bit... contacts out and food.
[06:05:01] <SWPadnos> well - I'm gonna head for bed - it's 2 AM
[06:05:04] <SWPadnos> night, all
[06:05:18] <Kn1ghtjp> greetings and salutations! who's still awake?
[06:05:22] <SWPadnos> SWPadnos is now known as SWP_Away
[06:05:25] <SWP_Away> nobody :)
[06:05:30] <Kn1ghtjp> ah...
[06:05:37] <fenn> i'm awake, but brain-dead as usual
[06:06:04] <fenn> spent all day trying to get axis to comple on emc2
[06:06:21] <Kn1ghtjp> hmmm... that's bad. i'm still trying to compile the kernel... lol
[06:06:25] <Kn1ghtjp> worse
[06:06:27] <Kn1ghtjp> hehehe
[06:06:41] <fenn> well, at least the kernel has documentation
[06:06:59] <Kn1ghtjp> yeah, i just don't read manuals unless i'm at the end of my wits
[06:07:12] <fenn> hmm.. bad idea in linux
[06:07:28] <Kn1ghtjp> i know. i'm not a linux guy. just starting in linux.
[06:07:48] <fenn> http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html
[06:07:54] <Kn1ghtjp> i can tell you about M$ internals but zilch on linux
[06:07:57] <Kn1ghtjp> read that
[06:08:07] <fenn> are you doing just a plain old kernel?
[06:08:22] <fenn> or patching rtai?
[06:08:39] <Kn1ghtjp> i just downloaded the 4.20 bdi yesterday and am just starting to try emc2
[06:09:00] <fenn> ah.. should be good to go i think
[06:09:08] <Kn1ghtjp> the source is in there. i have rtai3.1 and am just setting up
[06:09:14] <Kn1ghtjp> just fudging along
[06:09:33] <Kn1ghtjp> is there a doc on how to get started?
[06:09:36] <fenn> have you read http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?BDI-4_Install
[06:09:42] <Kn1ghtjp> rough steps?
[06:09:47] <Kn1ghtjp> hmm... read that as well
[06:10:21] <fenn> uh. cd /usr/local/emc/src/ ; make ?
[06:10:55] <Kn1ghtjp> umm.. not trying to run emc1
[06:11:07] <Kn1ghtjp> trying to go for emc2_HAL
[06:11:13] <fenn> ah yes of course
[06:11:33] <fenn> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?HowToTryEMC2
[06:11:38] <Kn1ghtjp> i'm the one in the dev email trying for world domination.
[06:11:42] <Kn1ghtjp> yep, read that too.
[06:11:52] <fenn> oh you're johnathan perez?
[06:11:56] <Kn1ghtjp> righto
[06:12:09] <fenn> yeah i had the same idea
[06:12:10] <Kn1ghtjp> what i need is an idiots guide.
[06:12:20] <fenn> sorry that's the best we got
[06:12:23] <Kn1ghtjp> i'll probably write one myself after i get through this
[06:12:40] <Kn1ghtjp> i'll be documenting what i do as i go along
[06:13:02] <fenn> have you looked at the printed manuals? user.pdf and integrator.pdf have some sections on using linux
[06:13:33] <Kn1ghtjp> yup, read those as well. devoured all the doc i could find
[06:13:35] <fenn> i'm trying to get all the docs in one place so they're easier to find
[06:13:49] <Kn1ghtjp> that would be nice
[06:13:52] <fenn> okay, so what do you need to know?
[06:14:50] <fenn> Kn1ghtjp yeah, i just don't read manuals unless i'm at the end of my wits
[06:14:51] <Kn1ghtjp> um... i'll try to hack through the thingy at the moment and maybe bug you when you're less brain dead
[06:15:10] <Kn1ghtjp> you might want to get some rest
[06:15:18] <fenn> meh
[06:15:19] <Kn1ghtjp> i learn more by making mistakes.. hehehehe
[06:15:43] <fenn> well, learn how to set up limit switches before you do the trial and error method
[06:15:55] <Kn1ghtjp> okidoki! catcha later.
[06:16:21] <fenn> * fenn blinks.
[06:17:16] <fenn> btw your workflow idea is very similar to what i was imagining
[06:17:49] <fenn> i want (someone else) to write a conversational programming layer above gcode
[06:17:53] <Kn1ghtjp> workflow is a bit mature now than when i started 6 years ago
[06:18:07] <Kn1ghtjp> i was a consultant for Unisys specializing in workflow and imaging
[06:18:41] <Kn1ghtjp> I integrated the Unisys workflow product in myriads of installations for government, financial, medical and whatnot
[06:18:56] <Kn1ghtjp> i also got to work with the FileNet workflow product and some others
[06:19:20] <fenn> this is for OCR type stuff?
[06:19:23] <Kn1ghtjp> i could easily see workflow being used to automate production flows for EMC
[06:19:35] <Kn1ghtjp> right. most include ocr, icr type stuff
[06:19:58] <Kn1ghtjp> from document imaging to processing to archiving.
[06:20:19] <fenn> i need some of that.. trying to get rid of all my paper books
[06:20:21] <Kn1ghtjp> i'm more experienced in high level software engineering than bits and bytes
[06:20:33] <fenn> good, that seems to be lacking around here
[06:21:00] <Kn1ghtjp> lol, you should have seen my desk. we sell the idea of paperless offices, but the e-business team has the most paper
[06:21:07] <fenn> well, at least certain people don't like high-level programming
[06:21:56] <fenn> paperless might work if the tablet idea ever actually works in reality
[06:21:59] <Kn1ghtjp> that's because it's less programming and more design. geniuses like to dispense with designing and go straight to code
[06:22:28] <Kn1ghtjp> well, geniuses and morons like me like to skip design and go straight to coding
[06:22:31] <fenn> but that doesn't work in a collaborative environment like open source
[06:22:46] <fenn> people just say "wtf is this"
[06:23:01] <Kn1ghtjp> just what do they say right now? *wink*
[06:23:07] <fenn> exactly
[06:24:06] <Kn1ghtjp> get the design documents! we can fix this yet! i hadn't been an IT consultant for 10 years for nothing.
[06:24:11] <Kn1ghtjp> half my life is paper
[06:24:25] <Kn1ghtjp> half of a consultant's job is documentation
[06:24:31] <Kn1ghtjp> the other half is the actual work
[06:24:41] <fenn> um, design documents..
[06:24:51] <Kn1ghtjp> righto.. where are they by the way
[06:24:54] <Kn1ghtjp> for emc2
[06:25:03] <fenn> still being created
[06:25:07] <Kn1ghtjp> ah. k
[06:25:17] <fenn> emc2 is supposed to fix the mess that was emc1
[06:25:25] <fenn> but half of emc1 crept back in
[06:25:34] <fenn> more than half actually
[06:26:01] <Kn1ghtjp> ah... i know the feeling. i have been in some projects like that
[06:26:01] <fenn> and, since "it works" people say there's nothing wrong with it
[06:26:18] <fenn> maybe that's a little oversimplified
[06:26:27] <Kn1ghtjp> well, if it ain't broke, don't fix. but why make emc2 then?
[06:26:29] <Kn1ghtjp> hehehe
[06:26:35] <fenn> but that's what the whole NML controversy is about
[06:26:52] <Kn1ghtjp> i stayed up last night reading the RCSlib stuff
[06:26:56] <Kn1ghtjp> pretty good
[06:27:10] <fenn> read my email to the dev list "rocking the boat" for my view of the situation
[06:27:21] <Kn1ghtjp> needs a couple of nice graphicalfront end stuff though
[06:27:41] <fenn> RCS and NML are ridiculous when you actually look at the code
[06:28:13] <fenn> well, NML is, havent looked at RCS
[06:28:33] <Kn1ghtjp> the concept for rcs is good. the NML is actually workflow stuff.
[06:28:44] <Kn1ghtjp> i was actually surprised to find that out
[06:29:16] <Kn1ghtjp> what it needs are proper carriers which are not documented/implemented
[06:29:37] <Kn1ghtjp> by carriers, i mean the transmissiion protocol in the transport layer
[06:29:42] <SWP_Away> mind if I interject a bit here?
[06:29:47] <Kn1ghtjp> shure.
[06:29:58] <SWP_Away> I have the RCS book - though I haven't read it all
[06:30:20] <SWP_Away> most of hte NML related code is auto-generated by a graphical application
[06:30:25] <Kn1ghtjp> i've just gone through the tutorials and stuff on the website
[06:30:30] <fenn> geez no wonder
[06:30:32] <Kn1ghtjp> yah, saw that. it's in java
[06:30:34] <Kn1ghtjp> hate java
[06:30:36] <SWP_Away> that's part of why it looks so crappy
[06:30:58] <Kn1ghtjp> if most people only have that graphical app or something better.
[06:31:05] <SWP_Away> NML is multi-OS, multi-transport, multi-CPU
[06:31:19] <SWP_Away> that's a *hard* thing to do elegantly
[06:31:27] <fenn> bah
[06:31:33] <SWP_Away> it takes care of things like endian-ness automatically
[06:31:57] <Kn1ghtjp> yup, it's all stated in theory. few implementations though. the graphical program is in java.
[06:32:12] <SWP_Away> I've looked at the stupid 480-line case statment, and wanted to replace it
[06:32:27] <SWP_Away> it's not a theory - there is a windows GUI that can run a remote emc machine
[06:32:33] <Kn1ghtjp> the implementation for EMC2 has to be decided though. It
[06:32:33] <SWP_Away> via NML
[06:33:05] <fenn> i think the problem with NML is that the code isn't high-level enough
[06:33:12] <Kn1ghtjp> sorry, wrong word used. I meant that it's all design.
[06:33:23] <Kn1ghtjp> implementation is not provided
[06:33:26] <SWP_Away> a large machine (think of a 300-foot long printing press) needs to have an I/O and motion system that supports distributed operations
[06:33:51] <SWP_Away> you can't use things like C++ RTTI when you send an object over a wire
[06:33:58] <Kn1ghtjp> RCS is high level. RCS uses NML for the messaging protocol
[06:34:12] <fenn> but you cant do that in realtime anyway, so why worry about using low level stuff to send messages?
[06:34:16] <SWP_Away> unless you guarantee that all systems have been built with identical compilers (and CPUs and OS)
[06:34:44] <SWP_Away> a message saying "paper low" doesn't need to be RT
[06:34:56] <SWP_Away> but it may need to be 100 feet from the controller
[06:35:04] <Kn1ghtjp> It's a (what's the word used) Framework
[06:35:11] <SWP_Away> right
[06:35:21] <SWP_Away> NML is a message transport system
[06:35:34] <Jymmm> SWP_Away depends if you have to actualy MAKE the paper =)
[06:35:42] <SWP_Away> RCS is a design methodology that happens to use NML
[06:35:44] <Jymmm> and on that not...
[06:35:48] <Jymmm> G'Night Folks!
[06:35:53] <A-L-P-H-A> dang that food is yummy
[06:36:00] <A-L-P-H-A> is=was
[06:36:04] <Kn1ghtjp> mmmm... foood...
[06:36:10] <SWP_Away> donuts
[06:36:33] <fenn> * fenn does photosynthesis through his eyes on the light coming out of the computer screen
[06:36:37] <A-L-P-H-A> no, instant noodles, fried egg, and veggies... a feast I tell you!
[06:36:40] <A-L-P-H-A> a feast!
[06:37:22] <SWP_Away> anyway - when you look at the communications libraries out there, you see that there aren't a lot of them where:
[06:37:32] <SWP_Away> (a) it's lightweight
[06:37:38] <SWP_Away> (b) it's open source
[06:37:45] <SWP_Away> (c) it's multi-platform
[06:38:02] <A-L-P-H-A> aol is coming out with some protocols... I believe for voice and webcam video.
[06:38:06] <SWP_Away> (d) multi-platform extends down to microcontrollers on a serial line
[06:38:19] <A-L-P-H-A> open sourced
[06:38:36] <fenn> c) is hard and d) is damn near impossible for ANY piece of software
[06:38:49] <SWP_Away> NML accomplishes all of them
[06:39:02] <fenn> arguable
[06:39:06] <SWP_Away> lightweight being a matter of opinion, of course
[06:39:20] <Kn1ghtjp> haven't seen NML itself, can't comment on that. on paper, it looks good.
[06:39:22] <A-L-P-H-A> http://slashdot.org/article.pl?sid=05/06/03/1529240&from=rss
[06:40:03] <A-L-P-H-A> I am wrong.
[06:40:16] <SWP_Away> one other minor thing, before I actually go to bed :)
[06:40:47] <SWP_Away> I was wondering about the execution speed of a humongous case statement, and how to improve that function
[06:41:10] <SWP_Away> most of the compilers that I've looked at assembly output from have been for microcontrollers
[06:41:11] <A-L-P-H-A> SWP_Away, depends on how intelligent the compiler is.
[06:41:26] <A-L-P-H-A> you'd have to actually test the output.
[06:41:29] <SWP_Away> so the case statements are a sequential check of all the cases
[06:41:34] <fenn> break the case statement into little bits
[06:41:48] <fenn> you have to add a lot to the design
[06:41:53] <SWP_Away> but apparently, gcc and many modern compilers make a B-tree out of it
[06:42:12] <SWP_Away> so the execution speed goes up in O(log n)
[06:42:28] <Kn1ghtjp> what's the target platform? i may have missed the thread
[06:42:51] <fenn> all of them! bwahaa!
[06:42:59] <SWP_Away> for what?
[06:43:03] <SWP_Away> target for what?
[06:43:11] <Kn1ghtjp> for the compile
[06:43:22] <SWP_Away> for the compile of what?
[06:43:38] <Kn1ghtjp> of the program with the case statements
[06:43:48] <SWP_Away> (that probably looks like an extremely stupid question)
[06:44:01] <SWP_Away> ah - that case is part of emc, so the target is Linux
[06:44:28] <fenn> i thought it was part of NML, which you want to compile on doze and microcontrollers as well, right?
[06:44:38] <Kn1ghtjp> i was going to recommend manual window optimisation, but that is not feasible for linux, hehehe
[06:44:59] <SWP_Away> the particular function is an NML -related part of emc - hold on
[06:45:10] <Kn1ghtjp> to optimise, start with the case statements for the most processed routines, ending with the least processed routines
[06:45:12] <fenn> its emcsh.cc right?
[06:45:40] <Kn1ghtjp> that'll take away a few if/then mc in the loop
[06:46:55] <SWP_Away> ah - in BDI4 sources, it's src/emc/nml_intf/emc.cc
[06:47:16] <SWP_Away> the emc_format function - get a barf bag before looking
[06:47:24] <Kn1ghtjp> yay! i get to loook at the code... rigga ragga noggin.
[06:47:31] <SWP_Away> sorry - emcFormat
[06:48:25] <SWP_Away> then the next one - emc_symbol_lookup
[06:49:09] <fenn> ah yes emcFormat's a good one
[06:49:17] <SWP_Away> I agree that the use of C++ is pretty horrific in the NML library
[06:49:36] <SWP_Away> also, that things like those two functions are abominations
[06:50:03] <SWP_Away> but, I can't deny that there are a lot of good reasons to use NML, and only a couple of good reasons not to
[06:50:24] <SWP_Away> I'd love to come up with a way to fix the few problems, but I haven't been able to
[06:50:45] <fenn> in my opinion it's stalling new development, and that's a good reason to try for something different
[06:50:46] <SWP_Away> yet
[06:51:06] <SWP_Away> I think any new system would stall things a lot more
[06:51:16] <fenn> yes, for a while
[06:51:29] <SWP_Away> imagine the effort to convert to CORBA or SOAP
[06:51:54] <SWP_Away> (or whatever those are - I can never keep track :) )
[06:51:55] <fenn> i think anything you need to read a whole book on to learn how to use is too complicated
[06:52:08] <fenn> i saw a book - Learn CORBA in just 14 days!
[06:52:33] <SWP_Away> I can write NML programs today - I just don't know it well enough to be able to make deep technical comments on it
[06:53:23] <fenn> i think NML and RCS are a lot of fluff
[06:53:27] <SWP_Away> I read about 70 pages of the RCS book
[06:53:48] <fenn> "The RCS Library does not specify implementation details. Therefore, it does not limit the implementation on particular hardware or software. "
[06:54:02] <fenn> but that doesn't mean anything!
[06:54:09] <SWP_Away> sure it does
[06:55:14] <A-L-P-H-A> I'm off to sleep I think
[06:55:15] <A-L-P-H-A> ciao
[06:55:28] <SWP_Away> CORBA is useful in many situations. Because of the easy way that CORBA integrates machines from so many vendors, with sizes ranging from mainframes through minis and desktops to hand-helds and embedded systems, it is the middleware of choice for large (and even not-so-large) enterprises
[06:55:42] <SWP_Away> now that means nothing! :)
[06:55:54] <fenn> right
[06:56:11] <fenn> and i dont want to have to sift through all that crap when i'm learning about something
[06:56:31] <SWP_Away> right - do you have a suggestion for a replacement library?
[06:56:43] <fenn> i'm leaning toward D-BUS
[06:57:37] <SWP_Away> I'll look at it, and see if it meets what I thinik are the requirements of EMC
[06:57:48] <SWP_Away> not that I'm a real power here
[06:57:52] <fenn> i think they are exceedingly modest about reliability
[06:58:04] <SWP_Away> who?
[06:58:11] <fenn> the d-bus programmers
[06:59:59] <fenn> maybe i just like it because it doesn't pretend to be the final product
[07:00:26] <SWP_Away> oh - I don't think NML does either, but that's just my opinion
[07:00:49] <fenn> by final product i mean "NML will run your robot for you!"
[07:01:02] <SWP_Away> they don't say that
[07:01:06] <fenn> or "CORBA will organize your computer!"
[07:01:16] <fenn> not in so many words
[07:01:29] <SWP_Away> they way "here's a way to send messages to do thinkgs like controlling a remote robot"
[07:01:33] <SWP_Away> they say
[07:05:00] <fenn> okay the RCS documents do a lot of that; the nml documents don't, you're right
[07:05:17] <SWP_Away> yeah - rcs is a whole other thing entirely
[07:05:29] <SWP_Away> and that's why it was thrown out for emc2 :)
[07:06:45] <fenn> i was surprised to find out that NML takes about 70 times longer to send a message than d-bus
[07:07:25] <SWP_Away> hmmm - measured how?
[07:07:29] <fenn> i dont know anything about how code style affects performance; that doesnt make sense to me
[07:07:51] <fenn> i'll have to look it up again
[07:08:06] <SWP_Away> no - though D-BUS doesn't handle endian-ness, for example
[07:08:46] <fenn> http://www.isd.mel.nist.gov/projects/rcslib/nmlperf.html
[07:08:55] <ValarQ> hello fenn
[07:08:57] <ValarQ> hello mr Away
[07:09:02] <fenn> hi ValarQ
[07:09:13] <SWP_Away> Hi ValarQ
[07:10:12] <fenn> http://lists.freedesktop.org/pipermail/dbus/2004-November/001779.html
[07:11:31] <fenn> i'm probably reading that wrong
[07:12:29] <ValarQ> whats D-BUS?
[07:13:12] <ValarQ> can't recall where i have heard about it...
[07:13:28] <fenn> it's an inter process message layer
[07:13:50] <Kn1ghtjp> i'm back! interesting discussion. The compararing of D-Bus and NML would be like comparing apples to oranges
[07:13:57] <SWP_Away> note that NML was sending over a network (10 mbit ethernet), and DBUS was over a local "bus" (for the comparable tests)
[07:13:58] <Kn1ghtjp> i just quickly snuck to the dbus link
[07:13:59] <ValarQ> fenn: ah, i was thinking hardware
[07:14:05] <ValarQ> * ValarQ confuses himself
[07:14:30] <Kn1ghtjp> D-bus more an implementation. a set of libraries
[07:14:39] <Kn1ghtjp> NML as it is. is not.
[07:15:06] <Kn1ghtjp> if you are comparing the NML implementation to the dbus implementation, maybe the NML library is at fault
[07:15:15] <Kn1ghtjp> because they seem to do the same things.
[07:15:23] <Kn1ghtjp> in concept. heheheh
[07:15:27] <SWP_Away> dbus looks like it really isn't meant for netwrok communication, and certainly not serial. It will still work over a network because it can use a socket, but it's not meant for it
[07:16:09] <fenn> i think one of the main reasons they developed DBUS was that DCOP was flaky over a network
[07:16:55] <Kn1ghtjp> not that we're ganging on you fenn, DBUS looks great, but it's not NML. (does that make sense?)
[07:17:05] <Kn1ghtjp> hehehe, confusing myself now
[07:17:19] <fenn> DBUS wasn't designed for exactly what we're doing, but neither was NML
[07:17:41] <SWP_Away> well - I think NML was, actually :)
[07:17:49] <Kn1ghtjp> you can use DBUS to implement NML, actually.
[07:17:57] <fenn> yeah
[07:18:03] <SWP_Away> actually - no - you're right - it wasn't
[07:18:26] <SWP_Away> RCS was made for something at NIST, and one of the guys working on EMC heard about it, and decided to use it
[07:18:39] <SWP_Away> I think that was the deal
[07:19:01] <SWP_Away> anyway - It's now 3:17 - really time for bed.
[07:19:05] <fenn> yeah
[07:19:10] <SWP_Away> good discussion - keep looking for the perfect library
[07:19:15] <fenn> hah
[07:19:18] <SWP_Away> heh
[07:19:27] <SWP_Away> see ya
[07:19:28] <fenn> machinists know there is no such thing as "perfect"
[07:19:37] <SWP_Away> (perfect-ish then)
[07:19:58] <fenn> g'night
[07:20:26] <Kn1ghtjp> fenn, question, would Dbus be able to support interplatform communication?
[07:20:38] <fenn> no
[07:20:49] <Kn1ghtjp> rigga ragga noggin
[07:21:46] <fenn> well? whaddya want
[07:22:02] <fenn> that's not very important to me, so it doesn't really influence my judgements
[07:22:14] <Kn1ghtjp> the email on dev,
[07:22:19] <Phydbleep> fenn: Power, Money and Women. :)
[07:22:34] <Kn1ghtjp> i wanted to run Windows GUI and EMC backend
[07:22:51] <Phydbleep> Not in that order of course. :)
[07:23:08] <Kn1ghtjp> i got replies saying i should compile RCS lib on windows, and rcs lib on linux and get the 2 to talk somehow
[07:23:37] <fenn> i'm not much help with multiple platforms since I don't have multiple platforms
[07:23:46] <fenn> so, i don't even know what the differences are
[07:23:48] <Kn1ghtjp> the NML has sample code, but APIs like DBUS are good if they already exist
[07:24:36] <Kn1ghtjp> i like reusing code. i love copy and paste.
[07:24:48] <Kn1ghtjp> aside from that, power, money, women look good
[07:25:17] <fenn> i read somewhere on the dbus mailing list that someone had done work on a windows port of dbus
[07:25:43] <fenn> http://lists.freedesktop.org/pipermail/dbus/2004-September/001551.html
[07:25:54] <fenn> (that wasnt the message btw)
[07:26:31] <Kn1ghtjp> i'm always collecting alternatives, ah ok. over sockets or named pipes.
[07:26:48] <Kn1ghtjp> i wonder if java web services would be fast enough?
[07:27:41] <Kn1ghtjp> fenn, how complete is the emc2 design document?
[07:28:15] <fenn> HAL is written up, that's the realtime side of things
[07:28:47] <Kn1ghtjp> any diagram on the overall architecture?
[07:29:10] <Kn1ghtjp> does it follow RCS?
[07:29:20] <fenn> anything written down would be here: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Future
[07:29:47] <fenn> we're still discussing the overall architecture i think
[07:30:04] <fenn> at least swp and i are :)
[07:31:20] <fenn> if you mean "sense, model, act" then no, not at all
[07:31:20] <Kn1ghtjp> ah ok. so, roughly, a gui would interact with a daemon through a messaging layer, the daemon would control Sensor API, Motion API, etc?
[07:32:12] <fenn> yeah
[07:32:21] <Kn1ghtjp> what form would the callbacks take?
[07:32:22] <fenn> not sure you're using the term API correctly
[07:32:30] <Kn1ghtjp> what's the term used?
[07:32:39] <fenn> i thought API was a set of guidelines for writing code that works with a library
[07:33:01] <fenn> messaging interface?
[07:33:02] <Kn1ghtjp> Application Programming Interface - API
[07:33:08] <fenn> i dunno
[07:33:59] <fenn> ok nevermind about what word to use
[07:34:17] <Kn1ghtjp> how is it right now? i've read emc2 runs a mill
[07:34:29] <Kn1ghtjp> i know about HAL, what controls hal?
[07:34:55] <Kn1ghtjp> does the Hardware abstraction layer also encapsulate sensors? (sorry, my newbieness leaking out)
[07:34:59] <fenn> right now the g-code interpreter goes into task, goes into motion, goes into hal ?
[07:35:17] <fenn> all that code is emc1 code
[07:36:21] <Kn1ghtjp> ah ok, the Task block contains the movements, the motion block contains the implementation of the movements, and hal takes care of the hardware interface?
[07:36:42] <Kn1ghtjp> just verifying my understanding. what does "movements" include?
[07:36:59] <Kn1ghtjp> sorry, not familiar with the terms you use. making it up myself as i go
[07:37:50] <fenn> you learn pretty fast
[07:38:16] <fenn> i just started mucking with emc in the last 3 weeks
[07:38:45] <Kn1ghtjp> how did you find it?
[07:38:46] <fenn> i'm probably the wrong person to learn from :)
[07:38:52] <fenn> lots and lots of irc logs
[07:38:55] <Kn1ghtjp> easy? troublesome? difficult?
[07:39:11] <Kn1ghtjp> irc logs a good source of info?
[07:39:33] <fenn> maybe with more disciplined use of searching tools
[07:39:40] <fenn> logger_aj, bookmark
[07:39:40] <fenn> See http://193.226.12.129/irc/irc.freenode.net:6667/emc/2005-06-08#T07-39-40
[07:39:54] <fenn> there's the log repository
[07:40:05] <Kn1ghtjp> cool! thanks!
[07:40:38] <Kn1ghtjp> gak! that didn't work.
[07:40:47] <Kn1ghtjp> ooops, copied the "See " part
[07:40:48] <Kn1ghtjp> hehehe
[07:40:50] <Kn1ghtjp> my bad
[07:41:12] <fenn> FYI anytihng with "mod" is an emc1 thing, anything with "gen" is a HAL thing
[07:41:35] <fenn> so stepmod == emc1 and stepgen==HAL
[07:42:47] <fenn> part of my problem is i've never been involved in a "real" software project before
[07:43:00] <fenn> but that's also why i'm doing it in the first place
[07:43:15] <fenn> gotta go over the hump some time
[07:43:36] <Phydbleep> Aha.. I've been looking for this page.. http://www.crydom.com/products/productFamily.aspx?id=24 :)
[07:44:42] <fenn> that's not as bad as i thought.. $30 or so each
[07:46:46] <Phydbleep> Yeah, And the Zero-Crossing units are the cheaters way to handle 3-phase. :)
[07:47:18] <Kn1ghtjp> i've been in too many software projects. ran several myself. too many=very bad for your health.
[07:48:00] <fenn> life is a terminal disease, caused by birth
[07:48:23] <Kn1ghtjp> life has a 100% mortality rate
[07:48:48] <Kn1ghtjp> All people die, no exceptions. well maybe elijah and that other guy
[07:49:02] <Kn1ghtjp> Enoch was his name.
[07:49:23] <fenn> the alchemist
[07:49:49] <fenn> immortality is easy if you're an alchemist
[07:50:38] <Kn1ghtjp> nah, Dumbledore destroyed the philosopher's stone. it's hard again.
[07:51:29] <fenn> this might be interesting re: dbus on multiple platforms: http://dbus.freedesktop.org/doc/api/html/group__DBusTypes.html
[07:54:13] <fenn> hmm. dumbledore. i was talking about real alchemists.
[07:55:56] <Kn1ghtjp> what are the 3 bus types? i'm trying to find out the available implemented transports
[07:56:08] <Kn1ghtjp> Starting a server seems to start up a listener
[07:57:12] <fenn> "There are four types of messages in D-BUS: method calls, method returns, signals, and errors. "
[07:57:14] <Kn1ghtjp> yuk, dbus wiki still under development
[07:57:27] <fenn> and it will be forever, no doubt
[07:57:32] <Kn1ghtjp> what are the transports?
[07:57:46] <Kn1ghtjp> there's IPC, you mentioned sockets,
[07:58:18] <Kn1ghtjp> oh, found the tutorial.
[07:58:23] <Kn1ghtjp> it has wrappers
[07:58:40] <Phydbleep> fenn: What's the whole bit with multiple machines needing sync?
[07:59:42] <Kn1ghtjp> the implementation of dbus is very different from nml...
[07:59:44] <Kn1ghtjp> hmmm.
[08:00:06] <fenn> Kn1ghtjp: i really dont know what you mean "what are the transports"
[08:00:20] <Kn1ghtjp> each app has to have a message queue running
[08:00:24] <fenn> Phydbleep: if you have the gui on one computer and the motion control on another
[08:00:58] <fenn> Phydbleep: you don't really need sync on a microsecond level
[08:01:05] <fenn> and it's impossible anyway
[08:01:43] <Kn1ghtjp> fenn: the transport layer in the OSI (open system intercommunications) standard is where the connections are set up ... well, nevermind... i forget halfway
[08:01:54] <Kn1ghtjp> it's been too long
[08:02:06] <Kn1ghtjp> i'm getting old
[08:02:27] <fenn> this is like, TCP/IP?
[08:02:41] <fenn> or the protocol on top of tcp?
[08:03:26] <Kn1ghtjp> right, TCP is Transport control protocol. it's on top of TCP.
[08:03:47] <fenn> what are sockets, exactly? i never learned that
[08:03:48] <Kn1ghtjp> IPC- or interprocess communication happens when an app calls a dll
[08:05:10] <Kn1ghtjp> over the internet, or a network, when an application wants to talk 1 on 1 to another app, that's what's usually used
[08:05:11] <Phydbleep> * Phydbleep wonders why SMTP (Think pro music not email) has not been considered.
[08:05:29] <Kn1ghtjp> SMTP - simple mail transport protocol --- too simple
[08:05:44] <Kn1ghtjp> pro music -- dunno -
[08:05:50] <Kn1ghtjp> different?
[08:06:08] <Phydbleep> Standard Media Timecode..
[08:06:10] <Kn1ghtjp> loopback sockets are sometimes used within a computer as well
[08:06:21] <fenn> oh time protocol
[08:06:27] <Kn1ghtjp> ah... the video editing stuff
[08:06:51] <fenn> yeah that works for syncing
[08:06:56] <Kn1ghtjp> the answer is simple, the media doesn't support it. lol
[08:06:58] <Phydbleep> It's the same system that is used to sync massive multitrack recordings.
[08:07:16] <Kn1ghtjp> yes, but the media records the timing.
[08:07:32] <Phydbleep> No all the time.
[08:07:39] <Phydbleep> s/No/Not
[08:07:49] <Kn1ghtjp> right, when the computer can keep time for the media
[08:08:22] <Kn1ghtjp> in the digital world, clock cycles are used.
[08:08:25] <fenn> NTP network time protocol
[08:08:28] <Phydbleep> Take $20 worth of firewire cards/cables and use that for the control link.
[08:08:57] <fenn> you're obsessed with firewire :)
[08:09:15] <Phydbleep> More immune to RF in the shop. :)
[08:09:36] <Kn1ghtjp> more expensive codecs too
[08:10:03] <Kn1ghtjp> has anyone made an opensource USB breakout board?
[08:10:19] <Kn1ghtjp> i'm running out of inputs on my hw
[08:10:35] <fenn> i'm sure they have
[08:10:36] <Phydbleep> Kn1ghtjp: What codec? Run it as raw sockets or mod the ip1394 stuff.
[08:10:57] <Phydbleep> Kn1ghtjp: Like for switch inputs?
[08:11:24] <Kn1ghtjp> how much is a 1394 chip for the receiving end?
[08:11:31] <fenn> ok i gotta go to bed, you guys play nice
[08:11:34] <Kn1ghtjp> not familiar with firewire
[08:11:42] <Kn1ghtjp> good night/morning!
[08:11:52] <Phydbleep> G'nite fenn :)
[08:12:01] <Phydbleep> Blast.. Missed.
[08:12:11] <Kn1ghtjp> do you use firewire?
[08:13:23] <Phydbleep> For a few things... Tested the ip1394 driver, I have a firewire card/drive/port on laptop.
[08:13:36] <Kn1ghtjp> cool!
[08:13:43] <Kn1ghtjp> what do you control with it?
[08:13:59] <Phydbleep> Were you wanting a CHEAP switch>USB breakout?
[08:14:22] <Kn1ghtjp> switches, inputs, motor control
[08:14:25] <Kn1ghtjp> yeah
[08:14:36] <Phydbleep> * Phydbleep has an easy fix that reads as an aux keyboard.
[08:14:47] <Kn1ghtjp> ummm... no...
[08:15:22] <Kn1ghtjp> i mean... emc-->usb--->breakout board --> drivers --> motors
[08:15:57] <Phydbleep> Get a $12 Dual LPT card.
[08:16:12] <Kn1ghtjp> and possibly... sensors --> breakout board --> usb --> emc
[08:16:29] <Kn1ghtjp> yeah, i got one. am running out of slots though
[08:16:38] <Phydbleep> Switches>USB>EMC is easy.
[08:16:49] <Kn1ghtjp> yeah, saw the keyboard mods
[08:17:18] <Phydbleep> Get a $9 USB keyboard and gut that sucker. :)
[08:18:02] <Phydbleep> I know where there is a bi-directional PC/USB chipset for <$15....
[08:18:27] <Phydbleep> * Phydbleep just realized how easy it would be.
[08:18:40] <Kn1ghtjp> I'm in Australia, i usually get stuff from jaycar or dick smiths... when i have to order, postage makes it expensive
[08:19:03] <Kn1ghtjp> where? where? i like cheap
[08:19:22] <Phydbleep> How about Wal-Mart or Tesco?
[08:19:32] <Kn1ghtjp> no wal-mart or tesco here.
[08:19:39] <Phydbleep> ASDA?
[08:19:41] <Kn1ghtjp> Tandy just got bought by dick smiths
[08:19:49] <Kn1ghtjp> dunno what ASDA is.
[08:20:15] <Phydbleep> Best-Buy? Cheap PC parts place?
[08:20:34] <Kn1ghtjp> yup, there are places around for PC parts. what's it called?
[08:21:14] <Kn1ghtjp> a force feedback usb mouse?
[08:21:24] <Kn1ghtjp> hmmm...
[08:21:37] <Kn1ghtjp> cmon, what?
[08:22:55] <Phydbleep> * Phydbleep was looking for the manufacturers link.
[08:24:13] <Kn1ghtjp> * Jonathan looking around for it as well
[08:24:43] <Phydbleep> It's a Philips/Gemini "Recoil" http://www.thetwistergroup.com/product/GGE908%20D25297.html
[08:25:20] <Phydbleep> Force feedback, 12 button, dual analog joystick. :)
[08:25:23] <Kn1ghtjp> oooh, usb gamepads, i got several of those!
[08:26:01] <Kn1ghtjp> hmmm, time to open one! thanks for the tip!
[08:26:12] <Phydbleep> I paid USD$15 for this on.
[08:26:48] <Phydbleep> I think the feedback motors are independantly controllable in this one.
[09:32:44] <jacky^> morning
[11:31:29] <Kn1ghtjp> interesting... did a make on emc2. didn't get any errors. i must have done something wrong.
[14:15:53] <alex_joni> hello
[14:15:57] <alex_joni> cradek: around?
[14:16:03] <SWP_Away> hi
[14:16:09] <alex_joni> hey Stephen
[14:16:42] <SWP_Away> how are you doing today?
[14:16:49] <alex_joni> pretty ok
[14:16:52] <alex_joni> just got to work
[14:16:53] <alex_joni> ;)
[14:16:58] <alex_joni> soon I'm heading home
[14:16:59] <SWP_Away> oh - that's too bad :)
[14:16:59] <alex_joni> :D
[14:17:03] <alex_joni> not really
[14:17:04] <SWP_Away> that's good
[14:17:07] <alex_joni> t's 17:15
[14:17:07] <SWP_Away> SWP_Away is now known as SWPadnos
[14:17:29] <alex_joni> at least it's not so warm outside
[14:18:03] <SWPadnos> that's good - I don't like much heat wither
[14:18:07] <SWPadnos> either
[14:20:12] <cradek> alex_joni: hello
[14:21:06] <alex_joni> hey chris
[14:21:14] <alex_joni> got your mail, but I need to get home to test it
[14:21:21] <cradek> cool
[14:21:25] <alex_joni> I actually found out that I had a STL viewer installed ;)
[14:21:37] <cradek> ha
[14:21:40] <cradek> oh well
[14:22:03] <alex_joni> but this viewer has problems with that STL
[14:22:08] <alex_joni> seems some parts are missing
[14:22:13] <alex_joni> there is a binary STL version
[14:22:17] <alex_joni> and that one works
[14:22:40] <cradek> it will be interesting to see if the dxf looks right
[14:22:46] <cradek> (maybe the file is broken?)
[14:24:25] <alex_joni> we shall see..
[14:24:34] <alex_joni> did you produce a dxf?
[14:24:38] <alex_joni> maybe you can mail me that one
[14:24:42] <alex_joni> I could try it out now
[14:24:44] <cradek> yeah
[14:24:58] <alex_joni> python is what I lack at the moment ;)
[14:25:40] <cradek> can I just dcc it?
[14:25:57] <alex_joni> sure
[14:26:27] <cradek> just a minute: transferring
[14:28:49] <cradek> did you get the request?
[14:30:51] <joe2000chevy> hello
[14:31:35] <alex_joni> sorry.. wason the phone
[14:31:38] <alex_joni> hello joe2000chevy
[14:32:17] <alex_joni> cradek: got it
[14:32:18] <joe2000chevy> how r u doing
[14:32:39] <jepler> cradek: the gcode.ulp mods to do odd-sized holes with an end mill is coming along nicely
[14:32:48] <cradek> jepler: cool
[14:33:41] <alex_joni> cradek: it's pretty buggy
[14:33:47] <alex_joni> but I suspect the STL was broken
[14:34:15] <cradek> alex_joni: what looks wrong?
[14:34:19] <cradek> alex_joni: do you have a known-good stl?
[14:34:28] <jepler> you'll have to write a new configuration file that looks like ".03125\n .032;.028;.038\n .042;.038;.048" to give the mill diameter (.03125), and for each drill you have the range of sizes you want to actually drill with it. (eg drill .028 through .038 holes with the drill you call .032)
[14:34:34] <alex_joni> the one I know it's good is not ascii
[14:34:43] <alex_joni> but hang on, I might have a good stl
[14:35:49] <jepler> it'll also screw up if your board has a hole smaller than the mill that isn't done by a true drill. I guess in that case I'd need ot error out.
[14:37:26] <cradek> jepler: it will be nice to figure out the tweaks (acceptable drill sizes) once and then have the software figure it out.
[14:38:56] <cradek> alex_joni: my program ignores the surface normals that are specified in the stl, so it's possible some triangles face the wrong way. I'm not sure whether acad's 3DFACES have a front and back, though.
[14:39:12] <cradek> alex_joni: if they don't, it doesn't matter.
[14:39:23] <alex_joni> cradek: gotta go now,
[14:39:35] <alex_joni> if I find a STL I'll mail you one
[14:39:37] <alex_joni> ok?
[14:39:40] <cradek> alex_joni: ok, bye
[14:41:02] <joe2000chevy> you need an stl from solidworks?
[14:41:21] <cradek> I could use a simple, known-good, ascii STL
[14:41:55] <joe2000chevy> i can make one in solid works if you like but not sure ascii?
[14:42:00] <alex_joni> I have a pretty simple, known-good ascii SAT file ;)
[14:42:07] <cradek> have a look at it and see if it's human readable
[14:42:12] <alex_joni> joe2000chevy:it should have an option on the export
[14:42:14] <cradek> (in an editor)
[14:42:18] <joe2000chevy> ah ok
[14:42:54] <joe2000chevy> how about an adjustment block from my cnc machine?
[14:43:10] <alex_joni> cradek: how about an SAT ?
[14:43:14] <joe2000chevy> i cut them in UHMW
[14:43:14] <cradek> sure, anything that I will be able to look at and see if it's right
[14:43:15] <alex_joni> looks nice too ;)
[14:43:24] <cradek> alex_joni: what is an SAT?
[14:44:47] <alex_joni> cradek: think I know what the problem is
[14:44:51] <joe2000chevy> only option is the asci sat
[14:44:55] <alex_joni> STL is supposed to have only one solid in it
[14:44:59] <joe2000chevy> stl does not say ascii
[14:45:12] <alex_joni> joe2000chevy:probably not
[14:45:45] <alex_joni> cradek:autocad only does binary stl's
[14:45:47] <alex_joni> :(
[14:45:51] <alex_joni> export that is
[14:45:58] <alex_joni> bye guys
[14:46:06] <cradek> * cradek shrugs
[14:46:47] <joe2000chevy> yes, the sat file can open in editor
[14:47:02] <cradek> solid 2002636asc
[14:47:02] <cradek> facet normal 0.979799 0.000000 0.199984
[14:47:02] <cradek> outer loop
[14:47:03] <joe2000chevy> i can email both i just created if ya like?
[14:47:07] <cradek> it looks like this?
[14:47:25] <cradek> sure, email is fine
[14:47:28] <cradek> chris@timeguy.com
[14:47:35] <joe2000chevy> here is the beginning of it.
[14:47:37] <joe2000chevy> 1300 0 1 0
[14:47:37] <joe2000chevy> 37 SolidWorks(2004231)-Sat-Convertor-2.0 12 ACIS 13.0 NT 24 Wed Jun 08 09:44:31 2005
[14:47:37] <joe2000chevy> 1 9.9999999999999995e-007 1e-010
[14:47:37] <joe2000chevy> -0 body $1 -1 -1 $-1 $2 $-1 $-1 F #
[14:47:37] <joe2000chevy> -1 name_attrib-gen-attrib $-1 -1 $-1 $-1 $0 keep keep_kept ignore copy @13 Small Adj Blk #
[14:47:38] <joe2000chevy> -2 lump $3 -1 -1 $-1 $-1 $4 $0 F #
[14:47:40] <joe2000chevy> -3 rgb_color-st-attrib $-1 -1 $-1 $-1 $2 0.75294117647058822 0.75294117647058822 0.75294117647058822 #
[14:47:42] <joe2000chevy> -4 shell $-1 -1 -1 $-1 $-1 $-1 $5 $-1 $2 F #
[14:47:44] <joe2000chevy> -5 face $6 -1 -1 $-1 $7 $8 $4 $-1 $9 reversed single F F #
[14:47:46] <joe2000chevy> -6 rgb_color-st-attrib $-1 -1 $-1 $-1 $5 1 1 1 #
[14:47:48] <joe2000chevy> -7 face $10 -1 -1 $-1 $11 $12 $4 $-1 $13 reversed single F F #
[14:47:51] <joe2000chevy> -8 loop $-1 -1 -1 $-1 $14 $15 $5 F unknown #
[14:47:51] <cradek> that's not an STL
[14:47:53] <joe2000chevy> -9 cone-surface $-1 -1 -1 $-1 0 0 -19.050000000000001 0 0 1 12.699999999999999 0 0 1 I I 0 1 12.699999999999999 forward I I I I #
[14:47:55] <joe2000chevy> -10 rgb_color-st-attrib $-1 -1 $-1 $-1 $7 0.75294117647058822 0.75294117647058822 0.75294117647058822 #
[14:47:58] <joe2000chevy> no the sat
[14:48:09] <joe2000chevy> stl solid works does not output it in ascii
[14:48:15] <cradek> oh, I see
[14:48:20] <cradek> thanks anyway
[14:48:44] <joe2000chevy> this is the stl from solid works in notepad.
[14:48:49] <joe2000chevy> lol
[14:49:11] <joe2000chevy> but i can import it in acad
[14:49:40] <joe2000chevy> what are you trying to do?
[14:49:58] <cradek> test my program that converts from ascii stl to dxf
[14:50:05] <cradek> I wrote it for alex_joni
[14:51:39] <joe2000chevy> ah
[14:51:50] <joe2000chevy> well how do you get the stl to start with?
[14:52:12] <cradek> I don't know; it's his file
[14:52:17] <joe2000chevy> o
[14:58:17] <joe2000chevy> oops closed wrong window
[18:59:27] <robin_sz> meep?
[18:59:45] <les> hi robin
[19:05:08] <anonimasu> m33p!
[19:12:39] <jacky^> evening
[19:16:55] <jacky^> hi
[19:42:56] <robin_sz> meep!
[19:43:07] <robin_sz> indeed young emc'ers
[19:43:18] <robin_sz> I trust we are all well?
[19:43:42] <jacky^> hi robin_sz , well
[19:43:56] <robin_sz> good
[19:46:17] <jacky^> robin_sz: do you know some good cad for linux to create 3d text - g-code ?
[19:49:12] <robin_sz> jacky^: yeah, ask webersys, nice package, not free, but fairly priced
[19:49:30] <jacky^> synergy ?
[19:49:36] <robin_sz> yeah
[19:49:52] <robin_sz> he has ttf to dxf conversion in it now I think
[19:50:15] <jacky^> ok, thanks
[19:50:29] <robin_sz> want to see some 3d text I did?
[19:50:36] <jacky^> yes
[19:50:45] <robin_sz> wait ...
[19:50:50] <jacky^> ok
[19:51:41] <robin_sz> http://www.quacky.co.uk/~robin/woodcarve_old/
[19:51:52] <robin_sz> click "samples" onleft side
[19:52:23] <robin_sz> that is an OLD site,
[19:52:26] <robin_sz> like 5 or 6 years
[19:52:43] <jacky^> very nice :-)
[19:52:59] <jacky^> is yours the website ?
[19:53:08] <robin_sz> yeah, not used any more
[19:53:19] <robin_sz> sold the router :)
[19:53:25] <jacky^> :)
[19:53:40] <robin_sz> those where doen with either Signlab
[19:53:42] <jacky^> my compliments, very nice
[19:53:52] <robin_sz> or Enroute
[19:54:55] <jacky^> robin_sz: you buyed synergy ?
[19:55:06] <robin_sz> reviewed it,
[19:55:36] <robin_sz> it wasn ot exactly what I needed for my application, but I was impressed and the pricing was OK
[19:55:57] <robin_sz> better value than say, Autocad
[19:56:05] <jacky^> i don't like to use non open sorce software
[19:56:07] <robin_sz> and does a LOT more
[19:56:15] <jacky^> i think like rayh.
[19:56:21] <robin_sz> well, sure
[19:56:27] <jacky^> i'm a little fanatic, i use debian
[19:56:31] <jacky^> but
[19:56:35] <robin_sz> I like to use whatever works best for me
[19:56:45] <jacky^> can't find any software
[19:56:52] <jacky^> and
[19:56:54] <robin_sz> its hard for linux cad
[19:57:18] <robin_sz> whenever I can I use open source
[19:57:33] <jacky^> i think if i buy a sherline products, maybe i also help the developers
[19:57:39] <robin_sz> but, when the best is not open source, I pay.
[19:57:40] <alex_joni> hey guys
[19:57:42] <jacky^> seem to me a good thing
[19:58:36] <robin_sz> well, for fun or hobby, you can be a fanatic if you like, thats fine. in business, you have to keep up with the best, or your business is gone.
[19:58:57] <robin_sz> I use open source if I can, but sometimes, its not a good business move
[19:59:12] <jacky^> ciao alex_joni :)
[20:03:07] <jacky^> otherwise i'm absolute contrary to proprietary software :\
[20:03:07] <jacky^> sherline is the official sponsor of the group
[20:03:07] <jacky^> let see if can i use credit card to buy synergy..
[20:03:07] <jacky^> ah.. but synergy is a sherline product ?
[20:03:20] <jacky^> * jacky^ ugh
[20:04:55] <alex_joni> synergy has no conection with sherline
[20:05:14] <jacky^> i've seen
[20:05:34] <jacky^> with the staff of linuxcnc maybe ?
[20:05:55] <alex_joni> nope
[20:06:13] <alex_joni> the only connection between emc and synergy is that synergy is on the latest BDI
[20:06:39] <alex_joni> and that's because paul_c and websys were so kind to include it
[20:08:33] <jacky^> ah, ok
[20:14:19] <alex_joni> robin_sz: how's life?
[20:18:55] <robin_sz> npt tpp bad
[20:19:17] <alex_joni> seems you're catching an accent in ch
[20:19:21] <robin_sz> not too bad
[20:19:28] <robin_sz> hey, im in the UK still
[20:19:30] <alex_joni> ;)
[20:19:39] <alex_joni> kidding
[20:19:41] <robin_sz> .ch is septembre
[20:19:50] <alex_joni> right
[20:19:56] <alex_joni> different timezone?
[20:19:57] <alex_joni> :D
[20:20:02] <alex_joni> it's still june here
[20:20:07] <robin_sz> heh
[20:20:27] <robin_sz> still pursuing a couple of decnet sized laser jobs
[20:20:33] <alex_joni> never mind alex_joni, he's feeling funny tonight
[20:20:37] <robin_sz> both looking promising :)
[20:20:48] <alex_joni> nice
[20:20:51] <ValarQ> * ValarQ isn't to bright either
[20:21:05] <robin_sz> right ... I need to go do some drawrings
[20:21:54] <jacky^> ValarQ: go on crapplication ? :P
[20:22:48] <ValarQ> jacky^: "go on"?
[20:22:54] <jacky^> :\
[20:23:07] <jacky^> acc.. my bad english
[20:23:11] <ValarQ> you mean i should burn it on a cd and walk on it?
[20:23:18] <jacky^> are you working ?
[20:23:21] <jacky^> on ?
[20:23:29] <jacky^> hehe
[20:23:30] <ValarQ> no, er yes, er no
[20:23:38] <ValarQ> i'm hitting my head against a wall
[20:23:45] <jacky^> :-)
[20:24:02] <jacky^> take a pause then
[20:24:04] <ValarQ> i'm so dumb it's a miracle i haven't burn down the house yet
[20:24:24] <alex_joni> ValarQ: that's cute;)
[20:24:28] <jacky^> doh
[20:24:31] <jacky^> why ?
[20:25:59] <ValarQ> i have been making a new servocard for our milling machine today
[20:26:17] <jacky^> cool :D
[20:26:45] <ValarQ> yeah, would be even funnier if i didn't make so many mistakes
[20:26:53] <ValarQ> it worked after a couple of hours thought
[20:27:10] <jacky^> hehe..
[20:27:25] <ValarQ> and this time i didn't destroy that much...
[20:27:31] <jacky^> the hacker attitude..
[20:27:39] <ValarQ> yeah :)
[20:28:05] <ValarQ> to bad i don't have a photo...
[20:28:31] <ValarQ> it's a (more) stable version of this: http://arda.no-ip.org/ip2.jpg
[20:29:30] <ValarQ> (ignore my copy of "Bored of the rings" under my wallet)
[20:30:30] <jacky^> hehe, nice
[20:31:03] <ValarQ> nah, not that nice, the new card looks much better
[20:31:19] <ValarQ> but it's a lot of fun :)
[20:31:32] <ValarQ> * ValarQ is of to grab some food
[21:05:05] <bpmw_> Hello folks, does anyone know if John got the new stepgen module done, and is ready for updating?
[21:05:41] <ValarQ> no idea...
[21:05:43] <alex_joni> bpmw_: seen some commits from him
[21:05:48] <alex_joni> I think it should be ok
[21:05:55] <alex_joni> bpmw_: you knowhow to update?
[21:07:05] <bpmw_> He gave me the command last night, but had to finish milling a couple of pieces. So will try when I get home tonight.
[21:07:16] <alex_joni> ok
[21:07:24] <alex_joni> bpmw_: should be ok
[21:07:43] <bpmw_> Thanks!
[21:08:32] <bpmw_> Better get back to work, bye for now!
[21:08:48] <alex_joni> yup..bye
[21:19:16] <ValarQ> alex_joni: do you ever sleep?
[21:19:31] <alex_joni> soon ValarQ, soon
[21:19:41] <ValarQ> :)
[21:19:43] <alex_joni> I learned to sleep fast
[21:19:44] <alex_joni> :)
[21:19:52] <ValarQ> * ValarQ is of to bed
[21:19:55] <alex_joni> gotta compress it ;)
[21:19:57] <ValarQ> g'dnite folks
[21:19:58] <alex_joni> night ValarQ
[21:20:25] <jacky^> bye ValarQ
[21:32:43] <alex_joni> this is it for me too
[21:32:44] <alex_joni> night guys
[21:32:52] <jacky^> night alex_joni
[21:33:00] <alex_joni> bye
[21:33:12] <Jymmm> alex_joni : it's only 1400
[21:33:19] <alex_joni> [00:31] <Jymmm> alex_joni : it's only 1400
[21:33:20] <Jymmm> get your ass back here! =)
[21:33:23] <alex_joni> almost ;)
[21:33:30] <Jymmm> F;Night alex_joni
[21:33:35] <Jymmm> G'Night alex_joni
[21:33:40] <alex_joni> heh.. night Jymmm
[21:33:44] <alex_joni> or..good da
[21:33:45] <alex_joni> day
[21:34:26] <alex_joni> just in case: good morning, good evening & good night ;)
[21:34:55] <Jymmm> alex_joni oh go away before I take away your fuzzy bunny slippers!
[21:35:02] <jacky^> forget afternoon :)
[21:35:15] <jacky^> Jymmm: US ?
[21:35:23] <Jymmm> jacky^ : TZ
[21:35:35] <Jymmm> jacky^ : as in Twilight Zone
[21:35:59] <jacky^> ah.. i've not idea..
[21:36:07] <alex_joni> Jymmm: noooo, not my bunny slippers
[21:36:08] <Jymmm> jacky^ : Yes, PDT California
[21:36:17] <alex_joni> I'll get cold without them
[21:36:22] <jacky^> wow california ? :P
[21:36:32] <Jymmm> alex_joni : and your favorite blanky too!
[21:36:35] <alex_joni> freakin' surfer
[21:36:36] <jacky^> i've been in LA in 2002..
[21:36:46] <jacky^> summer 2002
[21:36:53] <jacky^> very nice
[21:37:02] <Jymmm> I'm only 30 minutes from the beach
[21:37:12] <alex_joni> Jymmm: that's what I meant
[21:37:13] <alex_joni> :)
[21:37:23] <jacky^> i'm also at 5 min of the beach ! :P
[21:37:31] <alex_joni> we had some very warm weather last week
[21:37:34] <alex_joni> about 30 C
[21:37:34] <jacky^> south italy ionio sea
[21:37:40] <jacky^> also here ..
[21:37:42] <alex_joni> now it's only 12
[21:37:43] <alex_joni> :(
[21:37:53] <alex_joni> but it's nice, I like cold weather
[21:37:58] <jacky^> i've seen venice beach, fantastic
[21:38:04] <jacky^> wonderful
[21:38:14] <alex_joni> * alex_joni liked venice
[21:38:16] <Jymmm> alex_joni no you dont, you just like having an excuse to wear your fuzzy bunny slippers!
[21:38:26] <alex_joni> and my blanky
[21:38:27] <alex_joni> :)
[21:38:32] <Jymmm> yep =)
[21:38:37] <alex_joni> right
[21:38:53] <alex_joni> well..newsflash..I don't need my blanky
[21:39:10] <alex_joni> but.. beware if smbdy messes with my bunny slippers
[21:39:14] <Jymmm> I burned it anyway
[21:39:27] <alex_joni> :P
[21:39:33] <alex_joni> well. later
[21:40:12] <Jymmm> Well, I guess I did my good deed for the day
[21:40:35] <jacky^> Jymmm: here is a photo from L.A http://www.roboitalia.com/modules.php?name=coppermine&file=displayimage&album=lastup&cat=&pos=5
[21:41:02] <jacky^> Universal studio
[21:42:24] <Jymmm> Cool, I havne't been to Univ Stu in YEARS
[21:43:10] <jacky^> uff. connection lost :\
[21:43:58] <Jymmm> ooops
[21:44:35] <jacky^> :-)
[21:48:26] <jacky^> cant understand..
[21:48:38] <jacky^> i installed synergy via apt
[21:49:13] <jacky^> and now , how to run it ?
[21:49:54] <jacky^> syner-tab nothing Syn-tab nothing :\
[21:50:49] <jacky^> ah.. /usr/weber/bin/synergy !
[21:54:22] <A-L-P-H-A> http://linuxdevices.com/articles/AT7871136191.html <-- just something of interest
[21:56:46] <jacky^> good article
[22:07:57] <SWPadnos> Hey - that's my university!
[22:11:47] <A-L-P-H-A> if I just shove a NIC into the computer, will BDI-4.20 recoginize it immediately? or do I have to script in some drivers?
[22:15:40] <jacky^> A-L-P-H-A: which card ?
[22:16:44] <A-L-P-H-A> I actually don't know.
[22:16:59] <A-L-P-H-A> has a few chips on it... PNIG, DELTA, MYSON.
[22:17:10] <jacky^> lspci will tell you
[22:17:38] <jacky^> you should find something like this:
[22:17:48] <jacky^> 0000:00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fa st Ethernet (rev 91)
[22:19:24] <jacky^> you also need to setup /etc/network/interfaces to work in dhcp or static
[22:19:36] <anonimasu> * anonimasu yawns
[22:19:54] <Jymmm> hey anonimasu
[22:20:00] <anonimasu> hey
[22:20:06] <robin_sz> meep?
[22:20:16] <anonimasu> how's things goiung?
[22:20:29] <A-L-P-H-A> 'ight
[22:20:59] <anonimasu> nice
[22:21:30] <Jymmm> bah, I need more crimp connectors
[22:26:43] <anonimasu> night people
[22:27:01] <A-L-P-H-A> later
[22:37:11] <jacky^> night anonimasu
[22:49:08] <robin_sz> bedtime for me too
[22:49:28] <jacky^> goodnight robin_sz
[23:04:58] <A-L-P-H-A> I'm such a neophite. I decided to screw reading the docs, and just reinstal bdi4.20 to get the NIC to work.
[23:05:23] <A-L-P-H-A> 52x CDrom doesn't take _that_ long.
[23:06:22] <jacky^> :\
[23:07:34] <jacky^> A-L-P-H-A: maybe nothing will change
[23:08:05] <jacky^> lspci what says ?
[23:10:49] <A-L-P-H-A> I'll let you know once it's completed.
[23:11:05] <jacky^> are you reinstalling ?
[23:11:13] <A-L-P-H-A> I'm going to the mall to return something... hate over paying shit. it was marked on sale for $20. they sold it to me for $30. :P
[23:11:21] <A-L-P-H-A> I am reinstalling... in the other room. :)
[23:11:32] <jacky^> ugh :\
[23:11:36] <jacky^> good luck
[23:40:22] <jacky^> good night