#linuxcnc-devel | Logs for 2015-09-23

[08:16:36] <skunkworks> where is everone? Huh - don't we have linuxcnc to run?
[08:16:42] <skunkworks> everyone
[08:36:13] <skunkworks> Is there anywhere explaining tool changing? random vs pocket?
[08:37:33] <skunkworks> ah - found it
[08:37:58] <cradek> where? all I found was http://www.linuxcnc.org/docs/html/config/ini-config.html#_emcio_section
[08:38:06] <skunkworks> http://linuxcnc.org/docs/2.7/html/gcode/tool-compensation.html#sec:tool-changers
[08:38:44] <skunkworks> http://www.cnczone.com/forums/dynomotion-kflop-kanalog/282428-forum-3.html#post1765316
[08:51:30] <cradek> > these are linked a bunch of halui commands of G10L2P1[#522n +?]
[08:51:31] <cradek> noooooo
[08:51:58] <cradek> you've just written a whole family of units-related bugs
[08:52:39] <cradek> I guess the right way is to make yet another G10 mode, which also sucks
[09:06:23] <skunkworks> what?
[09:18:04] <cradek> http://linuxcnc.org/index.php/english/forum/20-g-code/29667-incremental-offset-from-g54#62869
[09:19:19] <cradek> the bug is #5221 is always in native units like the tool table, and G10 honors the G20/G21 mode
[10:35:10] <jsskangas> HEllo
[10:35:38] <jsskangas> Cradek
[10:35:40] <jsskangas> ?
[10:41:45] <seb_kuzminsky>  hi jsskangas
[10:41:54] <jsskangas> hello
[10:42:21] <jsskangas> I tryed XYZAC kins setup
[10:43:51] <jsskangas> and problem with this setup is that i can not run machine in joint mode while running Gcode
[10:44:07] <seb_kuzminsky> yes, cradek and i both told you that last time we spoke
[10:44:28] <seb_kuzminsky> it's a limitation of joint mode, it doesn't know anything about axes, so things that think about axes (like gcode) dont work
[10:44:42] <jsskangas> yep
[10:44:53] <seb_kuzminsky> ok, glad we're on the same page about that :-)
[10:44:53] <jsskangas> this was my initial problem
[10:45:20] <jsskangas> I was too tired to think lastnight
[10:45:30] <seb_kuzminsky> hope you had a good sleep!
[10:45:43] <jsskangas> But I managed to sleep allmost 4 hours last night
[10:45:50] <jsskangas> ;)
[10:46:22] <jsskangas> I had to drive across Finland last night to one customer
[10:47:09] <jsskangas> ok so i need to solve proplem how to run two different kinematics set on linuxcnc
[10:47:39] <seb_kuzminsky> yep, exactly
[10:47:40] <jsskangas> and command m128 and m129 switches between these two
[10:48:22] <seb_kuzminsky> that sounds right
[10:49:00] <seb_kuzminsky> i agree with cradek's suggestion that you study how linuxcnc currently switches between Free mode (aka joint mode) and Teleop mode (aka world mode)
[10:49:13] <jsskangas> from this we will get back to my initial problem: how Can I update my position to planner and others that needs it so that shudden jump wont happends
[10:49:47] <jsskangas> this XYZAC kins exsample did not work
[10:50:02] <seb_kuzminsky> that will provide the foundation of the understanding you will need to add multiple simultaneous kinematics to linuxcnc, and the commands to switch between them
[10:50:04] <jsskangas> if you moved in joint mode
[10:50:48] <jsskangas> ok, where I can find these functions or documents about it
[10:50:51] <jsskangas> ?
[10:51:31] <jsskangas> or source where this transition happens
[10:52:17] <jsskangas> I did try to look at linuxcnc exsamples of kinematics, did not find anything related to this
[10:52:38] <seb_kuzminsky> all the docs we have are in the Developer Information section here: http://linuxcnc.org/docs/2.7/html/
[10:53:26] <seb_kuzminsky> do you have a git clone of our source? in the master branch, look in src/emc/kinematics for some examples of different kinematics modules
[10:54:45] <jsskangas> http://linuxcnc.org/docs/2.7/html/motion/kinematics.html
[10:54:47] <seb_kuzminsky> and look in src/emc/motion/command.c for the code to switch between Free and Teleop
[10:55:16] <seb_kuzminsky> yes, that's a good one too
[10:55:40] <jsskangas> found this but it does tell anything about how system behind that works
[10:56:07] <seb_kuzminsky> yes
[10:56:21] <seb_kuzminsky> look at the code i linked you for how it all actually works
[10:56:50] <seb_kuzminsky> the code is the best source of answers to these low level questions
[10:57:56] <jsskangas> Sorry I litle bit new what comes to compiling and coding of linuxcnc but will sources been dowloaded automaticly when you install dev version
[10:57:57] <jsskangas> ?
[10:58:19] <jsskangas> Or need to get them somewhere else
[10:58:42] <seb_kuzminsky> no, the linuxcnc-dev package does not contain the source code
[10:58:52] <seb_kuzminsky> it contains tools and headers needed to build out-of-tree drivers and components
[10:59:16] <seb_kuzminsky> what you want is this: http://linuxcnc.org/docs/2.7/html/code/contributing-to-linuxcnc.html#_linuxcnc_official_git_repo
[11:00:36] <seb_kuzminsky> looking at the Contributing document, i realize there should be a section after the Git section describing how to configure & compile it
[11:01:11] <seb_kuzminsky> for now you can look at the top-level README file for the commands used to configure & compile
[11:01:42] <jsskangas> thanks i will try to look at it if I find solution
[11:01:47] <seb_kuzminsky> great!
[11:01:59] <seb_kuzminsky> ask here if you get stuck, or let us know where we can improve the documentation
[11:02:14] <jsskangas> I will
[11:03:32] <jsskangas> I will dowload those and try to get some sense for it, to me it looks like kinematics module is build for robotics point of view
[11:04:45] <jsskangas> but even in there you should be able to run different kinematics chains when changing different toll
[11:04:47] <jsskangas> toll
[11:04:49] <jsskangas> tool
[11:33:01] <jsskangas> I'm looking how kinematics is implemented to linuxcnc and I thinks I need week or two to think how multiple kinematics chains could be integrated to current system.
[11:34:08] <jsskangas> As I get more familiar with motion related code I will get back with suggestion or more stubid questions.
[11:34:20] <jsskangas> Now I off for drind and dinner
[11:34:50] <jsskangas> drink
[11:54:15] <archivist> kick flyback out of #linuxcnc
[11:56:56] <cradek> you think he's spamming?
[11:57:27] <cradek> yeah he's said the same thing twice
[11:58:24] <archivist> he is a pain in just about any channel he appears in
[11:58:44] <cradek> is he flogging this product in other channels too?
[11:58:58] <archivist> can be sensible not not too often
[11:59:58] <cradek> er no, I was mistaken, he has not said it twice
[12:00:24] <cradek> I don't think I see enough reason to kick him - can you point me to more?
[12:02:46] <archivist> banned in ##electronics and #classiccmp, not by me
[12:06:57] <ssi> is he actually shilling that stupid uv adhesive?
[12:07:12] <cradek> I thought so at first, but I don't think so now
[12:07:17] <cradek> I don't see anything wrong right now
[12:08:42] <archivist> tends to be a bit of a monologue with him around, not helpful to actual users like blib
[12:11:37] <archivist> so to retrofit a cmm with linuxcnc, that is the burning question, I have :)
[12:12:01] <ssi> do it!
[12:12:39] <archivist> booked to collect it on Friday
[12:13:24] <cradek> is it motorized or passive?
[12:14:15] <archivist> define passive (Faro arm?), I would call it motorised
[12:14:30] <cradek> I mean do you move it yourself and poke things with it
[12:14:40] <archivist> jog box
[12:14:48] <cradek> cool
[12:15:00] <archivist> and programs I think
[12:15:53] <archivist> went to view it today see what the bringing home problem are or not
[12:17:17] <cradek> I predict one problem is it's effing heavy
[12:17:39] <cradek> sounds like a fun project
[12:17:44] <archivist> not as heavy as was predicted I think
[12:18:00] <cradek> how big is it?
[12:18:31] <archivist> the granite is only 6" thick and it has a 300mm max working
[12:18:54] <archivist> the frame about a meter square
[12:19:06] <cradek> neat
[12:19:55] <archivist> images off ebay http://www.collection.archivist.info/archive/mirror/brown_sharpe/
[12:21:30] <archivist> pic 10 is the granite which is not all the way to frame edge
[12:21:50] <cradek> ha, did not expect a pc in that control box
[12:22:08] <archivist> two PCs
[12:22:21] <archivist> dunno why there are two though
[12:23:23] <ssi> what is the column made of?
[12:23:51] <ssi> oh I see with the cover off now
[12:23:51] <archivist> no idea yet
[12:25:28] <archivist> looks like 3 round bar air bearing ways, cannot see yet how they stop rotation around the bars unless the pads slide in the granite too
[12:25:39] <archivist> on
[14:07:25] <tinkerer> https://www.youtube.com/watch?v=mXI4WWhPn-U&feature=youtu.be
[14:53:48] <seb_kuzminsky> wtf did i just watch
[15:01:17] <mozmck> Is there a way to make linuxcnc remove G54 offsets after homing? Basically, when I home I want the axis to be set to 0
[15:01:49] <cradek> it's an important feature to not lose offsets
[15:02:21] <cradek> there's currently no way to defeat this important feature
[15:03:01] <seb_kuzminsky> other than by running some MDI by hand, or by VCP button + halui
[15:03:30] <mozmck> I'm sure it's important for some/many users, for others, we want to zero the axis when homed.
[15:03:53] <cradek> also preserved are g92 offsets, and whether or not they are applied
[15:04:08] <seb_kuzminsky> http://linuxcnc.org/docs/html/common/User_Concepts.html#_when_you_8217_re_lost
[15:04:17] <seb_kuzminsky> asciidoc's URLs never cease to amaze me
[15:05:11] <seb_kuzminsky> i wonder if it would work to put "G10 L2 P1 X0 Y0 Z0 R0" in the startup gcode in the ini
[15:05:24] <seb_kuzminsky> that's almost but not quite what you want, right?
[15:05:27] <cradek> well he said while homing
[15:05:29] <mozmck> Hmm, I might try that.
[15:05:41] <cradek> mozmck: what problem are you solving?
[15:05:58] <mozmck> I want the axis to go to 0 after homing.
[15:06:12] <cradek> heh
[15:06:19] <cradek> why do you want that?
[15:06:35] <mozmck> Instead of having to touch off and zero. To save clicks! :)
[15:07:03] <seb_kuzminsky> you'd still have to touch off to the work, right?
[15:07:42] <cradek> I guess I'm wondering about the workflow that's led you to this
[15:08:15] <mozmck> For X and Y, no. I'm not exactly sure why they want it for X and Y, because we zero the axes at the location we are going to cut anyhow.
[15:08:51] <mozmck> I think for Z I might should just change to a probe move instead of homing.
[15:09:52] <cradek> do I understand that your gcode sets something like G10 L20 P1 X0 Y0 so it always just cuts wherever you start it?
[15:11:16] <mozmck> For cutting pieces out of a 4' x 8' sheet of metal, many shops rarely use the whole sheet at once. So they make a part which starts at X0, Y0, and then move to a spot on the metal where there is enough metal to cut that part out of, zero x and y (G10 L20 P0 X0 Y0), and then cut.
[15:11:37] <cradek> ok cool
[15:11:43] <mozmck> The G10 is done with a button, so they manually Zero the axis.
[15:12:56] <mozmck> It's actually: self.gscreen.mdi_control.set_axis(axis, 0.0)
[15:14:10] <cradek> ok I bet that's like touch off
[15:14:25] <mozmck> I tried calling that in my button code after telling linuxcnc to home the axis - but it does not seem to work. I should try and see if maybe it will work to just use a probe move for Z
[15:14:51] <cradek> and a user has said he doesn't like when he starts up and sees the previously used origin
[15:15:18] <cradek> right after homing maybe you're just not in mdi mode?
[15:15:51] <mozmck> Yep, the mdi_control.set_axis function winds up running this: m = "G10 L20 P0 %s%f"%(axis,value)
[15:16:45] <mozmck> I don't know - the mode gets set to manual just before the command to home.
[15:16:53] <mozmck> So I assumed that's the mode it would be in?
[15:20:19] <cradek> yeah bet so
[15:21:11] <cradek> can you just tell the user it's a feature that it remembers the previous origin? that's also how it works from program to program, after all
[15:23:26] * cradek <- not a salesman
[15:24:32] <mozmck> :) Unfortunately, our shop manager says it's very important to him and other users. So I get to figure out how to make it work :)
[15:25:40] <cradek> heh "and also all the users I manage agree with me" is an extremely common sentiment
[15:26:04] <micges> mozmck: maybe you could touchoff at start of gcode? (sorry if I didn't understand the problem)
[15:26:06] <mozmck> Well, he is a user himself - he has a welding shop as well.
[15:26:28] <cradek> I understand jthornton puts G92 X0 Y0 at the beginning of this kind of gcode
[15:27:02] <cradek> but that's still going to be remembered until you change it
[15:28:11] <mozmck> micges: No, they basically want it to reset to 0 every time you home an axis. Right now when you home, it will still have the G54 offset and so even though you are at physical 0,0 it reads like you are at -20,-40 or something.
[15:30:46] <micges> if so, only thing in mind is to make hal trigger to do mdi command after homing
[15:31:19] <cradek> if you home only one axis what is the expected behavior?
[15:31:53] <mozmck> We want the axis to home (usually to a switch), and then set position to 0
[15:32:43] <cradek> ok but your solution will change the other axis's offsets too, like maybe if you home X, X will go to 0 and Y will change from -20 to -30
[15:32:54] <mozmck> I can make hal trigger when a home is finished?
[15:33:25] <micges> use axis.n.homed with oneshot
[15:34:04] <mozmck> cradek: I'm only homing one axis at a time, and I was only calling G10 P20 P0 with the axis I just homed.
[15:34:17] <cradek> ah I see
[15:34:19] <mozmck> micges: thanks! I may look at that.
[15:35:18] <mozmck> I'm wondering if with the way I coded it the G10 P20 line gets ignored because it is sent while still homing.
[15:35:30] <cradek> I'd expect to see error messages
[15:35:44] <micges> me too
[15:36:10] <mozmck> I see. I did use the linuxcnc.command().wait_complete() function in between, and thought that should work.
[17:59:05] <cradek> arrrgh whitespace changes arrgh
[18:08:22] <seb_kuzminsky> http://wheningit.tumblr.com/post/32823590777/when-most-of-the-change-in-your-diff-is-whitespace
[18:17:35] <cradek> brb rebase interrupted to read tumblr
[18:18:31] <cradek> http://33.media.tumblr.com/tumblr_m55iq5eEmb1rqfksw.png
[18:18:38] <cradek> I did NOT give them permission to use a picture of me
[19:34:00] <skunkworks> actually cut the penguin profile in realspace
[19:39:06] <skunkworks> http://imgur.com/a/hm4PA
[19:39:53] <seb_kuzminsky> cool!
[19:40:09] <seb_kuzminsky> it's always kind of magical to see real-world parts made from programs
[19:41:23] <skunkworks> it has been run virtually 1000's of times :)
[19:41:41] <seb_kuzminsky> heh yep
[19:43:18] <skunkworks> that is the coarse one. there is one with finer step-over
[19:44:38] <skunkworks> I didn't have a long enough endmill to do the whole program
[19:44:46] <skunkworks> Ball
[19:45:20] <seb_kuzminsky> hey no swearing in the channel
[19:46:41] <skunkworks> looks like there might be slight backlash in z.. it cuts slightly deeper one one side of the belly vs the other
[19:47:27] <skunkworks> you can really see it when you are only cutting on the very tip of the ball endmill
[20:02:37] <cradek> no I didn't mean make -j89
[20:10:16] <cradek> seb_kuzminsky: I wonder if we should have suggested jsskangas do his work based on ja
[20:15:25] <KGB-linuxcnc> 03Chris Radek 05joints_axes8 c5eecda 06linuxcnc New branch with 167 commits pushed, 10183 files changed, 038789(+), 045076(-) since master/aa37cb0
[20:15:47] <KGB-linuxcnc> 05joints_axes8 c5eecda 06linuxcnc 04. branch deleted * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=c5eecda
[20:15:55] * cradek whistles innocently
[20:16:03] <skunkworks> uh..
[20:16:12] * cradek whistles louder
[21:52:57] <skunksleep> cradek: false start?
[21:55:43] <seb_kuzminsky> i asked him to stay his hand until i add a test i hope will show the only current known problem with ja
[21:55:57] <seb_kuzminsky> then i got distracted playing bughouse with my kids