#emc-devel | Logs for 2008-09-11

[02:49:48] <jmkasunich> hmm, I guess I should look at joints/axes again
[02:50:21] <jmkasunich> the concept that I was discussing with jeff at the workshop would give you wheel jogs along cartesean axes - including uvw
[02:50:39] <cradek> that would be ultracool
[02:51:05] <jmkasunich> lately I've found machining much more attactive than coding
[02:59:47] <cradek> I know how that is
[03:00:36] <jmkasunich> the spindle project really has my interest right now
[03:00:55] <jmkasunich> got one spindle bored, and I'm making a collet
[03:01:20] <cradek> neat. did you settle on mt3?
[03:01:39] <jmkasunich> no, I'm gonna make a custom collet that uses the existing 1:10 taper
[03:02:07] <jmkasunich> its the last of the possible plans outlined in my last posting
[03:02:18] <cradek> that sounds like a good idea to me.
[03:02:40] <jmkasunich> I've refined the collet design a bit since then, but the core concept is as shown there
[03:03:14] <jmkasunich> the design now incorporates an adjustable stop so if you release the drawbar with no tool in the collet it doesn't draw it in too far and try to crush it
[03:04:01] <jmkasunich> got one collet blank drilled and tapped, and just finished making an arbor to do the external machining on it
[03:04:32] <cradek> cool. the stop sounds great.
[03:04:48] <cradek> I hadn't thought of that being a problem but it sure would be.
[03:05:11] <jmkasunich> spring drawbars are usually used with stuff that has retention knobs, not collets
[03:05:45] <jmkasunich> it has been bugging me for a while, but I came up with the solution while walking the dog a couple days ago
[03:06:07] <jmkasunich> instead of just threading the back of the collet M6 for the drawbar, it is threaded 1/2-20
[03:06:23] <jmkasunich> then I make a piece that is M6 on the inside, 1/2-20 on the outside
[03:07:03] <jmkasunich> insert un-slit collet in spindle, screw "piece" into 1/2-20 hole in collet till it bottoms out in spindle hole, back the piece out 1 turn and locktite it in
[03:07:20] <jmkasunich> that lets the collet pull in 0.050, which tightens it by 0.005
[03:09:00] <cradek> good idea. I have the same problem with my lathe's collet closer, but no solution like that
[03:09:20] <jmkasunich> there isn't some kind of stop in the closer?
[03:09:21] <cradek> (although it will stay open)
[03:09:42] <cradek> it has limited travel, but that would depend on exactly how far you've screwed the collet in
[03:10:36] <cradek> dangit, I'm incapable of properly fixing any bug in task
[03:10:46] <SWPadnos> at least you try and fail
[03:10:49] <jmkasunich> don't feel bad, you aren't alone
[03:10:58] <SWPadnos> it's so confusing to me that I don't even try
[03:10:58] <jmkasunich> goodnight
[03:11:02] <SWPadnos> night
[03:11:19] <cradek> bye
[03:12:29] <cradek> seems like only jeff and alex have the power needed
[03:12:38] <cradek> I hope they always use their powers only for good
[03:14:43] <SWPadnos> heh
[07:11:29] <alex_joni> CIA-40: come back
[13:25:44] <fenn_> fenn_ is now known as fenn
[16:06:31] <SWPadnos> jepler, here is my modified wcomp: http://pastebin.ca/1200113
[16:06:44] <SWPadnos> and the compile errors I get: http://pastebin.ca/1200114
[16:07:00] <SWPadnos> can you see if it works on your machine (or point out my stupid error)?
[16:08:12] <jepler> SWPadnos: you want 'pin out bit over' not 'pin over bit out'.
[16:08:24] <SWPadnos> heh - ok
[16:08:43] <SWPadnos> I was just realizing that the pin name and direction that I copied were the same "out"
[16:13:08] <SWPadnos> it's probably stupid to add a parameter to choose whether the boundary values are included
[16:28:06] <SWPadnos> interesting. when min==max==in, over and under are both true which makes out false
[16:29:05] <SWPadnos> of course, if min==max, out is always false
[16:31:27] <skunkworks> paul strikes again
[16:31:32] <skunkworks> Hi paul!
[16:32:05] <jepler> I
[16:32:15] <jepler> er
[16:32:16] <jepler> sigh
[16:33:21] <skunkworks> jepler: when do you convert the jepbot to SWPadnos's servos?
[16:34:12] <skunkworks> (seems like the next logical upgrade)
[16:34:40] <jepler> skunkworks: I'd have to figure out a good mounting scheme .. a pancake servo is much bigger than a nema 17 stepper
[16:34:40] <skunkworks> :)
[16:34:58] <skunkworks> ah
[16:35:14] <jepler> anyway, it's plenty fast and accurate
[16:36:54] <SWPadnos> hmmm. how do I get comp to build (if make doesn't notice that I've changed comp.g)?
[16:37:24] <jepler> hmmmm really?
[16:37:29] <SWPadnos> yes
[16:37:31] <jepler> I've just been modifying comp.g and rebuilding about a dozen times
[16:37:33] <jepler> it works fine
[16:37:43] <jepler> but, rm ../bin/comp if it really isn't doing the right thing
[16:39:28] <SWPadnos> crap. I think kate mangled whitespace
[16:39:40] <SWPadnos> maybe my change isn't working - that could be the problem :)
[16:40:02] <jepler> what are you doing in comp.g?
[16:40:55] <SWPadnos> heh
[16:41:06] <SWPadnos> just adding a NOTES section to the manpage related keywords
[16:41:30] <SWPadnos> ok, I had forgotten to put a ; at the end of my notes line
[16:41:45] <SWPadnos> do you want me to check that in, or send you a patch?
[16:42:02] <jepler> check it in
[16:42:06] <SWPadnos> ok
[16:42:11] <jepler> I'll criticise you on the mailing list if there's anything that I don't approve of
[16:42:15] <jepler> and so will himorher
[16:42:33] <SWPadnos> EXCELLENT!
[16:47:10] <SWPadnos> hmmm. no CIA
[16:47:30] <SWPadnos> where the heck is that comp manpage source
[16:47:32] <SWPadnos> ???
[16:48:03] <SWPadnos> oh, in the docs/man dir, of course :)
[16:49:41] <SWPadnos> lucky me - there's no keyword description in the manpage - woohoo!
[17:02:34] <jepler> SWPadnos: no; you have to edit the lyx
[17:02:51] <SWPadnos> can't do that without significant pain - I'm on Hardy
[17:03:02] <jepler> yeah I know
[17:03:04] <jepler> or assumed
[17:03:21] <SWPadnos> I've tried to get a full doc build on a different machine, but I haven't been able to spend much time on it
[17:03:36] <jepler> the docs build just fine on 8.04 fwiw
[17:03:46] <SWPadnos> I'll check the error I get
[17:03:57] <jepler> that is, it doesn't terminate with an error for me. I never looked inside
[17:04:02] <jepler> lunchtime here .. bbl
[17:04:09] <SWPadnos> it may have to do with python2.5 vs 2.4 (I think it was a python error)
[17:04:11] <issy> Hi , The distance to go pach is redy , can you tell me haw to upload it.
[17:04:15] <SWPadnos> hmmm - good idea
[17:04:37] <SWPadnos> issy, is it a lot of code? if not, put it on http://pastebin.ca
[17:04:46] <SWPadnos> if it is, please email it to - err - someone
[17:04:50] <issy> 20k
[17:05:06] <SWPadnos> ok, pastebin should be OK for that
[17:05:26] <issy> what is pastebin?
[17:05:33] <SWPadnos> like imagebin, but for text
[17:05:42] <issy> ol. lets try
[17:05:52] <SWPadnos> actually, imagebin is like pastebin, but for images ;)
[17:06:38] <issy> .org?
[17:10:10] <issy> strange , i cannot open it...
[17:11:13] <skunkworks> http://pastebin.ca/
[17:15:01] <issy> welll , is done , the fail name is targetexport , it is exporting targetx,y and z , so for to be able to calculate the distance to go for each axis
[17:17:30] <micges> issy: can you paste link to pastebin ?
[17:17:32] <SWPadnos> so on a full circle, the distance to go will increase from 0 to 2*radius, then go back to 0 (rather than starting with the circumference and going to 0)?
[17:18:04] <issy> it is only for the linear movements
[17:18:16] <SWPadnos> does it read 0 for arcs?
[17:18:29] <SWPadnos> or other compound moves (like a peck cycle)?
[17:19:05] <issy> i have made it only for the linear is reading 0 for the rest
[17:19:16] <SWPadnos> ok, that' scool
[17:19:59] <issy> this is used mainly when you have fixtures on the working object
[17:20:31] <issy> so , the first start of the program , if the tool come too close
[17:20:46] <issy> to the holding fixture , you can see
[17:21:00] <issy> the distance rest to go
[17:21:17] <issy> and to move the fixture in case of need
[17:21:34] <SWPadnos> oh, so it's not for a "remaining distance in this move" display, it's so you can see how far from some point you are
[17:22:12] <issy> no , no.. is the rest , the rest distance
[17:22:23] <issy> it is the remaining...
[17:24:24] <micges> who is administrator of wiki ?
[17:27:17] <micges> stupid question :)
[17:28:17] <issy> well on the pastebin , you can find a working user interface with the distane to go
[17:28:57] <issy> the name is grafica
[17:29:56] <SWPadnos> I don't see it, and search doesn't find it. do you have the URL?
[17:30:19] <issy> give me bether email.
[17:31:12] <issy> is on the same place as the sources
[17:31:21] <SWPadnos> ?
[17:31:38] <issy> look for grafica.zip
[17:31:48] <SWPadnos> on pastebin.ca?
[17:31:56] <issy> yes
[17:32:46] <issy> http://filebin.ca/fvcvpe/grafica.zip
[17:32:52] <issy> this is the link
[17:32:54] <SWPadnos> ok, that's filebin :)
[17:33:14] <issy> yes , sorry... is too big for pastebin
[17:33:19] <SWPadnos> ah, ok
[17:33:53] <issy> the sources of the pach are there as well
[17:33:57] <SWPadnos> I'm not really qualified to review it, so you'll need to wait for one of the others to see it :)
[17:34:32] <issy> i have also windows wersion
[17:34:42] <SWPadnos> it's annoying that there's no way to browse or search filebin
[17:35:46] <issy> generaly , i dont like this type of bins.. , but ... well why not
[17:36:06] <SWPadnos> you could stick this stuff on the EMC wiki as well (but not grafica.zip - it's too big)
[17:36:21] <SWPadnos> where is the source? I can't seem to search filebin
[17:36:59] <issy> http://filebin.ca/gtbkhu/targetexport.zip
[17:37:02] <issy> :)
[17:37:07] <SWPadnos> thanks :)
[17:37:44] <SWPadnos> now the qualified people will know where to look :)
[17:38:01] <issy> in order to use them , they have to be compiles with the emc
[17:38:07] <SWPadnos> of course :)
[17:38:27] <issy> sugestiona sre welcome
[17:39:01] <SWPadnos> I'm sureyou'll get a few
[17:39:04] <SWPadnos> :)
[17:47:13] <issy> did somebody have fxf to g code converter writen in c
[17:55:42] <alex_joni> issy: the first suggestion is to make a diff, then post that
[17:56:03] <alex_joni> it's a lot easier to read only differences, than reading the whole file and trying to figure out what you changed
[17:56:22] <alex_joni> you can easily do that by typing: cvs diff -u > distance-xyz.patch
[17:58:11] <alex_joni> SWPadnos: you were right, it doesn't seem to be the remaining part of this move, but rather the coordinate at the end of the move
[17:58:24] <issy> thanks alex , it is easy to find the diff , just look for " trg " inside
[17:58:36] <SWPadnos> I think cradek mentioned that Stuart said that's how it often works :)
[17:58:42] <issy> next time , i will do as you mention
[17:58:45] <issy> :)
[17:59:01] <alex_joni> issy: next time then it will be < 1k :)
[17:59:42] <issy> yep
[18:01:06] <alex_joni> issy: also, doing the diff -u makes it easy for somebody to apply the patch
[18:02:27] <alex_joni> hi chris
[18:03:35] <cradek> hi
[18:03:47] <alex_joni> got time to look at something?
[18:08:02] <cradek> what is it?
[18:08:20] <alex_joni> a small patch for the TP :)
[18:10:16] <alex_joni> cradek: issy is going to paste the diff
[18:10:44] <alex_joni> cradek: issy is going to paste the diff, but until then maybe you can look at http://filebin.ca/gtbkhu/targetexport.zip
[18:11:53] <issy> cradek , look for trg inside the sources
[18:12:06] <issy> i have to get the cvs
[18:12:15] <alex_joni> bbl..
[18:12:17] <cradek> what is it? just tell me
[18:12:28] <alex_joni> cradek: it's adding trgX, Y and Z
[18:12:35] <alex_joni> as the targets for the current tc
[18:12:46] <alex_joni> they show up in motion status, and up to emc status
[18:12:49] <issy> it is exporting the target of the tree axis
[18:13:22] <cradek> this is to make dtg?
[18:13:42] <issy> so , you can show in the grafic interface the distance to go separated for x,y,z
[18:14:17] <cradek> why export the targets instead of the dtg? that makes it harder for the gui since it has to figure out what coordinate system and units the points are in
[18:14:59] <SWPadnos> ah, I see now - the idea is to see the distances for each axis, not just the total distance
[18:15:31] <cradek> yes that is how every? other control does it
[18:16:22] <SWPadnos> you should check the log. I asked a question or two, but I can't paraphrase the answers becaus I don't know what's going on :)
[18:16:52] <SWPadnos> time to eat - bbiab
[18:17:23] <issy> well , i think that target is more usefull than the total dtg
[18:18:40] <cradek> why do you make the target 0 if the motion is not linear?
[18:18:51] <cradek> that will make the gui show a crazy dtg
[18:19:07] <issy> no , in this case is showing 0
[18:19:33] <cradek> why?
[18:20:58] <issy> because , the distance to go is used mostly for linear movements , I have 20 cnc machines and the only application of that is to check the distance on setting the program for first time.
[18:21:27] <issy> allways linear , but is not a problem to be made for the rest
[18:21:29] <cradek> "used mostly for" does not mean you should disable the feature for the rest
[18:21:49] <issy> no , just to add them as well:)
[18:22:54] <cradek> in tp, you can set the target when the move starts. I think in G61 mode your code will not work where you have put it
[18:23:46] <issy> I will try it and let you know
[18:23:56] <cradek> ok great, I'd be happy to have another look if you fix these things and make up a patch
[18:24:07] <cradek> I want to put this display in AXIS too
[18:24:37] <issy> well ,i am happy , have you look on mine grafic interface?
[18:24:51] <cradek> I only saw a picture of it
[18:25:07] <cradek> are you going to release it with a free license?
[18:25:13] <issy> it is posted , your coments will be appriciated!!!
[18:25:20] <cradek> it looks very interesting
[18:25:28] <issy> I have this intentions
[18:25:44] <cradek> that's great
[18:25:51] <issy> but i have to solve 1 problem with the libraries i am using
[18:26:10] <cradek> oh ok
[18:26:53] <issy> as the progect was made in 2 parts , first to be used as standart interface of the emc , and the second as remote tru tcp.ip with windows
[18:27:23] <issy> i decide to use libraries that works for both.
[18:27:41] <issy> unfortunately the windows part is not free
[18:28:26] <issy> so , after discusion with alex , I decide to take out the windows part , and to finish as free the linux
[18:28:32] <cradek> for the target (or DTG) in the stat buffer you should use an EmcPose and fill out all nine coordinates
[18:28:52] <issy> yes , i know
[18:28:52] <cradek> even if you are only interested in XYZ someone else might want XYZUVW or XYZA
[18:29:21] <issy> i made this pach to see haw will work ,
[18:30:00] <cradek> ok good, I look forward to seeing the next patch
[18:30:05] <issy> with the c , i have no problens at all , but the snake is not for me , so i cant see haw the thinks are mase in the axis
[18:30:43] <issy> that's why i am asking so much
[18:31:34] <cradek> I have to go find lunch, I look forward to talking more later
[18:31:46] <issy> k
[19:24:59] <cradek> alex_joni: can you look again at the spindle bug? I tried again to fix it but failed
[19:26:18] <cradek> my patch to emccanon fixes mdi and manual mode, but breaks auto programs that change the speed
[19:27:08] <alex_joni> hummm.. I will in a bit
[19:27:13] <alex_joni> was your patch commited?
[19:27:18] <cradek> no
[19:27:36] <alex_joni> ok, I'll bug you in a bit when I start looking at it.. ok?
[19:27:37] <cradek> I don't think it makes the problem better, only different
[19:27:41] <cradek> ok thank you
[19:27:49] <alex_joni> don't thank me yet :D
[19:27:54] <cradek> :-)
[19:29:18] <cradek> http://timeguy.com/cradek-files/emc/canon-spindle-patch.diff
[19:30:17] <issy> cradek , i have to make the path prewiew in my gui , can yoy give me some advice
[19:49:06] <issy> when there is a line then I whant to know target point, when ther is a circle then I would like to know center of the circle, and regarding the third kind "ridgit... something" perhaps I need again target
[20:05:33] <skunkworks> SWPadnos: how did you end up getting involved with emc?
[20:05:52] <skunkworks> I think I know everyones story but yours. :)
[20:06:15] <SWPadnos> I wanted to get a CNC going for a new product line, and a friend pointed me toward EMC
[20:06:35] <SWPadnos> he said something like "you're a linux guy, maybe you should try out EMC"
[20:06:43] <skunkworks> heh
[20:07:46] <SWPadnos> of course, he uses DeskCNC, because it's easier for him
[20:08:27] <skunkworks> 'today we replaced jims normal cnc controller with emc.. Lets watch what happens.'
[20:08:35] <SWPadnos> heh
[20:09:25] <issy> well , i have different system made by me , but without os , so is difficult to add new items
[20:11:14] <issy> with the emc the hardware and the software are easy to get , install adjust ... well this is the tru solutin
[20:11:44] <SWPadnos> much easier with the source (when you want to do things yourself)
[20:13:31] <issy> yes , true
[20:14:15] <issy> unfortunately , not made from m e , so i have to read all of them to get an idea what where is made and haw is working....
[20:14:29] <SWPadnos> heh
[20:16:18] <alex_joni> issy: we all are still reading to get an idea how it's working :P
[20:16:22] <alex_joni> sometimes it feels like magic :D
[20:17:23] <skunkworks> is robh having the same issue as steve blackmore?
[20:17:34] <skunkworks> like every other run works..
[20:26:33] <alex_joni> might just be
[20:29:28] <alex_joni> hmm.. running 2 VM's + win on this machine is a bit much
[21:10:17] <jepler> I have a sinking feeling that using MODULE_DEVICE_TABLE makes the hm2_5i20 driver participate in the linux hotplug system
[21:10:36] <jepler> that would explain that stuff getting loaded at boot time without apparent user intervention, anyway
[21:11:10] <alex_joni> * alex_joni looks around for seb
[21:12:00] <jepler> I think we (I) added a symlink from /etc/modules to /usr/realtime/.../modules in the new rtai version
[21:12:15] <jepler> before that it wouldn't have participated in hotplug because depmod wouldn't find it ..
[21:21:37] <alex_joni> so it pulls in all dependent modules?
[21:21:59] <alex_joni> (except rtai_math.. obviously :)
[21:22:51] <jepler> something like that
[21:23:54] <jepler> so if the problem is "emc gets partway loaded at startup", I'd be tempted to try 'sudo rm /lib/modules/2.6.24-16-rtai/rtai' and reboot ..
[21:23:57] <jepler> I haven't followed this closely
[21:24:36] <jepler> option 2 is to manually downgrade to rtai-modules-2.6.24-16-rtai_3.6-linuxcnc.1 from 3.6.1
[21:24:49] <alex_joni> what's .../2.6.24-16-rtai/rtai/ ?
[21:25:22] <jepler> it's a symlink from the kernel modules directory into the rtai modules directory
[21:25:25] <jepler> lrwxrwxrwx root/root 0 2008-07-20 09:40 ./lib/modules/2.6.24-16-rtai/rtai -> /usr/realtime-2.6.24-16-rtai/modules
[21:27:21] <alex_joni> so the symlink is for hotplugging.. do we need that?
[21:27:27] <alex_joni> for the firmware or something?
[21:27:47] <jepler> I had some other motivation in mind when I made that symlink but I honestly don't remember what just at the moment
[21:28:58] <jepler> aha, the changelog entry I wrote says "make modprobe work" -- that's not actually required or used in emc, though being able to use modprobe would theoretically simplify module_helper at some indefinite time in the future
[21:30:41] <alex_joni> I'd vote we take it out for now, or push an emc2 update which prevents the hotplug
[21:31:44] <alex_joni> cradek: I don't think your patch can work
[21:33:09] <jepler> I think the easiest is to revert my change (this patch does that: http://pastebin.ca/1200474 ) and push out a new rtai package to the repos
[21:33:15] <jepler> that's a patch to rtai
[21:35:43] <skunkworks> you guys are great!
[21:35:57] <skunkworks> * skunkworks cheers from the cheap seats.
[21:36:10] <alex_joni> * alex_joni runs back to the spindle issue
[21:36:32] <BigJohnT> * BigJohnT heads to the house to play with the dog
[21:36:46] <alex_joni> 'tis make my head hurt
[21:46:12] <alex_joni> cradek: I think I got an explanation why it can't work
[21:46:15] <alex_joni> but I guess you're more thrilled about hearing a solution.. and I'm still thinking about that
[21:46:21] <alex_joni> (wrong channel)
[21:47:08] <alex_joni> EMC_SPINDLE_ON has Motion and IO as preconditions, that means task waits with running it before all motion and io that were before it finish
[21:47:26] <alex_joni> but the problem is not there, it's in canon
[21:47:49] <alex_joni> canon has no way of stopping things, until it can evaluate the GET_EXTERNAL_foo functions safely
[21:48:11] <alex_joni> and the GET_EXTERNAL_foo get the current status (which is what the machine is doing, not where the interp. is)
[22:00:15] <alex_joni> * alex_joni hugs cradek
[22:00:18] <alex_joni> * alex_joni hugs CIA-40
[22:00:22] <alex_joni> oops :D
[22:00:27] <CIA-40> * CIA-40 hugs alex_joni
[22:05:12] <alex_joni> cradek: darn, I can't remember what the issue in maual/MDI was without your patch
[22:10:18] <Lerman> alex_joni: You said: "and the GET_EXTERNAL_foo get the current status (which is what the machine is doing, not where the interp. is)".
[22:10:43] <Lerman> To get where the interp is, you need to do the type of sync that the interp does when probing.
[22:11:18] <Lerman> (I just came in the door and have to leave in a few minutes, but saw the comment)
[22:11:49] <Lerman> Don't even know what it is referring to, so if you tell me I don't know what I'm talking about, I'll agree. :-)
[22:12:42] <alex_joni> Lerman: yeah, I know.. but this is for setting spindle speed
[22:12:55] <alex_joni> and pausing the interp for every spindle speed change, is .. uhmmm
[22:13:18] <Lerman> No, you're not pausing, your just catching up. :-)
[22:13:43] <Lerman> After all, it takes time for the spindle speed to actually change. You should wait for that, anyway.
[22:14:03] <alex_joni> you mean you don't have an 10000g accel spindle?
[22:15:03] <Lerman> I do, but even that take *some* time.
[22:15:32] <alex_joni> do you have it fresh how to stop interpreting until it's been executed?
[22:18:19] <Lerman> Last time I wanted to know, I looked at the code for probing.
[22:18:36] <Lerman> I have to leave now -- time for a martial arts class. I'll see you later.
[22:18:42] <alex_joni> ok, see ya
[22:19:02] <alex_joni> I did use the same mechanism for reading inputs.. so I guess I should be able to figure it out again :D
[22:29:47] <cradek> alex_joni: the original problem was this: MDI s1000 m3, hit escape or F9 to stop the spindle, MDI s500, the spindle incorrectly starts
[22:30:22] <cradek> also issuing G43 will incorrectly start the spindle sometimes
[22:30:43] <cradek> sorry I should have made a bug report.
[22:30:54] <alex_joni> np
[22:31:05] <alex_joni> the problem is handling it in canon, it can't work
[22:31:24] <alex_joni> as much as it disgusts me, we need to handle this in task
[22:31:25] <cradek> do you know what the fix might be then?
[22:31:59] <cradek> I thought maybe we could make a new call for the motion/interplist that only sets the speed, instead of overloading ON to set the speed
[22:32:08] <alex_joni> I think one of the reasons is simply having too obscure messages
[22:32:14] <alex_joni> right, exactly what I was thinking
[22:32:15] <cradek> then you don't have to guess the state of the spindle
[22:32:48] <alex_joni> another thing that bugs me sometimes is that the same message comes from different sources (interp and GUI)
[22:35:21] <alex_joni> I'll do the new type now
[22:35:33] <alex_joni> can you do the bugreport, in case I don't finish and want to test it tomorrow ?
[22:35:58] <cradek> sure I'll try to figure out how to reproduce the G43 case again too
[22:36:48] <cradek> ok, got it already
[22:36:54] <cradek> looking at the code helps
[22:37:25] <alex_joni> heh
[22:48:00] <cradek> https://sourceforge.net/tracker/index.php?func=detail&aid=2106490&group_id=6744&atid=106744
[22:48:15] <alex_joni> cool, thanks.. I'm almost in motion with spindle speed
[22:53:53] <cradek> alex_joni: this might help you test, it uses lots of spindle modes: http://timeguy.com/cradek-files/emc/s-test.ngc
[22:54:23] <alex_joni> if I fix mode 1, can you do 2 ?
[22:54:29] <alex_joni> I'm not that familiar with CSS
[22:55:12] <cradek> the css bug is just one line in emccanon where it checks spindleOn
[22:55:20] <cradek> but sure I will fix/test it
[22:55:32] <alex_joni> it'll be another 2-3 lines in taskintf.cc
[22:56:26] <cradek> bug here: if(css_maximum && spindleOn)
[22:56:29] <cradek> hmm
[22:57:04] <cradek> is your new SET_SPINDLE_SPEED message going to be able to set speed, factor, xoffset?
[22:57:10] <cradek> you need all those for css
[22:57:53] <alex_joni> yeah, I know..
[22:58:00] <alex_joni> that's why I said maybe you can fix it
[22:58:08] <alex_joni> for now I simply used 0 :D
[22:58:13] <cradek> :-)
[22:58:13] <alex_joni> for factor and xoffset
[22:58:18] <cradek> I will try
[23:00:13] <alex_joni> I only have anon checkout on this vm
[23:00:26] <alex_joni> so I can only put a ptch online :)
[23:00:40] <cradek> I can test and check it in for you
[23:01:13] <alex_joni> ok, I think it works as it should for case 1..
[23:01:40] <cradek> did you try s-test.ngc?
[23:01:46] <alex_joni> nope.. will now
[23:01:54] <cradek> all my 'fixes' made that program break
[23:02:28] <BigJohnT> now you have to fix the fix
[23:03:39] <alex_joni> the only question is how would I know if it's right? :D
[23:03:47] <cradek> heh
[23:03:53] <alex_joni> I think it breaks on G95, but that's expected
[23:04:04] <cradek> if you run sim/lathe you can see the spindle speed
[23:04:13] <alex_joni> I use a halmeter
[23:04:20] <alex_joni> but for CSS it can't work.. I used 0's
[23:05:17] <alex_joni> pastebin.ca/1200531
[23:05:19] <cradek> does it change to 400 at the s400 line? my 'fix' broke even that
[23:05:49] <alex_joni> yeah, that works
[23:05:56] <alex_joni> even the M4 makes it go negative
[23:06:25] <alex_joni> I have a program wich does a rectangle with a different S-word for every side
[23:06:28] <alex_joni> works a treat
[23:07:51] <cradek> so we need to move the code from emcSpindleOn to emcSpindleSpeed and fix everything that called emcSpindleOn?
[23:08:05] <cradek> or will they have duplicate code so either one can set the speed?
[23:08:14] <alex_joni> yeah, that would be my bet
[23:08:24] <alex_joni> the latter I mean
[23:08:37] <cradek> so SpindleSpeed will be the same as SpindleOn, but it does everything except turning it on
[23:10:13] <alex_joni> yeah
[23:10:26] <alex_joni> and it only does stuff if the spindle is on already
[23:10:35] <alex_joni> otherwise it just returns
[23:10:58] <cradek> no I think it should set the speed, but not turn it on
[23:11:13] <alex_joni> yeah, but that means adding another EMCMOT_ command
[23:11:22] <alex_joni> because there it's the same :(
[23:11:30] <cradek> but it has to work that way
[23:11:55] <alex_joni> I can see that is the nice fix..
[23:12:06] <cradek> s400 and then later m3 must give 400 rpm
[23:12:13] <alex_joni> that works
[23:12:23] <alex_joni> because M3 calls SPINDLE_ON from canon
[23:12:32] <alex_joni> which sets the spindle together with spindle_on
[23:12:50] <alex_joni> s400 was stored into emccanon:spindleSpeed
[23:13:27] <alex_joni> whoops.. bug waiting to happen?
[23:13:43] <alex_joni> emc.cc:EMC_SPINDLE_ON() doesn't have references to css
[23:13:51] <SWPadnos> right now, if the spindle is off, can spindle-speed be non-zero?
[23:14:08] <alex_joni> SWPadnos: who's spindle-speed ? :D
[23:14:12] <SWPadnos> heh
[23:14:30] <alex_joni> we have: g-code, interp, task, motion, physical spindle
[23:14:38] <SWPadnos> the HAL pin
[23:14:47] <alex_joni> if the spindle is off, then the physical speed is obviously 0
[23:14:52] <SWPadnos> of course
[23:14:54] <alex_joni> the motion.spindle-speed-out is also 0
[23:15:17] <SWPadnos> I'm wondering about breaking HAL configs that assume that speed==0 whenever the spindle should be off
[23:15:29] <alex_joni> that's still true
[23:15:34] <SWPadnos> ok
[23:15:44] <alex_joni> I don't pass the spindle speed down to motion if the spindle is stopped
[23:16:29] <SWPadnos> and that HAL output gets set to 0 when the spindle told to stop?
[23:16:55] <alex_joni> actually motion only deals with spindle-speed-out
[23:16:57] <SWPadnos> err - when the interp tells canon to tell NML to tell motion to tell HAL to stop the spindle ;)
[23:17:09] <alex_joni> the spindle-on, brake-on, etc all get built out of the speed
[23:17:19] <SWPadnos> ok
[23:17:26] <alex_joni> spindle-forward and reverse, etc
[23:17:50] <SWPadnos> was a spindle-at-speed input ever added?
[23:18:01] <cradek> no
[23:18:06] <SWPadnos> ok
[23:18:12] <alex_joni> there's feed-hold :P
[23:18:31] <SWPadnos> that's right - we had some issues with continuing a move in progress vs. waiting for a speed change
[23:18:50] <cradek> I don't know what the right behavior would be for at-speed control
[23:19:04] <cradek> with css the spindle is often not at-speed
[23:19:19] <SWPadnos> it seems that something like if (in-motion || spindle-at-speed), continue
[23:19:20] <SWPadnos> else wait
[23:19:50] <SWPadnos> if you want to wait for a speed change, then program a move with a dwell time
[23:20:04] <SWPadnos> or we can add M3.1 - set speed and wait for it
[23:20:14] <alex_joni> or use M66 :P
[23:20:30] <SWPadnos> wait for input?
[23:20:31] <cradek> let's let alex finish his patch in peace... :-)
[23:20:48] <alex_joni> well.. I finished adding the css stuff..
[23:20:48] <SWPadnos> yeah - sorry. I'll go mess wth new quad-core computers now ;)
[23:20:55] <alex_joni> but it doesn't work as I would expect it to
[23:20:59] <cradek> this is the most important bug I know about that we currently have
[23:21:06] <SWPadnos> or see if my sister actually has to evacuate from Ike
[23:21:13] <cradek> eek
[23:21:23] <SWPadnos> no, ike :)
[23:21:25] <cradek> alex_joni: how?
[23:21:39] <alex_joni> how I added the css stuff?
[23:21:42] <alex_joni> :-P
[23:21:53] <cradek> let me know how I can help
[23:22:10] <alex_joni> pastebin.ca/1200541
[23:22:34] <alex_joni> the canon call set spindle speed is probably wrong
[23:22:55] <SWPadnos> why hasn't jepler written the NML-generating equivalent of comp yet?
[23:23:06] <alex_joni> it's easy and fun to add NML messages :D
[23:23:29] <alex_joni> and there was a java app which did that for you .. if you feel suicidal enough
[23:24:11] <alex_joni> cradek: in taskintf.cc there needs to be some * -1 going on
[23:24:17] <alex_joni> based on current spindle direction
[23:24:18] <SWPadnos> it even ran/runs on Windows
[23:24:51] <alex_joni> but I'm not sure if the css_factor or the offset or both need to be negative for M4
[23:26:46] <cradek> css_numerator and speed go negative
[23:26:56] <cradek> not offset
[23:28:11] <cradek> double denom = fabs(emcmotStatus->spindle.xoffset - emcmotStatus->carte_pos_cmd.tran.x);
[23:28:21] <alex_joni> hmm..
[23:28:30] <alex_joni> what does G95f.002 do?
[23:28:45] <cradek> feed .002 inches per spindle revolution
[23:28:57] <alex_joni> and sim/axis.ini won't work with that.. right?
[23:29:00] <cradek> so as css speeds up/down, so does feed
[23:29:02] <alex_joni> because of lack of feedback
[23:29:05] <cradek> right
[23:29:07] <cradek> use sim/lathe
[23:30:08] <alex_joni> hmm.. it looks like it's working here
[23:30:13] <alex_joni> new patch coming up
[23:30:18] <cradek> yayy
[23:30:34] <alex_joni> but I don't know much about css.. except that it moves around the place :D
[23:31:56] <alex_joni> pastebin.ca/1200551
[23:32:05] <alex_joni> can you try that?
[23:32:41] <cradek> happily
[23:33:05] <alex_joni> * alex_joni is feeling a certain urge to get some sleep
[23:33:13] <cradek> goodnight :-)
[23:33:16] <cradek> thanks very much
[23:33:16] <alex_joni> not until you say it's right though :P
[23:33:28] <alex_joni> (even if you have to lie .. LOL)
[23:33:32] <cradek> checking now
[23:34:41] <cradek> problem #2 is still there
[23:35:07] <cradek> (g43)
[23:35:36] <alex_joni> what's g43 again?
[23:35:54] <cradek> load tool offset
[23:36:49] <cradek> emccanon.cc:1609
[23:37:31] <alex_joni> yup.. it sets a spindle_on
[23:37:54] <alex_joni> I'd try changing that to EMC_SPINDLE_SPEED
[23:37:59] <cradek> ok
[23:38:07] <cradek> go to bed, I will work on it some more
[23:38:10] <cradek> thank you
[23:39:51] <alex_joni> yup.. that works
[23:39:59] <alex_joni> patch?
[23:40:21] <cradek> that's ok, I made the same change here
[23:40:36] <cradek> can we get rid of spindleOn in emccanon?
[23:40:47] <alex_joni> I don't think so
[23:41:00] <alex_joni> spindleSpeed doesn't turn on the spindle.. ever
[23:41:26] <cradek> static int spindleOn = 0;
[23:41:28] <cradek> I mean this
[23:41:36] <cradek> it becomes wrong if you change the spindle in manula mode
[23:41:46] <alex_joni> if we do then it won't work to S200
[23:41:49] <alex_joni> and a while later to M3
[23:42:17] <alex_joni> I'd say commit it like this for now, and we'll talk about properly fixing this..
[23:42:39] <alex_joni> that means 3 different messages from g-code to spindle
[23:42:54] <alex_joni> on (fwd/reverse), off, speed
[23:43:19] <alex_joni> but for that motion needs to brighten up a bit..
[23:43:57] <alex_joni> s/brighten/smarten/
[23:46:15] <cradek> I think it is working right
[23:46:24] <cradek> I took out the static int spindleOn
[23:46:33] <cradek> it was only used in USE_TOOL_LENGTH
[23:47:49] <alex_joni> ok, perfect
[23:47:57] <alex_joni> I was thinking of spindleSpeed :/
[23:49:25] <cradek> hmm
[23:49:27] <cradek> s300 m3
[23:49:31] <cradek> SPINDLE_INCREASE
[23:49:31] <cradek> m3
[23:49:51] <cradek> but I don't care about that
[23:49:53] <alex_joni> I hibernated the VM
[23:49:59] <alex_joni> what does it do?
[23:50:11] <cradek> goes to 400 when you INCREASE and then back to 300 when it gets the second m3
[23:50:27] <alex_joni> ah.. no idea what should be right :D
[23:50:32] <cradek> same here
[23:50:38] <cradek> so that means the current behavior is right
[23:50:51] <alex_joni> heh
[23:51:12] <cradek> hm, fpr doesn't work when m4
[23:51:15] <cradek> different bug though
[23:51:26] <cradek> I think you fixed the bug report!
[23:52:19] <alex_joni> whee.. cool :)
[23:53:53] <cradek> think I found the fpr/m4 problem
[23:55:40] <cradek> yep
[23:55:48] <alex_joni> even better
[23:55:56] <cradek> one line fix - my specialty
[23:56:18] <alex_joni> I didn't put in a lot of lines lately either
[23:58:30] <CIA-40> EMC: 03cradek 07TRUNK * 10emc2/src/emc/task/ (taskintf.cc emctaskmain.cc emccanon.cc): fix bugs described in 2106490 (thanks Alex!) and also FPR + M4 not going anywhere
[23:58:35] <CIA-40> EMC: 03cradek 07TRUNK * 10emc2/src/emc/nml_intf/ (emc_nml.hh emc.hh emc.cc): fix bugs described in 2106490 (thanks Alex!) and also FPR + M4 not going anywhere
[23:58:36] <CIA-40> EMC: 03cradek 07TRUNK * 10emc2/src/emc/kinematics/tp.c: fix bugs described in 2106490 (thanks Alex!) and also FPR + M4 not going anywhere
[23:59:47] <cradek> I closed the bug