#emc | Logs for 2009-02-09

[01:07:55] <mshaver> Is there a way for a HAL pin state change to cause a message to be displayed to the operator?
[01:11:00] <SWPadnos> look at hal_manualtoolchange.py
[01:11:23] <SWPadnos> or whatever it's called
[01:16:41] <mshaver> Thanks!
[01:17:28] <mshaver> I've got some error conditions that I want to cause an abort or at least feed hold, and display a message.
[01:42:51] <jepler> mshaver: if the GUI you're using is AXIS, then rtapi_print_msg with level RTAPI_MSG_ERROR will be shown "like an operator message"
[01:43:11] <jepler> actually, now that I think a bit harder, that's not GUI dependent -- they should all show it like an operator message
[01:43:46] <jepler> http://media.unpythonic.net/emergent-files/sandbox/error.comp
[01:44:47] <jepler> for aborting, you've got various ways, probably including tickling halui and maybe a pin directly on the motion controller
[01:50:49] <mshaver> jepler: Has that error.comp been made into a component? I mean, is it in TRUNK so that I can loadrt it?
[01:51:45] <mshaver> Now that I think of it, there wouldn't be a way to change the message.
[01:51:59] <mshaver> There's no "string" type in HAL...
[01:52:42] <mshaver> I guess I could make these custom for my application.
[01:53:16] <mshaver> Or, I could put a barn door on the machine ;)
[02:02:49] <SWPadnos> mshaver, it seems like a good way to do it would be to add some functionality to halui, something paralleling how MDI commands are handled
[02:03:09] <SWPadnos> if it's possible for halui to get error messages emitted
[02:04:19] <jepler> mshaver: no, that component's not in emc2; it's far too silly to be
[02:05:01] <Skullworks> what Barn.door.open?
[02:07:45] <jmkasunich> gah, there has to be a better way to drill holes
[02:10:16] <jepler> SWPadnos: I don't *think* that one UI can produce an operator message for another UI
[02:11:12] <Skullworks> EDM but the cycle time and tool wear sucks.
[02:11:22] <SWPadnos> I wasn't sure if it might be possible to write to an NML error channel
[02:19:04] <jmkasunich> Skullworks: I'm not that bad off ;-)
[02:19:17] <jmkasunich> I have 8 pieces, each gets 4 holes, 0.105 diameter and 1" deep
[02:19:44] <jmkasunich> I'm pecking them, but I have to tend it constantly to keep the chips from turning into a big wad around the drill
[02:20:12] <jmkasunich> I'm feeding at 0.001 per rev, 0.0005 per flute
[02:20:17] <jmkasunich> maybe a little slow?
[02:20:29] <jmkasunich> I'm scared of breaking a bit in those deep holes
[02:20:33] <jmkasunich> (this is aluminum btw)
[02:20:58] <jmkasunich> extruded, probably 6063
[02:29:08] <Skullworks> brush lube try about .006"
[02:29:49] <eric_unterhausen> that's why I want to get my flood coolant set up
[02:29:51] <Skullworks> chip isn't thick enough to break up
[02:31:26] <jmkasunich> I went up to 0.0013 on the last part (3 done now, 5 to go)
[02:31:32] <jmkasunich> I'll try more
[02:31:42] <Skullworks> doing it by hand you can feel the drill sink right in at the higher pressure - cnc your stuck trusting the numbers
[02:33:18] <Skullworks> to be honest that was something I used to do when I started in CNc - pre test a drill in a drill press to see how "free" it cut.
[02:34:29] <Skullworks> I still do that with reams to see how close to nominal they cut in the material I'm using.
[02:39:08] <jmkasunich> did the last one at 0.0025, better
[02:39:11] <jmkasunich> gonna try 0.004 now
[02:58:23] <jmkasunich> all done
[02:58:51] <jmkasunich> thanks for the advice Skullworks - I wound up at 0.005 per rev and increased the peck size
[02:59:12] <jmkasunich> only tending it needed was a little squirt of WD-40 every other peck, to keep the chips flowing
[03:20:35] <skunkworksemc> wow - this seems to be doing what it is supposed to.. (leading edge blanking circuit) http://imagebin.ca/view/e6TQ4lb3.html
[03:43:57] <skunkworksemc> simple - bottom of the second page.. http://www.edn.com/contents/images/52903di.pdf
[03:45:11] <tomp> jmkasunich: like a lube shot in a plc ( 1 squirt per distance of axis travel ), do one wd40 shot per number of pecks (in hal)
[03:45:12] <tomp> of course the hal to jmk interface may be tricky ;)
[03:49:45] <Skullworks> Well it might require reformatting the variable tables or loading a second table - but it would be great if someday (EMC4?) we could do programmable coolant offsets also.
[03:50:27] <SWPadnos> what does that mean?
[03:50:36] <SWPadnos> (what's a coolant offset?)
[03:51:42] <skunkworksemc> you have 9 axis - all it would take is 2 for an adjustable nozzle..
[03:51:42] <Skullworks> the coolant nozzle re-aims its point of spray based on the tool offets length or a pre taught position
[03:52:02] <Skullworks> actual only 1 axis
[03:52:06] <skunkworksemc> or really - you only need 1
[03:52:13] <skunkworksemc> heh
[03:53:02] <Skullworks> but - how to store | recall this
[03:53:14] <SWPadnos> I don't know if "current tool length" is available in HAL, but adding it should be easy, and once it's there the math to position a servo should be pretty easy
[03:53:23] <cradek> (yes it is)
[03:53:29] <SWPadnos> well OK then
[03:53:42] <cradek> but pointing at the end of the tool isn't always what you want
[03:54:00] <SWPadnos> that's what you get though, with my method :)
[03:54:02] <cradek> I think there's no way to automate it - just put the "aim" in the gcode (use u/v/w axes like skunkworksemc said)
[03:54:12] <SWPadnos> as long as your tool isn't too wide or anythinh
[03:54:14] <SWPadnos> g
[03:54:21] <SWPadnos> it wouldn't work for a shell mill, for example
[03:54:41] <SWPadnos> sure, or an M-code for "analog output"
[03:55:27] <skunkworksemc> aim always to the surface of the part... with a tool diameter offset.
[03:55:45] <skunkworksemc> (if you know what he surface of the part is I guess)
[03:55:51] <skunkworksemc> The
[03:56:07] <skunkworksemc> Oh well - I think it is bedtime.
[03:56:10] <skunkworksemc> Night
[03:56:17] <SWPadnos> seeya
[03:57:40] <Skullworks> shell mill = extra messy = vapor cloud at 12,000 rpm
[05:33:53] <toastyde1th> toastyde1th is now known as toastydeath
[06:55:53] <ds3> \
[10:15:17] <garrett__> Good morning guys
[10:16:22] <garrett__> I have a spec of an issue, I can't seem to convert a pbm to a g3 for faxing. Any ideas? It seems all I am capable of is making jibberish with pbm2g3
[10:17:06] <garrett__> it doesnt actually write a g3 file from my pbm file and I just don't know what to do. The manual just doesnt say anything about outputting jibberish
[10:29:58] <tompadmin> thats a bit off topic for emc. but wth, try converting to a suitable intermediate format? then to g3. or investigate any good output from pbm2g3, or build it from src.
[10:30:46] <tompadmin> tompadmin is now known as tomp
[10:32:33] <garrett__> Yes, it is out of topic but I find the majority of the people in here more hjelpful than other places I have been to.
[10:33:34] <tomp> how is it gibberish? what did you view the output with?
[10:35:07] <garrett__> I thought it would output a file for me to end with the fax prgram but I got various letters
[10:35:27] <garrett__> send*
[10:36:07] <garrett__> I mean, all I want is to make a g3 file then send it
[10:36:16] <garrett__> but I cant find anything that will do it
[10:36:46] <tomp> understood, booting a linux box now to 'man pbm2g3'
[10:37:28] <garrett__> :) ty
[10:38:50] <tomp> i found i have pbmtog3 not pbm2g3
[10:39:11] <garrett__> same thing Im sure
[10:39:52] <tomp> and man suggests that the cmd fmt is 'pbmtog3 <pbmfilename>'
[10:40:43] <tomp> so, the output may need to be 'put into a file' else it just spills onto the terminal screen
[10:40:53] <tomp> i gotta play a bit...
[10:42:08] <garrett__> yeah
[10:42:11] <garrett__> thats what happens
[10:47:14] <tomp> i have no pbm's. try 'pbm2g3 yourpbmfile > testg3file' then check the new file 'testg3file'
[10:48:25] <tomp> if it works, read up on 'redirection'
[10:50:42] <alex_joni> tomp: hi
[10:50:47] <tomp> redirection captures the output into a file
[10:50:54] <garrett__> worked great ty\
[10:51:04] <tomp> alex hello hello
[10:51:09] <garrett__> :D
[10:54:34] <garrett__> my father will be heading to work right now and when he gets there he will reply with if the fax came through correctly or not
[11:00:54] <tomp> cool
[15:31:39] <skunkworks_> I shouldn't reply before a few cups of coffee.. - random
[15:31:40] <skunkworks_> http://www.cnczone.com/forums/showthread.php?p=564147#post564147
[15:35:51] <eric_unterhausen> looks like a fairly good answer
[15:36:23] <BigJohnT> looks good to me too
[15:37:31] <skunkworks_> eric_unterhausen: did you see this? http://imagebin.ca/view/e6TQ4lb3.html I think this is the last addition to the h-bridge.
[15:37:49] <skunkworks_> * skunkworks_ doesn't know when to quit ;)
[15:38:57] <eric_unterhausen> did you mean to post oscope traces?
[15:39:00] <skunkworks_> you can read about it here http://www.edn.com/contents/images/52903di.pdf - second page. ignores the gate/drain turn-on spike.
[15:39:20] <skunkworks_> yes - the top trace is the 'blanking'
[15:40:34] <skunkworks_> then I don't have to filter the piss out of the current sense comparator. which is a bad way if doing it imho. but what do I know. (just enough to be dangerous)
[15:42:21] <eric_unterhausen> inneresting
[15:42:46] <skunkworks_> simple enough.
[15:45:08] <skunkworks_> http://imagebin.ca/popup/YspeH-r.html
[16:04:21] <twice2> hi, i'm using 2.28 when i load smartprobe.ngc emc gives unknown g code near line 39. i think it's g38.3. googling was no help
[16:05:09] <cradek> the advanced probing gcodes are not in 2.2
[16:07:35] <twice2> oh
[16:08:55] <BigJohnT> I must have mentioned in 2.2 in error but it is not included with 2.2 I don't think
[16:09:42] <twice2> no biggy
[16:13:02] <twice2> just made a sweet little vertical probe out of a pilot g2 fp pen :)
[16:20:46] <fenn> hey skunkworks_ maybe you should make a webpage documenting your h-bridge so that in a year when you are bored with it and forgot all the details the information won't be gone
[16:21:11] <skunkworks_> heh - I should.
[16:23:26] <skunkworks_> I hope not to get bored.. I have actually had time to work on it the last few months. (more than I have in the last year or more.
[16:24:13] <skunkworks_> once I get the bugs worked out of the 'big' h-bridge - I think I can fit 2 on one board pretty easy for the puma.
[16:24:28] <skunkworks_> 48v and a few amps will be easy.
[16:26:28] <skunkworks_> fenn: have you revisited your control project?
[16:26:51] <fenn> no
[16:27:07] <fenn> i got distracted
[16:27:19] <skunkworks_> * skunkworks_ has that problem/
[16:27:37] <skunkworks_> The garage build in march is going to be a big distraction.
[16:44:27] <skunkworks_> KFC honey - 'contains 11% honey'
[16:44:45] <eric_unterhausen> how do they do that?
[16:44:59] <eric_unterhausen> is there a good calender planning program for linux?
[16:46:22] <jst_home> skunkworks: what do you use for mosfet drivers in your h-bridge?
[16:46:48] <eric_unterhausen> irf chips
[16:47:21] <jst_home> cool, I've got one prototype board up n' running here with two irf2301's
[16:47:31] <jst_home> seems to work really nicely so far
[16:48:21] <jst_home> skunkworks: what specs are you aiming for with your design?
[16:49:20] <skunkworks_> 20a 150v.
[16:49:26] <skunkworks_> or there abouts.
[16:50:39] <jst_home> skunkworks: cool, have you had any problems with reverse interference blowing your irf's?
[16:50:40] <skunkworks_> I am using ir2184 and I also have some samples of the ir21844 <- which has programable dead time. (and separate motor gnd and logic gnd)
[16:52:25] <jst_home> skunkworks: yeah, separate grounds could be handy
[16:52:59] <skunkworks_> I have had some driver issues.. but I have a few problems yet. ;)
[16:53:06] <jst_home> skunkworks: are you using a oscillator to charge the bootstrap cap when running at 100% PWM, or do you not worry about that case?
[16:53:21] <jst_home> skunkworks: what's left for your design?
[16:53:28] <skunkworks_> I run the pwm to 90%
[16:53:38] <jst_home> ok
[16:53:39] <skunkworks_> blanking mainly.
[16:54:12] <skunkworks_> and whatever other issues I run into... ;)
[16:54:24] <jst_home> skunkworks: I've got two 7555's to deal with the 100% case, but I'm not convinced I need to...
[16:54:41] <jst_home> but they do work as charge pumps quite nicely
[16:54:56] <jst_home> skunkworks: is your stuff online anywhere?
[16:55:04] <jst_home> * jst_home hasn't put his up yet...
[16:55:27] <skunkworks_> I never woried about 100% dc - the extra circuit wasn't worth just setting the software to 90%
[16:55:55] <skunkworks_> http://www.cnczone.com/forums/showthread.php?t=61437
[16:55:57] <jst_home> skunkworks: I'm building a simple servo controller into the board too, one that simply takes step/dir pulses, and listens to the encoder
[16:56:01] <skunkworks_> that sums it up.
[16:56:07] <jst_home> thanks
[16:56:19] <jepler> eric_unterhausen: there are some mediocre calendar apps for linux. "evolution", the outlook knock-off has a calendar, for instance.
[16:56:29] <jepler> (I haven't used it myself, just happen to know it's there)
[16:56:51] <jepler> jst_home: ah, like http://members.shaw.ca/swstuff/dspic-servo.html I guess
[16:57:13] <jst_home> skunkworks: I've got an ATMega88 doing the PID control etc
[16:57:28] <jst_home> jepler: yes, much like that, only with a beefier H-bridge
[16:57:41] <skunkworks_> ah - ok. I am making emc do that work :)
[16:57:53] <skunkworks_> (position back to emc)
[16:58:00] <jst_home> skunkworks: yeah, makes sense :)
[16:58:04] <jepler> how fast can you accurately read quadrature on the atmega? the dspic that lawrence used has a dedicated encoder counter, greatly simplifying that part of it.
[16:59:25] <jst_home> jepler: It's been a while since I did the math on that, but it was way beyond what I needed at the time, which was aiming for a 4000 rpm with 300 cpr
[16:59:35] <jst_home> jepler: I'm running the cpu at 20MHz
[17:00:20] <jst_home> jepler: most of the code that runs with interrupts disabled runs very fast, so the encoder pins are available for interrupt handling as much as possible
[17:00:20] <jepler> ah, that's about 80kHz
[17:00:36] <jepler> 250 AVR cycles @ 20MHz
[17:01:34] <jst_home> yeah, I don't think I ever spend anywhere near 250 instructions with interrupts disabled
[17:03:50] <jst_home> I need to write this project up on the web as well. Working on a prototype interface board now to plug the PC into which will then talk to the servo controller boards through opto couplers etc
[17:06:08] <jst_home> skunkworks: I found that putting a 2200pF high voltage cap across the motor helps significantly with noise
[17:06:46] <cradek> haha, I read that as 2200uF. seemed like very bad advice.
[17:06:59] <SWPadnos> smooooooooth
[17:07:21] <jst_home> cradek: heh, yeah, that'd be a bit excessive :)
[17:12:45] <skunkworks_> yah - though what works at lower voltages doesn't at higher. :)
[17:13:13] <jst_home> skunkworks: doesn't help, or blows the cap?
[17:13:53] <skunkworks_> doesn't work - for me anyways.
[17:14:22] <jst_home> ok, interesting
[17:14:51] <skunkworks_> the bigest problem I am having is non symetrical current limit. (sounds like I am not the only one)
[17:15:29] <jst_home> hmm, I haven't tackled that problem myself yet...
[17:15:40] <jst_home> current limiting, that is
[17:15:58] <skunkworks_> krutz on cnc zone mentioned that 'About the switching noise, it is dependent on circuit inductances as well as internal Mosfet capacitances charging and are unavoidable, you could minimize it by a good PCB power and ground layout, but that is the reason professionally made drives use blanking time on the current sense. If you increase the sense current filtering you will avoid its influence on early torque limiting, but your cu
[17:18:08] <skunkworks_> which doesn't seem to fix it 100% http://www.cnczone.com/forums/showpost.php?p=561067&postcount=223
[17:18:57] <skunkworks_> that is why I went the direction of blanking. (also glad I am not alone) ;)
[17:19:59] <jst_home> heh
[17:21:27] <skunkworks_> kreutz is the one that designed the HP_uhu drive
[17:22:06] <jst_home> ah
[17:22:53] <skunkworks_> http://www.cnczone.com/forums/showpost.php?p=561695&postcount=227
[17:26:30] <skunkworks_> jst_home: are you the Johnny Stenback of mozilla fame?
[17:27:27] <jst_home> skunkworks: I don't know about fame, but yes, that's me
[17:28:02] <skunkworks_> If you make it on a wiki - you're famous :)
[17:28:11] <jst_home> skunkworks: heh
[17:28:29] <SWPadnos> reminds me of a saying
[17:28:36] <skunkworks_> what brings you to emc?
[17:28:43] <SWPadnos> "He's world famous in Vermont"
[17:28:48] <skunkworks_> heh
[17:28:57] <jst_home> skunkworks: used to do a bunch of ee back in the day, then I found software and got stuck for 15 years doing nothing but coding. Now I'm getting back into tinkering with electronics n' stuff again...
[17:29:38] <jst_home> skunkworks: picked up a bridgeport clone (randomly stumbled upon one that was so cheap I couldn't not get it), and got the CNC bug
[17:29:56] <eric_unterhausen> SWPadnos: do you ever do fixed price consulting?
[17:30:23] <jst_home> skunkworks: but buying parts and bolting them on seemed too boring, so I decided to see what of ee I still remember
[17:30:24] <SWPadnos> yes, but generally at a higher price (unless it's a very well-defined project)
[17:30:39] <jst_home> skunkworks: turned out, not much initially :)
[17:30:51] <skunkworks_> jst_home: same here. - I just wing it a lot...
[17:30:55] <SWPadnos> eric_unterhausen, ie, there's always padding in fixed bids :)
[17:31:03] <jst_home> skunkworks: cool :)
[17:31:09] <eric_unterhausen> my problem is that there are teleconferences every two weeks
[17:31:18] <eric_unterhausen> what do you talk about if you are done?
[17:31:27] <SWPadnos> "thank you, come again"
[17:31:45] <jst_home> skunkworks: what machinery are you working on?
[17:31:56] <SWPadnos> so you've finished all your work, but the rest of the project hasn't noticed?
[17:32:11] <eric_unterhausen> purely theoretical situation at this point
[17:32:14] <jymm> SWPadnos: Thank you and come again when you can't stay so long.
[17:32:15] <skunkworks_> http://www.electronicsam.com/images/KandT/DSCCurrent.JPG
[17:32:27] <eric_unterhausen> not sure I can do what the client wants with 100% confidence
[17:32:49] <SWPadnos> that's a place for a T&M bid, or a very inflated fixed price
[17:33:06] <SWPadnos> or send them to someone else
[17:33:11] <jst_home> skunkworks: holy shit, what *is* that? :)
[17:33:16] <jymm> send them to SWPadnos
[17:33:59] <eric_unterhausen> don't think it's his line of business
[17:34:00] <SWPadnos> (if they don't know what they want, send them away. if you know what they want, but you're not sure you can do it, then tell them that)
[17:34:03] <SWPadnos> heh
[17:34:10] <SWPadnos> you break stuff - I can do that too :)
[17:34:20] <SWPadnos> er, destructively test I mean
[17:34:23] <eric_unterhausen> in this case I'm trying to keep things from breaking
[17:34:29] <SWPadnos> oh. that's harder
[17:34:51] <jymm> duct tape, bailing wire, and crzy glue!
[17:35:17] <SWPadnos> don't forget the bubble gum wrappers
[17:35:25] <eric_unterhausen> that's it!
[17:35:34] <SWPadnos> get MacGyver!
[17:35:42] <eric_unterhausen> pepsigruber
[17:35:44] <skunkworks_> jst_home: http://www.electronicsam.com/images/KandT/oldkandt.JPG
[17:35:58] <SWPadnos> bbiab
[17:35:59] <skunkworks_> big 3 axis horizontle mill..
[17:36:08] <skunkworks_> horizontle? Jeeze
[17:36:43] <skunkworks_> well - the table will index in 5 degree increments.
[17:36:51] <jst_home> horizontal?
[17:37:00] <jst_home> skunkworks: that's one hell of a machine!
[17:37:10] <eric_unterhausen> horiznotle?
[17:37:18] <skunkworks_> heh
[17:38:00] <eric_unterhausen> jst_home, you need to see his youtube videos
[17:38:00] <skunkworks_> It will be one hell of a machine with emc running it. (but this has been a few years in the making) (I have a real job and this is just a hobby) (one of many)
[17:38:11] <jst_home> eric_unterhausen: I do!
[17:38:23] <jst_home> skunkworks: I hear ya
[17:38:41] <jst_home> skunkworks: And I hear you're building a new garage too? :)
[17:39:05] <jst_home> skunkworks: that's one hell of a angle plate you have sitting on there
[17:39:26] <skunkworks_> heh - we have a few other tombstones also.
[17:39:39] <jst_home> heh
[17:39:49] <jst_home> skunkworks: where's your videos?
[17:40:02] <skunkworks_> dad finally got the over-head crane built also.
[17:41:01] <skunkworks_> nothing too exciting. http://www.youtube.com/user/samcoinc
[17:41:03] <jst_home> skunkworks: you know, I've been thinking about one of those myself, but so far I've been able to lift everything I've dealt with, but if I had that setup, I'd sure as hell build one of those right away! :)
[17:41:06] <skunkworks_> some are not mine
[17:41:15] <jst_home> skunkworks: thanks
[17:42:27] <skunkworks_> biab
[17:50:53] <micges> hello all
[17:52:29] <micges> SWPadnos: I have question: In what way can be described in ini file flexible toolchanger events path ?
[17:53:10] <cradek> I don't think any system described in the ini file can be sufficiently flexible
[17:53:29] <cradek> I think something like jepler's proposed hal-based motion is needed
[17:53:50] <cradek> he described it on the devel list quite a while ago - you should be able to find it in the archives
[17:54:01] <micges> ok thanks
[18:10:14] <micges> cradek: I found it, interesting
[18:22:14] <jst_home> cradek: do you know if there's docs on the protocol between a pluto paralell port card and emc anywhere, or should I go read the source?
[18:22:43] <jst_home> Or can someone here explain roughly what the communication looks like?
[18:30:34] <fenn> ieee 1394?
[18:31:45] <jst_home> that's firewire isn't it?
[18:33:25] <fenn> er. yes. i mean ieee 1284: http://www.fapo.com/eppmode.htm
[18:33:51] <fenn> there's another layer on top of that, which is specific to pluto
[18:34:04] <jst_home> right, that's the one I'm interested in
[18:37:28] <fenn> beyond that i'd say look at FUNCTION(write) in src/hal/drivers/pluto_servo.comp
[18:37:55] <jst_home> fenn: ah, ok, thanks for the pointer!
[18:38:25] <fenn> i think jepler is sort of done with the whole pluto thing, it probably won't be updated much in the future
[18:38:43] <jst_home> ok, good to know
[18:38:44] <fenn> it's been superseded by the mesa 7i34 which is much better
[18:42:21] <SWPadnos> the Pluto hardware is "hobby quality"
[18:42:33] <SWPadnos> which means you shouldn't get it anywhere near an industrial machine
[18:43:15] <jst_home> I see
[18:43:24] <SWPadnos> for $20 extra or so, the 7i34 has 4x or 8x the number of gates, lots more I/O points, and some signal conditioning
[18:44:05] <SWPadnos> err, 7i43
[19:42:30] <motioncontrol> good evening.i have control my spindle with two gear canghe with success.i have only another point open on my machine , the tool change
[19:43:14] <alex_joni> motioncontrol: nice
[19:43:42] <motioncontrol> very difficolt but fuction ok my spindle
[19:44:23] <motioncontrol> i use the mux 4 and 2 mux 2 combination with classicladder for correct control
[19:44:43] <probin> Hi there. I am having problems with the hal joycounts example
[19:45:24] <probin> if I load hal_joystick, the axis.0 doesn't seem to be available in the same hal script
[19:45:33] <probin> it is there when I run hal meter
[19:45:54] <probin> I tried using -W with loadrt
[19:46:53] <probin> foe example I have this in my hal file:
[19:47:08] <probin> loadusr hal_joystick -d /dev/input/js0 -p joypad
[19:47:22] <probin> loadrt joycounts count=3
[19:47:38] <probin> net velX joypad.axis.0 => joycounts.0.axisvalue
[19:47:58] <probin> at this point, joypad.axis.0 is not yet available
[19:49:04] <jepler> probin: I think I know how you can work around this
[19:49:22] <jepler> probin: first, let me tell you what I think the solution is; then, if you want me to go into details about it, I will
[19:49:28] <probin> ok
[19:49:54] <jepler> probin: add after the 'loadusr hal_joystick' line and before trying to link its pins: loadusr -w sleep 3
[19:50:11] <jepler> this will make emc wait 3 seconds, so that hal_joystick will create its pins.
[19:50:20] <probin> sound good to me
[19:50:55] <jepler> Almost all components do the proper thing, a long as you use "loadusr -W", but hal_joystick is ill-behaved and doesn't work in this way
[19:50:55] <probin> let me try that
[19:51:30] <probin> ok, I am trying it now
[19:51:33] <probin> will get back
[19:53:34] <probin> >Worked!
[19:53:40] <probin> Thank You very much
[19:53:57] <probin> jepler
[19:54:01] <jepler> you're welcome
[19:54:23] <jepler> do you want to improve the wiki to mention this? otherwise, I can do it later.
[19:54:36] <probin> I will try
[19:54:49] <probin> let me see if I have access
[19:58:53] <jepler> click BasicSteps at the bottom to find out how to get write access
[19:59:09] <jepler> we have to make it a little bit non-obvious because of stupid spammers
[20:04:40] <probin> Ok, I added a note in the wiki
[20:04:56] <jepler> thank you
[20:05:11] <probin> I added it to the instructions but not the actual doanloadable hal file since I couldnt find a way
[20:06:13] <stustev> the forward kins is working in one quadrant - I haven't tested it in any other quadrants but finally I have some good results - whew :) :) :) :)
[20:06:22] <probin> but is should be clear to anyone who reads the text following the link
[20:06:31] <jepler> probin: that sounds good enough to me
[20:06:39] <stustev> on to the inverse
[20:06:40] <jepler> stustev: heh .. only 75% left to go, then!
[20:06:54] <stustev> yeah but I now think I may be able to get there
[20:07:06] <cradek> hi stuart!
[20:07:14] <stustev> hi chris
[20:07:40] <stustev> this has been a struggle - but fun and all consuming :)
[20:08:36] <cradek> be careful getting too good at programming in C, or we will start assigning bugs to you
[20:09:23] <stustev> in truth it was not a 'C' problem it was a 'me' problem
[20:09:54] <stustev> C is easy - now maybe good C is not so easy
[20:10:11] <stustev> gdb is the bomb
[20:10:36] <cradek> yes, it sure is
[20:10:37] <stustev> with gdb I can see what I am doing
[20:10:55] <cradek> a lot of programmers never learn to use it - I don't understand it
[20:11:13] <jepler> it sounds like you had a bit of a struggle with gdb, glad it's now working for you instead of against you
[20:11:15] <stustev> how do you get anything done without it?
[20:11:42] <stustev> finally the light went on
[20:12:05] <cradek> well, you don't need it if you write the code correctly in the first place
[20:12:11] <stustev> manipulating gdb/emc2 was the hard part
[20:13:11] <stustev> My first time through NCL is never correct - with C it is not possible to be correct the first time through
[20:13:42] <cradek> I think getting the program intercepted at the right time is the tricky part about using the debugger
[20:14:23] <stustev> the interception was not the problem - restarting was the problem
[20:14:29] <alex_joni> stustev: great news
[20:15:12] <stustev> ´╗┐alex_joni: hi - thanks
[20:16:11] <stustev> bbl - the inverse kins is calling :)
[20:16:54] <alex_joni> heh
[21:20:06] <tomaw> [Global Notice] Hi all. One of our client (leaf) server sponsors is having network connectivity problems. We've removed the server from the DNS rotation until the issue is resolved. Sorry for the disruption and thanks for using freenode!
[21:41:55] <motioncontrol> good morning.I want realization spindle orientation for tool change. in mazak example the pid is enable only in orientation, but i don't understant the scale degrees because is used.some idea?
[21:48:51] <jepler> I don't think that it's important that position be in degrees. What's important is that you keep track of units and be consistent about them.
[21:49:20] <jepler> if you intend to do rigid tapping, though, you should use spindle units of 1 = 1 revolution in the spindle encoder
[21:50:32] <motioncontrol> thank jepler.The rigid tapping fuction ok, but i want crate the sequenze for tool change and is important orientation spindle
[21:51:13] <motioncontrol> which search the index for encoder + offset for correct position tool
[21:52:18] <motioncontrol> in the mazak example use pid output in input on mux2 for load the velocity orientation
[21:52:54] <motioncontrol> but i dont't understan which search 0 position for tool change
[22:00:55] <jepler> well, it's easy to see that if you give PID an orientation command and a feedback rotation from the spindle, and use that to command the spindle velocity, it'll turn to that angle
[22:01:44] <jepler> it also monkeys with the index-enable so that the spindle position will be close to 0 revs; otherwise, if you ran the spindle for 1 minute at 1000RPM, it would be at about +1000 turns and take a long time to "unwind" back to somewhere in the first turn,
[22:06:53] <motioncontrol> ok jepler i repeat.Noirmaly i rotation the spindle for 5 minut and my position encoder count is 300000 abaut for example.now i search position tol change , abaut 5 grad at index encoder.i wait 5 minut for decreese the counter encoder pos(300000) at 0 position?
[22:08:06] <jepler> no; that's what I was saying about using index-enable
[22:09:08] <jepler> to start spindle orient, set the spindle encoder's index-enable true, and just let pid do its thing. As soon as the spindle crosses the index pulse, its position gets reset to 0 revs, and pid turns it less than one revolution to get to the desired orientation
[22:09:38] <motioncontrol> i set true index-enable whith pid enable the spindle rotation and stop at index encoder?
[22:10:42] <motioncontrol> ok i understand
[22:11:37] <motioncontrol> thanks jepler tomooorw i prove on my maschine
[22:12:05] <motioncontrol> after if you can help me for jogwheel
[22:12:51] <motioncontrol> if the tool change finisch an jog wheel finisch the maschine is complete
[22:13:12] <motioncontrol> and i can study the interpret iso the emc2
[22:13:26] <motioncontrol> for production
[22:13:54] <jepler> after toolchange, I think jogwheel will seem easier
[22:14:24] <motioncontrol> alex in italy are 11,15 pm and i stay on at 5.00 am , i want sleep , good night
[22:41:54] <alex_joni> good night all