#emc-devel | Logs for 2011-11-20

[00:03:48] -!- vitaeear has quit [Ping timeout: 240 seconds]
[00:04:00] -!- theorbtwo has quit [Ping timeout: 248 seconds]
[00:04:12] theorb is now known as theorbtwo
[00:08:26] <awallin> the initial pyvcp work was by yours truly, but a lot of add-ons are later by jepler and others
[00:09:33] -!- ries has quit [Quit: ries]
[00:10:12] <awallin> how hard can a log-slider be... :)
[00:18:48] -!- Loetmichel has quit [Ping timeout: 244 seconds]
[00:58:22] -!- robh__ has quit [Ping timeout: 245 seconds]
[01:12:37] -!- crazy_imp has quit [Ping timeout: 240 seconds]
[01:49:28] -!- apwbdjp has quit [Quit: Good night!]
[02:26:59] <jmkasunich> awallin, just who I was looking for
[02:27:28] <jmkasunich> although perhaps jepler could help too
[02:27:51] <jmkasunich> I'm trying to make a fairly minor mod to pyvcp, need a bit of help with pycomp
[02:28:36] <jmkasunich> or maybe its just python that I need help with
[02:28:43] <jmkasunich> this code snippet from pyvcp:
[02:28:56] <jmkasunich> c_halpin=halpin+"."+str(c)
[02:28:56] <jmkasunich> pycomp.newpin(c_halpin, HAL_BIT, HAL_OUT)
[02:28:56] <jmkasunich> self.halpins.append(c_halpin)
[02:29:26] <jmkasunich> after the first line, c_halpin is a string
[02:29:34] <jmkasunich> then pycomp.newpin is called
[02:29:51] <jmkasunich> it seems to me that afterwards, c_halpin is a pin, rather than a string
[02:37:58] <micges> jmkasunich: why? there is no code in this function after that part of code
[02:38:17] <jmkasunich> I'm trying to add code that creates an additional pin
[02:38:30] -!- skunkKandT has quit [Remote host closed the connection]
[02:38:31] <jmkasunich> my python is very rusty, and was never that good to start with
[02:38:46] <jmkasunich> so I'm looking at the existing code, figuring out what it does, and copying it
[02:39:14] <micges> pyvcp code is somewhat tricky
[02:39:34] <micges> tell me what you want to do
[02:40:00] <jmkasunich> radiobutton exports one pin per button item, and turns that pin on when that item is selected
[02:40:23] <jmkasunich> I want to add one more pin, called <same-name-as-others>.index
[02:40:35] <jmkasunich> and set it to an integer that says which of the buttons is active
[02:40:40] <micges> ok
[02:40:46] <micges> what code brranch?
[02:41:01] <jmkasunich> I'm in master
[02:42:01] <micges> you want float or s32/u32 ?
[02:42:07] <jmkasunich> s32
[02:42:16] <jmkasunich> actually u32 makes more sense
[02:50:40] <micges> http://pastebin.com/6aKiUrNc
[02:51:26] <jmkasunich> thanks!
[02:51:45] <micges> welcome
[02:52:28] <jmkasunich> I'm gonna propose this as an improvement to be committed
[02:52:40] <jmkasunich> you should get credit (or just commit it yourself)
[02:53:01] <jmkasunich> I haven't done a commit in ages, and don't have a proper git repo set up on this machine
[02:53:17] <micges> wish that you were here more often, I had many questions about joints_axes branch
[02:53:46] <micges> I'll do this tomorrow, it's 4am here ;)
[02:54:40] <jmkasunich> ok - thanks again, and have a good sleep :)
[02:55:09] <micges> hehe not yet but thanks :)
[02:55:55] <jepler> jmkasunich: pycomp.newpin is not modifying its first argument -- it makes the string something that can be used to index the pycomp object, for statements like pycomp[c_halpin] = True
[02:56:45] <jepler> (indexing things with strings is pretty common in Python, that's one of the things that dicts (dictionaries/hash tables) do very efficiently)
[02:57:18] <jmkasunich> so pycomp doesn't "return" a pin object, it just creates one, stashes it away somewhere, and says "when you need this again, use the string" ??
[02:57:32] <jmkasunich> thats what had me confused, I was looking for it to return the object
[02:59:00] <jepler> I think it might also return a pin object nowadays, but the original way to do the assignment was pycomp[pinname] = newvalue
[02:59:25] <jmkasunich> I see
[02:59:50] <jmkasunich> and it (micges change) works fine
[02:59:58] <jepler> that's the important part
[03:00:18] <jmkasunich> I can pick one of 4 jog speeds, and get an integer
[03:00:29] <jmkasunich> thats going to a new mux8, called mux8i
[03:00:48] <jmkasunich> instead of individual input bits, mux8i takes an integer and selects one of 8 inputs
[03:01:06] <jepler> that was my guess
[03:01:19] <jmkasunich> result is a simple and clean way for a radiobutton to pick one of N analog values
[03:02:59] <jmkasunich> why are GUIs so complicated
[03:03:39] <jmkasunich> radiobuttons with titles that aren't the same length wind up not lined up
[03:03:48] <jepler> ugh
[03:03:53] <jepler> they're centered or something, aren't they
[03:04:00] <jmkasunich> the string+button as a whole is centered
[03:05:23] <jmkasunich> its also unfortunate that "choices" (list of strings) is used for both the button labels and the hal pin names
[03:05:45] <jmkasunich> that means your button labels can't include whitespace or any characters that are illegal for hal names
[03:06:30] <jmkasunich> but what matters is that it works
[03:07:04] <jepler> as the first child of <hbox>, put <boxanchor anchor="nw"/>
[03:07:29] <jepler> er, vbox
[03:07:44] <jepler> that should make the items inside stuck to the upper left corner of their box, instead of being centered
[03:08:23] <jmkasunich> are you referring to the pyvcp vbox, or a tkinter vbox?
[03:08:40] <jepler> that's a line for your xml file
[03:09:41] <jepler> hm that won't work for radiobuttons :( sorry to get your hopes up
[03:10:01] <jmkasunich> heh
[03:10:14] <jmkasunich> the vbox that the buttons live in is not from my xml file
[03:10:37] <jmkasunich> I just tried putting the radiobuttons in an hbox, and they are still arranged vertically
[03:11:43] <jmkasunich> maybe some incantation in the "pack" command?
[03:12:02] <jmkasunich> this is the code that creates the gui button:
[03:12:03] <jmkasunich> b=Radiobutton(self,f, text=str(c)
[03:12:03] <jmkasunich> ,variable=self.v, value=pow(2,n))
[03:12:03] <jmkasunich> b.pack()
[03:12:37] -!- ve7it has quit [Remote host closed the connection]
[03:13:16] <jepler> yes
[03:13:40] <jepler> you could change it to b.pack(anchor="nw") if you don't care about disturbing anybody else's pretty gui
[03:16:02] <jmkasunich> I tried side=LEFT, and got all my buttons in a single row, left to right
[03:16:43] <jmkasunich> I guess side = left means "at the left of the remaining space", not "vertically along the left edge of the box"
[03:17:21] <jmkasunich> the anchor worked
[03:18:34] <jepler> yes, that's roughly right
[03:25:06] <jmkasunich> since I'm butchering my copy of pyvcp anyway...
[03:25:47] <jmkasunich> jepler: is there a convenient python method that takes a string which might contain whitespace, and returns only the substring before the first whitespace character?
[03:25:56] <jmkasunich> ( I should be asking the internet, not you....)
[03:31:10] <jepler> jmkasunich: s.split()[0]
[03:31:19] <jepler> though if s consists of only whitespace, that'll result in an exception
[03:31:36] <jepler> >>> s = "what was that"
[03:31:37] <jepler> >>> s.split()[0]
[03:31:37] <jepler> 'what'
[03:31:42] <jmkasunich> well, if s consisted only of whitespace, it would have resulted in a hal pin creation error anyway
[03:31:57] <jmkasunich> the internet told me to use split, I was just about to try it
[03:32:02] <jmkasunich> thanks tho
[03:32:05] <jepler> >>> head, tail = s.split(None, 1)
[03:32:05] <jepler> >>> head, tail
[03:32:05] <jepler> ('what', 'was that')
[03:32:19] <jepler> just in case you want the rest ^^^ but then it's an error if the string doesn't have at least one space
[03:32:50] <jmkasunich> don't want the rest - this is to let me use a string with whitespace as the button label, the first word will become the hal pin name
[03:32:59] <jepler> ok
[03:33:12] -!- micges has quit [Quit: Ex-Chat]
[03:34:00] <jmkasunich> I'm a dumbass
[03:34:09] <jepler> if ' ' in c: pinname, pintext = c.split(None, 1) / else: pinname = pintext = c
[03:34:18] <jmkasunich> I put the split in the wrong place - so the label is now one word, but the hal name has spaces in it
[03:34:26] <jepler> this is what I was thinking: if there's a space, take the part after the space as the text and the part before as the name
[03:34:50] <jmkasunich> ah, so you can make them completely independent
[03:35:17] <jepler> right
[03:42:26] <jmkasunich> works great
[03:44:10] <jepler> 'night
[03:46:41] <KimK> jmkasunich: Hi John. I was scrolling back, I had to alternately nest vboxes and hboxes to get my pyvcp doodads to stack the way I wanted. Maybe you've got it fixed already.
[03:48:23] <KimK> Oh, I see, it's radiobuttons that only appear vertically? Nevermind then.
[03:50:51] <jmkasunich> yeah, we were talking about the packing of the individual buttons in a single radiobutton widget
[03:54:03] -!- skunkworks [skunkworks!~chatzilla@str-bb-cable-south2-static-6-425.dsl.airstreamcomm.net] has joined #emc-devel
[04:18:16] -!- zlog has quit [Remote host closed the connection]
[04:27:54] -!- zlog has quit [Remote host closed the connection]
[04:38:12] -!- sumpfralle has quit [Ping timeout: 240 seconds]
[05:19:34] -!- tom3p has quit [Quit: Ex-Chat]
[05:55:21] -!- zlog has quit [Remote host closed the connection]
[05:55:34] -!- Tom_itx has quit []
[05:56:04] -!- Quack has quit [Ping timeout: 258 seconds]
[06:03:24] -!- Shabbir has quit [Ping timeout: 252 seconds]
[06:39:43] -!- jp_ has quit [Read error: Connection reset by peer]
[06:41:08] -!- elmo40 has quit [Ping timeout: 244 seconds]
[06:57:18] -!- jmkasunich has quit [Quit: Leaving]
[07:15:09] -!- Quack has quit [Ping timeout: 260 seconds]
[07:38:52] -!- vitaeear has quit [Quit: Quitte]
[07:59:04] -!- vladimirek [vladimirek!~vladimire@adsl-dyn-132.95-102-159.t-com.sk] has joined #emc-devel
[08:07:25] -!- zlog has quit [Ping timeout: 244 seconds]
[08:08:45] -!- Tom_itx has quit [Ping timeout: 260 seconds]
[08:21:47] -!- Quack has quit [Ping timeout: 244 seconds]
[08:41:25] -!- Quack has quit [Ping timeout: 260 seconds]
[09:11:18] -!- mhaberler [mhaberler!~mhaberler@] has joined #emc-devel
[09:47:38] -!- psha [psha!~psha@] has joined #emc-devel
[10:04:31] -!- psha has quit [Ping timeout: 248 seconds]
[10:27:26] -!- robh__ [robh__!~robert@5ace70f8.bb.sky.com] has joined #emc-devel
[10:34:16] -!- andypugh has quit [Quit: andypugh]
[10:35:53] -!- andypugh [andypugh!~andy2@cpc2-basl1-0-0-cust492.basl.cable.virginmedia.com] has joined #emc-devel
[10:39:16] -!- andypugh has quit [Client Quit]
[11:06:55] -!- psha [psha!~psha@] has joined #emc-devel
[11:25:14] -!- Eartaker has quit [Quit: Leaving]
[11:40:49] <mhaberler> cradek: I just tried in v2.5, sim/gladevcp/gladevcp_panel DOES run for me - please post error message
[12:14:25] -!- acemi has quit [Ping timeout: 258 seconds]
[12:36:31] <mhaberler> I've put an end to this gladevcp version and docs confusion: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?GladeVcp
[13:25:17] -!- acemi_ has quit [Quit: WeeChat 0.3.2]
[13:36:23] -!- lilalinux has quit [*.net *.split]
[13:36:52] lilalinux_mbp is now known as lilalinux
[13:40:24] -!- micges [micges!~x@epr100.neoplus.adsl.tpnet.pl] has joined #emc-devel
[13:43:04] -!- Valen has quit [Quit: Leaving.]
[13:43:56] -!- OpenSpace has quit [Remote host closed the connection]
[14:53:01] -!- mhaberler has quit [Quit: mhaberler]
[15:05:57] -!- bootnecklad_ has quit [Read error: Connection reset by peer]
[15:08:53] <cradek> mhaberler: later after figuring which package to install, it worked fine
[15:14:11] -!- psha has quit [Read error: Operation timed out]
[15:16:35] <JT-Shop> makes me want to slide over to the plasma and create a gladevcp panel
[15:18:25] <jepler> dpkg-checkbuilddeps won't tell you about install-time dependencies. the named package, python-gtkglext1, is a dependency of the binary package.
[15:25:08] <JT-Shop> apt-get install ... python-numpy python-numpy is the second one a typo?
[15:58:12] -!- andypugh [andypugh!~andy2@cpc2-basl1-0-0-cust492.basl.cable.virginmedia.com] has joined #emc-devel
[16:52:25] -!- psha [psha!~psha@] has joined #emc-devel
[16:53:04] -!- psha has quit [Client Quit]
[16:53:21] -!- psha [psha!~psha@] has joined #emc-devel
[17:07:03] -!- micges has quit [Read error: Operation timed out]
[17:08:40] -!- seb_kuzminsky has quit [Ping timeout: 240 seconds]
[17:20:11] <CIA-95> EMC: 03seb 07v2.5_branch * r4f9d73020599 10/debian/.gitignore: don't ignore the important emc2-doc-* files
[17:20:12] <CIA-95> EMC: 03seb 07v2.5_branch * re6764d882ab0 10/debian/ (configure control.in emc2-doc-pl.files.in): packaging: add a new package for the Polish docs
[17:20:27] -!- seb_kuzminsky [seb_kuzminsky!~seb@184-96-102-36.hlrn.qwest.net] has joined #emc-devel
[17:20:30] -!- micges [micges!~x@epc23.neoplus.adsl.tpnet.pl] has joined #emc-devel
[17:22:06] -!- Shabbir has quit [Client Quit]
[17:34:25] <CIA-95> EMC: 03seb 07v2.5_branch * rca1a928d60b9 10/docs/README: how to add a new translation language
[17:40:51] -!- mhaberler [mhaberler!~mhaberler@] has joined #emc-devel
[17:50:55] -!- mhaberler has quit [Quit: mhaberler]
[18:00:25] -!- isssy has quit [Quit: Visitor from www.linuxcnc.org]
[18:01:04] -!- sliptonic_shop has quit [Remote host closed the connection]
[18:05:04] -!- ve7it [ve7it!~LawrenceG@S0106001c10b7770f.pk.shawcable.net] has joined #emc-devel
[18:14:08] <JT-Shop> seb_kuzminsky: thanks for the update on the docs/README file
[18:15:02] <JT-Shop> how do you test build the packages locally to verify or do you mean build a RIP?
[18:18:05] <seb_kuzminsky> JT-Shop: in the top-level directory, run "fakeroot debian/rules binary", or some folks prefer to use debuilder but I don't know the full command-line for that off the top of my head
[18:18:29] <JT-Shop> ok, thanks
[18:21:16] <JT-Shop> what should it return?
[18:24:44] <JT-Shop> I get file not found, should it be fakeroot depian/rules.in binary ?
[18:27:57] <psha> no
[18:28:03] <psha> you should generate debian/rules first
[18:28:11] <psha> cd debian; ./configure sim/rt(?)
[18:28:48] <JT-Shop> psha: thanks
[18:31:02] <JT-Shop> ./configure sim or -r :)
[18:32:19] <andypugh> Isn't it --enable-simulator or is that something else?
[18:32:59] <JT-Shop> that's for a RIP andypugh
[18:33:16] <JT-Shop> this is in /debian
[18:36:07] <psha> andypugh: something else
[18:36:18] <psha> that's configuration of debian package scripts
[18:36:32] <psha> which call ./src/configure with appropriate flags
[18:36:58] <andypugh> Right, good job nobody was taking any notice of my advice then :-)
[18:37:32] <JT-Shop> ohh I just found a page on the wiki with some suspect links
[18:37:46] <psha> seb_kuzminsky: here?
[18:37:51] <JT-Shop> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Debian_Squeeze_Compile_RTAI
[18:37:58] <psha> it seem that html-latex-images script is not called for docs
[18:38:24] <JT-Shop> nevermind seems ok
[18:40:18] <andypugh> psha Did you see the email from Kent half an hour ago?
[18:41:45] <psha> checking
[18:42:29] <psha> yes, but i don't like idea of javascript maths...
[18:43:34] <psha> hm, i'll read it more careful tomorrow - time for bed now
[18:43:54] -!- psha has quit [Quit: leaving]
[19:16:18] -!- IchGucksLive has quit [Quit: ChatZilla 0.9.87 [Firefox 7.0.1/20110928221717]]
[19:26:17] -!- isssy has quit [Quit: Visitor from www.linuxcnc.org]
[19:37:47] -!- mhaberler [mhaberler!~mhaberler@] has joined #emc-devel
[19:40:28] <mhaberler> JT-shop: typo fixed, thanks
[19:41:42] <mhaberler> we need a simple way for folks installing from source such that all dependencies are installed
[19:42:03] <mhaberler> this is an ongoing hit and miss game, and endless source of support issues and confusion
[19:42:46] <mhaberler> it would be great if at least configure were able to say 'to run this you need to apt-get install x y z'
[19:44:39] <micges> sudo apt-get build-dep emc2?
[19:45:33] <mhaberler> configure should say whatever needs to be done. Its fine you know - Joe chipmaker doesnt
[19:45:56] <micges> but I think it doesn't install all needed
[19:46:08] <mhaberler> it should *detect* if something is missing
[19:46:23] <micges> so only ./configure
[19:46:38] <mhaberler> and it should say *what* it is, and *how* it can be resolved
[19:47:27] <mhaberler> if it bytes cradek, it is posititvely broken
[19:47:36] <mhaberler> bites
[19:54:04] <micges> I saw that too, but forgot it
[20:01:19] -!- toastydeath has quit [Ping timeout: 258 seconds]
[20:05:58] <cradek> fwiw, I did check build-deps but was missing a runtime dep
[20:06:14] <cradek> I don't know what the fix is other than me being smarter (and I did figure it out)
[20:14:10] -!- me345 has quit [Remote host closed the connection]
[20:20:40] -!- bootnecklad has quit [Ping timeout: 240 seconds]
[20:30:04] <JT-Shop> I like mhaberler typo bytes :)
[20:30:05] <mhaberler> the solution IMO is being dumber and still have it work
[20:30:14] <mhaberler> me too
[20:30:20] <JT-Shop> I can help with that part then
[20:31:13] <mhaberler> I wonder if configure can be massaged to determine wether build and runtime deps are installed
[20:43:50] <mhaberler> cradek: can I ask you to look at: http://article.gmane.org/gmane.linux.distributions.emc.devel/5282/match= and consider the fix for v2.5_branch: http://article.gmane.org/gmane.linux.distributions.emc.devel/5283/match=
[20:45:30] jp_ is now known as emcrules_d51
[20:45:37] emcrules_d51 is now known as emcrules_d510
[20:46:44] -!- Calyp has quit [Ping timeout: 252 seconds]
[20:54:02] -!- Eartaker has quit [Quit: Leaving]
[20:59:43] <mhaberler> is there a 'runtime dependencies' equivalent for 'pt-get build-dep emc2' ?
[21:00:16] <mhaberler> or check-builddeps for that matter
[21:02:29] -!- motioncontrol has quit [Quit: Sto andando via]
[21:21:34] -!- syyl has quit [Quit: Leaving]
[21:21:45] -!- vladimirek has quit [Remote host closed the connection]
[21:32:40] <JT-Shop> I assume if I end up with a bunch of .deb files in my home directory that fakeroot debian/rules binary worked?
[21:35:54] -!- Eartaker has quit [Quit: Leaving]
[21:38:53] -!- jthornton [jthornton!~chatzilla@216-41-156-59.semo.net] has joined #emc-devel
[21:46:37] <mhaberler> trying to figure what you're saying..
[21:48:25] <mhaberler> I'm lost - where are .deb files in homedir coming from?
[21:51:30] -!- sliptonic_shop has quit [Read error: No route to host]
[22:03:44] -!- Eartaker has quit [Quit: Leaving]
[22:09:54] -!- mhaberler has quit [Quit: mhaberler]
[22:16:43] -!- icarusfactor has quit [Ping timeout: 244 seconds]
[22:18:02] -!- odiug has quit [Ping timeout: 252 seconds]
[22:31:30] -!- micges has quit [Quit: Ex-Chat]
[22:41:19] -!- bootnecklad_ has quit [Ping timeout: 248 seconds]
[22:53:39] -!- Fox_Muldr has quit [Ping timeout: 244 seconds]
[22:58:20] -!- mrsun has quit [Ping timeout: 260 seconds]
[23:09:17] -!- jsr has quit [Remote host closed the connection]
[23:14:51] -!- skunkworks has quit [Remote host closed the connection]
[23:27:16] -!- jrcrane has quit [Client Quit]
[23:27:16] -!- acemi has quit [Quit: WeeChat 0.3.2]
[23:31:27] icarusfactor is now known as factor
[23:31:28] -!- bootnecklad__ has quit [Ping timeout: 240 seconds]
[23:40:44] <jepler> configure should not check for runtime-only deps
[23:41:01] <jepler> for example, say we considered X a runtime dep
[23:41:04] <jepler> we shouldn't require X to build
[23:42:03] <jepler> (if configure did check, it'd make every runtime-only dependency into a build-time dependency, and that subverts the purpose of letting some runtime dependencies not be installed at build-time)