#emc-devel | Logs for 2010-10-08

[00:30:06] <dgarr> on mailing list a bug that causes emcrsh to crash if no enablepassword is supplied was mentioned, a patch for consideration:
[00:30:10] <dgarr> http://www.panix.com/~dgarrett/stuff/0001-emcrsh-avoid-segv-if-client-omits-passwd-with-set-en.patch
[00:31:03] <cradek> is this for v2.4 or master?
[00:32:23] <dgarr> i tested in master
[00:33:56] <cradek> looks like checkOnOff does guard
[00:34:10] <cradek> ... trying to figure out if there are other similar surrounding problems
[00:35:27] <cradek> looks good, thank you
[00:35:46] <CIA-5> EMC: 03cradek 07master * r86cf86a03ac3 10/src/emc/usr_intf/emcrsh.cc: emcrsh: avoid segv if client omits passwd with "set enable"
[00:45:23] <KimK> skunkworks: OK, back now.
[00:53:32] <KimK> jepler: Thanks for the recommendation on VirtualBox, I tried it and it installed easily (both host and guests) and it's working out nicely so far. VMware Player installed easily enough, but I couldn't get any "appliances" (guest images). And I couldn't even install Xen due to a dependency on the unavailable xen-tools. So thanks again, VirtualBox is great.
[01:16:18] <jepler> KimK: I'm glad it worked out
[01:17:35] <Jymmm> One of these days I need to build a new machine and try one of my vmware VM's under VB
[01:18:07] <Jymmm> Does VB support serial/parallel ports?
[01:25:48] <jepler> parport: looks like no. http://www.virtualbox.org/ticket/990 serial: yes, but maybe not dependable(?) http://www.virtualbox.org/ticket/1548
[01:26:38] <Jymmm> Ok, Vmware doens't support either one (but they kinda hide the fact), I found out the hard way, when I needed it.
[02:07:06] <cradek> I've used serial port in vmware
[02:25:48] <KimK> VirtualBox has a Pro/paid version that supports USB. The free/open version doesn't support USB. http://www.virtualbox.org/wiki/Editions (Not sure about serial/parallel.)
[02:29:46] <dgarr> another bug mentioned on emc mail list is for halrmt, i think this addresses it (but i've never used halrmt so it needs testing, i tested in master):
[02:29:48] <dgarr> http://www.panix.com/~dgarrett/stuff/0001-halrmt-parse-halcmd-options-when-halrmt-options-are-.patch
[02:33:45] <cradek> the first part looks right - still studying the second part
[02:35:37] <cradek> hm, getopt and halrmt are both outside my brain ability tonight
[02:36:41] <cradek> is halrmt a big copy of halcmd with networking added?
[02:37:55] <cradek> heck if you found a way to test it, I'll push it to master...
[02:39:00] <dgarr> i think halrmt is sort of like emcrsh but can also get/set hal items
[02:39:16] <CIA-5> EMC: 03cradek 07master * re4c36989f8a6 10/src/hal/utils/halrmt.c: halrmt: parse halcmd options when halrmt options are terminated with --
[02:39:26] <cradek> sure is a lot of code that feels like it should be shared with halcmd - I'm kind of afraid to look
[02:39:37] <cradek> thanks for fixing it
[02:48:48] <KimK> In the two "parallel/serial" links that jepler posted above (...990 and ...1548) there are people who got success or at least partial workarounds by using qemu, if that helps. (Although none of them seemed happy about the switch to qemu.)
[02:48:57] <dgarr> for completeness, this patch fixes incorrect getopt_long() longopts in two other files (compiled but not otherwise tested):
[02:49:01] <dgarr> http://www.panix.com/~dgarrett/stuff/0001-terminate-longopts-properly.patch
[02:56:04] <cradek> nifty
[02:56:33] <CIA-5> EMC: 03cradek 07master * r8c7e1b7d23d0 10/src/emc/usr_intf/ (emclcd.cc schedrmt.cc): terminate longopts properly getopt_long longopts must be terminated with {0,0,0,0} to avoid segv when a cmdline item is not found
[04:41:10] <Dave911_> Dave911_ is now known as Dave911
[10:56:18] <jthornton> does comp create kinematics modules as well as components?
[12:21:22] <jepler> JT-Work: I'd say to write a kinematics module in C, not in .comp. You could do it, but there'll be stupid limitations such as "must have at least one pin" and "must have at least one HAL function" which are inappropriate for many kinematics modules.
[12:25:54] <jepler> (if not bundling it with emc2, then comp --compile / comp --install will still be useful)
[14:27:19] <JT-Work> jepler: I think he is confused and thinks comp compiles the kinematics
[14:37:58] <alex_joni> you can compile a kinematic file (written in pure C) with comp
[14:42:50] <JT-Work> :/
[14:46:49] <JT-Work> is there some reason you would want to do that?
[14:48:47] <cradek> comp does compile and install pure C kinematics
[14:48:59] <cradek> I did that for skewkins - it's so simple
[14:52:37] <JT-Work> that was clearly beyond my level or guesspertice to try and answer him... dunno why I tried :)
[14:54:37] <Jymmm> Because you thought you could help?
[14:54:47] <JT-Work> yea
[15:06:31] <cradek> I wish I had had the forethought to suggest that the tool readonly parameters should be higher, to leave room for adding coordinate systems
[15:07:15] <cradek> I'm considering adding one just for tool measurement
[16:18:30] <cradek> hmm, tool relative (g10 l10) touch off x/y is wrong when rotated
[16:18:38] <cradek> I bet nobody has ever done that
[16:48:20] <CIA-5> EMC: 03cmorley 07v2.4_branch * r6dfb6c15e5f6 10/src/emc/usr_intf/pncconf/pncconf.py: fix following error when inverting servo motor direction
[16:48:25] <CIA-5> EMC: 03cmorley 07v2.4_branch * rd3e4927e768e 10/src/emc/usr_intf/pncconf/pncconf.py: remove spaces from setp commands so tcl calibration program works
[16:48:34] <CIA-5> EMC: 03cmorley 07v2.4_branch * r21f7c966f13d 10/src/emc/usr_intf/pncconf/pncconf.py: fix inversion of encoder on servo configs
[16:49:14] <psha> cmorley is online!
[16:49:22] <psha> what's his timezone?
[16:50:12] <cradek> US somewhere I think
[16:50:29] <jepler> GMT-0700 I think
[16:50:49] <psha> thanks
[16:50:55] <psha> only 11 hours diff :)
[17:40:11] <skunkworks_> what does 'make menus' do when compiling from git?
[17:40:23] <skunkworks_> will it screw up the installed menus?
[17:40:53] <skunkworks_> *make install-menus
[17:49:13] <skunkworks_> I just did it. That is awesome. adds rip icons in the cnc menu
[18:53:02] <cradek> I hate when I add a feature - find original bugs because of testing new feature - fix bugs in old and new, changing a bunch of stuff
[18:53:15] <cradek> I'd rather have a bugfix commit and then a new feature commit, but I didn't write it that way
[18:53:42] <SWPLinux> bad cradek
[18:53:49] <SWPLinux> err, good cradek
[18:54:53] <cradek> happy thing is it seems to work now
[19:14:03] <skunkworks_> cradek: I remember seb talking about being able to order the commits so it looks like, as he said, you are a genius ;)
[19:15:55] <cradek> it's easy to reorder them ... if there's more than one
[19:16:15] <cradek> I didn't bother - all my changes are for the better, so nobody would ever want any intermediate version. :-)
[19:16:23] <skunkworks_> heh
[19:17:01] <CIA-5> EMC: 03cradek 07master * re0fe301479fc 10/src/emc/rs274ngc/ (interp_check.cc interp_convert.cc): Fix XY TLO in rotated systems, and add G10 L11
[19:47:00] <CIA-5> EMC: 03cmorley 07master * r5c45fe059d97 10/src/hal/user_comps/gladevcp.py: add option to embed gladevcp eg in AXIS gui
[19:47:45] <psha> hm
[19:47:47] <psha> nice :)
[19:49:00] <cradek> psha: do you know enough glade to figure out a way to optionally make a new tab in touchy that allows embeds like that too?
[19:49:50] <cradek> psha: ... without having the user copying and customizing the (huge) glade file and making updating impossible
[19:50:03] <psha> Maybe in code? Something like .axisrc?
[19:50:10] <psha> All you need is create empty frame
[19:50:49] <cradek> so the empty frame could actually be in the master glade file, and usually its tab is hidden? (I assume you can hide a tab)
[19:51:06] <psha> Yes, it's possible
[19:51:26] <psha> Since it's looks more correct for me to just read needed tabs from .ini file
[19:52:02] <cradek> currently touchy doesn't read any options from the ini - it has a preferences tab instead - not sure if this scheme can be maintained forever.
[19:53:10] <psha> Yes, i've seen glade def for touchy
[19:54:22] <psha> Maybe add something like .touchyrc?
[19:55:41] <psha> Profit of .ini based tabs is that you are not limited to one hidden hardcoded tab.
[19:55:57] <cradek> that's true
[19:56:11] <psha> For example video tabs
[19:56:13] <cradek> you could have a vcp and a camera for instance
[19:56:18] <psha> My customer requested 2 cams at once
[19:56:40] <psha> I may port .axisrc part to touchy
[19:56:46] <psha> it's very easy
[19:56:51] <psha> i hope :)
[19:56:59] <cradek> I think that would be cool
[19:57:27] <cradek> I am not using touchy on my lathe because I want collet open/close etc buttons and there's no vcp available
[19:57:31] <cradek> pretty sad since I wrote it :-)
[19:57:48] <psha> :))
[19:58:13] <psha> so give me half an hour...
[19:58:37] <cradek> awesome :-)
[20:00:05] <Jymmm> VCP? Very Cool Person?
[20:00:19] <Jymmm> Virtual Control Panel?
[20:01:42] <Jymmm> Viva Con Papas?
[20:01:52] <jepler> yes, one of those things.
[20:03:00] <Jymmm> Ah, Living With Potatoes!
[20:03:58] <Jymmm> Actaul 'panel' or panel element?
[20:17:35] <psha> cradek: i have mplayer running inside
[20:17:44] <psha> so only some cleanup
[20:18:42] <Jymmm> psha: I wanna see?
[20:19:45] <psha> ;D
[20:19:45] <Jymmm> So, when is emc getting PTZ control? lol
[20:20:12] <psha> mplayer is excelent for testing XEmbed apps
[20:20:24] <Jymmm> Synced to actual motion of course.
[20:21:25] <Jymmm> And would we need 3D glasses?
[20:22:04] <psha> When you'll get 3d capable monitor - why not :)
[20:39:45] <psha> cradek: git://psha.org.ru/psha/emc2.git branch touchy-embed
[20:39:51] <psha> one patch
[20:40:37] <psha> maybe some syntax errors since i'm not able to run touchy from master
[20:42:20] <cradek> so you can have several EMBED_TAB_NAME and EMBED_TAB_COMMAND, and it uses them pairwise to make new tabs?
[20:42:27] <cradek> why can't you run it?
[20:42:55] <psha> yes
[20:43:08] <psha> i have emc2-sim 2.4.4 installed
[20:43:29] <psha> some import errors
[20:43:44] <cradek> you should build for run-in-place
[20:43:56] <cradek> ./configure --enable-run-in-place
[20:44:05] <cradek> (make)
[20:44:08] <cradek> . scripts/emc-environment
[20:44:08] <cradek> emc
[20:44:16] <psha> yes, i've building for RIP
[20:44:45] <psha> i think i may run it now
[20:45:11] <psha> it's impossible to run touchy.py (notice .py) file
[20:45:13] <psha> only touchy
[20:45:29] <psha> it tries to import itself
[20:46:06] <cradek> I guess I don't follow
[20:46:13] <cradek> I just do emc configs/sim/touchy.ini
[20:47:15] <cradek> EMBED_TAB_NAME = xload
[20:47:15] <cradek> EMBED_TAB_COMMAND = xload
[20:47:22] <cradek> this creates a tab, runs xload, but doesn't embed
[20:47:27] <cradek> what am I missing?
[20:47:32] <psha> not any window is able to embed
[20:47:51] <psha> try xterm -into {XID}
[20:48:00] <psha> {XID} will be replaced with proper window Id
[20:48:54] <cradek> I see - that does work
[20:49:01] <cradek> no keyboard focus to type, though - might be a problem for vcp
[20:49:15] <cradek> (well, not in touchy - there is no keyboard)
[20:49:33] <psha> cmorley merged patch for gladevcp
[20:49:39] <psha> my xterm is working nice
[20:49:47] <psha> running commands etc
[20:50:03] <cradek> weird
[20:50:20] <cradek> I see one minor thing: when I change the control font, the tab saying xterm does not resize its label
[20:50:43] <cradek> those tabs need to be added to the update routine somehow?
[20:51:22] <psha> i'll check
[20:51:59] <cradek> let's move these from [DISPLAY] to [TOUCHY] since that's where other config stuff goes (I forgot we have the macros now, so I was wrong that nothing comes from the ini)
[20:52:38] <psha> display section may be used by axis too
[20:53:04] <psha> i've first placed them in [AXIS-DISPLAY] section
[20:53:09] <psha> but then moved to DISPLAY
[20:53:50] <cradek> I bet it's true that if you want to make AXIS behave the same way with these settings DISPLAY is better
[20:57:43] <cradek> http://timeguy.com/cradek-files/emc/touchy-embed.png
[20:57:57] <psha> cradek: pull one more patch
[20:58:03] <psha> i've fixed font issue
[20:58:25] <psha> nice :)
[21:00:30] <cradek> that fixes it - excellent
[21:01:15] <psha> touchy embeds are a bit more accurate then axis ones
[21:01:33] <psha> GtkSocket honors XEmbed protocol and at least sets proper window sizes
[21:04:27] <cradek> pushed, thank you, that's really cool.
[21:04:27] <alex_joni> heh, next step is to embed a text editor to edit the g-code ;)
[21:05:03] <cradek> without a keyboard??
[21:05:21] <alex_joni> popup touch keyboard
[21:05:27] <cradek> haha
[21:05:40] <cradek> you'd change your mind if you tried it :-)
[21:05:49] <alex_joni> oh, I've tried it before
[21:06:01] <alex_joni> it kinda works if you use only one finger to type
[21:06:15] <alex_joni> and go really slow, and check every letter typed
[21:06:23] <cradek> yep, fun
[21:08:25] <psha> emacs is embedable :))
[21:08:49] <psha> but emacs with onscreen keyboard would be strange one :))
[21:09:27] <psha> and this all was started for simple camera tracking... :)
[21:09:51] <psha> by the way is there any component to assign temperature values to hal pins?
[21:11:08] <jepler> you mean, are there any hal components that read temperature sensors?
[21:11:50] <psha> yes
[21:13:51] <jepler> here's one possibility, based around a serial ADC: http://www.wallacecompany.com/machine_shop/EMC2/serial_adc/
[21:14:24] <jepler> there's at least one other one out there by someone doing an extrusion (reprap-like) machine, but I can't think of the name at the moment
[21:14:27] <cradek> I think the motenc cards have ADCs that you could use with ... something
[21:15:07] <cradek> wonder if one-wire protocol is slow enough to do by bit-banging in a base period
[21:15:44] <Jymmm> could you a dallas one wire temp chip?
[21:16:11] <jepler> there are some odd timing requirements for one-wire. I remember being dubious you could do it in the base period, but I've forgotten the details
[21:16:25] <cradek> ah
[21:16:26] <Jymmm> ah
[21:16:38] <jepler> for mesa, there's the 7i65 but it's not supported yet in our hostmot2 driver (needs sp, iirc)
[21:18:21] <jepler> aha, here's jon elson schooling me about onewire timings: http://mid.gmane.org/4B7AD77F.5080601@pico-systems.com
[21:18:35] <jepler> tgif .. time to get out of the office
[21:21:53] <psha> jepler: personaly i'm thinking about 1-wire sensors
[21:24:54] <psha> Via digitemp
[21:25:07] <psha> http://www.digitemp.com/
[21:53:59] <CIA-5> EMC: 03cradek 07master * rf1371af7c9f3 10/src/emc/usr_intf/touchy/touchy.py: touchy: Add dynamic tabs for embeding
[21:53:59] <CIA-5> EMC: 03cradek 07master * re5210ea97375 10/src/emc/usr_intf/touchy/touchy.py: touchy: Update dynamic tab font
[21:53:59] <CIA-5> EMC: 03cradek 07master * rccf5733799cd 10/configs/sim/touchy.ini: An example of something that can be embedded
[21:53:59] <CIA-5> EMC: 03cradek 07master * rd3c5cd684214 10/src/emc/usr_intf/touchy/touchy.py: remove debug output