#emc | Logs for 2006-08-11

[00:00:50] <jepler> http://www.scenta.co.uk/minisites/flash/roboclaw/index.html
[00:19:33] <A-L-P-H-A> jepler, boring game. :(
[00:27:27] <Jymmm> * Jymmm is waiting for A-L-P-H-A to write a better game
[00:29:37] <A-L-P-H-A> Jymmm, already invented... it's at "http://banging.Jymmms.Sister.com"
[00:29:52] <A-L-P-H-A> hahaha
[00:29:54] <A-L-P-H-A> the site exists
[00:30:05] <Jymmm> A-L-P-H-A: She's dead so you know what that makes you!
[00:30:18] <A-L-P-H-A> the last guy to bang her? ;)
[00:30:30] <A-L-P-H-A> LOL...
[00:30:44] <A-L-P-H-A> if I'm insensitive... it's only cause I don't believe you. :)
[01:54:57] <A-L-P-H-A> anyone finding ubuntu's servers slow?
[02:07:20] <A-L-P-H-A> this fuck'n fly won't tired it self out.
[02:07:25] <A-L-P-H-A> just keeps flying and flying.
[02:12:29] <A-L-P-H-A> black light, electricution device thingie
[02:12:31] <A-L-P-H-A> :D
[02:18:21] <jepler> A-L-P-H-A: I'm not getting the best d/l speeds either
[02:18:21] <jepler> Fetched 159kB in 8s (19.1kB/s)
[02:18:28] <A-L-P-H-A> YEAH
[02:18:33] <A-L-P-H-A> I'm gettin glike around that speed too
[02:18:43] <A-L-P-H-A> pissing me off... taking forever!
[02:19:12] <A-L-P-H-A> finally done... just didn't bother with gimp/oo.o
[02:19:21] <A-L-P-H-A> removed like and hour right there at that speed.
[02:19:31] <A-L-P-H-A> I'll do those are night, when I'm asleep
[02:21:34] <A-L-P-H-A> DAMN it fly... fly outta my room, and into the electric light.
[02:21:44] <A-L-P-H-A> the fly zapper thingie
[02:30:56] <jepler> 'night guys
[03:23:16] <CIA-12> 03cradek 07HEAD * 10emc2/docs/src/common/emc2_introduction.lyx: improve GPL summary
[03:28:47] <A-L-P-H-A> damn it... ubuntu still is broken with ati, and multiple monitors (I can get two working, but not 3+)
[04:05:48] <A-L-P-H-A> the ZAP you hear from a fly zapper is so satifying, when the fly has been flying around pestering me.
[08:32:09] <Lerneaen_Hydra> 'lo
[08:38:12] <Lerneaen_Hydra> logger_aj: bookmark
[08:38:12] <Lerneaen_Hydra> See
[08:41:38] <Lerneaen_Hydra> robin_sz: I certainly won't use the control system of that mill were I to get it
[08:42:03] <Lerneaen_Hydra> that would be an EMC retrofit
[08:42:14] <Lerneaen_Hydra> you didn't recognise it by any chance?
[08:42:22] <Lerneaen_Hydra> maker/model?
[12:40:53] <Lerneaen_Hydra> robin_sz: meep?
[12:52:03] <mocki> hello
[13:31:55] <mdynac> good morning from deep in Cheeseland, USA!!!!
[13:32:39] <cradek> haha hi
[13:32:54] <cradek> I haven't heard of that city but I bet it's in Wisconsin?
[13:33:05] <mdynac> correct
[13:33:59] <giacus> hi!
[13:34:04] <mdynac> i just got thid old Pentium 120 Mhz with 48 megs of ram online....using puppy linux....
[13:34:20] <mdynac> i was bored up here
[13:34:24] <giacus> mdynac: switch to Debian !
[13:34:36] <giacus> how are U ?
[13:34:37] <cradek> that's not a fast machine these days...
[13:34:38] <mdynac> it won't run on this box
[13:34:48] <giacus> hey cradek :)
[13:34:54] <mdynac> it had doze 98 on it......
[13:35:03] <giacus> mdynac: erase it
[13:35:14] <mdynac> already did....
[13:35:17] <giacus> ensure to format with /s option
[13:35:38] <cradek> giacus: he said he's already using linux...
[13:35:45] <giacus> wow
[13:35:47] <cradek> mdynac: what are you running with emc?
[13:35:47] <giacus> :))
[13:35:50] <mdynac> puppy linux saved this machine from the dumpster.....
[13:36:08] <mdynac> i am running ubuntu....with emc
[13:36:14] <giacus> mdynac: what linux ?
[13:36:20] <mdynac> on a PIII
[13:36:32] <giacus> ah.. Ubuntu, niceee
[13:36:32] <cradek> ah I see, I thought you were using the Puppy with emc on it
[13:36:49] <mdynac> not yet, but i might test it out...
[13:36:53] <cradek> there's a special puppy that someone has made for emc users
[13:37:14] <giacus> not so updated for what I know
[13:37:24] <giacus> Ubutnu should be better !
[13:37:27] <giacus> ops
[13:37:31] <giacus> Ubuntu.
[13:37:44] <mdynac> do you recall the adaptive feedrate function you wrote at the fest?
[13:37:54] <cradek> sure
[13:38:12] <mdynac> so far it is working quite well....
[13:38:24] <giacus> :D
[13:38:32] <giacus> why surprised ?
[13:38:41] <mdynac> i was the EDM guy down there
[13:38:42] <cradek> great, what's the application?
[13:38:48] <mdynac> edm
[13:38:53] <mdynac> wire that is
[13:39:08] <cradek> are you the guy I talked to about reading some paper tapes?
[13:39:14] <mdynac> yep
[13:39:20] <cradek> ok I know who you are
[13:39:24] <mdynac> kewl
[13:39:26] <cradek> glad you got it all working
[13:39:35] <giacus> who ?
[13:39:37] <cradek> are you making parts with emc/edm now?
[13:39:52] <giacus> mdynac: who are you ?
[13:39:56] <mdynac> i am about to install my whole system in an edm machine this month.....
[13:40:05] <mdynac> no not yet
[13:40:09] <giacus> where you came from ?
[13:40:12] <cradek> giacus: we met at the cnc workshop in may
[13:40:20] <giacus> oh ..
[13:40:22] <giacus> you
[13:40:26] <giacus> not me :(
[13:41:13] <giacus> btw, mdynac nice to meet you
[13:41:17] <mdynac> i have it spread out on a workbech right now, but now that the adaptive feed work i can go ahead and put it in a real machine
[13:41:17] <Lerneaen_Hydra> Next time you'll have to have fest in borkland so I get to know everyone XD
[13:41:23] <giacus> I'm a emc lover :P
[13:41:45] <giacus> just a bit busy in these days..
[13:42:02] <cradek> mdynac: I'm anxious to see you get it working, I think you'd be the first to do edm
[13:42:16] <giacus> fishing, fishing, fishing!! sund and sea
[13:42:19] <Lerneaen_Hydra> mdynac: 2 or 4 axis edm?
[13:42:21] <mdynac> i hope so too.....
[13:42:23] <cradek> since may there are several people using emc for lathes, another new application
[13:42:37] <mdynac> only 2 axis for starters....
[13:42:43] <mdynac> baby steps....
[13:42:52] <Lerneaen_Hydra> sounds like a good idea
[13:43:03] <Lerneaen_Hydra> you have iron to run with EMC as well I take it?
[13:43:15] <Lerneaen_Hydra> working iron that is
[13:43:46] <mdynac> yes an Anrew EF-330 edm machine, runs currently on an old pdp8\a
[13:44:08] <mdynac> andrew ef 330
[13:44:28] <cradek> I'm always impressed that you guys can keep those machines working for so many years
[13:45:03] <mdynac> we just finished a replacement memory board for the old DEC core memory, now we can service the machine for 20 more years....
[13:45:36] <cradek> what goes wrong with the core? driver circuitry?
[13:45:44] <giacus> hello st4ts`!!
[13:45:49] <cradek> it's not like the core itself would wear out...
[13:45:52] <giacus> how are you ?
[13:46:11] <mdynac> the drive circuitry is a piece of cake, it is the actual core mat that is going bad.....
[13:46:21] <st4ts`> giacus: nice thanks
[13:46:32] <giacus> st4ts`: cool
[13:46:33] <cradek> really, I wouldn't have guessed
[13:46:38] <mdynac> corrosion, in a machine shop environment....
[13:46:38] <st4ts`> :*
[13:46:45] <giacus> smack!
[13:46:53] <giacus> ugh
[13:46:59] <Lerneaen_Hydra> by core memory do you mean the ring-type memory?
[13:47:01] <cradek> oh the little wires corrode? or the core beads themselves?
[13:47:16] <Lerneaen_Hydra> magnetised rings suspended in a latticework of wires
[13:47:36] <mdynac> the beads crack and the wires just corrode at the solder joints....
[13:47:56] <mdynac> 3 wire core memory
[13:48:11] <giacus> st4ts`: !!
[13:48:22] <cradek> sadly that sounds terminal... nice you have come up with a replacement
[13:48:58] <mdynac> yep 2 cypress memory chips and some tristate....such a tiny board....
[13:49:13] <mdynac> and a battery
[13:49:18] <giacus> mdynac: want a miracle ?
[13:49:20] <cradek> yeah I wondered about that
[13:49:37] <giacus> looking at the cristal sphere :DD
[13:49:59] <giacus> abra cadabra
[13:50:12] <Lerneaen_Hydra> aren't there "retrofits" for core memory? dram that emulates core memory behavior?
[13:50:22] <Lerneaen_Hydra> you'd need a battery though
[13:50:33] <cradek> Lerneaen_Hydra: read up a few lines, that's what he's talking about :-)
[13:50:37] <Lerneaen_Hydra> oh, maybe thats what you meant a bit earlier
[13:50:40] <mdynac> cradek: now that adaptive feedrate is working, maybe you guys can start working on phase 2 , which is actual backup....
[13:51:02] <giacus> mdynac: think at a dream
[13:51:14] <giacus> think it is possible
[13:51:25] <Lerneaen_Hydra> mdynac: backup?
[13:51:27] <giacus> and give me your eyes
[13:51:48] <giacus> I can do Miracle!
[13:51:51] <Lerneaen_Hydra> O.o I have a feeling mdynac want's his eyes where they are
[13:51:57] <Lerneaen_Hydra> in their sockets
[13:52:32] <giacus> now think at your mothernboard
[13:52:46] <giacus> its is not what you think ..
[13:53:08] <giacus> it is a 3 ghz mothernboard!
[13:53:19] <giacus> it is fast as the light
[13:53:40] <giacus> like a flash
[13:53:45] <giacus> is is so ?
[13:53:51] <giacus> it*
[13:53:52] <cradek> Lerneaen_Hydra: with wire edm when you cut into a part sometimes you have to back out along the same path
[13:54:04] <Lerneaen_Hydra> oh
[13:54:06] <Lerneaen_Hydra> right
[13:54:09] <cradek> Lerneaen_Hydra: I guess real edm controllers can do that automatically
[13:54:16] <Lerneaen_Hydra> any reason programming the path won't work?
[13:54:20] <Lerneaen_Hydra> oh, right
[13:54:31] <Lerneaen_Hydra> sounds like a task for a python converter
[13:54:34] <cradek> just convenience maybe
[13:54:40] <giacus> looking at mi cristal sphere I see your mothernboard travelling like a flash
[13:54:44] <Lerneaen_Hydra> that's not related to EMC
[13:54:53] <giacus> light speed
[13:54:53] <cradek> other times you have to back up "a bit" like when it shorts out against the part
[13:55:07] <Lerneaen_Hydra> that requires feedback, right?
[13:55:09] <cradek> obviously that's easier than backing up the entire path
[13:55:17] <giacus> mdynac: can you corfimr ??!!
[13:55:28] <cradek> yes there's always arc current feedback in edm controlling the feed
[13:55:38] <Lerneaen_Hydra> oh, ok.
[13:55:43] <cradek> I guess the feed often goes to zero
[13:56:00] <cradek> (this is just what I learned at the workshop, I have no experience)
[13:56:05] <Lerneaen_Hydra> it would seem that the short-out part needs to be in RT-EMC
[13:56:09] <giacus> :))))
[13:56:25] <Lerneaen_Hydra> but the other programmed backup could be in a converter type program
[13:56:35] <giacus> mdynac: kidding ..
[13:56:42] <cradek> yes the adaptive feedrate is already there, and all in realtime
[13:56:46] <giacus> did you understanbd that ?
[13:56:49] <cradek> we added that at workshop
[13:57:01] <Lerneaen_Hydra> I meant the back-up-at-short-out
[13:57:15] <Lerneaen_Hydra> does it move backwards or just stop?
[13:57:19] <cradek> yes right now we can't go backwards at all
[13:57:32] <cradek> depends on the application, some actually move backwards, some do other things like stop and tap the wire (I guess)
[13:57:37] <giacus> :((
[13:57:47] <Lerneaen_Hydra> it would seem to me that if you try to make an interpreter that can handle all the intricacies of milling, turning, and EDM it would be rather messy
[13:57:51] <cradek> mdynac said for his application just stopping is good enough
[13:58:08] <Lerneaen_Hydra> oh, then EMC should work as it is today
[13:58:30] <cradek> right, and he's working on setting it up
[13:59:45] <cradek> the problem with putting the backup moves in the gcode is that you're badly stuck if you abort the program in the middle
[14:00:02] <cradek> although I don't know how a real edm controller handles that either
[14:00:07] <Lerneaen_Hydra> oh.
[14:00:17] <Lerneaen_Hydra> wouldn't MDI handle that nicely?
[14:00:26] <cradek> definitely depends on the path.
[14:00:28] <Lerneaen_Hydra> unless you're stuck in the middle of a radies
[14:00:58] <Lerneaen_Hydra> hmm, wasn't there a start-from-this-line function in axis?
[14:00:58] <cradek> if you're cutting a straight line, getting out is not complex, but it sure could be in other programs
[14:01:03] <cradek> yes there is
[14:01:48] <cradek> in some cases maybe you could use that
[14:01:55] <cradek> but not in the general case ... it's a hard problem.
[14:02:13] <Lerneaen_Hydra> it's not just a matter of pulling it out?
[14:02:24] <giacus> ciao guys
[14:02:25] <Lerneaen_Hydra> (I've never done EDM so I don't know much about it)
[14:02:28] <Lerneaen_Hydra> bye
[14:02:32] <cradek> I don't know either
[14:02:33] <giacus> see you next time
[14:03:04] <cradek> I'm sure since wires break anyway, you could just break the wire and remove the part, then reconfigure everything
[14:03:16] <cradek> it's not like you have to throw away the edm machine :-)
[14:03:24] <Lerneaen_Hydra> haha
[14:03:26] <Lerneaen_Hydra> indeed not
[14:08:43] <Lerneaen_Hydra> uh, random question, how was it one did 8^5/4^3
[14:09:05] <jepler> eh?
[14:09:10] <cradek> eh?
[14:09:26] <cradek> brb
[14:09:29] <Lerneaen_Hydra> had the numerator and denominated been the same number x^a/x^b would have been x^(a-b)
[14:09:36] <Lerneaen_Hydra> but since they're not
[14:10:02] <jepler> factor 8 and 4, then distribute the power over the factors.
[14:10:08] <jepler> then you can cancel matching terms from the top and bottom
[14:10:28] <jepler> 8^5 = (2^3)^5 = 2^15
[14:10:43] <Lerneaen_Hydra> oh! right
[14:10:55] <Lerneaen_Hydra> yes, that's actually quite a nice way of doing that
[14:11:04] <Lerneaen_Hydra> now why didn't I see that before
[14:11:05] <Lerneaen_Hydra> thanks
[14:11:12] <jepler> or get a nice calculatpr program that can handle numbers as large as 2^15 exactly
[14:12:18] <Lerneaen_Hydra> oh, it's not that that's the problem, I have introductory course thing
[14:12:20] <jepler> oh
[14:12:27] <Lerneaen_Hydra> before uni
[14:13:18] <Lerneaen_Hydra> Here's hoping EE is as fun as I believe it is ;)
[14:15:34] <jepler> I think cradek was EE before he changed to CE
[14:15:52] <Lerneaen_Hydra> CE?
[14:16:00] <jepler> computer engineering
[14:16:03] <Lerneaen_Hydra> oh, right
[14:16:14] <jepler> I studied computer science, but didn't finish
[14:16:22] <Lerneaen_Hydra> different terms in the US and borkland x.x
[14:16:34] <Lerneaen_Hydra> oh, why not?
[14:17:02] <jepler> because I found a job I liked, and I really hated school.
[14:17:39] <Lerneaen_Hydra> oh, I see. bad school?
[14:19:27] <jepler> not a good one, anyway
[14:19:38] <jepler> but it was the one in my home town, so it was easy to study there
[14:20:27] <Lerneaen_Hydra> oh, I see
[14:22:13] <cradek> even though I like to build things, I didn't find EE fun
[14:22:52] <Lerneaen_Hydra> you found CE better?
[14:23:23] <cradek> I suppose a bit
[14:23:33] <cradek> the CS classes were less hard for me
[14:23:47] <cradek> (some were very easy)
[14:24:09] <cradek> at least there was some variety (CE is both EE and CS classes)
[14:24:26] <Lerneaen_Hydra> I think that's called D here in sweden
[14:24:29] <Lerneaen_Hydra> EE is E
[14:24:32] <Lerneaen_Hydra> and CS is IT
[14:24:59] <Lerneaen_Hydra> where D is something between E and IT, and IT is nearly only software
[14:25:27] <cradek> yes sounds similar
[14:28:05] <robin_sz> EE is sorta fun, its very much like CS, except, things blow up from time to time, and debugging them is a question of observing the brown stains on the board and trying to guess what exactly went wrong ..
[14:28:17] <Lerneaen_Hydra> haha
[14:28:27] <cradek> that sounds like how I repair monitors
[14:28:35] <cradek> first replace everything that looks like it exploded
[14:28:35] <Lerneaen_Hydra> sounds almost familiar to certain parts of my retrofit
[14:28:45] <robin_sz> I have a BSc in EE ... I think they gave it me out of sympathy
[14:28:51] <Lerneaen_Hydra> except notice some components get really hot
[14:29:03] <Lerneaen_Hydra> and power only arrives half of the time
[14:29:17] <Lerneaen_Hydra> when you notice a logic level 1 is tied to ground :D
[14:29:35] <Lerneaen_Hydra> robin_sz: err, did you by any chance recognise that mill?
[14:29:39] <robin_sz> no
[14:29:46] <robin_sz> it looked 1970s
[14:29:50] <Lerneaen_Hydra> hmm, must be a strange model
[14:29:52] <Lerneaen_Hydra> that old?
[14:30:00] <robin_sz> the controller was very 1970 ..
[14:30:10] <Lerneaen_Hydra> I wonder how the iron is
[14:30:19] <robin_sz> I'll bet it has 2.6 billion 74 series chips and a lot of wire
[14:30:36] <Lerneaen_Hydra> that's all going to go in the bin if I buy it
[14:30:46] <Lerneaen_Hydra> or, the logic bits at least
[14:31:06] <Lerneaen_Hydra> are models that old usually so bad that they're useless?
[14:31:10] <robin_sz> looked nice for small work, if the spindle is anyt good, ytou really have to see these things and rattle them
[14:31:33] <Lerneaen_Hydra> so it could be good for a retrofit?
[14:31:44] <robin_sz> no, if built well, they last for ages .. and that one lookd like a training mill for a college or something, so might have done almost no hours
[14:31:57] <robin_sz> is it servo? or stepper?
[14:32:06] <Lerneaen_Hydra> yeah, jymmm said he had used the same model when in school
[14:32:25] <Lerneaen_Hydra> I don't know, there's no info about it that I can find, other than the table goes 115x350mm
[14:32:25] <robin_sz> is it a proper cast body, or bits of bent tin?
[14:32:38] <Lerneaen_Hydra> I only have that picture ATM
[14:32:44] <robin_sz> auction?
[14:33:01] <Lerneaen_Hydra> more like bartering
[14:33:15] <Lerneaen_Hydra> they asked $5k for it, which is laughable
[14:33:20] <robin_sz> yeah
[14:33:21] <Lerneaen_Hydra> maybe 500-1000
[14:33:25] <robin_sz> you have a sister?
[14:33:29] <Lerneaen_Hydra> nope
[14:33:35] <robin_sz> dang, thats that option gone then
[14:33:45] <Lerneaen_Hydra> oh, trading?
[14:33:50] <robin_sz> uh huh
[14:34:07] <Lerneaen_Hydra> hmm. that would have been a good idea
[14:34:23] <robin_sz> cousins?
[14:34:40] <robin_sz> I think you cant trade cousins,
[14:34:47] <robin_sz> you can only loan them
[14:35:20] <Lerneaen_Hydra> the tradee doesn't need to know that
[14:43:32] <jepler> hi SWPadnos
[14:43:40] <SWPadnos> hi jepler
[14:43:46] <SWPadnos> (et al)
[14:44:36] <Lerneaen_Hydra> 'lo
[16:18:01] <Bo^Dick> could anyone send me a memo whenever Eugenics join this channel
[16:18:17] <Bo^Dick> he hasn't been around for a while now
[16:19:45] <SWPadnos> you could add him to your notify list
[17:01:12] <Bo^Dick> may i ask how that is performed
[17:02:19] <SWPadnos> in chatzilla, you type "/notify Eugenics"
[17:02:29] <Bo^Dick> ok
[17:02:52] <SWPadnos> I'm not sure what happens when they get online (/notify alone will tell you the status of everyone on your list)
[17:03:49] <SWPadnos> you can also add Eugenics to your list of "stalk words" - those will also cause a notification ehenever they appear in a channel you're in
[17:04:00] <Bo^Dick> ok
[17:06:39] <Bo^Dick> well if he'll be back in the channel maybe you could tell him i was looking for him
[17:06:56] <Bo^Dick> so he can send me a memo or mail
[17:07:15] <SWPadnos> will do (if I'm around, and I remember :) )
[17:07:24] <Bo^Dick> thanks
[17:07:31] <SWPadnos> sure
[17:07:36] <SWPadnos> (if I remember)
[17:07:50] <Bo^Dick> i should be building my parallel avr programmer but i'll have to wait half a week from now to get the parts shipped
[17:08:12] <Bo^Dick> until then i've got nothing to do
[17:08:14] <SWPadnos> parallel as in PC parallel port, or parallel as in "using a lot of pins on the chip"?
[17:08:31] <Bo^Dick> lots of pins on the chip
[17:08:46] <SWPadnos> ah. any specific reason for parallel vs serial programming?
[17:08:56] <Bo^Dick> but as a matter of fact it's also using the par-port for interfacing the pc
[17:09:14] <Bo^Dick> well the parallel is faster and more reliable
[17:09:25] <SWPadnos> not on the AVR series
[17:09:32] <Bo^Dick> and can do certain things such as setting fuses and stuff
[17:09:33] <SWPadnos> faster, possibly. more reliable - no
[17:09:42] <SWPadnos> are you using 1200s?
[17:09:59] <Bo^Dick> i'm gonna use 8515 and 2313's
[17:10:20] <Bo^Dick> 16 mips and 20 mips respectively
[17:10:21] <SWPadnos> ok. I think those are both EOL though
[17:10:34] <SWPadnos> unless you're talking about mega/tiny versions
[17:10:53] <Bo^Dick> an isp programmer (incredibly simple hardware) can be bought for 65$
[17:11:04] <SWPadnos> they're $30 at DigiKey
[17:11:16] <Bo^Dick> sorry, i should have written tiny2313
[17:11:21] <SWPadnos> the AAVRISP2 is USB, and is $35
[17:11:26] <SWPadnos> only one A there
[17:11:42] <SWPadnos> ok - the tiny is the replacement for the "normal" 2313
[17:11:49] <Bo^Dick> 30$ is a lot of money for isp hardware that is hardly any hardware at all besides the possible usb interface
[17:12:19] <SWPadnos> it has a serial port and two microcontrollers in it, as well as an oscillator
[17:12:52] <Bo^Dick> how could an isp-programmer require mocrocontrollers?
[17:12:59] <SWPadnos> for timing
[17:13:23] <Bo^Dick> not even a parallel programmer requires that and parallel programmers are slightly more complex than the isp ones
[17:13:48] <SWPadnos> I like ISP, so I always use serial programmers anyway
[17:13:50] <Bo^Dick> the design i'm gonna use has not more than a shiftregister and a couple of trannies and resistors
[17:14:35] <SWPadnos> I'm not sure you'll get a speed improvement there :)
[17:14:58] <Bo^Dick> possibly not, but i like the felling of a "real programmer" if you know what i mean
[17:15:12] <SWPadnos> heh
[17:15:27] <SWPadnos> they're no different on the AVR - all the programming is handled by internal flash circuitry
[17:15:29] <Bo^Dick> not just a couple of probes to stick down on the isp pins
[17:15:54] <SWPadnos> ah. I use SMT devices almost exclusively, so sockets are more of a problem
[17:16:03] <Bo^Dick> now i'm starting to feel like a fool that i've bothered with a parallel programmer at all
[17:16:33] <SWPadnos> well, it's not really an advantage for the chip, and it makes the software harder to write, since you need IO provileges to use the parport
[17:16:48] <SWPadnos> with a serial unit, you can use a comm program, and no special privileges
[17:17:04] <SWPadnos> (almost - obviously it would be very slow for you to type in the programming commands manually :) )
[17:17:31] <Bo^Dick> i'm blindly hoping that avr-studio should take care of everything on the software side
[17:17:32] <SWPadnos> there's a Linux software package that can program using hte serial programmers (STK500 or AVRISP)
[17:17:38] <SWPadnos> on Windoes, it will
[17:17:47] <SWPadnos> Windows (bastards)
[17:17:52] <Bo^Dick> :)
[17:18:03] <SWPadnos> what version of Windows do you have?
[17:18:28] <SWPadnos> the AVR studio doesn't work with the older programmers, like the STK200 or STK300 - only with some dongle they had way back
[17:18:38] <SWPadnos> (and with the serial programmers, of course)
[17:20:03] <Bo^Dick> maybe it's foolish to remove the avr every time it need to be programmed
[17:20:13] <SWPadnos> more chance of bending pins
[17:21:02] <Bo^Dick> for the programmer i could install a device that pushes it out gently but on the breadboard i'm gonna need a tool to remove the device
[17:28:35] <etla> evening
[17:28:46] <SWPadnos> hiya
[17:30:19] <etla> are you good at Classic Ladder ? I would like to take on the toggle problem I described yesterday
[17:30:31] <SWPadnos> I suck at CL ;)
[17:31:38] <SWPadnos> I'll read through the thread, and see if I have anything to add
[17:33:14] <etla> the basic problem is that HAL logic is level triggered. I'd want an AND block which is edge triggered
[17:33:41] <SWPadnos> right
[17:34:41] <SWPadnos> you can create a "delay" by using two blocks (like NOT or OR), and evaluating them at different times in the thread
[17:35:10] <SWPadnos> you can then take the output of both of the blocks (buffers, in essence), and if they're the same, don't do anything
[17:35:44] <SWPadnos> that way, only the first run through the thread will do anything - the next time slice, both will have the same output, and that will prevent anything from happening
[17:36:59] <etla> can I do the ordering just by rearranging how I call addf on the different blocks ?
[17:37:05] <SWPadnos> yep
[17:37:22] <SWPadnos> or you can set the order explicitly (unless that feature has been removed)
[17:38:19] <etla> well a classicladder implementation would be a bit cleaner I think
[17:38:20] <SWPadnos> the only thing is that the second block whould be evaluated after the toggle logic, but before the motion / io controller
[17:38:30] <SWPadnos> there may be a race condition there anyway
[17:38:38] <SWPadnos> I agree, but I'm clueless ;)
[17:39:06] <SWPadnos> at least as to how to do it in CL - I can probably describe a ladder that would work
[17:39:11] <Lerneaen_Hydra> sounds relatively ugly to do that
[17:39:45] <etla> the demo cl config fires up quite nicely
[17:39:55] <etla> now I just have to learn what all the windows mean ;)
[17:40:30] <SWPadnos> I found the editor a real pain to use, but they're all that way (all the ones I tried, anyway)
[17:42:04] <SWPadnos> I suppose an edge detect block would be useful
[17:45:45] <Lerneaen_Hydra> indeed
[17:45:49] <etla> yes, but what would the output of it be ? true for one period until the update function is called again ?
[17:46:04] <SWPadnos> I was just thinking that the output duration could be a parameter
[17:46:11] <etla> I heard something about python HAL blocks ? that sounds fun
[17:46:13] <SWPadnos> number of cycles to hold the output
[17:46:19] <etla> right
[17:46:21] <SWPadnos> jepler made a HAL interface for pythin
[17:46:26] <SWPadnos> python, too :)
[17:47:01] <etla> I guess we need jepler around to try it ? or have you worked with it ?
[17:47:22] <SWPadnos> this is the sum of my python experience: ><
[17:47:28] <SWPadnos> (ie, none)
[17:49:07] <etla> it's a fun language
[17:49:22] <etla> but high level, advanced code can be hard to 'get'
[17:49:29] <SWPadnos> heh
[17:49:35] <etla> well my experience is about 'hello world' level...
[17:50:12] <lerman> Just do the whole thing in CL.
[17:50:14] <lerman> CHANGE = INPUT_PIN ^ PREVIOUS_INPUT_PIN(\ (^ represents exclusive OR)
[17:50:16] <lerman> PREVIOUS_INPUT_PIN = INPUT_PIN (I'm using = to mean set the left variable to the right value)
[17:50:17] <lerman> OUTPUT_PIN = CHANGE ^ OUTPUT_PIN
[17:50:19] <lerman> (I wish I knew CL, so I could write this the way CL does it.)
[17:50:39] <etla> lerma: and the CL input is edge triggered ?
[17:50:42] <etla> lerman
[17:51:26] <lerman> The INPUT_PIN represents a push button. Each time you press the button, the output will change state.
[17:51:48] <SWPadnos> that has transitions on both edges, I think
[17:52:08] <SWPadnos> though the OUTPUT_PIN state may take care of the release
[17:52:10] <etla> right. but is the CL logic edge or level triggered. If it's level triggered then it's no better than the and/not blocks I tried in HAL
[17:52:27] <SWPadnos> it's "level" - that's why the CHANGE variable is there
[17:55:08] <lerman> Yes, that was wrong. Should be:
[17:55:10] <lerman> if you want it to change on leading edge of INPUT_PIN:
[17:55:11] <lerman> OUTPUT_PIN =(INPUT_PIN & CHANGE) ^ OUTPUT_PIN
[17:55:13] <lerman> or if you want it to change on trailing edge of INPUT_PIN:
[17:55:14] <lerman> OUTPUT_PIN =(!INPUT_PIN & CHANGE) ^ OUTPUT_PIN (& represents AND; ! represnts not)
[17:55:33] <etla> probably leading edge is best
[17:55:54] <SWPadnos> probably, assuming that filtering/debounce is adequate
[17:57:07] <lerman> CL reads the levels and executes the code in order. SWPadnos -- If CL runs slowly enough, debouncing will take care of itself. I assume that the rate can be set for CL.
[17:57:34] <lerman> But you know what they say about assume.
[17:57:35] <SWPadnos> not independently for separate rungs, but yes, the CL evaluator is a normal HAL function
[17:57:37] <SWPadnos> heh
[17:57:50] <SWPadnos> (and can therefore be added to any thread you like)
[17:59:22] <etla> is the python HAL interface in cvs ?
[18:02:04] <SWPadnos> it's in axis, so it should be there in emc2 now (emcmodule.cc or halmodule.cc)
[18:03:29] <etla> right. but in the python code I see 'from hal import *' which would indicate that there should be a pythod module named hal somewhere
[18:03:43] <SWPadnos> err - could be
[18:04:49] <etla> ls -R | grep hal.py
[18:04:53] <SWPadnos> I think the idea was that this would allow you to make HAL pins/params in python
[18:04:59] <SWPadnos> and not much else
[18:05:40] <SWPadnos> that gives the groundwork for python communicating with HAL, but there's no "funct" creator or anything
[18:08:20] <etla> OK.. how hard is to write a new HAL block in C then ?
[18:08:28] <SWPadnos> not hard at all
[18:08:36] <SWPadnos> do you want to make an edge detector?
[18:08:44] <etla> yes I could try that
[18:09:18] <SWPadnos> ok. I'd modify blocks.c, and make a copy of the NOT functions (I think there's a NOT block)
[18:09:43] <etla> yes, not exists
[18:09:48] <etla> looking...
[18:10:21] <SWPadnos> there are about 5 places to add stuff: in the kernel parameters section, in the typedefs, the "export" function, the evaluate function, and maybe somewhere else :)
[18:10:37] <SWPadnos> oh yeah - comments and manpage
[18:11:07] <etla> there must be a good name for the edge detector ?
[18:11:24] <SWPadnos> how about 'edge'?
[18:11:57] <SWPadnos> the estop block and a not/xor or something may be able to do what you want
[18:13:43] <etla> why does it have to be five different places in blocks.c for each function :(
[18:14:05] <SWPadnos> because you have a kernel parameter, a "function", and some setup stuff to deal with
[18:14:22] <SWPadnos> it's a pain at first, but pretty easy once you get used to it
[18:14:33] <SWPadnos> (blocks.c is about 3x as big as it should be though)
[18:15:22] <SWPadnos> I'd make the edge block have one input, and two outputs, for rising and falling edge detected
[18:16:20] <SWPadnos> you can add a parameter if you like, for the number of cycles to hold the output, but that may require extra logic (ie, what if you get two eges quickly - shoiuld both outputs remain on, or should falling cancel rising and vice versa?)
[18:19:07] <etla> what about synchronization between different HAL threads and between HAL and halui/motion ?
[18:19:41] <etla> i.e. if I have the block update tied to a thread io_thread, and edge outputs true for one cycle, is motion and halui going to detect that every time ?
[18:19:42] <CIA-12> 03jepler 07HEAD * 10emc2/src/emc/usr_intf/axis/scripts/axis.py: improve detection/removal of first G0 motion from preview plot and extents calculation
[18:19:44] <CIA-12> 03jepler 07HEAD * 10emc2/lib/python/rs274/glcanon.py: improve detection/removal of first G0 motion from preview plot and extents calculation
[18:19:56] <SWPadnos> if you need to, you can add a "reset" pin, which would get rid of the need for a duration parameter
[18:20:09] <jepler> etla: in short, no. halui is not a realtime program, so you can't predict when it will accept and act on a change to a pin
[18:20:31] <SWPadnos> reset should default to "on", so that you get a one-shot output
[18:20:33] <jepler> etla: for realtime components, you can depend on their execution order, depending on the threads you add their functions to, and the order.
[18:20:41] <SWPadnos> if connected to a signal, then that would control it
[18:21:46] <etla> jepler: I'd be interesting in looking at your python HAL module. where is it in the source tree ?
[18:22:30] <jepler> etla: you have recent CVS HEAD?
[18:22:35] <etla> yes
[18:23:12] <jepler> the module implementation is in src/hal/halmodule.cc and an example of its use is in src/emc/usr_intf/axis/scripts/hal_manualtoolchange.py
[18:24:07] <etla> python hal_manualtoolchange.py gives me ImportError: No module named hal
[18:25:15] <jepler> is there bin/hal_manualtoolchange ? if so, run it instead. If not, your emc2 isn't configured to build the parts that use Python.
[18:26:06] <etla> yes /bin/hal_manualtoolchange exists
[18:26:50] <etla> ok, that seems to work
[18:27:15] <jepler> it's a little program that pops up a dialog box when you change tools, then signals to emc that the tool has been changed when you click the "OK"
[18:27:36] <jepler> it is loaded when you run with configs/sim/axis.ini
[18:27:44] <jepler> try using that configuration, and enter 'T1M6' in MDI
[18:28:50] <jepler> can I help you understand any of the code?
[18:29:29] <jepler> the lines from h = hal.component("hal_manualtoolchange") to h.ready() create the component and its pins
[18:29:37] <etla> The python code is pretty readable, what else could be done with the HAL python module ?
[18:29:59] <jepler> the lines from 'while 1:' to the end check 'change' about 10 times a second, and "do something" when it's appropriate
[18:30:30] <jepler> you can do anything that could be done from a userspace HAL component
[18:31:31] <etla> so something like VCP ?
[18:31:40] <jepler> anything that is not time-critical, and doesn't need to talk to real hardware.
[18:31:59] <jepler> yes, you could write something like VCP, or something like halui (using the 'emc' module to send the commands back to emc)
[18:35:23] <etla> how come my python interpreter does not know about the hal and emc modules, but when I run bin/hal_manualtoolchange it works ?
[18:36:09] <jepler> the magic is in these lines at the top:
[18:36:09] <jepler> import sys, os
[18:36:09] <jepler> BASE = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), ".."))
[18:36:09] <jepler> sys.path.insert(0, os.path.join(BASE, "lib", "python"))
[18:36:23] <jepler> basically, this says "look for hal.so in ../lib/python compared to where this script is"
[18:36:49] <etla> ok...
[18:37:03] <jepler> so you can put your script in bin/ and put those lines in it, or you can set an environment variable before running the python script
[18:37:16] <jepler> PYTHONPATH=/path/to/emc2/lib/python
[18:37:31] <jepler> e.g., export PYTHONPATH=/home/jepler/emc2.cvs/lib/python
[18:37:44] <etla> I'll try that.
[18:38:28] <etla> seems to work.
[18:38:30] <jepler> good
[18:38:43] <etla> is there a lost of what functions are available in the hal module
[18:39:03] <etla> i see component, newpin, ready etc.
[18:39:14] <etla> list I mean
[18:39:53] <jepler> once you've set that environment variable, running 'pydoc hal' will show you the documentation
[18:39:58] <jepler> there's not much documentation
[18:40:10] <alex_joni> hi all
[18:40:36] <jepler> basically, the component methods are .ready(), .newpin(), .newparam(), .exit(); and the module also has the HAL constants like HAL_BIT defined
[18:41:10] <jepler> oh, and there's 'hal.error' which will be raised if you do something like try to create a component that already exists...
[18:42:21] <jepler> hi alex, what's upo?
[18:42:26] <jepler> -o
[18:43:17] <jepler> ("-o" is the emoticon for a dead guy with his arms and legs cut off)
[18:44:04] <alex_joni> jepler: I'm home ;)
[18:44:45] <jepler> you were travelling again?
[18:44:57] <jepler> I didn't even know
[18:46:36] <alex_joni> I was to a customer for 2 days .. but had my wireless with me
[18:46:41] <jepler> ah
[18:52:35] <etla> oh, my pvr tells me I have about 3 hours of athletics to catch up with - gotta go ;)
[18:52:38] <alex_joni> anyone cares about the 10th dimension?
[18:52:59] <alex_joni> http://www.shoutwire.com/viewstory/18527/The_Tenth_Dimension
[19:05:01] <Jymmm> Has anyone worked with Phenolic ?
[20:09:55] <A-L-P-H-A> Phenolic acid? the metal aging stuff?
[20:11:32] <alex_joni> he's gone
[21:43:10] <Lerneaen_Hydra> 'night
[21:43:20] <alex_joni> night
[21:44:14] <alex_joni> odd way of logging off :)
[21:51:12] <alex_joni> hey Jymmm
[21:51:53] <Jymmm> alex_joni Good (looks at international clock and see's it's broken) Morning|Afternoon|Evening !
[21:52:04] <alex_joni> neither
[21:52:10] <alex_joni> it's 1hour after midnight
[21:52:23] <Jymmm> that would be mornin to me =)
[21:52:28] <alex_joni> not sure what you say there though :)
[21:52:33] <Jymmm> EARLY mornin =)
[21:52:38] <alex_joni> heh.. maybe
[21:52:48] <alex_joni> still late in the afternoon for me ;)
[21:53:01] <alex_joni> oh, btw.. there's a new Canon out there.. wanna see?
[21:53:15] <Jymmm> sure
[21:53:17] <alex_joni> http://www.ellf.ru/archives/2006/01/h/2006-01-16-canon-thumb.jpg
[21:53:51] <Jymmm> looks like something I might see on Star Trek
[21:54:03] <alex_joni> check the buttons on the bottom ;)
[21:54:16] <Jymmm> oh, heh...
[22:00:56] <alex_joni> night all
[22:00:59] <alex_joni> * alex_joni calls it a night
[22:03:06] <A-L-P-H-A> lates alex_joni
[23:01:09] <anonimasu_> hello
[23:04:02] <anonimasu_> anonimasu_ is now known as anonimasu