#emc | Logs for 2006-12-29

[00:03:19] <lerman> I've updated: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Named_Parameters to have an example (milling a cam) using the new (proposed) features.
[00:03:45] <lerman> Please keep beating on the proposal.
[00:05:28] <SWPadnos> I assume that's a typo where #$CenterY$ is assigned 2 (rather than #2)?
[00:07:06] <lerman> Fixed! Yay. Someone actually reads the stuff I write. :-)
[00:07:13] <SWPadnos> heh
[00:07:35] <aip_tom> do you want a declaration of variables section? Otherwise, typos turn into new variables, defaulting at 0. Or warn if an uninitialized value is used?
[00:07:56] <SWPadnos> looks good to me. the named Owords are a little strange - having the same title on the if - else - endif lines for example seems strnge
[00:07:58] <SWPadnos> strange, too
[00:09:05] <SWPadnos> hmmm - yeah - use of unassigned variable would be a nice warning to have
[00:09:57] <cradek> lerman: how do you feel about using #<...> or #{...} instead of #$...$? something that explicitly opens/closes the name seems better to me
[00:10:19] <lerman> Good thought -- adding a declaration of variables would change the language in a way that would require too much work. But the error would be similar to a typo with a wrong variable number. I'll see if we can easily generate the warning. I think the way the code is going to work out I might create the variable when I see #foo -- and not yet have seen the = 5. So I might not easily be able to...
[00:10:20] <lerman> ...detect the uninited variable. But I'll try to.
[00:11:11] <lerman> cradek: yes, that would work. Except in the new version, the leading $ means that it is a local variable.
[00:11:33] <cradek> oh, I should have read the wiki before commenting
[00:11:38] <SWPadnos> you need to be able to tell whether the operation is a write to the variable or a read from it. a write would create the variable, a read of a nonexistent variable would be an error (or warning)
[00:11:59] <lerman> So, if we want bracketing we could use #<foo> for a variable. And #$<foo> for a local variable. Or $<$foo>.
[00:12:03] <SWPadnos> I wouldn't create it when it's first seen, only when the write occurs
[00:14:11] <cradek> is the # needed?
[00:14:19] <lerman> I can probably make that work. Also, I'm thinking of adding a new type of comment. (msg, foo bar gag) outputs a message. I would add (msgf, foo bar #xxx$ gag) that would do formatted output of parameters.
[00:14:52] <lerman> The # is needed to be consistent with numeric parameters.
[00:56:54] <tomp> lerman: very nice> what's the planned string length limit? (how long are the var names?)
[00:57:50] <lerman> Probably no limit on the name lengths (I'll use malloc). But lines are already limited to 256 (I think) characters.
[00:58:02] <lerman> No limit to the number of vars.
[00:59:35] <lerman> The use of malloc might be an issue to some people. Real time systems shouldn't use malloc because if you run out of memory, you crash. But the interpreter is not part of the real time system. Also, you should probably do a test run to make sure you won't run out of memory.
[01:00:13] <tomp> dontcreatesillylongnameslikethisorevenlonger
[01:01:10] <lerman> Well, you could put the spaces in and it would be legible. (But the interpreter takes them back out -- and converts them all to lower case.)
[01:02:41] <SWPadnos> I wonder if the 256-char limit is before stripping whitespace or after
[01:03:05] <tomp> the line len was 256 limited
[01:03:14] <tomp> so it's a subset
[01:04:04] <lerman> My guess is before. But it is completely arbitrary. rs274ngc sets it. So, if you want to generate code that is compatible with other machines, stick to the limit. [and don't use o-words, named params, etc]
[01:06:05] <cradek> I think the spec says it's before
[01:06:21] <SWPadnos> ok - I wasn't sure if that was spec or implementation
[01:15:21] <tomp> the wiki talks about adding http://wiki.linuxcnc.org/emc/ to the sources.list is that right?
[01:15:38] <tomp> emc2/
[01:17:21] <jtr> Doesn't sound right. Where did you see that? I'm currently working to build EMC and am running some circles.
[01:18:14] <tomp> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Repository_Updating
[01:19:14] <jtr> This is my first build from source...
[01:19:17] <tomp> ah, it's http://www.linuxcnc.org/emc2/
[01:20:09] <SWPadnos> hmmm - I think emc2 doesn't actually support the spec of a 256-char line
[01:20:37] <SWPadnos> LINELEN is defined as 255, which is two bytes short of supporting a 256-char input line
[01:20:50] <cradek> heh
[01:20:58] <cradek> let's get right on that
[01:21:00] <lerman> Good grief Charlie Brown.
[01:21:21] <SWPadnos> or just rewrite the kramer doc to say that the limit is currently 254 chars ;)
[01:23:31] <cradek> I doubt I've ever written 50 chars on a line
[01:23:47] <SWPadnos> you've never had the option of using names for variables :)
[01:25:37] <jtr> tomp: how did you find that page?
[01:31:09] <tomp> google emc2 wiki repositories
[01:32:39] <cradek> the wiki has a search at the bottom too
[01:32:43] <jtr> I was wondering - haven't seen any direct links. I noticed a couple of places that still say to use Alex's repository.
[01:33:09] <cradek> those need to be fixed then - please give the URLs
[01:33:49] <tomp> http://www.linuxcnc.org/index.php?option=com_content&task=view&id=25&Itemid=6&lang=en
[01:34:18] <jtr> I was hoping to fix them once I got emc2 compiled. let me get my notes.
[01:34:51] <cradek> jtr: no hurry, but I'd like to fix them (or you can!)
[01:35:50] <jtr> http://www.linuxcnc.org/docs/EMC2_User_Manual.pdf says to add dsplabs.cs.upt.ro/... to the sources list
[01:36:35] <cradek> argh, there are so many of those pdfs around
[01:37:33] <jtr> don't have the exact url for this one, but (wiki) "upgrading from breezy to dapper" also references dsplabs.cs.upt.ro/..
[01:38:54] <tomp> for repository 'http://www.linuxcnc.org/emc2', synaptic dialog wants a field 'components' filled in with something like 'main' or 'universe' (both of those fail and it wont let you leave it empty )
[01:39:59] <cradek> tomp: emc2 goes there I think - I always just edit the file
[01:40:06] <cradek> deb http://www.linuxcnc.org/emc2/ dapper emc2
[01:40:28] <cradek> jtr: thanks
[01:40:28] <tomp> k, me too but that didnt work w/o the magic emc2 at end :)
[01:41:36] <jtr> thanks for emc2!
[01:42:09] <tomp> yep, thanks, no complaints now when synaptic opens
[01:42:51] <tomp> now if i could remember why was i trying to get the repo list correct ????
[01:45:29] <jtr> definite short-term memory problems going on here, too.
[01:52:59] <tomp> better now: ? http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Repository_Updating
[01:58:34] <jtr> looks good to me. adding the repositories is in the script here: http://linuxcnc.org/dapper/emc2-install.sh
[02:03:12] <tomp> so, i used the install cd ( not the live cd) and never saw that, nice (gotta reboot, just got notified after sudo apt-get build-dep emc2-axis) bbl8r
[02:09:18] <tomp> 'ello
[02:09:29] <SWPadnos> I guess that worked :)
[02:28:13] <tomp> ah, new system, emc2-head runs, old apps & data back... tomp reaches for cigarretts & realizes he hasnt smoked for many years :-o
[02:46:31] <skunkwork1> How do I load a hal file again? I did a scripts/halrun -f pluto.hal
[02:47:11] <skunkwork1> this works (the led flickers at the rate that I set the siggen period at -- but it locks the computer up :)
[02:49:16] <jepler> it locks the computer up? That's no good!
[02:49:30] <jepler> halrun -I pluto.hal will run the file then drop you at the halcmd prompt
[02:49:36] <skunkwork1> Well I figure I am doing something wrong
[02:49:44] <jepler> what is the period in your pluto.hal? set it up to 1ms or longer
[02:50:47] <jepler> I had at least one version which ran at 150uS but that may be to fast for some parports -- I dunno
[02:51:23] <skunkwork1> let me look
[02:51:34] <jepler> er, "too fast"
[02:51:52] <skunkwork1> oops - yah - 20000
[02:52:11] <skunkwork1> I was using the period that was there running the pwmgen
[02:52:22] <jepler> try 1ms (1000000)
[02:53:58] <jepler> if you're not talking to me does that mean it crashed again? :-P
[02:55:33] <skunkwork1> that works - sorry :)
[02:57:12] <skunkwork1> hal scope came up and everything.
[02:57:55] <skunkwork1> the chip stays cool for me
[02:58:15] <skunkwork1> so far
[02:58:40] <jepler> good -- then it's just the normal "period too small" bug -- good
[02:58:50] <jepler> oops I said good twice. can you tell how relieved I am?
[02:59:01] <jepler> next thing to do is make sure inputs are working by grounding on of the digital inputs
[02:59:17] <jepler> and watching it in halcmd
[02:59:39] <skunkwork1> The only issue with my setup - I can't have the laptop and pluto powered at the same time.
[02:59:53] <skunkwork1> so I am running on a very bad battery
[03:00:06] <jepler> you ... what?
[03:00:11] <jepler> lack of outlets or something?
[03:00:11] <fenn> hmmmmmm @ epilog lasers on ebay for $100
[03:00:20] <jepler> what about the usb power cable you prepared?
[03:01:06] <skunkwork1> no - the printer port is too close to the laptop power plug. so with the adapter plugged into the pluto - it blocks the power plug for the laptop
[03:01:21] <jepler> I see
[03:01:23] <skunkwork1> just need a cable
[03:01:33] <jepler> oh yeah I can imagine what you're talking about
[03:01:39] <jepler> a parallel cable would clear that right up
[03:01:42] <skunkwork1> right
[03:03:03] <skunkwork1> Jepler: very nice. I will check the inputs tomorrow. Looks great
[03:03:21] <jepler> It's nice to know you've finally run the pluto!
[03:03:28] <jepler> did you have any trouble getting EPP mode to worl?
[03:03:31] <jepler> work?
[03:04:02] <skunkwork1> just worked. - set epp in the bios and ran this hal file
[03:04:15] <jepler> the other thing you should find out is whether "epp_wide=1" works
[03:04:24] <jepler> if it does, it reduces the I/O time
[03:04:30] <jepler> 25% or more
[03:04:53] <skunkwork1> http://pastebin.ca/295130
[03:05:21] <skunkwork1> is that a hal file command?
[03:05:40] <SWPadnos> pluto_servo load parameter, I bet
[03:05:41] <jepler> it's a module parameter .. loadrt pluto_servo epp_wide=1
[03:05:53] <skunkwork1> ah - ok
[03:06:04] <skunkwork1> my hacked apart hal file
[03:06:10] <skunkwork1> slowly learning
[03:07:00] <jepler> it looks fine
[03:07:04] <jepler> nothing to be embarrased about
[03:10:35] <skunkwork1> I will solder the headers in tomorrow. I wanted to make sure the pluto 'appeared' to work before I did that.
[03:11:50] <jepler> I eagerly await further news
[03:13:43] <SWPadnos> jepler, how much time do you think you've spent on the pluto_servo stuff?
[03:15:24] <jepler> SWPadnos: boy, I dunno
[03:15:34] <SWPadnos> heh
[03:15:52] <skunkwork1> I and I hope a bunch more tinkerers thank you.
[03:16:10] <jepler> I bought the device on November 20, and didn't spend all that time working on it "full time", so clearly way less than 5*40 hours
[03:16:12] <SWPadnos> I had quoted a project similar to it (but including spec writing, hardware design, etc), and was wondering how far off the mark I was
[03:16:22] <skunkwork1> How would I know if the epp_wide=1 works?
[03:16:29] <SWPadnos> assuming we're roughly the same speed at development of this type :)
[03:17:02] <jepler> I skimped on things like proving correctness, simulation, and testing
[03:17:06] <SWPadnos> you should see the TMax for the pluto update function go down, I imagine
[03:17:09] <SWPadnos> heh
[03:17:17] <SWPadnos> and a priori specs and the like
[03:17:19] <jepler> skunkwork1: if the LED still flashes right, then it works
[03:17:45] <jepler> yeah -- the "spec" is "whatever I can fit in the device, and seems relevant to running a servo machine with emc"
[03:18:03] <SWPadnos> that's a good spec :)
[03:19:06] <SWPadnos> it's always so much more complicated when you have to write a spec, get it approved, add milestones and proofs, etc.
[03:19:30] <jepler> board design and layout?
[03:19:55] <SWPadnos> board design, layout, testing, FPGA programming (and testing), HAL driver, documentation ...
[03:20:40] <skunkwork1> still flashes with epp_wide=1
[03:20:44] <jepler> do you think the FPGA software will be of a similar size (gate or LE count)? 5xx LEs is pretty small
[03:21:01] <jepler> skunkwork1: great -- that's 3 machines that have worked, and none that have failed. I will probably make epp_wide the default.
[03:21:09] <jepler> er, 4 machines that have worked and none that have failed
[03:21:14] <jepler> 2 laptops and 2 desktops
[03:21:18] <skunkwork1> nice
[03:21:19] <SWPadnos> well, I'm not doing that project, but I suspect the size would be closer to the Mesa than the pluto
[03:23:31] <CIA-8> 03jepler 07HEAD * 10emc2/src/hal/drivers/pluto_servo.comp: epp_wide works on 4/4 machines tested; make it the default
[03:23:51] <jepler> goodnight folks
[03:23:56] <SWPadnos> good night
[03:24:03] <skunkwork1> night
[03:24:47] <skunkwork1> think I am going to call it a night also. Night
[03:24:53] <SWPadnos> see you later
[09:28:40] <A-L-P-H-A> yippie kia yah mother :)
[09:44:02] <fenn> amen.
[10:50:52] <lerneaen_hydra> 'lo
[11:06:52] <A-L-P-H-A> I can't believe I'm still up
[11:06:56] <A-L-P-H-A> hi lerneaen_hydra
[11:15:07] <lerneaen_hydra> hi A-L-P-H-A
[11:15:10] <lerneaen_hydra> what's happening
[11:15:16] <lerneaen_hydra> or do I want to know O.o
[11:48:41] <A-L-P-H-A> oops
[11:48:45] <A-L-P-H-A> didn't see his msg
[12:25:24] <alex_joni> hi all
[12:56:35] <alex_joni> bbl
[14:10:03] <jepler> No database for the average Joe
[14:10:03] <jepler> Librarian type question: how on earth can I get access to the National Security Archive database by Proquest? I am writing some articles on the Cold War on Wikipedia and want to see some of the documents in this collection, but Proquest/Chadwyck doesn't deal with individuals. They even offer free trials, which I can't get because I'm not an individual. Am I out of luck? I did consider my local library, but they subscribe to the Texshare program (basicall
[14:10:10] <jepler> by zek at December 29, 2006 07:57
[14:10:12] <jepler> what I mean to say is: http://boasas.com/boasas/742.gif
[14:10:14] <jepler> er, oops
[14:25:00] <skunkworks> paste'o?
[14:25:45] <skunkworks> looking for a 25pin male to 25pin female cable.. You would think I would have one in all my junk
[14:41:46] <jepler> skunkworks: you think you have it bad? I know i ordered 3 of the things a few years ago but I can only find one of them
[14:56:50] <lerneaen_hydra> 'lo
[14:57:01] <lerneaen_hydra> beryl is really nice :D
[14:57:06] <lerneaen_hydra> if you like eye candy
[14:57:23] <lerneaen_hydra> add dual screen and it's even better
[15:01:12] <jepler> cradek: are those HP E-pcs fanless?
[15:02:31] <cradek> the one I have, which is an older model, has a fan that turns on when it's loaded, but is usually off
[15:05:03] <jepler> http://www.ztechshop.net/computers/minikin/
[15:05:20] <jepler> this looks interesting -- fanless, seems to have a parport ..
[15:05:49] <jepler> shared video memory -- forget it
[15:06:30] <skunkworks> jepler: looks like a zip drive cable works
[15:11:17] <tomp> good morning
[15:11:46] <jepler> hi tomp
[15:12:27] <jepler> how's it going?
[15:14:38] <tomp> jepler: ok , i got a new system now and need to write some manuals with scribus
[15:14:50] <tomp> and you? have a nice cristmas?
[15:15:21] <wb9mjn> That is a cute computer...wonder if the parallel port is PCI ?
[15:15:47] <wb9mjn> Or as fast as a PCI parallel port ?
[15:16:50] <tomp> (tomp pictures the dongle parport speed-o-meter)
[15:18:28] <tomp> (tomp decides thats Hal , a jumper & a bit-o-code (SMOP) )
[15:24:39] <jepler> tomp: I've been learning to program FPGAs
[15:25:55] <tomp> jepler: xilink? thier tools?
[15:26:04] <jepler> tomp: you can halscope parport.0.write.time, parport.read.time and easily find out how fast/slow a particular parport is
[15:26:38] <tomp> right: JMK gave me the mcgiver bug ;)
[15:26:38] <jepler> tomp: altera -- I started out with this parallel-port fpga board, called "pluto-p": http://www.fpga4fun.com/board_pluto-P.html
[15:27:14] <jepler> tomp: and here's what I've done with it: http://cvs.linuxcnc.org/cvs/emc2/docs/src/hal/pluto_servo.html?rev=HEAD;content-type=text%2Fhtml
[15:27:19] <tomp> jepler: i meant to say congrats on the pluto, very nice, i'd like to make the o-scope
[15:28:33] <jepler> tomp: I bought one of the 1-channel cope cards but I haven't yet gotten it to work right -- the windows software won't work, and the fpga4fun guy hasn't given quite enough information for me to get it working 100% on linux
[15:28:47] <jepler> tomp: and thanks -- it's been fun, and a learning experience
[15:30:08] <tomp> jepler: i've read the 'up' 'down' mode on the pluto... but dont get it ( of course it goes up & down :) do you mean bipolar or Freq&duty cycle or...?
[15:31:08] <tomp> or 1 pin's up & the other is down?
[15:34:49] <jepler> tomp: one pin is "up" and the other is "down". If you command 0%, then both are LOW all the time. If you command a positive value, then UP is HIGH a fraction of the time; if you command a negative value, then DOWN is HIGH a fraction of the time
[15:35:16] <skunkworks> tomp: it is made to directly run each side of the h-bridge 2 pins
[15:35:25] <skunkworks> if that helps
[15:35:40] <jepler> tomp: consider the l298 dual h-bridge. YOu would hook up to in1 and down to in2. http://www.st.com/stonline/books/pdf/docs/1773.pdf
[15:35:53] <tomp> i see it's 1 pin up & the other is down ( like the song with Gene Kelly & Frank Sinatra as sailorsvisiting New York,,, ) oh, h bridge, now that makes sense
[15:36:14] <jepler> one of the two pins is always LOW
[15:37:12] <tomp> hope both never hi, i have some analog amps where you gotta check for that, the chinese had a bad word for when that happened
[15:38:19] <jepler> in the case of the l298, both low and both high are braking configurations, won't damage the servo or the servo amp
[15:38:39] <jepler> I think the same is true of skunkworks h-bridge based on the international rectifier chips
[15:39:07] <tomp> i gotta look at the parport side for how it's talked to... ( the chinese system would conduct thru both sides :-(
[15:39:56] <tomp> skunkworks h bridge? lotsa stuff i dont know about, was that the irf/rur milled pcb picture?
[15:40:39] <tomp> skunkworks: any public info on your h bridge?
[15:40:53] <jepler> tomp: try http://www.cnczone.com/forums/showthread.php?t=25929
[15:41:11] <jepler> I think it's pretty much out of the datasheet, with some board layout advice from jmk
[15:41:50] <SWPadnos> or http://www.electronicsam.com/images/KandT/servostart/
[15:55:24] <tomp> whoops! this whole idea is a clean simple amplifier control by emc! no silly 2ndry speed loops fiddling with the outer (emc) loop, just tiny ctrl in & big power out, scalable too ( just a bigger supply & bigger bridge ), nice stuff
[15:55:41] <skunkworks> I like easy
[15:55:58] <ler_hydra> why make things easy for yourself when they can be difficult?
[15:55:59] <SWPadnos> the only problem (as yet unimplemented) is hardware overcurrent protection/prevention ...
[15:55:59] <skunkworks> cradek has been running this similar setup on his lathe for a while.
[15:56:01] <SWPadnos> :)
[15:56:23] <skunkworks> minor detail - that is what fuses are for ;)
[15:56:39] <SWPadnos> and wires are fuses, for large currents ...
[15:56:47] <tomp> watts? max v? continuous?
[15:57:05] <SWPadnos> theoretically, 40A at 200V, I think
[15:57:12] <SWPadnos> but you'd need a massive heatsink for that
[15:57:17] <skunkworks> I am hoping for 20a continuous - around 150-200v
[15:57:50] <jepler> by contrast, the l298 designs are lightweight -- 46V, 4A per package, 1 package can do 1 or 2 motors.
[15:58:10] <SWPadnos> I winder what the peaks will be on that
[15:58:22] <tomp> seen those baby refridgerators ( peltier) on sale now? I thought it'd make a cute pc box, but maybe amp box instead :) near 40$ chicagoland
[15:58:34] <SWPadnos> my motors are only 10A at 150V cont, or ~40A peak
[15:58:57] <SWPadnos> peltiers are neat, but very power inefficient
[15:59:39] <skunkworks> mine are 16a cont and 80a peak ;)
[15:59:57] <SWPadnos> heh - you hae a few extra tons of metal to move around ;)
[16:00:15] <tomp> 20a 175a is like the copley 423, I drive big Z's with that ( i can ride the Z with them )
[16:00:49] <SWPadnos> I've got geckos, but I'm wondering about using analog amps instead
[16:00:53] <SWPadnos> with tach feedback even
[16:02:12] <tomp> (analog amp) isnt that just an analog (tacho) input to Hal and tied to the hbridge output under a P or PID loop?
[16:02:36] <SWPadnos> the idea is to remove some layers of quantization
[16:03:15] <SWPadnos> emc has to run in discrete time steps, and position feedback is in discrete steps, but the velocity command and feeback don't have to be
[16:03:43] <tomp> ah! marshall mc luhen strikes again, but yes, the telephone game changes the data as it goes thru the chain
[16:04:03] <SWPadnos> ok, I think I'm too young for that reference :)
[16:05:22] <tomp> where do you picture the velocity command in the control loop ( if it isnt digital/quantized )?
[16:05:59] <tomp> cuz thats the signal between 2 pins ( in HALese )
[16:06:18] <SWPadnos> the PID output is a float, so if I could have 16-bit A/Ds driving an analog amp, then I can get very fine adjustment of velocity
[16:06:27] <SWPadnos> oops - D/As
[16:06:45] <SWPadnos> the more bits I throw at it, the better the velocity resolution (of course)
[16:06:58] <SWPadnos> my motors already have tach and encoder feedback
[16:07:40] <SWPadnos> remember that emc can't determine an instantaneous velocity with encoder feedback, but an analog amp can with a tach (and will regulate speed in continuous time)
[16:08:35] <tomp> yes, you can get 1 bit resolution on the ideal machine, but you got quantization already (float & DA are digital thingys inside)
[16:08:45] <SWPadnos> sure
[16:09:18] <tomp> will you drop the velocity control of the emc with this analog amp , or let 2 control systems try to control the velocity( amps itself & emc ) ?
[16:09:58] <tomp> i see 2 guys driving the car :)
[16:10:34] <SWPadnos> well, you have that kind of problem no matter what you do. geckos close the position loop, analog drives close the torque and/or velocity loop
[16:11:22] <SWPadnos> note that there's no way to directly control velocity with the simple H-bridge because the duty cycle controls two variables - torque and velocity
[16:11:45] <SWPadnos> you can only control velocity after the fact, by looking at encoder feedback and seeing how far off the motion was
[16:12:05] <tomp> i thought you could use pluto & hbridge & brushed motor w tacho, send tacho to emc , send vel-cmd to pluto, no not direct but singular control of velocity
[16:12:32] <tomp> or encoder instead of tacho (latency yes)
[16:12:48] <SWPadnos> that could work (with sufficiently fast A/Ds), but it's still not continuous time control
[16:13:03] <SWPadnos> it's always sample, compare, update
[16:13:16] <SWPadnos> whereas an analog amp is continuous time, but with a phase delay
[16:13:23] <skunkworks> Too complicated. ;)
[16:13:59] <tomp> yeh, your right, analog is most responsive
[16:14:42] <skunkworks> It will be neat to see what these big servos do as far as control goes with just an h-bridge and encoder (and pluto)
[16:14:50] <skunkworks> or mesa
[16:15:15] <skunkworks> cradek had great success on a smaller scale
[16:15:18] <tomp> i'd show edm control mfctrs thier control running a machine, then i'd take the process sample & jack it into the Z amplifier & say ... now that's the response I want damnit!
[16:16:12] <tomp> thereby circumventing thousands of dollars of cnc :)
[16:17:33] <tomp> what ideas did you have on braking? some serious currents can develope when you need to stop fast .
[16:18:18] <skunkworks> we have descussed this and everyone seems to say - 'should not be a problem)
[16:18:18] <skunkworks> '
[16:19:33] <skunkworks> when it goes into an estop - both low mosfet turn on shorting out the servo.
[16:19:46] <skunkworks> which scares me a bit.... :)
[16:20:11] <skunkworks> but time will tell
[16:20:39] <tomp> tomp sees: current spins, stuck in motor, looking for escape... yeh you need to try
[16:20:56] <skunkworks> cradek actually saw with his tuning - that emc actually reversed the voltage to the servo on d-accelleration
[16:21:04] <tomp> i'm not a dbl e
[16:22:19] <tomp> cradek's dcel may be a bit hi (undershoot?)
[16:23:29] <tomp> as guardians of the machines it is our responsibility to not ask the beasts to do more than they can ;)
[16:25:37] <tomp> well, off to desktop publishing! bye bye
[16:41:31] <lerneaen_hydra> moo
[16:43:14] <tomp> uh, i was wrong about the current, cuz you said 'shorting', thats ok then, just need big traces ( i was picturing 'open' not 'short')
[17:12:09] <SWPadnos> sorry - went upstairs for coffee and ended up discussing euthanasia for the cat :(
[17:12:54] <SWPadnos> controlled decel should be better than shorting the motor, since you can apply reverse voltage
[17:14:36] <skunkworks> It only shorts out during an e-stop situation. normal motion would be determined by accel settings
[17:14:57] <SWPadnos> right, but even in e-stop, controlled decel is better than shorting
[17:15:12] <SWPadnos> you can drive it backwards instead of letting it coast to a stop
[17:15:14] <skunkworks> can emc do that? I don;t think so ;)
[17:15:30] <SWPadnos> it depends on how you set up your estop system :)
[17:15:33] <skunkworks> ah
[17:15:54] <skunkworks> I have to tell you - it stops pretty damn fast (almost flipped onto the floor)
[17:16:02] <SWPadnos> heh
[17:16:14] <SWPadnos> it would be slower with a 1-ton table pushing it
[17:16:22] <skunkworks> right
[17:16:34] <skunkworks> it will be just more stuff to play with ;)
[17:16:53] <SWPadnos> heh
[17:16:54] <skunkworks> when I get that far
[17:17:37] <SWPadnos> yep
[17:18:05] <SWPadnos> I think I may finally have everything I need to build my servo power supply on hand or on the way
[17:18:15] <SWPadnos> yay
[17:18:41] <tomp> digikey to the rescue, tadah!
[17:18:49] <SWPadnos> heh - yep
[17:19:15] <SWPadnos> technically I could have done it without the PTCs, but I figure they're a good idea
[17:19:56] <alex_joni> hi guys
[17:20:00] <tomp> oh, charging lotsa farads huh?
[17:20:04] <tomp> hi alex
[17:20:06] <SWPadnos> hiya Alex
[17:21:07] <alex_joni> what have I been missing?
[17:21:47] <tomp> alex: pluto & hbridges... i got an emergency stop just now, customer wants training in 2 hrs
[17:22:03] <alex_joni> eek..
[17:22:29] <alex_joni> good luck :)
[17:26:53] <skunkworks> Hi alex
[17:29:11] <alex_joni> hi samco
[17:29:27] <cradek> how's your vacation?
[17:36:18] <skunkworks> * skunkworks thinks cradek is talking to alex_joni
[17:36:34] <cradek> I was - I think he left
[17:37:18] <skunkworks> cradek: did you see I got my pluto blinking?
[17:37:25] <cradek> cool
[17:37:41] <cradek> does it reset (light comes on dim) when you exit hal, and then work again?
[17:37:47] <skunkworks> yes
[17:37:49] <cradek> great
[17:37:54] <cradek> 5/5 now
[17:38:00] <cradek> seems like he solved all the problems
[17:38:06] <ve7it> ve7it is now known as LawrenceG
[17:38:07] <skunkworks> plus I can use the wide or whatever
[17:38:19] <cradek> cool
[17:38:31] <skunkworks> epp_wide=1
[17:40:13] <skunkworks> how come I have to type exit twice to get out of halcmd:
[17:40:43] <skunkworks> * skunkworks ment that as a question
[17:41:04] <skunkworks> meant
[17:41:04] <skunkworks> even
[17:41:35] <cradek> I don't think I've seen that
[17:41:47] <cradek> I probably use control-D
[17:42:33] <skunkworks> ok, I am in the emc2-head directory and run scripts/halrun -I pluto.hal
[17:42:47] <skunkworks> http://pastebin.ca/295130
[17:43:00] <skunkworks> halscope comes up
[17:43:39] <skunkworks> I close out of halscope and type quit -hit enter - new line - exit again and then I co back to the command line
[17:43:42] <cradek> you are using loadusr halcmd AND halrun -I; I wonder if you have two halcmds running
[17:43:59] <skunkworks> loadusr?
[17:44:03] <cradek> or when you exit one, you get another one because of -I
[17:44:10] <cradek> yeah look at the last line of your halfile
[17:44:22] <SWPadnos> yep - looks like you're using halcmd to run halcmd ;)
[17:44:34] <cradek> pebkac!
[17:44:41] <skunkworks> ok - so I just need to do -f ?
[17:44:51] <cradek> remove the last line in your hal file
[17:44:56] <skunkworks> ok ;)
[17:47:15] <alex_joni> heh.. that's nice
[17:47:25] <alex_joni> to run halcmd inside halcmd
[17:48:08] <SWPadnos> actually, that gives you include files
[17:48:15] <SWPadnos> loadusr halcmd -f included.hal
[17:48:27] <alex_joni> SWPadnos: right
[17:54:20] <skunkworks> That worked
[17:55:43] <skunkworks> Is that like pointing a camera at a mirror?
[17:56:07] <alex_joni> no, at another camera
[17:56:10] <skunkworks> or wait - a camera at its own video on a monitor
[18:09:03] <lerneaen_hydra> what's the easiest way to format a partition in linux?
[18:09:19] <lerneaen_hydra> (installed system)
[18:09:26] <lerneaen_hydra> (non-system partition=
[18:09:27] <lerneaen_hydra> *)
[18:27:40] <skunkworks> I soldered the 2 headers on the pluto - boy solder mask is nice.
[18:27:48] <skunkworks> went smooth
[18:28:03] <skunkworks> boy, solder mask is nice.
[18:28:58] <skunkworks> Jepler: does your get warm with just the firmware installed? or do you have to be running something?
[18:34:13] <skunkworks> I remember there being a command for the printer port to view the state of all the pins.
[18:37:16] <ATAT> It seems EMC is doing something strange.. table moves fine in the negative X direction but not in positive X
[18:37:54] <ATAT> thought it was the laptop outputting 3.3v and not 5
[18:38:01] <ATAT> so I tried a desktop, same thing
[18:46:07] <SWPadnos> and you're using the xylotex_pinout.hal (in the stepper directory)?
[18:47:17] <ATAT> I'm using the HobbyCNC board so its standard_pinout.hal
[18:47:19] <ATAT> but yes
[18:47:37] <ATAT> I'm using the correct pinout file as far as I can see
[18:47:37] <SWPadnos> ah - ok. forgot which board it was :)
[18:47:44] <ATAT> not sure why its working in one direction though
[18:47:52] <ATAT> and not in the other
[18:47:58] <SWPadnos> you can try fiddling with the stepgen timing parameters: strplen, stepspace, dirdirsetup and dirhold
[18:48:09] <ATAT> is that in the ini file?
[18:48:21] <SWPadnos> the DIR output is 0 by default, so whichever direction that is would tend to work better if there's a timing problem
[18:48:32] <SWPadnos> you'll have to add it to the ini and a hal file, I think
[18:49:17] <ATAT> hmm if I manually applied +5V to the direction pin it would reverse direction right?
[18:49:22] <ATAT> or removed +5
[18:49:55] <skunkworks> does it sound different going one direction or the other?
[18:50:09] <SWPadnos> yes. you can also set the -invert parameter for the direction pin - that should make things work in the positive dir but not in the negative dir
[18:50:22] <SWPadnos> if timing is the problem
[18:50:34] <ATAT> skunkworks : yes it sounds different, but probably because the speeds are different
[18:51:05] <ATAT> well the direction pin isnt pulses is it?
[18:51:19] <ATAT> I mean the scope showed one huge step for the entire time the step sigs were being sent out
[18:51:21] <SWPadnos> no, but it may not remain steady in between steps
[18:51:26] <SWPadnos> ok, that's good
[18:51:53] <SWPadnos> hmmm - I'm not sure how to change things in a running emc. the -invert change can be done without editing any files or restarting emc
[18:52:01] <SWPadnos> what UI are you using?
[18:52:12] <ATAT> the default one with the livecd
[18:52:16] <ATAT> not sure what its called
[18:52:22] <SWPadnos> is that axis or tkemc?
[18:52:24] <ATAT> tkemc
[18:52:28] <ATAT> not axis for sure
[18:52:27] <SWPadnos> ok
[18:53:35] <SWPadnos> you should be able to open a treminal and run halcmd commands for testing
[18:53:56] <ATAT> walk me through? I've no clue how to use hal
[18:53:58] <SWPadnos> what's the output of halcmd show param parport.0.pin
[18:54:20] <SWPadnos> I'll help you out, plus there's a good tutorial (somewhere) - I'll find a link to it
[18:54:48] <SWPadnos> http://www.linuxcnc.org/docs/HAL_Documentation.pdf
[18:54:56] <SWPadnos> that's a good spot for it :)
[18:55:15] <lerneaen_hydra> SWPadnos: know of a simple way to format partitions in linux?
[18:55:26] <SWPadnos> man mke2fs
[18:55:49] <ATAT> wheres the console for hal?
[18:55:55] <SWPadnos> (or mkreiserfs or mkxfsfs ...)
[18:55:57] <SWPadnos> run a terminal
[18:56:14] <lerneaen_hydra> yeah
[18:56:16] <lerneaen_hydra> ok
[18:56:19] <SWPadnos> applications -> utulities -> terminal (?)
[18:56:17] <lerneaen_hydra> thanks
[18:56:20] <SWPadnos> sure
[18:56:40] <ATAT> oh heh
[18:56:39] <SWPadnos> oops - applications -> accessories -> terminal
[18:56:55] <lerneaen_hydra> I'm running KDE so it's not there ;)
[18:57:12] <SWPadnos> lerneaen_hydra, that wasn't for you :)
[18:57:22] <SWPadnos> but you should have a terminal icon on the taskbar
[18:57:29] <lerneaen_hydra> yeah
[18:57:28] <lerneaen_hydra> I do
[18:57:29] <ATAT> okay got the output, it's blank =p
[18:57:34] <lerneaen_hydra> often used
[18:57:46] <SWPadnos> try halcmd show all parport.0
[18:57:46] <ATAT> ok
[18:57:57] <SWPadnos> I assume tyou have emc running???
[18:58:01] <ATAT> woah
[18:58:09] <ATAT> a bunch of output on the second command
[18:58:37] <SWPadnos> ok. some of the parameters look a bit like parport.0.pin-02-out-invert, right?
[18:58:45] <ATAT> yes
[18:58:53] <ATAT> all have value FALSE
[18:59:13] <SWPadnos> ok, whatever the actuall name is, run halcmd setp parport.0.pin-02-out-invert true
[18:59:20] <SWPadnos> substituting the correct name, of course :)
[18:59:33] <SWPadnos> that will cause the axis to go in the opposite direction, so be careful
[18:59:35] <ATAT> where pin # is the direction for X axis?
[18:59:36] <ATAT> got it
[18:59:45] <SWPadnos> yes - that should be pin 2
[18:59:48] <SWPadnos> xdir
[19:00:30] <ATAT> invert set to true now
[19:00:37] <ATAT> ill try running it
[19:00:41] <SWPadnos> ok, now do a couple of 1" moves
[19:00:58] <SWPadnos> yep, but again remember that the direction is reversed ...
[19:01:37] <SWPadnos> lemme grab some more coffee so I can think about what the results may mean :)
[19:01:49] <ATAT> okay
[19:01:56] <ATAT> the direction which works is reversed
[19:02:17] <ATAT> with value TRUE +X direction works
[19:02:22] <ATAT> with value FALSE -X direction works
[19:03:42] <ATAT> +X and -X on the jog command
[19:04:06] <ATAT> because its inverted the table moves in the +X direction when its working
[19:04:13] <ATAT> and when not working in the -X
[19:04:26] <SWPadnos> you have a physical scope? (not halscope)
[19:04:45] <ATAT> yep
[19:05:02] <lerneaen_hydra> SWPadnos: (sanity check) essentially the only wanted parameter is -j for a standard partition for files and stuff?
[19:05:04] <ATAT> ive issues checking the DB25 though since my probes are too big
[19:05:16] <SWPadnos> ok. just make sure that the DIR pin isn't changing between steps (in one direction or the other)
[19:05:18] <SWPadnos> sure
[19:05:37] <ATAT> between steps?
[19:05:40] <ATAT> okay
[19:05:40] <SWPadnos> lerneaen_hydra, I think the only needed one is -j for a journal - everything else has a presumably sane default
[19:05:53] <lerneaen_hydra> SWPadnos: ok, good. thanks
[19:06:00] <SWPadnos> ATAT, yes - if the DIR line is steadily on (or off), then setup time isn't the problem
[19:06:08] <ATAT> ill go grab a paperclip to shove into that DB25 connector
[19:06:15] <SWPadnos> lerneaen_hydra, but I don't format partitions every day so ...
[19:06:19] <SWPadnos> heh
[19:06:28] <lerneaen_hydra> me neither
[19:06:46] <SWPadnos> at least if you screw something up, there's no data there anyway ;)
[19:07:00] <SWPadnos> as long as you don't typo the partition :)
[19:10:05] <lerneaen_hydra> yeah
[19:10:12] <lerneaen_hydra> that's what I'm afraid of
[19:10:15] <lerneaen_hydra> with 10+ partitions
[19:10:18] <lerneaen_hydra> :/
[19:10:37] <lerneaen_hydra> not as simple as one would want
[19:11:02] <ATAT> SWpadnos: is the DB25 shell tied to ground?
[19:11:06] <SWPadnos> heh
[19:11:13] <SWPadnos> it is on the computer end
[19:11:22] <SWPadnos> if it's touching the case, at least
[19:12:54] <ATAT> pin2 is dir/
[19:13:03] <ATAT> weird
[19:13:08] <ATAT> scope shows 5V constant
[19:13:09] <SWPadnos> what's weird
[19:13:11] <SWPadnos> ?
[19:13:12] <ATAT> regardless of whats going on
[19:13:17] <SWPadnos> hmmm
[19:13:36] <ATAT> oh nvm
[19:13:47] <ATAT> tied to gnd on negative move
[19:14:02] <ATAT> yup
[19:14:08] <ATAT> its one big step
[19:14:07] <SWPadnos> unfortunately, I'm going to have to leave you here (we just put our cat to sleep and buried him, so I'm going to go for a walk with my wife now :( )
[19:14:08] <ATAT> no bounces
[19:14:14] <ATAT> oh alright
[19:14:26] <jepler> SWPadnos: :( my sympathy to you
[19:14:27] <ATAT> thanks for the help
[19:14:41] <cradek> SWPadnos: sorry to hear that, take care of yourselves
[19:14:54] <SWPadnos> jepler, thanks. it was pretty obvious that it was time, and the vet did a house call
[19:15:01] <SWPadnos> ATAT, you're welcome
[19:15:05] <SWPadnos> see you guys later
[19:15:25] <jepler> ATAT: the emc2 step generator generally leaves the "dir" pin in the FALSE state when no move is called for, no matter what direction the prior move was in.
[19:16:18] <ATAT> oh
[19:16:25] <ATAT> hi jepler
[19:16:52] <ATAT> I'm about ready to blame this on the controller
[19:17:30] <ATAT> hmmm whats the voltage of the step pulses supposed to be?
[19:27:22] <jepler> hopefully you would see a good swing between nearly 5V and nearly 0V
[19:28:44] <ATAT> 4.2~0 so about good.
[19:28:54] <ATAT> is there any way to tie a pin to ground using hal?
[19:29:18] <ATAT> I want to force my direction X pin to ground, since thats when its not working
[19:29:51] <cradek> unlink the signal that's writing to that pin, and then you can use setp
[19:30:00] <jepler> "unlinkp parport.pin-02-out"
[19:30:18] <jepler> it should then get the value FALSE
[19:30:33] <jepler> in emc 2.0.x, I think you can't use setp directly on the pin, but you can use it on pin-02-invert
[19:30:42] <cradek> oh, right
[19:30:41] <jepler> er
[19:30:46] <jepler> "unlinkp parport.0.pin-02-out"
[19:30:55] <ATAT> yep
[19:30:59] <jepler> then "setp pin-02-invert TRUE" or "... FALSE"
[19:31:19] <jepler> then "setp parport.0.pin-02-invert TRUE" or "... FALSE"
[19:32:06] <ATAT> sighs im guessing this is not software issue
[19:33:35] <jepler> I wish it was, so we could figure it out and fix it
[19:34:00] <ATAT> well the scope shows basically the same step signals either directions
[19:34:11] <ATAT> and the DIR signal is working by switching between gnd and +5v
[19:34:18] <ATAT> so I'm not sure what could be wrong software wise
[19:34:56] <ATAT> sighs time to reflow all the joints
[19:35:31] <cradek> are there any identifiable buffers on the input lines?
[19:35:43] <cradek> or do the signals go right to the specialized driver chips
[19:35:53] <ATAT> no buffers at all
[19:36:42] <cradek> can you scope step and dir directly on the driver chip?
[19:36:59] <cradek> I just wonder if they're still nice and square there
[19:37:01] <ATAT> you mean apply leads to the step and dir signals at the driver?
[19:37:15] <ATAT> hmm alright ill try that
[19:37:15] <cradek> yeah
[19:37:20] <cradek> just a thought
[19:37:22] <jepler> Are the chips "SLA706x"?
[19:37:41] <jepler> that's what the internet told me are on the hobbycnc board..
[19:37:51] <ATAT> yep
[19:37:54] <ATAT> thats the ICs
[19:38:15] <ATAT> SLA7062M
[19:41:05] <jepler> is there some way that having the motor phases connected in the wrong order to the driver could cause this problem?
[19:41:23] <ATAT> I thought of that too but I double checked the wiring
[19:41:27] <cradek> is it wired bipolar or unipolar?
[19:41:33] <ATAT> unipolar
[19:41:42] <jepler> cradek: the driver chip is unipolar only
[19:42:23] <cradek> maybe you could put four LEDs on the windings and move one step at a time
[19:42:38] <ATAT> ?
[19:42:49] <jepler> that's not a bad idea
[19:42:55] <cradek> to see what outputs you're getting
[19:43:11] <cradek> or if you have two scopes it would be easier
[19:43:48] <cradek> you can set the jog speed very slow to see what's happening
[19:44:25] <ATAT> i have a dual channel scope
[19:44:31] <ATAT> that'd work?
[19:44:37] <cradek> yeah, but you need four :-/
[19:45:22] <jepler> ATAT: is the behavior the same no matter which microstepping mode you select with the jumpers?
[19:46:51] <ATAT> yup
[19:51:36] <ATAT> argh. reflowed the joints, same problem
[19:51:37] <ATAT> sighs.
[19:53:37] <cradek> seems like it must be something more fundamental than bad solder, if the behavior is wrong on all three axes
[19:53:46] <ATAT> yup
[19:54:00] <ATAT> just as a precaution =p
[19:54:07] <cradek> brb
[19:58:24] <ATAT> is there any way to increase pulse width on EMC?
[20:02:37] <jepler> yes, there are "setup" and "hold" parameters
[20:03:13] <jepler> stepgen.0.dirhold stepgen.0.dirsetup stepgen.0.steplen stepgen.0.stepspace
[20:03:40] <jepler> they all default to 1 BASE_PERIOD, which is 50 microseconds with the default configuration files
[20:03:44] <ATAT> woah it works
[20:03:48] <jepler> what did you change?
[20:03:52] <ATAT> or at least the X does now
[20:04:00] <ATAT> i played around with a bunch of values in the ini
[20:04:02] <ATAT> and also set it to 16th step
[20:04:17] <ATAT> weird
[20:04:38] <ATAT> I tweaked base period and stepgen values
[20:05:17] <ATAT> 9
[20:05:20] <ATAT> err wrong window
[20:05:21] <ATAT> sorry
[20:05:25] <jepler> no problem
[20:06:48] <jepler> once you're confident it's working, I'd like to have your pinout .hal file so it can be included as an example in a future version of emc.
[20:07:26] <jepler> you can e-mail it to me: jepler@unpythonic.net
[20:07:43] <ATAT> its not that different but okay
[20:07:56] <ATAT> for the input scale
[20:08:00] <skunkworks> jepler: tried a few of the inputs and they change state.
[20:08:04] <jepler> skunkworks: yay
[20:08:12] <ATAT> is it different for metric and imperial?
[20:08:16] <jepler> skunkworks: then it probably will all just work
[20:08:25] <ATAT> err.. nevermind, the leadscrew is tpi
[20:08:29] <ATAT> so need to convert that
[20:08:44] <jepler> ATAT: yeah the SCALE depends on the leadscrew, microstepping mode, inifile units
[20:09:43] <jepler> ATAT: the thing I'm interested in is the change that made both directions move the same distance
[20:10:08] <ATAT> oh you mean my .ini file
[20:10:08] <ATAT> not .hal
[20:11:17] <skunkworks> Jepler: I thought I killed it - I grabbed a hold of the pluto and zapped it. The light went to dim. - unplugged it unloaded the hal file. replugged it back in and it worked :)
[20:11:22] <ATAT> rebooting.. going to try the changes on my laptop..
[20:12:22] <jepler> skunkworks: oops!
[20:15:27] <skunkworks> oops is right. whew
[20:34:32] <jepler> http://blog.modernmechanix.com/2006/12/29/sunlight-powers-automobile/
[20:39:18] <jepler> is there any such thing as a blacklight LCD?
[20:39:20] <jepler> er, LED
[20:40:18] <jepler> I guess this would be a UV LED with the same phosphor as a blacklight?
[20:40:53] <jepler> a friend of mine suggests that a red & blacklight chain of LED lights would be a great product to sell to all the "goth" kids
[20:41:03] <jepler> or for everyone, come halloween
[20:46:55] <skunkworks> maybe even emo kids
[20:47:20] <skunkworks> but they would have to have razor blades attached
[20:47:52] <cradek> is the cutting thing a new fad? I keep hearing about it recently
[20:48:09] <jepler> nah people did it back when I was in high school
[20:48:12] <skunkworks> must be.
[20:48:17] <jepler> I assume it wasn't new then either
[20:48:33] <skunkworks> just not 'labeled yet'
[20:48:45] <cradek> ok
[20:50:29] <wb9mjn> Aren't most LCD 's backlit ?
[20:50:43] <wb9mjn> Oh...ok...by LED...
[20:51:05] <wb9mjn> Not sure if they are as efficient as EL or Flourescent yet...LED's that is...
[20:51:46] <wb9mjn> There are people out in California driving everyday mini SUV cars powered by sunlight...
[20:51:54] <jepler> wb9mjn: not backlight -- BLACKlight like http://science.howstuffworks.com/black-light.htm
[20:52:12] <wb9mjn> They have solar panels on their house, that charges the battery up....
[20:52:14] <skunkworks> jepler: I can't feel any real heat out of the fpga. Even the regulator isn't warm (at 5 volts)
[20:52:20] <wb9mjn> RAV 4 EV ....
[20:52:21] <jepler> yes there are LED backlit LCD displays, particularly in cellphones I think
[20:52:25] <wb9mjn> Ok...
[20:52:28] <skunkworks> it has been running most of the day
[20:52:35] <jepler> skunkworks: mine stopped feeling warm too
[20:52:40] <skunkworks> good
[20:52:42] <jepler> skunkworks: so I've stopped worrying about it .. and about why
[20:52:57] <skunkworks> spookyness at a distance
[20:53:20] <wb9mjn> They had a real tuff time coming up with the BLUE LED,,,not sure if they are up to UV....
[20:53:32] <wb9mjn> I think i have seen violet LED's...
[20:54:21] <wb9mjn> Its a material science issue mostly....finding a material which will work for UV laser action....
[20:54:32] <jepler> well look at this: http://johnbokma.com/pet/scorpion/detection-using-uv-leds.html
[20:55:10] <jepler> if it gives the goth kids cataracts, I bet I can't market it in the US
[20:55:52] <wb9mjn> Oh good....now i can throw out that Germicidal Flourescent tube I have for PCB exposure....hi...
[20:56:56] <wb9mjn> I was behind a Saab 93 Aerio yesterday...new one....they stole the Offset parabola tail-light thing from the Prius...
[20:57:05] <wb9mjn> Aero...
[20:57:27] <wb9mjn> Aerio is an asian car....forget the maker...
[20:57:28] <skunkworks> <random comment> I got the complete firefly dvd set..
[20:57:58] <wb9mjn> I have Dr. Who Season 1 ...
[20:58:20] <jepler> I'm watching Stargate SG1 from netflix
[20:58:37] <skunkworks> I have a bunck of the tom baker and john pertwee dr whos
[20:58:46] <wb9mjn> What I need is a really powerful IR LED headlight...
[20:59:10] <jepler> wb9mjn: what would be the benefit of that?
[20:59:11] <wb9mjn> Then hook up one of these IR CCD cameras to my Prius display screen...
[20:59:25] <wb9mjn> Have IR night driving mode...
[20:59:48] <wb9mjn> The security cameras they sell now are limited to 200 feet....need 1000 for driving...
[20:59:59] <wb9mjn> That is a factor of 25 in IR light intensity....
[21:01:19] <wb9mjn> 250 or so of the present IR LED's....
[21:01:38] <skunkworks> jepler: next is to hook up an encoder :)
[21:01:51] <anonimasu> keep in mind that IR is dangerous for the eye..
[21:01:58] <anonimasu> as it does not produce the blinking reflex as normal light
[21:02:59] <jepler> skunkworks: keep me posted
[21:04:01] <wb9mjn> Not really...the cover of the eye is opaque to IR....
[21:04:07] <wb9mjn> Its UV that is dangerous....
[21:04:21] <wb9mjn> Can fog up the cover of the eye...
[21:04:42] <wb9mjn> This is not CO2 Laser level of power ....
[21:04:47] <jepler> skunkworks: it crosses my mind that siggen square-wave output is a good way to generate a "step function" position input
[21:05:01] <wb9mjn> And 250 LED s would be pretty difuse at the source....
[21:05:47] <anonimasu> ir is still dangerous.
[21:06:04] <wb9mjn> Not talking the IR Lasers used for fiber telecom....
[21:06:21] <wb9mjn> 1 watt coming out of the diode....in a small small spot....
[21:06:44] <anonimasu> wb9mjn: ffs.. look it up.
[21:08:14] <wb9mjn> They had large IR lamps on tanks during the Korean war....looked perfectly black to the naked eye....
[21:09:10] <wb9mjn> They sell these security cameras with 10 of the IR LED s in a ring around the camera....
[21:09:18] <jepler> the military is not a shining example of the use of science in order to harm no one
[21:10:02] <jepler> (heh .. shining)
[21:10:35] <anonimasu> hehe
[21:10:41] <wb9mjn> Here is an example...I am off on my numbers of LED's required....http://maxmax.com/aXRayIROutdoorCamera12LED.htm
[21:10:50] <anonimasu> well, look at wikipedia about IR and eye damage..
[21:10:58] <anonimasu> :)
[21:11:03] <anonimasu> I've had this discussion a few weeks ago..
[21:11:09] <jepler> "... which can cause thermal retinal burn"
[21:11:14] <anonimasu> yep
[21:11:21] <jepler> man I resent being made of meat
[21:11:27] <anonimasu> howcome?
[21:11:33] <anonimasu> would chisel be better?
[21:11:37] <jepler> thermal retinal burn
[21:11:42] <jepler> or any of a myriad other reasons
[21:11:56] <jepler> I'd rather a gleaming, 20-meter-tall robot with death lasers
[21:12:04] <eholmgren> http://gumstix.com/
[21:12:24] <jepler> eholmgren: they should cool, don't they? I still haven't bought any
[21:12:23] <eholmgren> I have no idea what I'd do with one, but I definitely need to get one
[21:12:42] <jepler> er, sound cool
[21:13:11] <eholmgren> the one with the ethernet port would be great for remote data gathering
[21:13:24] <wb9mjn> Death lasers are CO2 IR lasers.....
[21:13:51] <wb9mjn> at 4 MW/cm intensity...
[21:13:59] <wb9mjn> square cm...
[21:14:18] <wb9mjn> that M as in 10 to the 6 ....
[21:16:10] <jepler> eholmgren: a version of rtai is said to run on PXA255 .. let us know when your emc2 port is done
[21:16:40] <eholmgren> will do ;)
[21:22:57] <eholmgren> looks like using the console over a serial line is the only way to get local access
[21:23:14] <eholmgren> when does the ascii version of axis come out
[21:23:35] <jepler> ummmmm
[21:24:00] <jepler> keep an eye on the axis blog, axis.unpy.net
[21:24:05] <jepler> you never know
[21:30:18] <lerneaen_hydra> anyone know of a graphical md5 checksum creator/verifier for linux?
[21:31:08] <jepler> http://freshmeat.net/projects/ghasher/ maybe?
[21:32:38] <lerneaen_hydra> but then I have to compile it :p
[21:33:10] <lerneaen_hydra> looks very good otherwise
[21:33:14] <lerneaen_hydra> looks like I'll use that
[21:36:50] <lerneaen_hydra> is --enable-compile-in-place a generic command?
[21:37:02] <lerneaen_hydra> ie. should I be able to compile most apps with that?
[21:37:07] <SWPadnos> nope
[21:37:11] <lerneaen_hydra> oh
[21:37:17] <SWPadnos> and it's --enable-run-in-place
[21:37:21] <lerneaen_hydra> ah
[21:37:24] <lerneaen_hydra> run in place
[21:37:26] <lerneaen_hydra> right
[21:37:29] <SWPadnos> which is also not generic :)
[21:37:34] <lerneaen_hydra> so that's EMC specific
[21:37:46] <lerneaen_hydra> or just spattered randomly around projects?
[21:38:24] <lerneaen_hydra> whee, compiling works nicely
[21:38:35] <cradek> it's pretty uncommon for an application to support running that way
[21:38:36] <lerneaen_hydra> how much of a bitch is compiling apps in windows?
[21:38:38] <lerneaen_hydra> oh, ok
[21:38:49] <cradek> first you have to find a compiler...
[21:39:26] <jepler> it's pretty uncommon for linux apps to support running in-place
[21:39:35] <jepler> it's pretty common for mac and windows apps
[21:40:01] <cradek> I didn't know that
[21:40:34] <jepler> C:\Program Files\ ring any bells?
[21:41:01] <lerneaen_hydra> I've been locked into windows for far too long
[21:41:13] <lerneaen_hydra> I think I've managed to switch my main computer today
[21:41:32] <lerneaen_hydra> switching FS is not fun :/
[21:41:33] <jepler> yay
[21:42:35] <jepler> It must be 10+ years that Linux has been my primary OS
[21:42:54] <jepler> I forget it was ever any other way
[21:43:06] <lerneaen_hydra> lucky you
[21:43:15] <skunkworks> I do use linux now - does that count?
[21:43:17] <Vq^> * Vq^ used TOS a long time ago
[21:43:20] <lerneaen_hydra> I'm still going to be stuck with virtualisation for a while
[21:43:20] <SWPadnos> it's the standard for NeXTStep though
[21:43:27] <cradek> same here. I'm getting more and more clueless about windows as it diverges from what I've used
[21:44:07] <SWPadnos> actually, RIP for Windows is pretty uncommon - they often need registry tweaks and the like, so they have to be "installed" or they won't work
[21:44:38] <lerneaen_hydra> hmm, is there any way to hash all files, and all files in all subdirs from the current directory from the terminal easily?
[21:44:44] <lerneaen_hydra> the gui app couldn't do that
[21:44:46] <cradek> hash?
[21:45:04] <lerneaen_hydra> md5 checksum
[21:45:06] <jepler> lerneaen_hydra: find . -type f | xargs md5sum
[21:45:26] <lerneaen_hydra> does that make one big file or lots of small ones?
[21:45:33] <lerneaen_hydra> and how do you verify it later?
[21:45:34] <skunkworks> I talked to my wife about that - I find that I am not an expert in any one field. (say being a cpa or something of the like) but I know a little about a lot of things. I don't know if that is good or bad.
[21:45:35] <jepler> it prints all the sums on the standard output
[21:45:58] <jepler> redirect the output with ">": ... |xargs md5sum > /tmp/MD5SUM
[21:46:17] <lerneaen_hydra> ah, ok
[21:46:43] <jepler> then to check: md5sum -p /tmp/MD5SUM
[21:47:37] <lerneaen_hydra> so the entire command would be "find . -type f | xargs md5sum > /dir/file.md5"
[21:47:41] <jepler> yes
[21:47:46] <lerneaen_hydra> ok
[21:47:51] <lerneaen_hydra> sounds simple enough
[21:47:49] <SWPadnos> ok - the Mesa order is shipping today :)
[21:47:55] <jepler> SWPadnos: shipping to you?
[21:47:59] <SWPadnos> yep
[21:48:08] <SWPadnos> they were testing some of the boards yesterday :)
[21:48:14] <jepler> ah
[21:48:33] <SWPadnos> I had them ship via fedex 2-day, so I'll be re-shipping on Wednesday or Thirsday of next week
[21:48:38] <SWPadnos> err - Thursday
[21:49:11] <skunkworks> Cool..
[21:49:15] <jepler> lerneaen_hydra: "find ... | xargs" is a common way on unix to run a command on a bunch of files in a deep directory tree
[21:49:24] <lerneaen_hydra> jepler: hmm, it did a few then it died
[21:49:38] <lerneaen_hydra> and it skipped lots of files
[21:49:48] <SWPadnos> died as in "returned to a prompt", died as in "printed an error" or died as in "stopped doing anything" ....
[21:50:19] <lerneaen_hydra> http://pastebin.ca/295983
[21:50:26] <jepler> lerneaen_hydra: do some of your filenames contain spaces? If so, use this instead: find . -type f -print0 | xargs -0 md5sum > /dir/file.md5
[21:50:31] <lerneaen_hydra> probably
[21:50:33] <lerneaen_hydra> oh,
[21:50:42] <jepler> here's a good page on "find": http://www.kalamazoolinux.org/tech/find.html
[21:52:52] <lerneaen_hydra> hmm, wth, tab completetion dies and the file doesn't appear where it's supposed to
[21:53:01] <lerneaen_hydra> * lerneaen_hydra feels like an idiot
[21:53:32] <SWPadnos> what does "tab completion dies" mean?
[21:53:39] <lerneaen_hydra> as in it wont tab complete a dir
[21:53:55] <SWPadnos> hmmm
[21:53:59] <lerneaen_hydra> when it did before, and the file doesn't appear where it should appear, making me think that something is borked
[21:54:05] <lerneaen_hydra> does that command work for the rest of you?
[21:55:17] <anonimasu> heh
[21:56:02] <SWPadnos> it's possible that some echo to the terminal has screwed some things up
[21:56:08] <SWPadnos> you can always close this terminal and open anotherone
[21:56:54] <lerneaen_hydra> still messed up
[21:57:07] <anonimasu> hm..
[21:57:11] <lerneaen_hydra> does the script work for you jepler?
[21:57:14] <anonimasu> try "reset"
[21:57:21] <lerneaen_hydra> ?
[21:57:37] <anonimasu> if your terminal is borked
[21:58:09] <lerman> SWPadnos and ... I've a version of my proposed named parameters code working (not fully tested yet). I haven't added the oword names yet, but figure I ought to check this in as soon as I've tested it some more. How do I do that? (and who wants to do some testing?) I'd suggest two types of tests: 1 -- make sure it doesn't break anything. 2 -- test new features. Once it passes (1), it should...
[21:58:13] <lerman> ...be OK to move to HEAD.
[21:58:13] <lerneaen_hydra> still no tab completion
[21:59:02] <SWPadnos> lerman, can you create a branch in CVS? (I don't remember offhand how to do that, but cradek or jepler probably does :) )
[21:59:23] <SWPadnos> though it may be easy enough to revert if there are any problems, so a branch may not be needed
[21:59:29] <lerman> I don't know how. alex_joni could tell me.
[22:00:15] <lerman> Also, I'd like the Board to review the proposals and give them the OK -- or suggest changes -- or reject the whole thing (that would be sad).
[22:00:26] <lerman> :-(
[22:00:51] <SWPadnos> dunno if the board can do anything soon (alex and jmk are traveling, and rayh and jone have been pretty scarce lately)
[22:01:40] <lerneaen_hydra> which means..... cradek has the ultimate power to decide, without any wait for ratification or anything!
[22:01:42] <lerneaen_hydra> whee!
[22:01:49] <lerman> I think it would be wrong to put it into head without board approval. Anything that goes into head becomes a baseline that others work against. Removing something that has been there a while could be a pain.
[22:01:50] <SWPadnos> heh - he's the chairman too :)
[22:02:18] <SWPadnos> actually, HEAD is kind of like TESTING - it's release_XX and v_xx_ branch that are protected
[22:03:22] <lerman> Yes. But after a while, everything in HEAD becomes a new release. I built my stuff based on HEAD. If I had to revert stuff out of it, I'd be reasonably well annoyed.
[22:04:56] <SWPadnos> I can understand that
[22:05:05] <lerman> When I did the oword stuff, I had to merge it with an EMC2 that was missing RUMs (whathisname) stuff when my code was based off EMC1 that had his stuff. That was a pain I wouldn't want to inflict on anyone else.
[22:05:13] <SWPadnos> Keith Rumley
[22:05:38] <SWPadnos> yeah, that is a PITA
[22:05:57] <SWPadnos> I'd wait a little. I'm not sure anyone is clamoring for the features
[22:06:05] <lerman> Yes. Thanks (sorry Keith). At any rate, as soon as I find out how to make a new branch, I will. (Actually, I'm not sure I'm authorized to do that).
[22:06:33] <lerman> Yes, but the longer we wait the greater the probability that there will be merge problems.
[22:06:43] <SWPadnos> I know that all the board members except JonE have seen the idea (and JonE may have as well)
[22:06:43] <ATAT> hmmm whenever I try to run gcode, I get a joint 1 folloiwng error
[22:06:44] <ATAT> whats that mean?
[22:06:50] <ATAT> I hear its something to do with feedback error
[22:06:51] <skunkworks> lerman: I had actually used your o-word branch when it was still a branch in emc2.
[22:06:56] <ATAT> but I'm running a stepper system
[22:07:02] <lerman> Also, I'd like to do this in multiple parts. (Add the oword stuff later).
[22:07:05] <SWPadnos> if you have commit access, you can create a branch (I think - I'm not very savvy about CVS permissions)
[22:07:18] <lerman> HOw do I find out if I have commit access?
[22:07:48] <lerman> Or get it if I don't?
[22:08:35] <SWPadnos> if you try to cvs co <file>, you can find out :)
[22:08:39] <SWPadnos> err - ci, not co
[22:09:05] <skunkworks> ATAT: can you post your ini file to pastebin.ca?
[22:09:39] <ATAT> pastebin?
[22:09:48] <SWPadnos> http://pastebin.ca
[22:10:01] <SWPadnos> and copy/paste in the contents of the file
[22:10:03] <ATAT> woah
[22:10:11] <ATAT> I learn something new every day
[22:10:28] <SWPadnos> that is a configuration problem, since you have steppers
[22:10:47] <SWPadnos> what it usually means is that the BASE_PERIOD is too long, or there is no (or not enough) headroom for stepgen
[22:11:02] <SWPadnos> (to accelerate or run a lottle over speed to catch up to the trajectory planner requests)
[22:11:09] <SWPadnos> s/lottle/little/
[22:11:44] <ATAT> http://pastebin.ca/296019
[22:13:27] <lerman> Tried the cvs ci, got message: could not open lock file... /cvs/emc2/src/emc/rs274ngc/rs274ngc_errors.cc, Permission denied.
[22:13:38] <SWPadnos> ok, you have the BASE_PERIOD at 50000, which gives you a maximum of 10000 steps/second
[22:14:12] <SWPadnos> you have scale at 2519, and max_vel of 30.48 (that's per second, not per minute)
[22:14:24] <ATAT> ah
[22:14:44] <SWPadnos> that would result in 2519 * 3048 = 7.7 million pulses/second]
[22:14:46] <ATAT> wow it would be much worse for the inch version then
[22:14:53] <SWPadnos> which is slightly larger than 1000 :)
[22:14:57] <SWPadnos> or 10000
[22:15:00] <ATAT> hmm
[22:15:08] <ATAT> increasing base_period is impractical?
[22:15:15] <ATAT> or is that the standard way of doing this
[22:15:31] <SWPadnos> no - it's normal to reduce BASE_PERIOD to something that makes sense fro your machine
[22:15:51] <SWPadnos> are you intending to run at 1.848 m/s ?
[22:16:02] <SWPadnos> err -m/min
[22:16:22] <ATAT> that seems pretty fast to me
[22:16:29] <ATAT> the machien is about 12 ft of travel
[22:16:30] <ATAT> i mean
[22:16:31] <ATAT> 12 inches
[22:16:32] <ATAT> of travel
[22:16:47] <SWPadnos> yep. it may not be clear from the docs, but the maxvel and maxaccel parameters are per second, not per minute
[22:17:25] <SWPadnos> what processor do you have in the computer running the machine?
[22:17:35] <ATAT> 1.4ghz Pent M
[22:18:15] <SWPadnos> ok. that should be able to handle a 20 uS BASE_PERIOD, so you could change that to 20000
[22:18:34] <SWPadnos> that'll give you up to 25k steps/second
[22:19:00] <ATAT> wait how do you calculate base period?
[22:19:00] <SWPadnos> (though you may not need that much)
[22:19:05] <SWPadnos> you don't :)
[22:19:17] <ATAT> i mean how did you get 20uS
[22:19:21] <SWPadnos> well, you can approach it this way
[22:19:41] <SWPadnos> just a gut feeling - let's do it the systematic way first though
[22:19:58] <SWPadnos> let's do X - you can fiunish off Y and Z: what's the pitch of the screw
[22:20:00] <SWPadnos> ?
[22:20:53] <ATAT> 20 tpi
[22:21:06] <ATAT> well all 3 axis are the same
[22:23:43] <SWPadnos> wow - and you want to use mm, not inch?
[22:23:56] <ATAT> well I would usually want to use inch
[22:24:16] <ATAT> but this one set of g code is written in mm
[22:24:22] <ATAT> so I was setting that up
[22:24:26] <SWPadnos> ok. since the screw is in inches, you may want to use inches as the base unit for the machine. you can always use G20 and G21 to make imperial vs. metric programs
[22:24:42] <SWPadnos> you should always have a G20 or a G21 in a g-code file anyway
[22:25:12] <ATAT> mmm okay
[22:25:28] <SWPadnos> you can run inch or mm programs on emc, regardless of the base units you choose
[22:25:45] <ATAT> oh because the program would set the imp / metric?
[22:25:59] <SWPadnos> yes - I think G20 is inch and G21 is mm
[22:26:22] <ATAT> so entering a mm code with G21 would run fine in inch base unit?
[22:26:52] <SWPadnos> yes - you would use G21 at the start of the program, and that program would have all coordinates and feedrates in mm
[22:27:22] <SWPadnos> anyway - got to run soon - let's do inch since the numbers will be easier to type and figure out in my head :)
[22:27:40] <ATAT> oh alirght
[22:27:44] <ATAT> ill paste again
[22:27:46] <SWPadnos> what stepping mode do you expect to use (full, half, quarter ...)
[22:27:56] <ATAT> 1/16th is what works
[22:28:10] <ATAT> 1/8 1/4 and 1/2 stepping modes dont seem to work well
[22:28:12] <SWPadnos> ok - that may limit the max speed you can get - we'll see
[22:28:21] <SWPadnos> and the steppers are 200 full steps/rev
[22:28:51] <SWPadnos> so 200 * 16 = 3200 microsteps/rev * 20 revs/inch = 64000 steps/inch (that's a lot :) )
[22:29:00] <ATAT> http://pastebin.ca/296044
[22:29:20] <ATAT> well the machine seems to jog fine at 9 ipm
[22:30:24] <SWPadnos> let's assume that 20000 works for BASE_PERIOD, and calculate the actual feed rates you'll be able to get
[22:30:31] <SWPadnos> 20000 = 25000 steps/second
[22:30:53] <SWPadnos> 25000 / 64000 = 0.390625 inches/second max
[22:30:53] <ATAT> so about 2 inch / second
[22:30:55] <ATAT> would be max?
[22:30:58] <ATAT> err yeah
[22:31:08] <SWPadnos> which is 23.43 in/mon
[22:31:16] <SWPadnos> /min
[22:31:16] <ATAT> thats far more than enough
[22:31:26] <ATAT> I was aiming for around 12 ipm rapids
[22:31:32] <SWPadnos> ok, that's great
[22:31:46] <SWPadnos> you can caluclate the minimum base period from that as well:
[22:31:50] <SWPadnos> 12 IPM = 0.2 IPS
[22:31:54] <ATAT> is smaller base period good?
[22:32:03] <SWPadnos> 0.2 * 64000 = 12800 steps/sec
[22:32:58] <SWPadnos> you need 2 BASE_PERIODs per step, so the BASE_PERIOD has to be less than 1/ 25600 or ~ 39 uS (39000)
[22:33:10] <SWPadnos> so even at 50 it's close to what you need
[22:33:25] <ATAT> got it
[22:33:26] <SWPadnos> did the calcs make sense to you?
[22:33:32] <ATAT> yup
[22:33:38] <SWPadnos> ok - good.
[22:33:37] <ATAT> just unit conversions it seems
[22:33:43] <SWPadnos> yep
[22:33:59] <ATAT> also is it advised that I pick a value
[22:34:00] <SWPadnos> note that you need more than 2 BASE_PERIODs if you increase steplen and stepspace
[22:34:03] <ATAT> slightly lowe rtan 12 ipm?
[22:34:13] <ATAT> for the 39uS value
[22:34:14] <jepler> lerman: most likely that error message indicates you have a read-only (anonymous) checkout of the source
[22:34:27] <SWPadnos> actually, I'd choose a BASE_PERIOD that can easily do shat you need, like 25 uS
[22:34:37] <ATAT> what units are max velocity in again?
[22:34:41] <SWPadnos> then set the TRAJ and AXIS_n max_vels to 12
[22:34:51] <SWPadnos> but set the stepgen_maxvels to 13 or so
[22:35:00] <SWPadnos> "units per second"
[22:35:07] <jepler> * jepler disappears again
[22:35:13] <SWPadnos> with units determined by the UNITS value in the ini
[22:35:25] <ATAT> got it
[22:35:26] <SWPadnos> (in each axis section)
[22:35:33] <SWPadnos> ok - gott arun. good luck
[22:35:38] <SWPadnos> no - gotta run :)
[22:35:46] <ATAT> thanks
[22:36:06] <skunkworks> Or calculating it backwards (the way I normaly do it) ((1/baseperid)/2)/inputscale)=max feed in units per second.. *60 = units per minute
[22:36:21] <skunkworks> not trying to confuse you ;)
[22:36:30] <anonimasu> 2lol
[22:36:36] <ATAT> got it
[22:38:15] <lerman> jepler: So, how do I convert that (without losing my changes, please)?
[22:47:46] <skunkworks> ATAT: how do you like emc2 so far?
[22:48:13] <skunkworks> and what are you using for the interface? tkemc, axis...
[22:49:32] <ATAT> skunkworks: its great, works so much better than the alternatives
[22:49:34] <ATAT> im using axis
[22:50:10] <skunkworks> axis is awesome
[22:50:44] <ATAT> the only problem
[22:50:55] <ATAT> is that magma, the kernel that emc uses
[22:51:02] <skunkworks> why is that?
[22:51:04] <ATAT> doesnt quite work with my acpi or my wireless driver
[22:51:09] <skunkworks> ah
[22:51:15] <ATAT> not sure why
[22:51:33] <skunkworks> it is a real time thing - lots of that gets disabled.
[22:51:37] <ATAT> yup
[22:51:49] <ATAT> that makes sense but its slightly annoying having to restart and swap between kernels
[22:51:58] <ATAT> ahwell its necessary for good performance
[23:08:08] <lerneaen_hydra> 'night
[23:13:43] <fenn> maybe there should be a script to check if you can actually achieve your max velocity with your specified base period