#emc-devel | Logs for 2010-11-17

[00:01:03] <andypugh> hardware abstraction layer user interface ? It's perfectly clear. (Perhaps I have been assimilated)
[00:01:03] <jepler> jthornton: I think most of the problems stemmed from the copy of your .ssh not having the right permissions
[00:01:03] <jthornton> like just change it to Virtual Control Panel
[00:01:13] <jepler> andypugh: yes, yes you have
[00:01:33] <jepler> jthornton: and once you pulled with a git:// url, everything seemed OK until you wanted to push
[00:01:44] <jthornton> yes
[00:01:51] <jepler> .. and at every step of the way, the error messages from git and ssh were pretty poor to nonexistent
[00:01:51] <jthornton> thanks for helping
[00:02:03] <andypugh> Hmm, my comp is throwing a null pointer exception even before running EXTRA_SETUP
[00:02:26] <jepler> jthornton: as for your rejected push, did you intend to be pushing some changes on master and v2.4_branch both, or just on master?
[00:02:45] <jepler> andypugh: hm, I bet you can't refer to pins or parameters at all during EXTRA_SETUP
[00:02:45] <jthornton> just master
[00:03:09] <andypugh> That could well be the problem.
[00:03:21] <jthornton> I mistakenly edited one of the docs on this 10.04 computer and need to reset that
[00:03:30] <andypugh> No way to do per-instance setup then?
[00:03:42] <jthornton> instead of using the virtualbox 8.04
[00:03:50] <jepler> andypugh: one of the things you *can* do in EXTRA_SETUP is set personality .. which requires that the pins haven't been created yet .. since they depend on personality
[00:04:42] <andypugh> OK, so I need to default a pin to a magic number then?
[00:05:18] <jepler> andypugh: is that what you are trying to do, assign a default value to a pin?
[00:05:43] <jepler> andypugh: is it a kind of assignment you can't do directly in the pin declaration? pin in float maxv=1e20;
[00:05:52] <jepler> though I don't recall what limitations there are for arrays and/or with personality
[00:05:54] <andypugh> I am trying to set the initial value of a pin dependent on personality
[00:06:27] <jepler> jthornton: I prefer to git config --global push.default tracking
[00:06:39] <jepler> jthornton: that way, when I "git push" it only pushes the branch I'm on
[00:06:48] <andypugh> I can see a very easy way round it. The pin is my actual state machine state, I just need an initialisation state. It's trivial.
[00:06:48] <jthornton> ok, thanks
[00:07:11] <jepler> andypugh: .. if only you'd known at the start that you couldn't access pins or parameters in EXTRA_SETUP, that is
[00:07:33] <andypugh> A day is not wasted in which you learn something.
[00:08:07] <andypugh> I would prefer to have learned I was irresistable to women, but you take what happens.
[00:10:03] <andypugh> Is it considered terribly bad form to goto a switch label?
[00:10:14] <jepler> andypugh: I don't think you can
[00:10:45] <andypugh> The identical syntax is designed to trick the unwary?
[00:11:44] <jepler> hmmmmm
[00:12:03] <jepler> they're not
[00:12:46] <andypugh> Switch cases have to proceed completely linearly then?
[00:12:52] <jepler> but goto labels are accepted inside case statements just like a lot of other places
[00:13:27] <andypugh> It's not critical, it just means a wasted millisecond before the motors can start to move :-)
[00:14:09] <jepler> maybe you should show me the code you want to write
[00:15:20] <jepler> this stupid source file does happen to compile: http://pastebin.ca/1993970
[00:15:40] <jepler> but notice how one switch has 'p:' and 'q:' and the other has 'case p:' and 'case q:'
[00:15:59] <jepler> the latter are cases, and the former are targets for gotos
[00:16:29] <CIA-2> EMC: 03jthornton 07v2.4_branch * r064b9fb464cc 10/docs/src/Master_Developer.lyx: change version
[00:16:45] <jthornton> all right I have the virtual box working now
[00:16:58] <jepler> you can use gotos and/or their associated labels inside case statements, but make sure to distinguish between the two
[00:17:45] <andypugh> It's the bldc motor driver. Depending on the feedback devices fitted (about 12 possible combinations) you can drive the motor in a number of different ways, then swap from bad ways to better ways as more information becomes available (index markers, hall sensor edges, the completion of an alignment sequence). So personality defines the state machine state (encoded in a switch). The -1th state is now used to initialise
[00:17:45] <andypugh> initial startup state depending on personality. But then ideally the switch would run again, or at least execute the state corresponding to the newly-calculated mode of operation.
[00:19:17] <andypugh> However, setting the state and exiting is hardly a problem anyone will ever notice unless they have a several-second servo period
[00:20:02] <jepler> as long as you can see to your satisfaction that the code will execute a bounded number of times, there's no reason you can't use a flow-control such as while or goto to repeat it when it is warranted
[00:20:27] <CIA-2> EMC: 03jthornton 07master * r3ee35b2cf425 10/docs/src/Master_Developer.lyx: change version
[00:20:45] <andypugh> I am not easily satisfied about that sort of thing.
[00:21:04] <jepler> is the idea that the component would be doing this determination at every run? or that you'd use it during setup to help figure the right parameter, and then code it expliclty in hal after that?
[00:21:44] <andypugh> I _could_ just start the function with an "if state == -1 then state = personality" but that seems like it would waste time.
[00:22:36] <jepler> unless you think you can arrange a test to measure the wasted time, don't worry about wasted time that much
[00:22:37] <andypugh> It needs to run every startup.
[00:23:06] <jepler> how many times a second do you think your computer can execute if(a == -1) a = b; ? I bet it's a lot.
[00:24:24] <jepler> jthornton: I don't believe I ever have browsed your website before. I was interested to read your winemaking pages. This year I've made some apple wine (starting from juice) and found it a very rewarding work.
[00:24:58] <jepler> however, I notice a number of placeholder pages, so you'd best get back to work!
[00:25:35] <andypugh> A good example would be a brushless motor with an incremental encoder. You don't know where the rotor is at startup, so can't commutate it. You can, however, apply a rotating field until you see an index, and then start commutating it properly.
[00:25:36] <jthornton> lol, yes I need to
[00:26:08] <jthornton> apple is special as it will oxidize very fast if you don't keep a co2 cap on it at all times but very good
[00:26:12] <andypugh> How does apple wine differ from cider?
[00:27:02] <jepler> andypugh: I call it applewine because that's what they call the kind traditionally made around frankfurt (my favorite kind)
[00:27:14] <jepler> well, I should say that they call it apfelwein
[00:27:41] <andypugh> Yeah, dreadful spelles those germans. Much like the dutch.
[00:27:56] <andypugh> (Oh, the irony)
[00:28:07] <andypugh> (spellers)
[00:28:11] <jthornton> I made an orange wine that took 5 years to mature but it is very nice now
[00:29:15] <andypugh> A friend of mine has a ginger beer plant. He forgot about it and left it on a baking hot window sill all summer. When he got back he filtered it through a coffee filter. It was _gorgeous_
[00:29:16] <Jymmm> say what?
[00:30:02] <Jymmm> jthornton: Like s/grapes/oranges/ ???????????
[00:30:49] <jepler> bbl guys
[00:30:53] <jepler> I think I'm late for dinner
[00:31:01] <Jymmm> jepler: Enjoy
[00:31:16] <jthornton> yep, but I usually make a fruit wine
[00:31:44] <Jymmm> jthornton: Is there enjoy sugar in the oranges? Seems crops lately haven't been
[00:32:03] <Jymmm> s/enough/enjoy/
[00:32:15] <Jymmm> bah
[00:32:17] <jthornton> yes
[00:32:26] <Jymmm> peeled?
[00:32:36] <jthornton> yes lol
[00:32:59] <jthornton> I usually add some white grape juice to all my fruit wines
[00:33:01] <Jymmm> Well, the rhine has the essenial oils in it
[00:33:04] <jthornton> from a can
[00:33:56] <Jymmm> jthornton: ok, so how do you make orange wine?
[00:35:33] <jthornton> go to gnipsel.com to see
[00:36:33] <andypugh> It's going to take serious work to debug all these possible motor/drive/feedback type combinations. And there are punters waiting....
[00:38:48] <Jymmm> jthornton: Damn dude, you take a LOT of naps! It's even in the wine recipe!!! LOL
[00:38:55] <Jymmm> TWICE!
[00:39:08] <jthornton> LOL
[00:43:32] <CIA-2> EMC: 03jthornton 07v2.4_branch * r3695d29b5ab8 10/docs/src/ (gui/halui.lyx hal/pyvcp.lyx hal/pyvcp_examples.lyx): expand acronyms for new users
[00:43:43] <CIA-2> EMC: 03jthornton 07v2.4_branch * rfffdcf8f5dc6 10/docs/src/index.tmpl: expand acronym for new users
[00:43:53] <jthornton> weee! all is working again
[00:44:31] <jthornton> * jthornton gravitates to the living room to switch on the magnetassswitch
[01:29:38] <jepler> jthornton: thanks as always for your work on the docs!
[02:24:26] <jepler> I could use an opinion: should I put this in v2.4 or not? http://emergent.unpy.net/files/sandbox/0001-pickconfig-make-files-writable.patch
[02:24:44] <jepler> I ran into an error when trying to test pickconfig in a RIP system
[02:25:03] <jepler> I'd done a 'chmod ugo-w' on the whole tree
[02:25:46] <jepler> in our packages, those files apparently get installed with mode -rw-rw-r-- root root, so the problem doesn't happen
[02:26:10] <jepler> so it doesn't affect real users of the packages and I haven't had any reports from non-package, run-installed users about the problem
[02:26:14] <jepler> and that makes me thing master only..
[02:27:06] <jepler> s/thing/think/
[04:11:46] <cradek> wonder what I've missed here over the last few days
[04:20:09] <CIA-2> EMC: 03seb 07master * r77ca54701dc0 10/src/hal/utils/meter.c: fix a never-tripped NULL pointer dereference
[04:54:48] <cradek> think I got all the robot questions answered...
[07:18:35] <CIA-2> EMC: 03seb 07v2.4_branch * raaf0f3e72297 10/tests/hm2-idrom/ (broken-load-test.hal expected skip test.sh): work around a bug in RTAI 3.6.1 on 64-bit
[13:20:33] <jthornton> in the canned cycles section of the user manual there is A- B- C- after the X- Y- Z- axis should that be (U- V- W-) instead?
[13:23:13] <Jymmm> jthornton: I don't think so. xyzabcuvw sounds correct
[13:24:36] <Jymmm> I'm sure there's a reason for it that goes back to ancient times
[13:34:53] <jepler> jthornton: it's more complicated than that
[13:35:32] <jepler> you can specify the three axis letters that are related to the active plane (for instance, in xy plane you can specify xyz and in vw plane you can specify uvw)
[13:35:38] <jepler> you can never specify abc
[13:38:58] <jepler> when this recently came up, I wrote this which I hoped clarified the subject: http://mid.gmane.org/20101101143209.GA7684@unpythonic.net
[13:39:23] <jepler> and as promised I also tightened up the error checking in master, so that G81 ... A ... was actually rejected all the time, instead of sometimes rejected and sometimes accepted with undesirable results
[13:39:47] <jepler> in other news, how about pluggable gcode interpreters? http://pastebin.ca/raw/1994531
[13:41:02] <archivist> I cant see a problem repeating around A,B,C its something I code often in subroutines
[13:42:46] <jepler> archivist: the problem is not conceptual, it's that the code only has parameters for 3 linear axes, not 9 axes..
[13:44:08] <archivist> feature req :)
[14:13:01] <jepler> pluggable interpreter works in sai, not in milltask (yet). comments welcome. http://git.unpythonic.net/view?p=emc2-jepler.git;a=shortlog;h=refs/heads/plug-interp
[14:13:08] <jepler> but for now I'm late for work..
[14:28:19] <mhaberler_> mhaberler_ is now known as mhaberler
[14:57:06] <SWPadnos> alex_joni, the robot has the motors for the waist, shoulder, and elbow in the same place (onthe moving part of the waist joint)
[14:57:32] <SWPadnos> there is a linkage that keeps the lower arm in the same orientation as the upper arm moves
[14:58:06] <SWPadnos> so in effect the lower arm only moves in the plane of the upper arm rotation, but does not rotate, as the upper arm moves
[14:59:09] <SWPadnos> so we just subtract (or add, I don't know which sign ended up working) the shoulder position command from the elbow command, to make the math work like a "normal" serial machine
[15:46:27] <JT-Work> jepler: I just read back the log and I had saved that e-mail and now that my docs computer is back up and running I just wanted to make sure about it
[15:50:49] <jepler> JT-Work: ok, good
[16:19:39] <mhaberler_> mhaberler_ is now known as mhaberler
[16:39:45] <seb_kuzminsky> is it ok if i merge 2.4 into master? the hm2-idrom test fix i did on 2.4 would let the buildbot make debs of master again
[16:40:28] <jepler> seb_kuzminsky: yes, it should be fine
[16:40:39] <jepler> if there are conflicts I'll be happy to help you resolve them
[16:48:09] <seb_kuzminsky> kthx
[16:51:16] <SWPadnos> so that was git fetch / git rebase origin/master (in case there are changes on master since the base version that I edited)?
[16:51:50] <seb_kuzminsky> SWPadnos: if you're working on a local branch based on origin/master, then yes
[16:52:03] <SWPadnos> it's not a branch, but it is local of course
[16:52:24] <seb_kuzminsky> of course it's a branch - you can't commit if you're not on a branch
[16:52:56] <SWPadnos> heh, ok, it's master branch
[16:53:00] <seb_kuzminsky> there you go ;-)
[16:53:10] <SWPadnos> in other words, I haven't made a branch for this development
[16:53:27] <seb_kuzminsky> "git clone" did it for you ;-)
[16:53:35] <seb_kuzminsky> but the master branch is really no different than any other branch
[16:53:35] <SWPadnos> phooey. man does my stuff smell like smoke
[16:53:52] <seb_kuzminsky> the magic kind?
[16:54:06] <SWPadnos> no, the chain-smoking-guy-at-MPM kind
[16:55:07] <seb_kuzminsky> ah yes
[16:55:18] <CIA-2> EMC: 03seb 07master * r473ef030b8f8 10/src/emc/iotask/ioControl.cc: iotask: Fix M61 Qn not loading tool in toolTable[0]
[16:55:19] <CIA-2> EMC: 03seb 07master * rfcb9870c8155 10/src/emc/iotask/ioControl.cc: Revert "iotask: Fix M61 Qn not loading tool in toolTable[0]"
[16:55:20] <CIA-2> EMC: 03seb 07master * rc9c7ebfa472d 10/src/hal/drivers/parport_common.h: ppmc hm2_7i43 pluto: use specified base_hi as fallback
[16:55:21] <CIA-2> EMC: 03seb 07master * rb3954bbdefb3 10/src/emc/usr_intf/ (pncconf/pncconf.py stepconf/stepconf.py): fix stepconf/pncconf's launcher for Ubuntu 10.04
[16:55:23] <CIA-2> EMC: 03seb 07master * r38fc3659c6cc 10/src/emc/usr_intf/ (pncconf/pncconf.py stepconf/stepconf.py): fix stepconf/pncconf's launcher icon
[16:55:24] <CIA-2> EMC: 03seb 07master * r650d17fbff58 10/src/emc/usr_intf/pncconf/pncconf.py: fix pncconf's erratic spindle speed display
[16:55:25] <CIA-2> EMC: 03seb 07master * r73d418e2d86c 10/src/emc/usr_intf/pncconf/pncconf.py: finish fixing pncconf's launcher icon
[16:55:26] <CIA-2> EMC: 03seb 07master * r0a9f5cf47ae3 10/src/emc/usr_intf/stepconf/stepconf.py: change stepconf's spindle-rpm-filtered signal name
[16:55:28] <CIA-2> EMC: 03seb 07master * rd4e98fa82623 10/tests/hm2-idrom/skip: skip the hm2_idrom test on 64-bit hardy
[16:55:30] <CIA-2> EMC: 03seb 07master * r064b9fb464cc 10/docs/src/Master_Developer.lyx: change version
[16:55:32] <CIA-2> EMC: 03seb 07master * r3695d29b5ab8 10/docs/src/ (gui/halui.lyx hal/pyvcp.lyx hal/pyvcp_examples.lyx): expand acronyms for new users
[16:55:35] <CIA-2> EMC: 03seb 07master * rfffdcf8f5dc6 10/docs/src/index.tmpl: expand acronym for new users
[16:55:37] <CIA-2> EMC: 03seb 07master * raaf0f3e72297 10/tests/hm2-idrom/ (broken-load-test.hal expected skip test.sh): work around a bug in RTAI 3.6.1 on 64-bit
[16:55:44] <CIA-2> EMC: 03seb 07master * r8e25d5262309 10/src/emc/usr_intf/stepconf/stepconf.py: fix stepconf's erratic display of spindle rpm
[16:55:44] <CIA-2> EMC: 03seb 07master * r4ed235453557 10/ (11 files in 7 dirs): Merge remote branch 'origin/v2.4_branch'
[16:55:50] <SWPadnos> that's the thing that would keep my wife away from a Fest there actually. machines and the "shop smell" are fine, but she's very very sensitive to smoke
[16:56:02] <seb_kuzminsky> alakasham! you've got COPD!
[16:56:13] <SWPadnos> it looks like there are a few extra commits in there
[16:56:23] <SWPadnos> COPD?
[16:56:53] <seb_kuzminsky> a smoking-related pulmonary disease
[16:57:00] <SWPadnos> ah
[16:57:02] <seb_kuzminsky> that's all the commits on 2.4 since the last merge into master
[16:57:17] <jepler> yeah, it makes cia verbose but the results look good in gitk
[16:57:38] <jepler> seb_kuzminsky: which mesa fpga card are you using in your mill?
[16:57:42] <SWPadnos> ah, merge 2.4 into master, not the other way around :)
[16:57:42] <seb_kuzminsky> 5i20
[16:58:02] <seb_kuzminsky> tho i'm thinking of switching to a 5i22, to make the wiring for the control panel easier
[16:59:35] <jepler> I'm wishing somebody had a machine with a 9054-based card handy to test the heavily-updated hostmot2 from peter
[16:59:51] <seb_kuzminsky> that would be good
[16:59:55] <jepler> chris and I are all 5i20s, except that I have a 7i43 somewhere I can test with for the epp boards
[16:59:56] <seb_kuzminsky> 5i23 or 4i68
[17:00:26] <jepler> or 3x20!
[17:00:47] <seb_kuzminsky> i need to build up a new hm2 dev/test computer, i'll put a 5i23 in it
[17:00:52] <seb_kuzminsky> sometime this week hopefully
[17:00:57] <seb_kuzminsky> where are the new firmwares?
[17:01:10] <jepler> nowhere yet
[17:02:33] <micges> what are differences between 5i20 and 5i23?
[17:02:50] <seb_kuzminsky> 5i20 has a 200k gate fpga, 5i23 has 400k
[17:03:08] <seb_kuzminsky> also different pci chipsets
[17:03:17] <micges> that means more stuff can be fitted in?
[17:03:30] <seb_kuzminsky> yes, the 5i23 can theoretically have fancier features in the firmware
[17:03:40] <seb_kuzminsky> currently no firmware takes advantage of that
[17:03:45] <micges> I see
[17:03:56] <jepler> different FPGA chip generations, too -- spartan2 vs spartan3
[17:03:59] <seb_kuzminsky> the 5i20 has the plx9030 chipset, the 5i23 has plx9054
[17:04:07] <seb_kuzminsky> i think the 9054 is dma capable and the 9030 is not
[17:04:18] <seb_kuzminsky> but the driver doesnt do dma (yet)
[17:04:41] <seb_kuzminsky> sldo the 5i23 board is slightly smaller physically, so it might fit in a smaller computer than the 5i20
[17:04:49] <seb_kuzminsky> s/sldo/also/
[17:05:45] <micges> sadly I've ordered few weeks ago ten 5i20 so next order will be in 10 weeks, but I can take one 5i23 for tests
[17:06:35] <micges> what can be those fancy features in firmware?
[17:06:39] <SWPadnos> jepler, I can test on a 5i22 in the near future
[17:06:51] <SWPadnos> and a 5i23
[17:07:10] <SWPadnos> or both at the same time - that would be a trick :)
[17:08:48] <micges> seb_kuzminsky: what are your plans for hm2 driver?
[17:10:52] <seb_kuzminsky> micges: it's in maintenance mode for now
[17:10:57] <jepler> micges: right now besides number of I/Os (and access speed, in the case of epp and 3x20) the cards all have broadly the same set of features
[17:11:22] <seb_kuzminsky> i've got a private branch with a cleaned up sub-driver interface, to make it easier to add new features, but it's on the back burnenr
[17:11:46] <seb_kuzminsky> i'd like to add spi at some point
[17:11:51] <jepler> there are some mesa daughtercards/accessories that need driver support before they work; andy pugh has been working on 8i20, and we'd be happy to consider other patches
[17:12:53] <jepler> in the update to the firmwares I recently got from peter there are a number of things, none of which emc can talk to yet: resolver, waveform generator, "twiddler" (I don't even know what that is), dma on the 9054/9056 cards, and probably other stuff
[17:13:21] <seb_kuzminsky> jepler: dma supoport in the firmware? do you mean translation ram?
[17:13:24] <jepler> in principle dma can improve communication speed, though it's not clear to me how it'll work with the "hal controls all timing" model..
[17:13:37] <jepler> seb_kuzminsky: I'm not sure. what peter said to me was: 11:59:29 <pcw_home> demand mode DMA supported on PCI9054 and PCI9056 based cards
[17:13:49] <seb_kuzminsky> huh
[17:15:04] <micges> jepler: did you thinked about irq driven hal threads? is it possible with current design?
[17:15:26] <jepler> micges: no, I haven't given it much thought.
[17:16:19] <SWPadnos> micges, some assumptions would break with interrupt threads, so we'd have to be careful about adding that
[17:17:03] <micges> I see
[17:17:10] <SWPadnos> for instance, individual HAL pin reads/writes are atomic, but many times several pins are related to one another. accessing multiple pins is not atomic
[17:17:31] <jepler> SWPadnos: a problem you already have with more than one hal thread anyway
[17:17:39] <SWPadnos> (so something as simple as weighted_sum might get an erroneous result if an overflow occurs)
[17:17:51] <SWPadnos> jepler, yes, but it's worse when the threads are asynchronous
[17:18:12] <jepler> an irq thread would have its priority relative to the other threads (if any) and you'd have to hope for the best
[17:18:29] <jepler> I mean, you'd have to see that your hal configuration will work right given that priority and possiblity of interruptions
[17:18:39] <SWPadnos> and you know for sure that if motion-controller runs before pid (in the same thread), that all the pins going to pid from motion will be consistent with each other
[17:18:42] <jepler> I don't see why it's harder than a base thread and a servo thread
[17:19:11] <SWPadnos> well, for one thing, we don't have control over priorities (fastest = highest priority)
[17:19:45] <SWPadnos> it's just not as "simple" as adding an RTAPI interface to interrupt threads (which I believe RTAI has)
[17:21:04] <jepler> it may surprise you to know that we have the following API implemented in rtai_rtapi:
[17:21:07] <jepler> int rtapi_irq_new(unsigned int irq_num, int owner, void (*handler) (void))
[17:21:17] <SWPadnos> it does surprise me :)
[17:21:39] <jepler> ./examples/extint/extint.c: retval = rtapi_irq_new(PARPORT_IRQ, module, parport_irq_handler);
[17:21:43] <SWPadnos> no data pointer passed in?
[17:21:44] <jepler> heck, it's even "used"
[17:21:59] <jepler> no, I guess not
[17:22:05] <SWPadnos> oh, well maybe I'm behind the times (wouldn't surprise me)
[17:22:14] <jepler> I think if you tried to use it you'd quickly discover you needed a data pointer
[17:22:22] <SWPadnos> heh
[17:22:23] <jepler> no, you're not behind the times, it's very old and probably never used
[17:23:36] <jepler> it's been there since 2003 'moved rtapi core code into emc2 tree' 07bc1e1
[17:25:42] <SWPadnos> ok, so that can call a function (with no data). I guess it should be possible to use the HAL thread executor function as the handler
[17:26:22] <SWPadnos> but the lack of a data pointer means that you need separate handlers for each IRQ (which is how the kernel used to do it, not sure if it still does)
[17:56:08] <SWPadnos> ok, so I'm not git-in it
[17:56:37] <SWPadnos> git fetch to get the newly merged changes
[17:57:17] <SWPadnos> git rebase origin/master says I can't do that since I have unstaged changes (and lists some files I haven't touched)
[17:57:27] <seb_kuzminsky> git fetch to bring all of a remote repo into your local repo
[17:58:00] <seb_kuzminsky> does "git status" say you're on the branch you think you should be, and all that?
[17:58:04] <SWPLinux> git push fails
[17:58:06] <SWPLinux> lemme check
[17:58:22] <SWPLinux> on branch master ... they have diverged
[17:58:36] <seb_kuzminsky> right, you have some commits on your master that origin/master does not have,
[17:58:41] <seb_kuzminsky> and origin/master has some that you don't have
[17:58:50] <seb_kuzminsky> and you're trying to fix that with a rebase
[17:59:05] <SWPLinux> shouldn't the fetch have retrieved the changes from the master repo?
[17:59:15] <seb_kuzminsky> it did, they're in origin/master now
[17:59:26] <seb_kuzminsky> you can say "gitk master origin/master" to see what's going on
[18:02:08] <SWPadnos> bbias
[18:12:05] <SWPLinux> ok, so gitk has a picture I've never seen before :)
[18:15:16] <SWPLinux> http://www.cncgear.com/images/Screenshot-gitk-emc2.png
[18:15:58] <SWPLinux> so my changes are "stuck" at the node where I made them, but I can't rebase so they get stuck on the "tip" (I get an error)
[18:17:30] <seb_kuzminsky> SWPadnos: you want your "Make iterations and max_iterations into HAL parameters" commit to be rebased on top of origin/master?
[18:17:56] <SWPLinux> no, it's another commit that I want to push
[18:18:07] <SWPLinux> argh
[18:18:16] <SWPLinux> yes, that's what I want to do
[18:18:24] <seb_kuzminsky> ok
[18:18:26] <SWPLinux> (sorry, mi-thunk what you wrote)
[18:18:28] <SWPLinux> nis
[18:18:30] <SWPLinux> mis
[18:18:51] <seb_kuzminsky> click on "Locak uncommitted changes, not checked in to index" to see what dirties your working tree
[18:19:15] <seb_kuzminsky> commit or revert that, so your tree is clean
[18:19:22] <seb_kuzminsky> (git spells revert "checkout")
[18:20:15] <SWPLinux> that's the strange part. the uncommitted changes are in some hostmot2 files, which I haven't touched
[18:20:24] <seb_kuzminsky> i bet you have touched them!
[18:20:34] <seb_kuzminsky> didn't i see you apply andy's 8i20 patch?
[18:20:42] <SWPLinux> oh. perhaps you did :)
[18:20:54] <seb_kuzminsky> that's not just a touch, that's like an enhanced pat-down!
[18:20:56] <skunkworks> busted!
[18:20:58] <SWPLinux> thanks. I didn't remember doing that :)
[18:21:04] <SWPLinux> yeah, baby!
[18:21:22] <seb_kuzminsky> hah
[18:21:47] <SWPLinux> hmmm, so git checkout <what>?
[18:21:55] <SWPLinux> or revert the patches
[18:21:57] <SWPLinux> ?
[18:22:03] <SWPLinux> un-apply, that is
[18:22:08] <seb_kuzminsky> git status to show what's dirty, then git checkout the dirty bits
[18:22:34] <seb_kuzminsky> "git checkout src/hal/drivers/mesa-hostmot2" if you don't object to the nuclear option
[18:22:42] <SWPLinux> ok, just git checkout <the files that are screwed up> should do it?
[18:22:47] <seb_kuzminsky> yep
[18:22:59] <seb_kuzminsky> that'll remove any local changes you have
[18:23:17] <seb_kuzminsky> and restore those files to what they are in the commit that you're working against
[18:23:29] <Jymmm> SWPadnos: http://www.cnn.com/2010/WORLD/americas/11/17/brazil.beautiful.favela/index.html?hpt=C2
[18:23:36] <Jymmm> SWPLinux: http://www.cnn.com/2010/WORLD/americas/11/17/brazil.beautiful.favela/index.html?hpt=C2
[18:24:39] <SWPLinux> cool. I had seen something like that, maybe in National Geographic recently
[18:25:14] <SWPLinux> thanks seb_kuzminsky - I had completely forgotten about the 8i20 thing
[18:25:19] <CIA-2> EMC: 03swpadnos 07master * ra61e167821d3 10/src/emc/kinematics/ (genserkins.c genserkins.h): Make iterations and max_iterations into HAL parameters
[18:25:32] <seb_kuzminsky> sure thing :-)
[18:25:58] <SWPLinux> and since git is a little like magic to me, I figured I had screwed up the incantations
[18:26:13] <seb_kuzminsky> git's got a steep learning curve, that's for sure
[18:26:38] <SWPLinux> yeah, and I think I'm falling down the cliff every time I use it :)
[18:26:54] <Jymmm> SWPLinux: you were standing on your head wearing a frogs foot, right?
[18:28:31] <SWPLinux> oh. I thought it was supposed to be a chicken foot
[18:34:39] <SWPLinux> cradek: joints like the elbow on that robot are somewhat common. I wonder if it would make sense to add a bit parameter to genserkins telling it that the prior joint does not affect orientation
[18:35:10] <SWPLinux> I'd probably implement that by optionally adding/subtracting the rotation value, just like we did
[18:35:49] <SWPLinux> or optionally specifying which joint the rotation is relative to (though that's harder)
[18:35:58] <seb_kuzminsky> SWPadnos: http://emc2-buildbot.colorado.edu/buildbot/builders/lucid-i386-sim/builds/212/steps/compile/logs/stdio
[18:36:42] <SWPLinux> err
[18:36:47] <SWPLinux> I thought it worked at home
[18:38:06] <SWPLinux> but then I typed in the wrong greek word and didn't recompile. silly me
[18:38:13] <cradek> SWPLinux: that would be cool
[18:38:17] <SWPLinux> err, they made me shut down the PC because we were landing :)
[18:39:15] <SWPLinux> I think option A is easily doable. maybe an int so you can say 0, -1, +1
[18:40:38] <CIA-2> EMC: 03swpadnos 07master * r47912a741708 10/src/emc/kinematics/genserkins.c: "alpha" is not spelled "theta"
[18:41:37] <seb_kuzminsky> woot! the buildbot now once again builds master and 2.4
[18:41:44] <SWPLinux> yay!
[18:41:52] <SWPLinux> now to break it again
[18:42:05] <seb_kuzminsky> {hardy,lucid}-sim-{i386,amd64}, hardy-rt-{i386,amd64}, lucid-rt-i386
[18:42:10] <micges> me me me !
[18:54:43] <KimK> jepler: Re: "<jepler> ...there are some mesa daughtercards/accessories that need driver support before they work..." I had talked w/ PCW in the past about volunteering for the resolver/servo board (was it the 7i49?), with Seb's very great help, of course (Hi Seb!). I gave him my info and he said he would let me know when the production version was ready. It would be great experience for me. Let me know.
[19:32:55] <SWPLinux> cradek: do you remember where the other change was in genserkins.c. I have the one where jcopy[x] is modified in kinematicsForward, but I don't immediately see where the corresponding offset should be unapplied in kinematicsInverse
[19:33:31] <SWPLinux> maybe it's the jest array, around line 432
[19:49:52] <SWPadnos> on another topic. am I remembering correctly that the read head on the Cordax CMM outputs a roughly 300mV P-P pseudo-sine wave, centered at about 4.7V or so?
[19:50:49] <cradek> 4.9 maybe?
[19:50:51] <SWPadnos> does anyone know if there's there a separate power source, or if the read head is powered from the "decoder" board?
[19:50:57] <SWPadnos> ok, near 5-ish :)
[19:51:12] <SWPadnos> (I think I'd sum A and C to get the center point anyway, or something like that
[19:51:14] <SWPadnos> )
[19:51:18] <cradek> the board must supply it
[19:51:19] <SWPadnos> or use a differential amp
[19:51:21] <cradek> bbl
[19:51:23] <KimK> SWPadnos: Is that a CMM machine at Stuart's? (I'm interested in CMM's lately.)
[19:51:33] <SWPadnos> ok. I guess I should find out what connections there are
[19:51:40] <SWPadnos> KimK, yes, the one at Stuart's
[19:51:55] <SWPadnos> the Cordax one that holds calibration for a day to a week at a time
[19:52:57] <KimK> SWPadnos: OK, thanks. Let me know if I can help.
[19:54:52] <SWPadnos> do you have any schematics of the machine? :)
[19:56:32] <KimK> Unfortunately, no. I have worked on some reader heads on the fly, but no, no schematics. Since this is a CMM, I assume this is a glass-scale interpolated-sine ("analog") variety?
[19:57:59] <KimK> Oh, you mentioned the 300mV sine earlier, sorry.
[19:59:08] <KimK> Yes, it sounds like you're on the right track with what you're doing there.
[19:59:55] <SWPadnos> yeah. I'm going to design a board to get sub-0.001 increments, probably 8 increments as that's pretty easy to do with some comparators
[20:00:43] <SWPadnos> error detection is a pain though, and it's possible that there's a real problem with the read head (I don't know, I didn't mess with it physically, I only heard about it)
[20:01:56] <mshaver> logger_dev: bookmark
[20:01:56] <mshaver> Just this once .. here's the log: http://www.linuxcnc.org/irc/irc.freenode.net:6667/emcdevel/2010-11-17.txt
[20:06:43] <KimK> You should be able to do a lot better than 8-divisions (if .001"/8=0.000125") , I would think. Maybe 256? Or more? Unless this is a really crummy (early design?) analog glass scale? Current glass scale systems output .001mm (0.00003937") pretty commonly. I'm not sure what glass-dimension that's based off of.
[20:08:10] <SWPadnos> you get 8 divisions just by comparing the signals to each other, with no A/D conversion
[20:08:29] <SWPadnos> getting more than that requires A/D (I think), so it gets more complex
[20:09:12] <SWPadnos> well, either that or it requires a lot more analog comparators, as well as some circuitry to shift along with changes in the "zero line" of the nearly-sine-wave outputs
[20:09:19] <KimK> Oh, OK, that's simple, at least. But I think A/D will turn out to be the way to go, I would guess.
[20:09:25] <SWPadnos> dunno
[20:09:55] <SWPadnos> if the signal swing were a little higher, then an RS-485 chip could be used to do the whole thing
[20:10:19] <jepler> if you had this in the digital domain it would be real easy to find the phase angle with high precision..
[20:10:25] <SWPadnos> unfortunately, those chips need between 200mV and 300mV difference to switch, so there would be a lot of phase error on a 300mV signal :)
[20:10:37] <SWPadnos> yes, I agree with that
[20:12:24] <KimK> Maybe there's a way to use a "resolver-like" conversion for the sine wave values? Not sure, I'd have to think about that.
[20:12:46] <SWPadnos> I considered that, but I don't think it will work
[20:13:01] <KimK> s/ sine wave values / sine and cosine wave values /
[20:13:08] <SWPadnos> those use the relative signal strengths plus the phase angle from the (self-generated) excitation signal, I think
[20:13:36] <SWPadnos> err, well they get a relative phase angle (relative to the excitation signal) that is
[20:14:01] <KimK> Yeah, you might be right, it's not the same thing. Oh, well, keep looking, lol
[20:14:27] <SWPadnos> heh
[20:20:54] <CIA-2> EMC: 03mshaver 07v2.4_branch * rdba2c758164f 10/configs/smithy/ (1240combined.hal 1240combined.ini 622leadshine.hal): Add 1240combined configuration and limit switch information to 622leadshine.hal.
[20:20:56] <CIA-2> EMC: 03mshaver 07v2.4_branch * rd6ff68a2cadc 10/ (13 files in 8 dirs): Merge branch 'v2.4_branch' of ssh://git.linuxcnc.org/git/emc2 into v2.4_branch
[20:21:28] <cradek> I offered to leave my (relatively calibrated) scope - I think he could use the existing boards just fine, if he got them aligned
[20:21:40] <cradek> I think the main problem he's having is lack of working test equipment
[20:22:12] <SWPadnos> I thought that was the problem though, that he adjusts them according to the manual procedure, but they still fault after some number of days
[20:22:15] <cradek> but I understand wanting to be rid of all of the 40 year old electronics
[20:22:35] <cradek> 30
[20:22:52] <Jymmm> 20
[20:22:55] <cradek> yes - but I don't think he's getting it adjusted right, if he's using that scope. it really didn't work right at all.
[20:23:00] <jepler> I'd want to divest myself of anything 30 years old .. that's unspeakably old
[20:23:16] <cradek> the date codes I saw were '79 - I just can't do math
[20:23:28] <Jymmm> * Jymmm sneaks a peek at jepler drivers license
[20:23:40] <SWPadnos> oh. I didn't know that
[20:23:51] <SWPadnos> plus it's analog. how the heck can you use one of those things anyway?
[20:24:02] <cradek> oh let's not start that
[20:24:06] <SWPadnos> heh
[20:24:12] <Jymmm> SWPadnos: Didn't you invent those?
[20:24:16] <archivist> some of my test gear is that vintage, only way I can afford high end toys, I usually get more than one for spares
[20:25:04] <SWPadnos> Jymmm, not to my knowledge
[20:25:14] <archivist> Im just about to scrap a 1 gig realtime scope from the 1960's :)
[20:26:04] <Jymmm> $60 Pocket Scope!!! http://www.dealextreme.com/details.dx/sku.39750
[20:26:09] <Jymmm> free shipping
[20:27:10] <archivist> Jymmm you wouldnt a know quality scope if it hit you
[20:27:31] <jepler> this is the worst "oscilloscope" I am aware of: http://www.micro-examples.com/public/microex-navig/doc/078-lcdscope
[20:27:34] <Jymmm> archivist: you're probably right
[20:28:09] <Jymmm> jepler: define "worse"?
[20:28:45] <Jymmm> becasue I think I know of one worse than that
[20:29:00] <jepler> is it working as designed?
[20:29:11] <Jymmm> as designed "yes"
[20:29:31] <jepler> I can't help wanting to know..
[20:29:48] <Jymmm> jepler: http://www.sparkfun.com/products/9484
[20:30:29] <CIA-2> EMC: 03mshaver 07master * rdef9bf027668 10/configs/smithy/ (17 files): Add 1240combined configuration and limit switch information to 622leadshine.hal. Also got rid of obsolete references to emc.nml in all the .ini files.
[20:30:46] <Jymmm> jepler: video http://www.youtube.com/watch?v=im_MRt0vtAw
[20:30:50] <archivist> I see people in ##electronics trying to use sound cards as scops
[20:31:32] <Jymmm> Oh btw, thanks guys! You gave me a great re-use for older laptops.... USB scope
[20:32:06] <cradek> jepler: nah, that's just what all digital scopes are like
[20:32:06] <cradek> I think my tek that's digital for storage but normal analog for realtime is the pinnacle
[20:32:27] <SWPadnos> yeah, mixed mode would be greay
[20:32:28] <cradek> analog storage is ok for some stuff (like "is that really quadrature?") but you can't see before the trigger.
[20:32:29] <SWPadnos> t
[20:32:44] <SWPadnos> and you can't scale or zoom after capture
[20:32:49] <cradek> right
[20:32:59] <cradek> digital is superior for storage
[20:33:01] <jepler> Jymmm: I dunno, lcdscope still looks worse on paper.
[20:33:07] <cradek> analog is superior for everything else
[20:33:27] <andypugh> I have a mixed-mode tek like that. It's about 30 years old, but I bought it less than a year ago.
[20:33:43] <Jymmm> jepler: I think it's meant as a working gag though. nobody in their mind would actually use it for anything real.
[20:33:55] <jepler> Jymmm: lcdscope? dear god, I hope so.
[20:33:57] <SWPadnos> well, I'm not sure I agree. on modern digital scopes, the refresh rate and resolution are comparable to just about any analog scope I've ever used
[20:34:22] <SWPadnos> my (expensive) scope can do several thousand screen updates per second
[20:34:27] <andypugh> The big difference is that I can't afford the quality of my old Tektronix in a new scope.
[20:34:38] <jepler> SWPadnos: what display technology is that?
[20:34:47] <cradek> SWPadnos: possibly - but I won't pay for anything that costs thousands of dollars to approach the utility of a $100 20 year old scope
[20:34:59] <SWPadnos> the LCD itself doesn't refresh that fast, but the drawing capability is there
[20:35:13] <cradek> dangit I wasn't going to comment
[20:35:17] <cradek> wtf is wrong with me
[20:35:34] <SWPadnos> so the screen updates as fast as I can see it, and I can stop it and analyze things that are too fast for me to see
[20:35:36] <SWPadnos> heh
[20:35:39] <Jymmm> cradek: (Toto syndrome )
[20:35:47] <andypugh> cradek: Where should we start? How long do you have? :-)
[20:36:02] <cradek> andypugh: don't hurt my fragile feelings
[20:36:10] <archivist> aw
[20:36:35] <SWPadnos> cradek, I think you're right, if you amend your statement to read that analog is superior for anything else, when compared to digital scopes you're willing to buy :)
[20:37:10] <mozmck> :)
[20:37:23] <SWPadnos> otherwise I'd have to disagree and keep this discussion going forever :)
[20:37:33] <SWPadnos> oh, look at the time. I need to get to a bank :)
[20:37:35] <cradek> you're the only one still having it!
[20:37:38] <mozmck> I need to get my old HP 54510B scope running again.
[20:37:44] <SWPadnos> damn me
[20:37:55] <cradek> hi mozmck - wish you could have come - we had fun
[20:38:12] <mozmck> Me too! Wasn't too bad here, but too much work.
[20:43:56] <Jymmm> Ok you win a contest of the scope of your choice... do you choose analog or digital?
[20:44:21] <cradek> I'd ask for a pterodactyl instead
[20:44:46] <archivist> depends, use the right tool for the job
[20:44:58] <Jymmm> cradek: I thought you said you already have dinosaurs?
[20:48:44] <cradek> wonder how long I can avoid unpacking the car
[20:49:59] <andypugh> cradek: are you married?
[20:51:09] <cradek> andypugh: don't be silly, you can't marry a car
[20:51:18] <skunkworks> heh
[20:51:41] <micges> cradek: if you have some time can you pastebin robot configs?
[20:51:49] <cradek> micges: I don't have them, sorry
[20:51:59] <andypugh> Depending, the answer is "till you sell it" or "about a day"
[20:52:08] <cradek> micges: my work may actually be lost - sounds like the hard disk is not working
[20:52:14] <jepler> oh dear
[20:52:30] <micges> oh
[20:52:33] <cradek> :-/
[20:52:50] <Jymmm> http://sysresccd.org dump an image of it ASAP
[20:57:19] <skunkworks> ted hydes email was awesome
[21:11:33] <SWPadnos> I hope it's the SATA to IDE adapter doodad
[21:21:47] <cradek> SWPadnos: what do you remember the stepper and encoder scales were? it seems like really not much work to reproduce.
[21:39:08] <andypugh> Does a .comp instance know which one it is?
[21:41:12] <jepler> you mean does and.0 know the number '0'?
[21:41:16] <jepler> I don't think so..
[21:41:24] <andypugh> Hmmm
[21:41:42] <andypugh> As you might have guessed, I am engaged in a bit of commp=abuse
[21:42:19] <jepler> in EXTRA_SETUP or in a FUNCTION?
[21:43:23] <andypugh> In EXTRA_SETUP mainly
[21:44:00] <jepler> looks like in EXTRA_SETUP you have 'long extra_arg' which is the number you're looking for
[21:44:34] <andypugh> Marvelous
[21:44:53] <andypugh> If slightly opaquely named :-)
[21:45:12] <jepler> "extra" means you have to pay extra
[21:45:32] <andypugh> "Arg" is the noise you make when you find out what it is for?
[21:45:40] <jepler> must be
[21:46:29] <andypugh> I have decided I don't like "personality" in this context, making punters assemble bit flags seems harsh.
[21:47:12] <andypugh> So I am hoping to use the RTAPI_MP macros.
[21:47:51] <andypugh> The drawback is that the auto-generated man pages will be wrong.
[21:59:40] <skunkworks> yay - the configs live!
[22:06:54] <andypugh> Which configs?
[22:07:27] <andypugh> <checks email> Ah, those configs. Splendid
[22:35:39] <CIA-2> EMC: 03seb 07master * rc33eafe9bf49 10/src/emc/rs274ngc/rs274ngc_pre.cc: fix a segfault
[22:49:36] <CIA-2> EMC: 03seb 07master * rd4e30e785416 10/src/emc/rs274ngc/interp_o_word.cc: fix a resource leak
[23:24:20] <CIA-2> EMC: 03seb 07master * r4ef50d8e468b 10/src/emc/ (iotask/ioControl.cc nml_intf/emcargs.cc): fix a couple string overflows
[23:25:17] <skunkworks> seb - you seem to be getting in deeper!
[23:25:25] <seb_kuzminsky> nah, i'm cheating
[23:25:45] <seb_kuzminsky> http://scan2.coverity.com:9082/
[23:25:47] <seb_kuzminsky> ;-)
[23:26:20] <skunkworks> (need a login)
[23:26:25] <seb_kuzminsky> hm
[23:26:42] <skunkworks> oh - it is a site that analizes code?
[23:27:04] <seb_kuzminsky> yeah
[23:27:07] <skunkworks> I see
[23:27:10] <skunkworks> neat
[23:27:14] <seb_kuzminsky> don't tell chris and jeff, they dont like it ;-)
[23:27:17] <skunkworks> heh
[23:27:23] <seb_kuzminsky> does this url work for you: http://scan2.coverity.com:9082/cov.cgi?c=AIAMQAC__b9B41&latest=1&q=4&t=6&v=1
[23:28:06] <skunkworks> no - that's ok though - I have seem them before..
[23:28:07] <mshaver> no - need u/p
[23:28:19] <JT-Hardinge> no
[23:28:58] <seb_kuzminsky> well i can ask coverity for more accounts if you're interested
[23:37:27] <skunkworks> back in my day - we had to find our own bugs...
[23:37:32] <skunkworks> ;)
[23:37:42] <skunkworks> and they where moths
[23:38:54] <andypugh> I make finding bugs easy for myself, by introducing lots of them.
[23:41:21] <jepler> pluggable interpreter works in sai, milltask, axis. besides rs274ngc, the old "sai" interpreter can be plugged. comments welcome. http://git.unpythonic.net/view?p=emc2-jepler.git;a=shortlog;h=refs/heads/plug-interp
[23:41:25] <JT-Hardinge> your just having too much fun Andy
[23:42:32] <jepler> er, the old "canterp" interpreter can be plugged. bbl.
[23:43:36] <SWPadnos> cradek: 3333.3333 and 533.3333, but I don't remember which was which