#linuxcnc-devel | Logs for 2016-08-24

Back
[00:49:50] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15gmoccapy commented on issue #157: Hallo Chris,... 02https://github.com/LinuxCNC/linuxcnc/issues/157#issuecomment-241960438
[00:50:15] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15gmoccapy commented on issue #157: Hallo Chris,... 02https://github.com/LinuxCNC/linuxcnc/issues/157#issuecomment-241960438
[01:54:31] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15gmoccapy commented on issue #139: Hallo,... 02https://github.com/LinuxCNC/linuxcnc/issues/139#issuecomment-241969360
[08:53:46] <cradek> oh good
[08:55:54] -linuxcnc-github:#linuxcnc-devel- [13linuxcnc] 15cradek closed issue #157: Wrong DRO after start up 02https://github.com/LinuxCNC/linuxcnc/issues/157
[10:55:54] <emcPT> Anyone knows if it is possible to force motor.pos-cmd to a determined value, when the respective axis is disconnected?
[10:59:29] <jepler> emcPT: no, not while "machine on".
[11:00:24] <emcPT> Issue is the following: On a lathe a C axis exists. When the spindle is rotating (not commanded by the C axis), but from the spindle itself, the spindle of course rotates and the C "position display" should be refreshed
[11:00:37] <emcPT> and contaning the actual angular position of the C axis.
[11:01:10] <jepler> that is not anything linuxcnc supports at the moment.
[11:01:12] <emcPT> This is hard for me to explain, but all machines that I worked before using a C axis, works this way.
[11:01:23] <emcPT> humm....
[11:01:37] <jepler> we would be happy to see support for this kind of setup developed, I think there are more than a few users who would benefit from it.
[11:02:08] <jepler> but you are not going to be able to do that by a halfile or inifile, you'll need to design and implement changes to linuxcnc, probably in task and the realtime motion controller.
[11:03:08] <emcPT> Very good. I have discussed this with my partner and we also reached the same conclusion. Hard to start though.
[11:03:12] <jepler> and probably the gcode interpreter, I assume there is a fairly standard code for changing the mode of an axis
[11:04:26] <emcPT> Our idea was: If a determined pin is active (would be the C axis is off/disconnected), force the pos-cmd to be updated to a value resulting from the encoder feedback.
[11:05:18] <jepler> My first intuition is that a gcode setting would control it
[11:06:15] <jepler> because, for instance, you could detect a problem where the C axis was in spindle mode but the part program tried to move the C axis..
[11:06:45] <jepler> and because the interpreter needs to know the position of the axis when it changes modes back from spindle-mode to C-axis mode
[11:07:11] <jepler> by using a g or m code, it's clear when to copy the value back to the interpreter
[11:08:50] <jepler> I don't know what is best for users in this case, it's outside my experience
[11:09:17] <emcPT> "interpreter needs to know the position of the axis when it changes modes back from spindle-mode to C-axis mode". Well, since our ideia was to connect the cmd to the encoder signal the current position would always be the correct on
[11:09:19] <emcPT> one
[11:10:37] <emcPT> so, when changing to C-axis-mode or spindle-mode, the C axis current position will always reflect the current position
[11:12:38] <jepler> but when reading gcode the interpreter doesn't consult the current axis position when deciding what a given line of gcode means
[11:12:58] <jepler> it consults its own idea of what the position will be after executing all the previous lines of gcode
[11:13:46] <jepler> only in a very few situations, such as when starting to execute a part program, when completing a probing move, and maybe a few others, does the interpreter read the actual motor position
[11:15:47] <jepler> say that your gcode is: G91 (incremental distance mode) / M3 S100 (C axis to spindle mode) / G1 X10 F100 (move X incrementally by 10mm) / M5 (C axis to position mode) / C90 (move C incrementally by 90 degrees)
[11:16:37] <jepler> the interpreter has to read back the position of the C axis when it returns to position mode
[11:17:00] <jepler> but it can't do this 'all the time', because otherwise you can't do contouring. it would dwell at the end of each single move.
[11:19:48] <cradek> I agree that a gcode or mcode should switch modes and do the appropriate synchronizing. that is the only implementation that makes sense to me, considering the current architecture of interp and motion
[11:23:19] <emcPT> I am following. At the same time it looks that the changes involved are quite large.
[11:26:32] <cradek> yeah, it's not a one day project but it's also not a major rewrite
[11:27:01] <jepler> it touches a lot of layers of linuxcnc and they can be daunting when you're not familiar with them yet.
[11:27:27] <jepler> I assume these machines use (would use) WRAPPED=1 for the C axis
[11:27:44] <emcPT> Yes we are already using wrapped=1
[11:27:49] <jepler> so that the way the axis is "wound up" by hundreds or thousands of rotations after used in spindle mode doesn't matter
[11:28:01] <cradek> I'd think so too
[11:28:50] <jepler> cradek: do you think a dedicated code, or M3/4/5 to switch in/out of spindle vs position mode makes more sense?
[11:29:28] <cradek> I don't know. I would start by reading the documentation of other machines
[11:30:17] <emcPT> Normally they have a dedicated M code to "enter" the C axis mode and other to leave it
[11:30:22] <jepler> googling, I find "M14 (C-AXIS MODE ON)" in google's extract from the Smid CNC Programming Handbook
[11:31:11] <emcPT> On this machine that we are working on, the spindle drive also have two modes, one of each condition "spindle" and "c axis"
[11:31:27] <jepler> http://www.machinetoolhelp.com/Applications/G-M-codes-okuma.html has M12-M16 for "machine spindle"
[11:31:41] <jepler> stop / cw / ccw / C-axis / C-axis (NEG)
[11:31:52] <emcPT> It works pretty good as we can spindle it or precise control the C axis.
[11:32:09] <cradek> I can imagine M14 resyncing the interpreter, perhaps even making C appear on the DRO, and setting a hal pin to work whatever clutches/etc, maybe with a loopback like toolchange/locking, then continuing
[11:32:55] <cradek> emcPT: I would love to see this change, and will try to help if you are working on it
[11:33:09] <kirk_wallace> It seems to me in the videos I have seen that C rehomes when there is a switch from spindle to C.
[11:33:44] <emcPT> We are two guys working on this machine. All mechanics are good, so we are giving it a try.
[11:33:45] <cradek> interesting
[11:34:22] <emcPT> I already worked on a okuma where the C did not rehomed, and I think it is the way to go.
[11:34:30] <cradek> reading current position (mod 360), and homing so you know the position (0), are two approaches that could work for M14
[11:34:37] <jepler> haas using m12-m16 for different purposes https://diy.haascnc.com/m-codes-lathes
[11:35:34] <jepler> emcPT: do you do contouring (XC / ZC / XZC) moves, or is this "spindle orient" where you would command C moves alone?
[11:35:47] <jepler> (prompted by seeing M19 spindle orient in haas)
[11:36:26] <emcPT> I am probably seeing things on a very higher layer, but if I was able to "just" force the current C position to a desired one that could be computed when leaving the C axis I believe that I would have the problem solved.
[11:37:53] <emcPT> jepler: yes we can contour (99% sure) will test on a minute with the current config ...
[11:38:20] <emcPT> Let me power the machine. But I think yes, with the C axis working we also have the X and Z available ...
[11:39:03] <jepler> OK, if you want to contour with C axis moves, "spindle orient" does not meet your needs
[11:42:59] <emcPT> Just made a G1 X100 Z100 C180 F200 from the actual position X0 Z0 C0 and it works quite nice
[11:53:49] <jepler> (total aside, I wonder if anybody has ever used the five phase mode of the linuxcnc software stepgen)
[11:54:14] <jepler> hm I didn't find time to do a showcase last weekend
[11:55:03] <jepler> anybody feel like writing one? A short paragraph, a photo or video, a link to a blog entry or forum post. Not your own work, not promoting a commercial product.
[11:57:01] <skunkworks> I think Andy had a config that would switch from free running spindle to position..
[12:03:12] <emcPT> We also posted on the forum. His approach I believe is related with spindle orient.
[12:04:09] <emcPT> So that before entering the C axis mode the spindle is left on the same position. A bit like kirk said.
[12:04:58] <emcPT> (I can be wrong)
[12:23:19] <kirk_wallace> I can't think of anything new for a showcase other than one that breaks both rules: http://www.tormach.com/rapidturn.html
[12:29:19] <cradek> maybe there are three rules: runs linuxcnc
[12:30:26] <jepler> oh I didn't even think of stating that rule :-P
[12:30:55] <kirk_wallace> It won't run on Mach.
[12:31:08] <jepler> > Your board is awaiting panelization
[12:31:23] <jepler> boy it's easy to order a board with oshpark.
[14:07:21] <jepler> > Your board has been assigned to the August 26th panel.
[14:22:42] <KGB-wlo> push to master branch: http://linuxcnc.org/
[14:22:43] -linuxcnc-github:#linuxcnc-devel- [13wlo] 15jepler pushed 1 new commit to 06master: 02https://github.com/LinuxCNC/wlo/commit/27b9753da59aca210fe3980259de7dfe0f0f8102
[14:22:43] -linuxcnc-github:#linuxcnc-devel- 13wlo/06master 1427b9753 15Jeff Epler: new showcase
[14:32:33] <jepler> that one time a guy put a chunk of bismuth in his lathe http://robotroom.com/Bismuth-Casting-and-Machining-1.html
[14:49:12] <jepler> only in the 21st century would you solve "how to display a binary number in decimal" using a 1Mx16 flash memory https://hackaday.io/project/8693-dypled
[14:52:34] <cradek> that's some wonky multiplexing
[14:53:16] <cradek> uh, if you already have a 4->7 decoder...
[14:54:21] <jepler> I don't think it's a 4->7 decoder exactly
[14:54:30] <jepler> I think it only decodes the values 0..6 correctly
[14:55:33] <cradek> (I've used an eprom in this situation)
[14:55:50] <cradek> it sure feels clever while you're doing it
[15:02:06] <jepler> looks like you'd need 32 I/O pins on a micro or cpld to do it in the straightforward way (including the 3 pushbutton inputs)
[16:04:48] <seb_kuzminsky> when i click on the "Blog post" link in the new showcase, i get a blank page
[16:05:17] <seb_kuzminsky> same for all of timeguy.com
[16:05:44] <seb_kuzminsky> downforeveryoneorjustme.com says it's just me
[16:06:18] <seb_kuzminsky> yep, works from home but not from work
[16:06:19] <seb_kuzminsky> nevermind
[16:09:46] <jepler> seb_kuzminsky: huh
[16:21:16] <jepler> seb_kuzminsky: must be on the prontogrammic filter that your workplace imposes
[16:28:48] <seb_kuzminsky> now it works from work
[16:28:51] * seb_kuzminsky shrugs
[16:39:34] <cradek> woo, I got showcased
[18:05:04] <jepler> ooh a new blog from andy about his lathe work!
[18:17:47] <jepler> ooh lathe_pawn with a w.ngc
[20:07:19] <KGB-linuxcnc> 03Jeff Epler 05master 19faffd 06linuxcnc 10src/emc/kinematics/scorbot-kins.c scorbot-kins: fix compiler diagnostic '-Wunused-but-set-variable' * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=19faffd
[20:07:19] <KGB-linuxcnc> 03Jeff Epler 05master 89c62be 06linuxcnc 10docs/src/Submakefile build: note an a2x warning that is spurious * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=89c62be
[20:07:19] <KGB-linuxcnc> 03Jeff Epler 05master 01a0ecd 06linuxcnc 10docs/src/getting-started/updating-linuxcnc.txt docs: Fix 'WARNING: section title out of sequence' diagnostics * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=01a0ecd
[20:07:21] <KGB-linuxcnc> 03Jeff Epler 05master 05c270b 06linuxcnc 10docs/src/code/building-linuxcnc.txt docs: Fix 'WARNING: missing section: [sect5]' diagnostics * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=05c270b
[20:42:45] <jepler> so hard to get down to 0 things-that-buildbot-thinks-are-diagnostics
[20:42:54] <jepler> echo " ERROR: Kernel configuration is invalid.";\
[20:43:18] <jepler> for instance, this command (not executed!) is flagged as the one and only "warning" in the most recent build of most rtai kernel-mode targets
[20:43:33] <jepler> er, one of them at least
[21:27:17] <KGB-linuxcnc> 03Jeff Epler 05master dd022c0 06linuxcnc 10src/emc/rs274ngc/rs274ngc_pre.cc rs274: Notify user on terminal if link or rename fail * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=dd022c0
[22:01:26] <linuxcnc-build> build #2642 of 1403.rip-wheezy-amd64 is complete: Failure [4failed runtests] Build details are at http://buildbot.linuxcnc.org/buildbot/builders/1403.rip-wheezy-amd64/builds/2642 blamelist: Jeff Epler <jepler@unpythonic.net>
[22:43:56] <linuxcnc-build> build #4498 of 0000.checkin is complete: Failure [4failed] Build details are at http://buildbot.linuxcnc.org/buildbot/builders/0000.checkin/builds/4498 blamelist: Jeff Epler <jepler@unpythonic.net>