#emc | Logs for 2007-01-03

[00:22:12] <ve7it> ve7it is now known as LawrenceG
[02:39:08] <CIA-8> 03jmkasunich 07HEAD * 10emc2/src/hal/drivers/hal_parport.c: if pins 2-9 are input, set the hardware direction to 'in' during driver loading instead of waiting until the 'parport.N.write' HAL function runs
[02:52:32] <ejholmgren>
[02:52:40] <jepler> hi ejholmgren
[02:52:40] <jepler> you say "" a lot
[02:53:01] <SWPadnos> mr. nearly-null-string
[02:53:11] <ejholmgren> I need to start using something other than bitchx
[02:53:14] <ejholmgren> it doesn
[02:53:23] <ejholmgren> it doesn't tell me when it disconnects
[02:54:05] <jepler> I prefer irssi -- it seems to automatically reconnect a short time after I get disconnected
[02:54:04] <ejholmgren> that's probably getting annoying though
[02:55:24] <ejholmgren> I suppose I can just do an /motd and get the same effect
[02:56:51] <ejholmgren> hrrmm... seems like irssi is in the fink repository
[02:56:55] <ejholmgren> will try it out
[02:57:19] <ejholmgren> is it term or windowed?
[02:57:40] <jepler> it's terminal
[03:14:12] <CIA-8> 03jmkasunich 07HEAD * 10emc2/src/emc/motion/control.c: if homing is aborted, make sure index-enable for that axis gets cleared
[03:24:20] <CIA-8> 03jepler 07HEAD * 10emc2/src/hal/utils/halcmd.c: when a net has no pins, it cannot be saved as a 'net' command -- skip it and let 'save sigu' take care of it
[04:03:44] <A-L-P-H-A> SWPadnos, mailing the check out asap.
[04:04:07] <SWPadnos> ok. the boards actually arrived here today (1 day early)
[04:09:18] <CIA-8> 03jmkasunich 07v2_1_branch * 10emc2/src/hal/drivers/hal_parport.c: bugfix backport: if pins 2-9 are input, set the hardware direction to 'in' during driver loading instead of waiting until the 'parport.N.write' HAL function runs
[04:09:47] <CIA-8> 03jmkasunich 07v2_1_branch * 10emc2/src/emc/motion/control.c: bugfix backport: if homing is aborted, make sure index-enable for that axis gets cleared
[04:14:12] <ejholmgren> hrrmmnn.. now I need to learn how to acutally use this beast of a client
[04:14:46] <SWPadnos> do you normally run in an X environment?
[04:15:26] <ejholmgren> no
[04:15:37] <SWPadnos> nevermind then :)
[04:18:20] <jtr> ejholmgren: i'm just now looking at a tutorial: http://f0rked.com/articles/irssi
[04:24:48] <jtr> ejholmgren: The tutorial link on the irssi.org website pointed to it. looks like a quick intro.
[04:28:10] <ejholmgren> the alt bindings don't seem to change windows for me
[04:29:08] <cradek> ejholmgren: gnome terminal?
[04:29:37] <ejholmgren> fixed it, should have read further
[04:29:40] <cradek> ah
[04:29:45] <ejholmgren> cradek: term in osx
[04:30:03] <cradek> ok, I'm clueless then
[04:30:23] <ejholmgren> have to set alt as the meta key in some dialog box
[04:37:34] <jtr> I'll have to read up on it later - can't keep my eyes open. Good luck and good night.
[05:54:49] <A-L-P-H-A> night folks. I think I'll be back in the morning.
[06:08:40] <ejholmgren> night
[09:26:39] <lerneaen_hydra_> lerneaen_hydra_ is now known as lerneaen_hydra
[09:26:57] <lerneaen_hydra> 'lo
[09:27:15] <lerneaen_hydra> funny that it didn't time out
[09:27:38] <lerneaen_hydra> I killed my irc client several hours ago forcefully
[10:18:02] <fenn> i killed firefox earlier with extreme prejudice
[10:18:29] <fenn> "whats that firefox crap doing on my system, i have iceweasel installed!"
[10:23:19] <lerneaen_hydra> iceweasel :D
[10:23:28] <Dallur> has anyone here ever built/thought about building a laser calibration system?
[10:23:55] <lerneaen_hydra> btw, do you know of what type of efficiency one could expect to get from a 200W permanent magnet DC motor?
[10:24:06] <lerneaen_hydra> or does it vary very greatly?
[10:26:07] <fenn> it depends on the drive more than anything
[10:26:57] <fenn> it's easier to design an efficient drive for a small range of speeds
[10:27:49] <Dallur> LH: First thing it depends on is brushless/brush, brushless is more efficient under low load, typical efficiency would be around 50%
[10:28:18] <lerneaen_hydra> It's a brushed motor
[10:28:41] <fenn> oh, i re-read that twice and thought you said brushless
[10:29:01] <Dallur> LH: under high loads you can probably reach 50%, if it is a really good design might reach 60%
[10:29:22] <lerneaen_hydra> I would think that it's relatively efficient, becuase it's rated at continous use and doesn't have much, if anything at all, in the way of cooling
[10:29:27] <lerneaen_hydra> Dallur: that low?
[10:31:09] <Dallur> LH: to calculate it for your motor just use torque*rpm/watts and multiply by a constant for your units of measure
[10:31:45] <lerneaen_hydra> any way other than running it with power and loading it?
[10:32:31] <Dallur> LH: do you know the torque in any unit of measure ?
[10:33:57] <lerneaen_hydra> nope, I basically don't know much about it at all
[10:34:07] <fenn> put it in a calorimeter :)
[10:34:26] <lerneaen_hydra> I know that unloaded it spins at 4000rpm, when loaded to give out 200 watts it's 3000rpm
[10:34:44] <lerneaen_hydra> I can find the stall torque @ a certian current though, if that would say anything
[10:35:11] <lerneaen_hydra> I have a speed control that can give a constant current through the motor, and then measure the torque, but that's at stall
[10:37:24] <Dallur> LH: does it draw 200w at 3000rpm or does it deliver 200w at 3000rpm ?
[10:37:38] <lerneaen_hydra> it should deliver 200W at 3000rpm
[10:38:36] <Dallur> LH: in that case just put an amp meter on one of the leads and measure the current draw
[10:39:01] <lerneaen_hydra> I don't think I can easily set something up to sink 200 watts
[10:39:04] <lerneaen_hydra> that's my problem
[10:39:20] <lerneaen_hydra> hmm, now that I think about it though
[10:39:28] <lerneaen_hydra> it shouldn't be that hard to do
[10:39:32] <Dallur> LH: got another motor around and a variable resistor ?
[10:40:00] <lerneaen_hydra> no, but this is going to be mounted on a bike, so if I attach it and then brake and let the motor spin at 3000rpm and measure the current
[10:40:25] <Dallur> LH: :D
[10:41:29] <lerneaen_hydra> Dallur: http://lerneaenhydra.shacknet.nu/images/files_temp/img_6300.jpg and http://lerneaenhydra.shacknet.nu/images/files_temp/img_6301.jpg
[10:43:27] <Dallur> LH: lol, that should be fun
[10:44:48] <lerneaen_hydra> I sure hope so :D
[10:49:26] <Dallur> I have been brushing up on my physics lately and one thing that came to mind as a really cool thing to do for EMC would be to add support so you could hook up a laser pointer, a camera, some software and do automatic error correction, the hardware is actually pretty easy to do but the software side might be a bit harder
[10:49:50] <lerneaen_hydra> ? which hardware?
[10:49:55] <lerneaen_hydra> or rather, what does it do?
[10:50:33] <Dallur> LH: well you just get any usb based digital camera
[10:50:42] <Dallur> LH: it needs to have adjustable focus (a lens) though
[10:50:54] <lerneaen_hydra> what would the entire thing do?
[10:51:13] <Dallur> LH: automatically adjust for any errors in your setup
[10:51:58] <Dallur> LH: backlash, wear, anything really
[10:52:07] <lerneaen_hydra> I'm not following you, would this be for a mill/lathe/cnc thing?
[10:52:32] <lerneaen_hydra> oh, but backlash is on the order of 1/100th mm or so, not exactly very visible
[10:52:32] <Dallur> LH: Yup
[10:52:35] <lerneaen_hydra> or at least, can be
[10:53:15] <Dallur> LH: well that should not be a problem
[10:53:26] <fenn> so you measure the position with a linkage that tiltsthe mirror and look at the spot reflected somewhere else?
[10:54:08] <Dallur> fenn: nope, you emit the dot from a fixed source, this source needs to be calibrated to point straight on XY
[10:54:26] <fenn> how do you measure a fuzzy dot to within a fraction of a mm?
[10:54:37] <Dallur> fenn: lens, you focus the dot
[10:54:59] <fenn> uh.. ok
[10:55:10] <Dallur> fenn: all you really needs is a camera with auto focus and a crappy lens
[10:55:31] <fenn> maybe you need a pinhole.. do i have to worry about diffraction?
[10:55:36] <lerneaen_hydra> I still don't see what information you can gather from that
[10:56:52] <Dallur> LH: imagine if the sensor is mounted on the sled/gantry, as the sled moves and errors show up the laser dot will move on the sensor, so you can adjust for the errors
[10:57:39] <Dallur> fenn: laser does not suffer from diffraction, it is a uni directional light source
[10:57:42] <lerneaen_hydra> hmm, I don't think my mental image of how this is set up is correct
[10:57:56] <fenn> of course laser light can be diffracted
[10:57:57] <lerneaen_hydra> the laser points down on the table, and so does the camera?
[10:58:03] <lerneaen_hydra> what does that give you?
[10:58:03] <fenn> the infamous 'double slit experiment"
[10:58:51] <Dallur> fenn: well the light will bend around the perimeter of a "hole"
[10:59:40] <Dallur> fenn: I see your point, wonder if there will be a problem with the light bending
[10:59:56] <Dallur> fenn: around the "pinhole" in the camera
[11:00:04] <fenn> Dallur: well, in my experience laser pointers have a fuzzy elliptical dot with a dark spot in the center
[11:00:38] <fenn> if you are focusing the dot it may not matter so much
[11:00:57] <Dallur> fenn: probably won't but good point though
[11:01:38] <Dallur> If something like this is possible it might be possible to do automated error correction for <100$,
[11:02:53] <Dallur> LH: The laser points down one axis, the camera is mounted to intersect the laser pointer
[11:04:02] <Dallur> LH: if the sled/gantry with the camera moves off center the focused laser point will move camera sensor, and this can be measured and the error fed into EMC for automated error correction
[11:05:43] <Dallur> "move relative to the camera sensor (imagine a tiny dot shining into the camera, if you move the camera the location of the dot relative to the camera changes)
[11:10:23] <lerneaen_hydra> oh, so the camera is not perpendicular to the laser beam?
[11:12:06] <Dallur> LH: the laser shines into the camera lens :D
[11:13:37] <Dallur> http://www.microscopy-uk.org.uk/mag/imgaug06/imgp0101.jpg <-
[11:13:54] <lerneaen_hydra> oh, so the laser shines into the camera, all moves perpendicular to the laser beam are visible as movement in X/Y for the camera?
[11:14:05] <Dallur> LH: yup
[11:14:08] <lerneaen_hydra> ok
[11:14:21] <lerneaen_hydra> I still think that the resolution of the camera is going to be far too low
[11:15:48] <Dallur> LH: the resolution of the camera depends on how tightly packed the CCD sensors are and we wavelength of the light
[11:16:34] <Dallur> LH: in theory you can focus the laser down to an area equal to the wavelength, in practice lets say we can get down to 10x wavelength
[11:18:06] <lerneaen_hydra> but when the slide moves along the beams direction it will become unfocused
[11:18:08] <Dallur> LH: That would give us around 6000nm which is 10 to the power of -3 mm or 0.0006 mm (I think)
[11:18:17] <Dallur> LH: autofocus :D
[11:18:23] <lerneaen_hydra> you can only acheive focus at one point easily
[11:18:25] <lerneaen_hydra> og
[11:18:25] <lerneaen_hydra> *oh
[11:18:50] <lerneaen_hydra> you'll need to find a camera with a very high density of ccd elements
[11:19:23] <lerneaen_hydra> 6000nm -> 6µm -> 0.6 hundredths -> 0.0006
[11:19:25] <lerneaen_hydra> mm
[11:20:55] <Dallur> LH typical CCD pixel is 15 microns
[11:21:11] <lerneaen_hydra> that small?
[11:21:11] <lerneaen_hydra> nice
[11:21:21] <lerneaen_hydra> what type of camera are we talking about?
[11:21:32] <lerneaen_hydra> I've been thinking webcam-like, but maybe that's not correct?
[11:21:51] <Dallur> http://www.astrosurf.com/re/chip.html
[11:22:48] <lerneaen_hydra> hmm, the smallest one seems to be 7 microns, isn't that a bit coarse?
[11:23:15] <Dallur> 7 / 1.000.000 mm
[11:23:16] <lerneaen_hydra> thats 7µm
[11:23:35] <lerneaen_hydra> not all *that* small
[11:23:58] <lerneaen_hydra> probably good enough though
[11:25:01] <Dallur> LH: im sure that it's possible to get CMOS sensors that are quite a bit smaller, and if we use smaller wavelength light (blue) the resolution can be increased probably
[11:25:55] <lerneaen_hydra> you're still locked to the CCD pixel size, unless you want to do subpixel nastyness
[11:27:13] <Dallur> LH: I think sub pixel stuff would probably get nasty, measuring the brightness and doing sub pixel estimations is just going to get way to complex imho
[11:27:42] <Dallur> LH: but the newer CMOS based cameras go down to 1.75u and ever lower
[11:27:52] <lerneaen_hydra> oh, nice
[11:34:19] <Dallur> LH: Someone must have done/tested something like this before
[11:34:56] <lerneaen_hydra> oh,undoubtably
[11:34:58] <lerneaen_hydra> err
[11:35:09] <lerneaen_hydra> that looks wrong
[11:35:17] <lerneaen_hydra> yet I can't quite place why
[11:48:28] <fenn> heh stupid sherlines http://cnc-g-spot.com/zaxis/z-axis2.htm
[11:50:34] <lerneaen_hydra> what does it do?
[11:50:57] <lerneaen_hydra> that page isn't exactly descriptive
[11:51:43] <fenn> sorry, this is the beginnining http://cnc-g-spot.com/zaxis/z-axis.htm
[11:52:36] <fenn> make sure you read page 3 too, that's what i originally meant to paste
[11:53:50] <lerneaen_hydra> wth, that person really, really, really needs to brush up on webpage readability and html code
[12:09:07] <fenn> http://cnc-g-spot.com/CNCtaig/TwinScrewAssembly/RightSox.jpg
[13:40:09] <CIA-8> 03jepler 07HEAD * 10emc2/src/hal/halmodule.cc: add license block
[13:40:24] <CIA-8> 03jepler 07v2_1_branch * 10emc2/src/hal/halmodule.cc: merge rev 1.12: add license block
[15:01:55] <tomp> hello
[15:06:59] <jepler> good morning tomp
[15:08:56] <tomp> jepler: good morning, looking at the nc code output by gCAD3D, and the intermediate APT... they did a lot of work!
[15:09:38] <jepler> it looks like good g-code?
[15:10:22] <tomp> yes, and it has .iso appened ( remember the russian fellow a few days ago, he used .iso also )
[15:10:37] <tomp> will pastebin a bit...
[15:11:03] <jepler> oh -- I remember looking at gcad3d maybe a year ago, but I wasn't that interested because there's no source available
[15:11:11] <jepler> "freeware" is so 1980s/DOS to me
[15:11:36] <skunkworks> :)
[15:11:50] <skunkworks> how old where you in the 80's?
[15:12:10] <jepler> 15 at the end of the 80s
[15:13:28] <skunkworks> ah - I graduated in 91 - I rember getting like 100 'freeware' disks in the mail 5.25
[15:13:34] <skunkworks> remember
[15:13:51] <skunkworks> I think they where all worthless
[15:14:06] <cradek> all that software is now dead/lost/forgotten because the authors aren't interested in it anymore. freeware doesn't work very well.
[15:17:29] <skunkworks> paul strikes again
[15:17:43] <jepler> uh oh what now?
[15:18:10] <jepler> * jepler rolls his eyes
[15:18:56] <skunkworks> I honestly can't remember one program that I liked that was freeware.
[15:19:20] <skunkworks> partly because it was so long ago ;)
[15:19:31] <jepler> I wouldn't know for sure whether the programs I used to use were freeware or shareware
[15:19:50] <skunkworks> rigth I am lumping them all togather at this point
[15:19:50] <cradek> a lot of stuff on those floppies you paid for was shareware
[15:20:14] <cradek> so the authors usually didn't get the money they asked because people thought they already paid for it.
[15:20:41] <skunkworks> If you like it please send 20 dollars to.... and we will let you actually use the program.
[15:20:50] <jepler> I remember using and liking: 4dos, commo, some C compiler. I think all were shareware, though in those days I had no money to pay the shareware fee
[15:27:22] <skunkworks> jepler: this doesn't seem to exist anymore http://linuxcnc.org/docs/html/man/man9/pluto_servo.9.html
[15:28:23] <jepler> skunkworks: where did I use that as a URL?
[15:28:27] <jepler> I'll fix it
[15:28:57] <jepler> * jepler is reading an Intel CPU datasheet -- yuck!
[15:29:43] <jepler> when the CPU gets hot, something (I'm guessing the SMI) will induce ~3 microsecond periods when the internal CPU clock stops
[15:30:17] <jepler> at other times it'll decrease the CPU clock frequency in response to thermal events
[15:30:34] <jepler> those transitions take ~5uS
[15:48:19] <lerneaen_hydra> jepler: thermal throttling, fun fun fun for RT stuff
[15:52:10] <jepler> lerneaen_hydra: exactly
[15:52:17] <skunkworks> jepler: sorry - was away - it was linked from here http://emergent.unpy.net/01166994496
[15:53:01] <jepler> URL fixed
[15:53:36] <lerneaen_hydra> jepler: Is there anything you can do about that at all from a software standpoint?
[15:53:40] <jepler> hm I think I used the same link in another blog entry on axis.unpy.net
[15:54:33] <jepler> lerneaen_hydra: it depends -- jmk and skunkworks both had success by disabling "smi" using a kernel module. "smi" is a way for control to be taken away from the OS and given to the BIOS, even from a 32-bit or 64-bit protected mode OS
[15:54:54] <jepler> .. other 404'd link fixed
[15:55:08] <skunkworks> jepler: thanks
[15:55:45] <lerneaen_hydra> jepler: oh, so essentially the bios can't apply throttling
[15:55:49] <jepler> lerneaen_hydra: but this intel "technical documentation" doesn't make me entirely sure if the stopped clock and CPU frequency changing are implemented through SMI or through some other way
[15:56:00] <lerneaen_hydra> that may not be good either, you could burn the cpu
[15:56:24] <jepler> lerneaen_hydra: yes, the intel documentation says you are not operating the CPU in spec if you disable these features
[15:56:31] <lerneaen_hydra> ok
[15:57:21] <skunkworks> my cooling fans in my portable still seem to work - with the rt kernel and the smi disabled - so far so good.
[15:57:34] <etla> jepler: can you explain how AXIS loads the userpsecified pyvcp xml file ? I don't quite understand it as the filename seems to be hardcoded in vcpparse.py
[15:59:05] <jepler> look at around line 2800 of axis.py
[15:59:09] <jepler> ! 2801: vcpparse.filename = vcp
[15:59:11] <jepler> ! 2802: vcpparse.create_vcp(f, comp)
[16:00:58] <etla> ok... I'm going to try filename=sys.argv[1] for the standalone operation
[16:14:55] <etla> when running vcpparse.py in standalone mode, wouldn't it make sense to have it on the path, so that it can be run from any directory ? is lib/python the correct place for it ?
[16:20:01] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/vcpparse.py:
[16:20:01] <CIA-8> allow standalone operation: vcpparse.py myfile.xml
[16:20:01] <CIA-8> recover gracely from no filename specified or wrong filename specified
[16:28:35] <jepler> etla: probably a small program should be put in emc2/src/emc/usr_intf/axis/scripts which will 'import vcpparse'
[16:28:41] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/vcpparse.py: better error messages
[16:30:36] <etla> what should we call that program then ?
[16:30:54] <SWPadnos> vcpshell
[16:31:01] <jepler> "shell"?
[16:31:04] <SWPadnos> vcproot
[16:31:04] <jepler> pyvcp?
[16:31:06] <SWPadnos> damn
[16:31:21] <SWPadnos> vcpcontainerwindowclass :)
[16:31:54] <etla> hmm, I've just put the sys.argv stuff in vcpparse.py, but maybe it belongs in this new program ?
[16:32:42] <jepler> yes I think so
[16:34:40] <etla> hmm... that will need a change in a makefile, so that it's built correctly ?
[16:34:47] <jepler> yes
[16:34:54] <jepler> you would add the script name to emc2/src/emc/usr_intf/axis/Submakefile
[16:35:00] <jepler> search for "emctop" and put it nearby
[16:35:45] <jepler> hm or maybe it belongs in hal/user_comps
[16:35:45] <etla> I don't see a Submakefile...
[16:36:13] <etla> ah, it's one level up
[16:36:38] <etla> hal/user_comps makes sense, since standalone operation has nothing in particular to do with AXIS
[16:36:45] <jepler> yeah
[16:37:01] <jepler> it means more lines of Submakefile to put it there, however
[16:38:08] <etla> that's where VCP is...
[16:38:35] <skunkworks> odd question - is there a gui for designing screens in pyton? (talking from someone who has not done any)
[16:39:08] <etla> there are probably lots and lots of them
[16:39:09] <jepler> skunkworks: your question is one that is difficult to answer properly. Is there a gui for designing screens in C? Not exactly, because C does not specify any particular GU iwdget set
[16:39:15] <jepler> GUI widget set
[16:39:26] <jepler> in one past life I used glade + pygtk + python
[16:39:29] <etla> I've tried one for wxwidget
[16:39:38] <jepler> in another, I used an unreleased Tk gui builder + Tkinter + python
[16:39:45] <jepler> I suspect you can use QT Designer + pyqt + python
[16:40:12] <skunkworks> jepler: thanks
[16:40:44] <etla> so would it make sense to make a new dir in hal/user_comps for pyvcp, and place everything there. would it be on the default path then ?
[16:41:33] <jepler> etla: the stuff that is "import"ed belongs in lib/python .. but the new script that will be copied to bin/ should go in hal/user_comps
[16:42:38] <etla> ok
[16:42:44] <etla> I'll need help with the change in the makefile
[16:42:58] <jepler> if you want to check in the script (you can manually copy it to bin to test it) I'll fix the Submakefile
[16:43:52] <etla> ok, it will take a moment while I write and test it
[16:46:48] <tomp> re: gCAD3D , the .dev files are headers & examples, not full src, no license... no need to pastebin example nc output :(
[16:47:02] <CIA-8> 03jepler 07HEAD * 10emc2/src/hal/halmodule.cc: permit changing the prefix for pins and parameters
[16:47:45] <CIA-8> 03jepler 07HEAD * 10emc2/src/emc/usr_intf/axis/scripts/axis.py: set the pin prefix to 'pyvcp' when creating the control panel
[16:51:44] <CIA-8> 03jepler 07HEAD * 10emc2/configs/sim/lathe_postgui.hal: use pyvcp. prefix on pyvcp pin
[17:00:39] <etla> vcpparse.filename = filename is not working for me...
[17:00:55] <etla> I have from vcpparse import * at the beginning.
[17:04:18] <etla> import vcpparse works better for some reason
[17:13:04] <jepler> yep that should fix it
[17:13:31] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/pyvcp_widgets.py: the new pyvcp widget library
[17:13:57] <CIA-8> 03awallin 07HEAD * 10emc2/lib/python/vcpparse.py: import new widget library and remove standalone operation
[17:15:37] <CIA-8> 03awallin 07HEAD * 10emc2/src/hal/user_comps/pyvcp.py: allows standalone operation: pyvcp.py myfile.xml
[17:15:41] <etla> there.
[17:16:08] <etla> if that pyvcp.py is placed in /bin, it should allow standalone running of pyvcp with pyvcp.py myfile.xml
[17:24:31] <CIA-8> 03jepler 07HEAD * 10emc2/src/hal/user_comps/pyvcp.py: make pyvcp.py set up sys.path
[17:24:35] <CIA-8> 03jepler 07HEAD * 10emc2/src/hal/user_comps/Submakefile: install pyvcp
[17:27:14] <etla> great, thanks.
[17:27:50] <CIA-8> 03jepler 07HEAD * 10emc2/src/Makefile: add pyvcp to install target
[17:34:14] <rafa> hello friends
[17:34:39] <rafa> we to know a use classicladder?
[17:36:38] <rafa> hello
[17:36:42] <rafa> please
[17:37:04] <rafa> how to use classicladder?
[17:38:32] <SWPadnos> I don't think anyone here is a classicladder expert
[17:38:54] <SWPadnos> I can't even edit ladder diagrams with it
[17:43:00] <rafa> yes
[17:43:03] <rafa> but
[17:44:07] <rafa> somebody knows to configure
[17:44:53] <etla> "fork of your emc2 repository" ;) what's that supposed to mean ?
[17:46:56] <skunkworks> :)
[17:47:15] <rafa> ?
[17:47:44] <skunkworks> I am sure we just read his first email wrong... ;)
[17:48:46] <rafa> you want my email?
[17:49:09] <rafa> I know that classicladder it is not for emc is that I found interesting
[17:49:26] <rafa> because i know programaing in leader
[17:49:43] <skunkworks> rafa: I don't think anyone on here knows classic ladder that well - let alone explain it. Some time in the future I will be using it...
[17:50:00] <skunkworks> classic ladder was integrated into emc2
[17:50:28] <etla> can't you use HAL blocks ?
[17:51:37] <skunkworks> For me - it would be easier - to say do pallet changing and tool selection through classic laddder - as I have _some_ ladder logic experience.
[17:53:56] <rafa> because classicladder it was placed in emc?
[17:54:20] <rafa> i dont umderstand
[17:54:35] <etla> I'll be back...
[17:57:59] <lerneaen_hydra> heh, that almost had a certain arnold schwarzenegger feel to it
[18:05:06] <skunkworks> they have been playing a terminator marithon on one of the dish stations.
[18:22:51] <SWPadnos> how do you have a marathon with only 3 movies?
[18:31:06] <lerneaen_hydra> play them continuously
[18:31:15] <lerneaen_hydra> just loop them again and again
[18:33:21] <SWPadnos> oh. that sounds fun
[19:03:36] <lerneaen_hydra> SWPadnos: nothing wrong with a bit of repetition
[19:11:58] <jepler> I don't understand -- these QT files had GPL notices on them, but Paul's still getting all indignant that they're being distributed?
[19:12:10] <SWPadnos> they were GPL, but not public ...
[19:12:35] <SWPadnos> so by rights I could release them, but by courtesy I should ask first
[19:12:53] <cradek> IMO it's moot because he (paul) has now distributed them.
[19:14:46] <cradek> it's a small point but I agree it would have been nice to ask first
[19:15:46] <cradek> but if at least three people already had the files, it's hard to think he didn't mean for them to be distributed
[19:15:53] <etla> so before a BDI-EMC2 with pyVCP comes out I can expect a kind letter from paul requesting permission ? ;)
[19:16:05] <jepler> etla: haw haw you tell good jokes
[19:16:12] <cradek> etla: no, because you've distributed the code by putting it in a public CVS.
[19:16:25] <cradek> (just IMO again)
[19:17:11] <cradek> (you do have the right to demand his users can rebuild the emc2 packages from source though, which they currently cannot do)
[19:17:47] <cradek> * cradek shrugs
[19:18:10] <cradek> wish we were all grownups working together for the benefit of free software.
[19:18:57] <cradek> darnit I was not going to comment on this :-)
[19:19:36] <jepler> looks like you failed
[19:20:05] <cradek> yep
[19:20:18] <cradek> we don't always succeed at everything we'd like, I guess
[19:20:24] <robin_sz> we do!
[19:21:54] <robin_sz> well, occasioanlly
[19:22:20] <robin_sz> today was a crap day at work. so many people calling in and visiting and phoning and ...
[19:22:22] <robin_sz> I got nothing done
[19:22:41] <jepler> I know the feeling
[19:23:03] <robin_sz> we've decided on a course of action to make things better tomorow
[19:23:38] <cradek> robin_sz: sometimes I just quit answering the phone if I'm busy with something important
[19:23:52] <robin_sz> first customer throught he door, we're going to behead them and put their head on a spike outside the door as a warning to others
[19:25:20] <jepler> I bet that's bad for business overall
[19:26:39] <cradek> I agree
[19:31:12] <mtedad> Problem axis readout off by a factor of 10.
[19:32:16] <lerneaen_hydra> etla: why the change of name every now and then?
[19:32:45] <mtedad> changed parm by moving decmil place.
[19:33:00] <mtedad> no effect.
[19:33:50] <jepler> mtedad: if you command G0X1 does the readout say X is 1 after the move?
[19:34:03] <jepler> but the machine moves a different distance (e.g., .1 inch or 10 inch)?
[19:34:30] <cradek> etla: I noticed something about the bargraph I think probably should be different: if you feed it a number out of range (say too high) it shows the bargraph full, which is right - but I think the number in the center should show the actual value, not the bargraph's max
[19:34:34] <jepler> if so, your inifile INPUT_SCALE is incorrect
[19:36:46] <mtedad> moved axis by hand .1 readouts .01---change input scale by moving decimal place- no effect
[19:37:29] <etla> cradek: yes, that could be changed.
[19:38:22] <etla> l_h: my nickname depends on if I'm in winxp or vmware/ubuntu, I guess I could change them both to awallin. etla is really the old name for the lab I work at, we use it as a general login name on most computers there...
[19:38:26] <jepler> mtedad: somewhere in your .hal file you set the position-scale of your encoder. Usually this is a reference to the inifile (e.g., [AXIS_0]INPUT_SCALE) but it can also be a plain number
[19:38:45] <jepler> mtedad: so look in your .hal file for the setp ...position-scale and if it is a plain number then change that number
[19:39:07] <jepler> the sample inifiles consistently use [AXIS_n]INPUT_SCALE as in servo_sim.hal:setp encoder.0.position-scale [AXIS_0]INPUT_SCALE
[19:39:21] <jepler> of course you must restart emc after changing the .ini file to see the effect
[19:39:44] <etla> jepler: is IDLE in the standard ubuntu/emc2 installation ?
[19:39:55] <etla> seems IDLE comes with some useful widgets...
[19:40:12] <etla> idlelib
[19:40:34] <mtedad> setting in ini file changed restarted after ---no effct
[19:41:13] <jepler> mtedad: did you find the line setting the position-scale in your hal files?
[19:41:26] <jepler> if you have no such line that could also be the problem
[19:41:38] <mtedad> yes ihave the line
[19:42:07] <mtedad> this is where i have been working
[19:42:15] <jepler> what does the line say?
[19:44:32] <mtedad> i m not at the machine,now. but it was axis.o.input_scale =101782 ..... axis 0 is x axis
[19:46:02] <A-L-P-H-A> £ <-- is that a pound sign?
[19:46:06] <jepler> I don't a pin with that exact name exists
[19:46:11] <jepler> A-L-P-H-A: yes, I see a british pound sign
[19:46:36] <A-L-P-H-A> € <-- euro sign?
[19:47:25] <mtedad> i tried using the calibration window it did the same thing
[19:48:09] <etla> alpha: yes euro.
[19:48:27] <etla> jepler: looks like idelib doesn't come with the standard ubuntu/emc2 install
[19:48:37] <etla> any other w
[19:48:40] <jepler> if it's always off by exactly a factor-of-N then it's the position-scale of the encoder. If it's off by differing amounts, then it's some other kind of problem (such as wiring, or in the case of the hal software encoder, the speed at which its thread is run)
[19:49:04] <etla> any other tree widget available for tkinter ?
[19:49:07] <A-L-P-H-A> etla, thanks.
[19:49:16] <A-L-P-H-A> jepler, you too!
[19:49:28] <cradek> etla: bwidget
[19:50:00] <jepler> yes, bwidget has a tree (it's what you see when you start emc without a configuration named on the commandline)
[19:50:06] <jepler> however the python interface to the bwidget tree is .. pretty bad
[19:50:09] <etla> cradek: any docs, examples?
[19:50:42] <cradek> pickconfig.tcl :-)
[19:50:55] <jepler> yeah that doesn't help a Python programmer much
[19:51:11] <cradek> oh sorry, I wasn't being dense on purpose
[19:51:14] <jepler> this is the tcl-level documentation for the tree widget: http://tkinter.unpy.net/bwidget/BWman/Tree.html
[19:51:19] <cradek> (it comes naturally)
[19:52:14] <mtedad> back to the machine thanx.
[19:53:46] <etla> why do some webpages work just fine, and some not at all, from under vmware/ubuntu, with the vmware network access set to NAT ??
[19:54:22] <cradek> etla: did you already make the change I suggested to the bargraph? I see that it works how I want now - maybe I was just crazy before
[19:54:30] <jepler> etla: oh, there's one thing I wanted to call your attention to: when used with Tk8.4 (the version on ubuntu) there is a widget called Tkinter.Spinbox() which might be a better than a label with special wheel bindings
[19:55:09] <etla> websites that open just fine on the host OS (winXP) just come up blank "server not found" under vmware.
[19:55:09] <etla> cradek: I did not make any changes just now
[19:55:09] <jepler> etla: I dunno -- on my system I use XP as the guest, and never browse the web from it
[19:55:15] <jepler> cradek: I still see the "stops at upper bound" behavior here
[19:55:23] <etla> jepler: ok, I'll look at spinbox
[19:55:35] <jepler> er, forget it
[19:55:45] <jepler> cradek: I think the lathe spindle really does stop at 5000rpm
[19:55:46] <cradek> jepler: the pyvcp_demo.xml shows it working how I want
[19:55:52] <cradek> ok
[19:55:55] <cradek> that explains it then
[19:56:06] <jepler> Type Value Name
[19:56:06] <jepler> float 4999.997 spindle-rpm-filtered
[19:56:15] <cradek> ok
[19:56:17] <cradek> (duh)
[19:57:47] <etla> I think I'll look at tree widgets tonight, so if you feel like fixing that, go ahead :)
[19:58:09] <jepler> etla: what are you hoping to do with the tree widget?
[19:58:25] <cradek> is it possible to hide the border on all these frames? they make it look kind of busy
[19:59:04] <jepler> etla: here's an example of using the Tree widget in Python: http://mail.python.org/pipermail/tkinter-discuss/2005-September/000518.html
[19:59:55] <etla> jepler: display the structured data of an xml file
[20:12:49] <CIA-8> 03jepler 07HEAD * 10emc2/src/hal/user_comps/pyvcp.py: move .ready() to the right place
[20:20:45] <anonimasu> etla: I'd run vmware and route it through ipfilter
[20:20:46] <anonimasu> :)
[20:20:55] <anonimasu> or whatever they call it in linux
[20:20:57] <anonimasu> iptables..
[20:21:00] <jepler> etla: do you mind if I commit a change to pyvcp_widgets.py that makes pyvcp_jognumber use a Spinbox widget?
[20:21:30] <etla> jepler: go ahead!, but maybe the mousewheel bindings can remain?
[20:21:37] <jepler> etla: yes, they work still
[20:21:54] <jepler> but here's how it looks now, in the example: http://emergent.unpy.net/files/sandbox/pyvcp-with-spinbox.png
[20:22:27] <cradek> cool, much better
[20:22:28] <etla> yep, there's some work left with pack(fill=...
[20:22:59] <cradek> jepler: you don't get the extra frame borders - did you do something special?
[20:23:07] <CIA-8> 03jepler 07HEAD * 10emc2/configs/sim/pyvcp_demo.hal: this hal file can be used with 'halrun' to demo pyvcp
[20:23:10] <jepler> cradek: yes, I "fixed" that as well
[20:23:10] <etla> call it spinbox, that's much more common
[20:23:28] <cradek> I like that the new spinbox is "discoverable"
[20:23:46] <etla> jepler: but when making the layout, frame borders might be useful
[20:24:10] <jepler> you mean change the name from "jognumber" to "spinbox" in the xml file? I can do that too.
[20:24:22] <SWPadnos> add an xml tag <border>true</border>
[20:25:11] <etla> jepler: yes, name the widget spinbox. (just IMO)
[20:25:26] <SWPadnos> is the name of the scale widget "scale" or "slider"?
[20:25:54] <etla> SWP: yep, but it makes sense to use the fact that the widgets are inherited from tkinter, so probably <border>"GROOVE"</border>
[20:26:04] <etla> SWP: Scale, in tkinter
[20:26:17] <SWPadnos> ok - I guess none / raised / lowered / groove / bump ... makes more sense
[20:26:51] <SWPadnos> that's weird - you'd think it would be the generic "slider"
[20:27:10] <etla> swp: it just saves work, since you don't have to do anything in pyvcp_widgets.py, the extra arguments are just passed to the parent Tkinter class
[20:27:09] <CIA-8> 03jepler 07HEAD * 10emc2/configs/sim/ (pyvcp_demo.hal pyvcp_demo.xml):
[20:27:09] <CIA-8> rename "jognumber" to "spinbox" and make it into a Tk spinbox widget (the mouse wheel still works)
[20:27:09] <CIA-8> get rid of the border on frames, it looks better for a finished panel (future work: allow the user to choose the frame appearance in the xml file)
[20:27:09] <CIA-8> 03jepler 07HEAD * 10emc2/lib/python/ (pyvcp_widgets.py vcpparse.py):
[20:27:09] <CIA-8> rename "jognumber" to "spinbox" and make it into a Tk spinbox widget (the mouse wheel still works)
[20:27:12] <CIA-8> get rid of the border on frames, it looks better for a finished panel (future work: allow the user to choose the frame appearance in the xml file)
[20:27:46] <SWPadnos> nice
[20:27:58] <etla> damn, now cvs.linuxcnc.org is gone under vmware... "name or service not known" - strange
[20:28:14] <SWPadnos> I think the only things I'd want to add now would be integer versions of the number things, and a radiobutton group
[20:28:25] <SWPadnos> check your DNS settings
[20:28:43] <jepler> etla: maybe 'ifdown eth0; ifup eth0' in the virtual machine?
[20:28:54] <etla> SWP: I think they should come with dhcp
[20:28:55] <jepler> so it gets fresh dns settings (assuming it's using dhcp)
[20:29:21] <SWPadnos> can you ping this address:
[20:30:04] <SWPadnos> if so, try "ping www.matrox.com" and see what happens :)
[20:30:10] <etla> jepler, SWP: yes, that did the trick. I switch between work and home, and they probably hace different dns servers
[20:30:11] <cradek> I was thinking about radiobuttons too - specifically for the guy who needs to tell HAL which pulleys the spindle's belt is on
[20:30:18] <etla> now cvs up works
[20:30:21] <SWPadnos> that's one application
[20:30:31] <SWPadnos> also choosing an axis for jogging ...
[20:30:42] <etla> and only one of a group of HAL_BITs would be set true?
[20:30:49] <SWPadnos> only one option comes to mind: make before break or break before make :)
[20:30:54] <cradek> why/how would you jog with vcp?
[20:30:55] <SWPadnos> yes, one at a time
[20:31:08] <SWPadnos> you might use vcp to choose an axis for an external wheel
[20:31:15] <cradek> oh, of course
[20:31:22] <jepler> yes, if you're not using axis anyway
[20:31:28] <SWPadnos> heh
[20:31:39] <SWPadnos> remember - multiple user interfaces ...
[20:31:44] <jepler> (the axis jog is supposed to "play nice" with an external jog wheel, though I haven't presonally used it that way)
[20:31:50] <SWPadnos> possibly on multiple machines ...
[20:33:06] <SWPadnos> damn it's late. I should pack up that mesa stuff and get it out the door today
[20:33:07] <SWPadnos> bbl
[20:36:08] <etla> how do I test the halrun script ?
[20:38:52] <CIA-8> 03awallin 07HEAD * 10emc2/configs/sim/pyvcp_demo.xml: jognumber is now called spinbox, so label is as such
[20:53:45] <jepler> etla: change to the directory with the hal file then run "halrun whatever.hal". if necessary, specify the path to halrun e.g., ~/emc2/scripts/halrun
[20:53:45] <cradek> jepler: that's how I (last) used a jogwheel and it worked nicely
[20:57:19] <jepler> cradek: it's called "The Tentacles of Evil test".
[20:57:40] <cradek> yeah, the mumble something evil test
[20:57:50] <jepler> http://people.debian.org/~bap/dfsg-faq.html#tentacles_of_evil
[21:00:08] <jepler> ""This means that if you think you've found a loophole in the DFSG then you don't quite understand how this works.
[21:00:43] <cradek> heh
[21:04:03] <etla> how do I 'get at' the data in a bwidget node, node.data does not work...
[21:07:06] <jepler> is type(node) just <type 'str'> ?
[21:07:27] <etla> jepler: yes, not very pythonic is it??
[21:09:36] <jepler> etla: I think you can use it with widget.itemconfigure and widget.itemcget but I'm not 100% sure
[21:13:56] <etla> jepler: looks almost like the only data it can contain is <type 'str'> ?? or can the data field contain a pointer?
[21:14:38] <jepler> etla: yes, it looks like everything is "degraded" to a string when put in the node data .. that's unfortunate
[21:15:00] <jepler> >>> t.itemconfigure(it, data={})
[21:14:59] <jepler> >>> t.itemcget(it, "data")
[21:14:59] <jepler> '{}'
[21:15:21] <jepler> perhaps you can keep your own dictionary to make from item IDs to the data you want to keep?
[21:16:30] <etla> that doesn't seem smart, and I'm too lazy.
[21:25:46] <etla> nope, all I get from itemcget is <str>
[21:30:18] <etla> hmmm... bwidget is just rubbish...
[21:32:07] <jepler> and the python interface to it doesn't make matters better
[21:33:26] <jepler> I think python2.4-gtk2 is standard on ubuntu, but apps written in gtk2 won't integrate with axis -- that's one reason I steered you towards tkinter initially
[21:34:01] <etla> damn these DNS servers, "could not resolve 'security.ubuntu.com'
[21:34:11] <etla> IDLE seems to have a good tree widget
[21:35:26] <jepler> idle-python2.4 is small (under 1 meg installed) and in main -- I don't see a problem with making it a new requirement if it is a big help to you
[21:37:02] <etla> jepler: we'll see what I can come up with...
[21:39:24] <etla> now I'm entering the DNS server numbers manually. that should do it...
[21:42:44] <jepler> oh look -- 40 megs of updates for this system
[21:42:48] <jepler> * jepler twiddles his thumbs and waits
[21:43:05] <jepler> etla: the same goes for pmw widgets -- it's under 1 meg installed
[21:47:54] <etla> the problem seems to be that my vmware-ubuntu get's assigned a DNS server, which probably is my router, and not the ISPs DNS servers
[21:48:24] <etla> on the host os, I get two DNS servers, 214.something
[21:49:56] <etla> what's DDNS ? that's an option in the router admin panel
[21:54:55] <etla> now I'm rebooting ubuntu. I think it get's a fixed hostname at work, and when I bring it home my ISP refuses to give it a proper DNS server. If I reboot it now it should maybe work
[21:57:36] <SWPadnos> skunkworks, are you here?
[21:59:16] <skunkworks> SWPadnos: yes
[21:59:18] <skunkworks> whats up
[21:59:41] <skunkworks> the address I gave you was a business
[21:59:42] <skunkworks> ;)
[21:59:43] <SWPadnos> I just want to confirm that your address begins with an 'n' ...
[21:59:53] <skunkworks> n5206
[21:59:55] <SWPadnos> N5206 ...
[21:59:56] <skunkworks> yes
[22:00:00] <SWPadnos> ok - just making sure :)
[22:00:15] <skunkworks> they are called 'fire numbers'
[22:00:20] <SWPadnos> oh yay - no home delivery charge - thanks for remingind me :)
[22:00:24] <SWPadnos> ah
[22:00:31] <SWPadnos> weirdo Wisconsinites
[22:00:54] <skunkworks> yes
[22:02:29] <Jymmm> etla: DDNS == http://www.dyndns.com/services/dns/dyndns/
[22:04:12] <etla> jymm: thanks. I still don't have a working network on vmware/ubuntu it gets a weird ip and it doesn't get a DNS server at all
[22:04:24] <etla> my host os gets the DNS servers just fine
[22:06:00] <SWPadnos> skunkworks, presumably I should use your work number for the shipment?
[22:06:42] <skunkworks> sure
[22:06:52] <skunkworks> half of it is for work - half is for me ;)
[22:07:06] <SWPadnos> heh
[22:07:19] <SWPadnos> if it's getting delivered there, that's probably the number to use ...
[22:07:19] <skunkworks> trying to get these backwards machinists into the 21st century
[22:56:37] <Jymmm> wb
[23:32:51] <CIA-8> 03jepler 07HEAD * 10emc2/src/emc/usr_intf/axis/Submakefile: listing -lemc and -lnml on the commandline is harmful and redundant
[23:35:40] <lerneaen_hydra> 'night