#linuxcnc-devel Logs

Mar 03 2017

#linuxcnc-devel Calendar

12:02 AM KGB-linuxcnc: 03Kim Kirwan 05kimk/configure 7400141 06linuxcnc 10debian/configure Merge remote-tracking branch 'origin' into kimk/configure * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=7400141
12:03 AM KGB-linuxcnc: 03Kim Kirwan 05kimk/configure 76ef369 06linuxcnc 10debian/configure Bring private branch in line with master * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=76ef369
12:18 AM KGB-linuxcnc: 03Sebastian Kuzminsky 052.7 d5647b5 06linuxcnc 10docs/src/config/ini-config.txt docs: remove a footnote about the behavior of emc2 v2.4 * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=d5647b5
01:26 AM KGB-linuxcnc: 03Sebastian Kuzminsky 052.7-tool-info 63a6a20 06linuxcnc 10(17 files in 3 dirs) WIP: tests: add a test of tool & pocket variables * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=63a6a20
01:26 AM KGB-linuxcnc: 03Sebastian Kuzminsky 052.7-tool-info e89daca 06linuxcnc 10src/emc/nml_intf/emctool.h 10src/emc/rs274ngc/interp_namedparams.cc WIP: add FIXMEs where we need to add the pocket * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=e89daca
01:27 AM seb_kuzminsky: andypugh: this reproduces the problem jtc reported, but doesn't fix it
11:07 AM seb_kuzminsky: nonrandom toolchangers use tool number 0 to mean "no tool", but random toolchangers consider 0 to be a valid tool like any other
11:08 AM seb_kuzminsky: http://linuxcnc.org/docs/2.7/html/gcode/other-code.html#sec:select-tool
11:12 AM seb_kuzminsky: apparently we sometimes use tool number -1 to mean "no tool" or "unknown tool": https://github.com/LinuxCNC/linuxcnc/blob/master/src/emc/rs274ngc/rs274ngc_pre.cc#L1273
11:12 AM seb_kuzminsky: i think we should standardize on this -1 as much as possible
11:33 AM seb_kuzminsky: on random toolchangers, interp knows the real pocket number, on nonrandom it does not
11:33 AM seb_kuzminsky: "you're in a maze of twisty code paths, all similar"
11:38 AM KGB-linuxcnc: 03Sebastian Kuzminsky 052.7-tool-info dc55c45 06linuxcnc 10(12 files in 2 dirs) test: make room for two random configs... * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=dc55c45
11:38 AM KGB-linuxcnc: 03Sebastian Kuzminsky 052.7-tool-info b03465f 06linuxcnc 10(7 files) add test random-with-startup-tool * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=b03465f
11:45 AM seb_kuzminsky: cradek: you were right as usual, on random toolchanger machines interp doesn't compact its pockets
11:49 AM linuxcnc-build_: build #3272 of 4004.deb-lucid-amd64 is complete: Failure [4failed shell_1] Build details are at http://buildbot.linuxcnc.org/buildbot/builders/4004.deb-lucid-amd64/builds/3272 blamelist: Sebastian Kuzminsky <seb@highlab.com>
11:55 AM cradek: since they correspond to a physical carousel or tool chain that's not too surprising
11:56 AM cradek: but I thought the compacting for nonrandom would be the same throughout ... apparently that's where my expecations are wrong
12:04 PM seb_kuzminsky: on nonrandom, interp compacts but io does not
12:04 PM seb_kuzminsky: io's behavior makes sense, it might need to know the real pocket
12:04 PM seb_kuzminsky: but interp's behavior does not make sense to me
12:05 PM seb_kuzminsky: tool change is not a performance-critical operation, skipping over the empty pockets in interp's tool table (which is easy, since they're clearly marked) should be no problem
12:06 PM seb_kuzminsky: i think we have to either stop compacting interp's tool table, or add a new field to CANON_TOOL_TABLE for the real pocket
12:07 PM seb_kuzminsky: i prefer the first, though i'm loath to make such an invasive change in 2.7
12:08 PM seb_kuzminsky: normally i'd be afraid that trying to make a change like that would have ramifications all over the spaghetti, but maybe since cradek did much of the work when adding random tool changers it won't be so bad
12:08 PM * seb_kuzminsky <-- ever the optimist
12:09 PM cradek_: huh
12:11 PM cradek_: I missed all your comments since mine, but see them now
12:14 PM cradek_: seb_kuzminsky: it looks to me like io calls readToolTable() which packs nonrandom (search for fakepocket)
12:14 PM cradek_ is now known as cradek
12:15 PM -!- #linuxcnc-devel mode set to +v by ChanServ
12:18 PM seb_kuzminsky: cradek: loadToolTable, but yeah
12:20 PM seb_kuzminsky: i looked at stat.tool_table on a random and a nonrandom machine; nonrandom is compact but random is not (on random, tool_table[] index matches pocket number from tool table file)
12:21 PM cradek: yes that's what I expect
12:21 PM cradek: so the problem is interp doesn't have access to the fms[] array that io has?
12:21 PM seb_kuzminsky: mmmaybe
12:21 PM seb_kuzminsky: what does fms mean?
12:22 PM seb_kuzminsky: i get that it's the mapping from compact index to tool-table-file pocket
12:22 PM cradek: it stands for "the P number for this tool in the nonramdon case"
12:22 PM seb_kuzminsky: ah, makes sense ;-)
12:23 PM cradek: it stands for "the p number For this tool in the nonrandoM caSe"
12:23 PM cradek: heh there
12:23 PM seb_kuzminsky: so yeah, looks like interp gets its tool table from iostat, but iostat doesn't contain fms
12:24 PM seb_kuzminsky: but if stat.tool_table is non-compactified on random, why not use that on non-random too?
12:25 PM cradek: because on nonrandom you can have P100000000
12:25 PM seb_kuzminsky: oh noes
12:26 PM seb_kuzminsky: seems silly to have different rules for those two, but i guess we're stuck now
12:26 PM seb_kuzminsky: i'm off to the dayjob for a while, thanks for educating me again
12:27 PM cradek: I bet there's a more appropriate data structure than a C array, but same stuckness
12:27 PM cradek: :-/
12:27 PM cradek: cheers
01:14 PM andypugh: What we need, perhaps, is a tool table as a database where the pocket is just another data item related to the tool. Someobody should write a branch with that in it.
01:14 PM cradek: :-/
01:15 PM andypugh: TBH I am sure that the bug here is as bad, or worse, in the tool database branch.
01:55 PM seb_kuzminsky: i think this has nothing to do with how the tool table is stored on disk, and everything to do with how the information is used within the different parts of linuxcnc
03:04 PM linuxcnc-build: build #4805 of 1201.rip-lucid-rtai-i386 is complete: Failure [4failed compile runtests] Build details are at http://buildbot.linuxcnc.org/buildbot/builders/1201.rip-lucid-rtai-i386/builds/4805 blamelist: Sebastian Kuzminsky <seb@highlab.com>
03:28 PM andypugh: seb_kuzminsky: Did you spot the similar thing in stdglue?
03:28 PM andypugh: “ # This is probably nonsense”
03:38 PM linuxcnc-build: build #4806 of 1201.rip-lucid-rtai-i386 is complete: Failure [4failed compile runtests] Build details are at http://buildbot.linuxcnc.org/buildbot/builders/1201.rip-lucid-rtai-i386/builds/4806 blamelist: Sebastian Kuzminsky <seb@highlab.com>
03:43 PM andypugh: seb_kuzminsky: I am now a little more confused than I was. I have had a play with sim/vismach/vmc_index which uses the change_prolog function from stdglue.py and I have a feeling that that gets the pocket number correct. (It appears that, surprisingly, self.params["current_pocket"] = self.current_pocket # this is probably nonsense actually sets the #<_current_pocket> parameter. Maybe the leading _ is implicit
04:02 PM linuxcnc-build: build #4810 of 0000.checkin is complete: Failure [4failed] Build details are at http://buildbot.linuxcnc.org/buildbot/builders/0000.checkin/builds/4810 blamelist: Sebastian Kuzminsky <seb@highlab.com>
04:26 PM KGB-linuxcnc: 03Sebastian Kuzminsky 052.7-tool-info 080e5eb 06linuxcnc 10tests/tool-info/non-random/test-ui.py 10tests/tool-info/random-no-startup-tool/test-ui.py 10tests/tool-info/random-with-startup-tool/test-ui.py deal with unexpected Error messages better * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=080e5eb
09:10 PM Tom_itx is now known as Tom_L