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

[00:39:45] <KimK> I just noticed that Red Hat over the next year will be migrating from CVS to git; apparently Fedora already has. (Git story starts below screenshot, "In a related news...") http://distrowatch.com/weekly.php?issue=20101101#news The next story tells of Ubuntu's choice of Unity desktop over Gnome 3.0 shell for 11.04. Some disapprove.
[01:31:21] <cradek> cvs isn't dead until the freebsd project switches...
[02:22:58] <jepler> yeah, you have to be a crazy fringey bsd to be using git http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=summary
[07:49:14] <ries_> ries_ is now known as ries
[13:01:49] <jepler> http://emergent.unpy.net/files/sandbox/0001-rtai_rtapi-give-more-information-when-tasks-fault.patch
[13:09:00] <psha> good morning :)
[13:12:51] <cradek> hi
[13:13:36] <psha> jepler: i've added tests/names to hal.pin
[13:13:45] <psha> and added python wrappers over hal.item
[13:14:29] <psha> it's as usual at http://psha.org.ru/cgit/psha/emc2.git/log/?h=pyhal-pin
[13:15:05] <cradek> I bet he's driving to work now, considering how he sent us a URL at 8:01
[13:15:05] <psha> top-level python module allows to create 'pythonic' wrappers
[13:15:55] <psha> it's hard to aim with 8hrs offset :)
[13:16:22] <cradek> ha
[13:16:48] <cradek> on the contrary, 'good morning' at 8am is very well-timed
[13:26:51] <jepler> hi psha
[13:26:59] <jepler> drive's done, but now it's time for important stuff like the first cup of coffee.
[13:30:43] <jepler> ooh tests .. I'm tingling!
[13:33:57] <skunkworks> mmmmm coffee...
[13:43:03] <psha> jepler: some black magick with __new__ is needed to properly wrap hal.item into high-level objects but this allows to hide C-item deep inside
[13:44:34] <psha> it also may be achieved by redefining all methods but it will be a bit verbose
[13:58:01] <skunkworks> cradek: I think that the scrolling exceded soft limit error can be triggered by manually moving the machine past it.
[13:58:18] <skunkworks> at that point - nothing stops the scrolling.
[13:58:41] <skunkworks> that I know of anyway.
[14:00:04] <skunkworks_> an manually - I mean take ahold of the ball screw and turn it past the soft limits.
[14:00:35] <psha> * psha tries to count skunkworks's
[14:02:31] <skunkworks_> I like to be counted
[14:07:24] <psha> I see one with tail!
[14:07:48] <psha> wanna one too!
[14:07:49] <psha> psha is now known as psha_
[14:17:29] <jepler> psha_: should this be "const char *"? + char * name;
[14:18:15] <jepler> it seems like the first two commits should probably be squashed .. or at least the part of the second commit that renames pin to item could be squashed to the first
[14:20:03] <jepler> I see you added a try/except/finally construct in the halmodule test. I double-checked and that's in Python 2.5 (2006) so it should be OK for all our platforms
[14:20:05] <psha_> jepler: ok, i'll glue them
[14:20:33] <psha_> i've added except so when test fail traceback is not lost
[14:20:38] <psha_> psha_ is now known as psha
[14:22:26] <psha> as of const char - you meen pyhalitem struct?
[14:22:30] <jepler> I'm surprised that's necessary. After the finally block executes, it should print the exception like normal
[14:22:33] <jepler> yes
[14:22:52] <psha> const char creates warning when trying to free it
[14:23:15] <jepler> ok, forget it then
[14:23:17] <psha> exception is printed into stderr
[14:23:24] <jepler> and you want it in stdout?
[14:23:31] <psha> yes
[14:23:42] <jepler> when running tests, stderr is captured into the "stderr" file
[14:23:43] <psha> why? so test suite will show where and what happened
[14:24:03] <psha> with stderr you get something separate loosely bound to stdout
[14:24:29] <psha> to be honest i've missed that i've commited traceback part
[14:24:53] <jepler> I don't mind one way or the other
[14:25:22] <jepler> the reason that stderr goes to a separate file is that I wanted to be able to add debugging prints that went to stderr without breaking all tests
[14:25:47] <jepler> if you think it's a good benefit, maybe split it out to a separate commit
[14:26:25] <psha> i'm not against stderr :) i only was surprised with silently exiting test
[14:26:26] <jepler> unlike a debugging print, if an exception happens in that code it will make the test fail anyway
[14:26:45] <jepler> and so I can see the benefit of putting a traceback in result instead of stderr
[14:26:52] <psha> maybe somethink like raise in the end of except clause will satisfy all
[14:27:26] <psha> so we'll get traceback into stdout and standard exception handler dump into stderr
[14:27:37] <jepler> set f 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216 fail
[14:28:05] <jepler> * jepler has to read the source to find out what the significance of the number is
[14:28:29] <jepler> try_set("f", 1l<<1024)
[14:28:30] <psha> 1 << 1024
[14:28:39] <psha> pretty large...
[14:28:40] <psha> :)
[14:28:43] <jepler> yeah
[14:30:20] <jepler> ah, the first n for which float(1<<n) fails
[14:32:51] <jepler> I'd put hal.py directly in lib/python, not in src/
[14:33:11] <psha> ok
[14:33:22] <jepler> I know we're not entirely consistent about this, but I think the prevaling habit is to put .py files directly in lib/
[14:33:43] <skunkworks_> cradek: welcome back!
[14:34:05] <psha> http://psha.org.ru/cgit/psha/emc2.git/commit/?h=pyhal-test
[14:34:20] <psha> split patch for except clause
[14:34:45] <jepler> yes, good explanation too
[14:44:57] <psha> http://psha.org.ru/cgit/psha/emc2.git/log/?h=pyhal-pin2
[14:45:33] <psha> first two patches glued, moved hal.py
[14:46:57] <psha> something broken in tests
[14:47:35] <jepler> oops!
[14:47:47] <cradek> I noticed recently that jogwheel and feed override interact badly again - I'm sure we fixed it once
[14:48:33] <psha> jepler: reuploaded
[14:48:35] <cradek> lately it seems like we fix the same things over and over.
[14:51:51] <psha> cgit has too agressive caching...
[14:52:28] <psha> i've left 'pass' after module declaration
[14:54:47] <jepler> anybody want to take a look at my patch from earlier this morning before I push it? http://emergent.unpy.net/files/sandbox/0001-rtai_rtapi-give-more-information-when-tasks-fault.patch
[14:55:22] <jepler> it's too bad I couldn't figure out a better way to get from eip to source code line, but it does work
[14:56:02] <skunkworks_> cradek: did you catch what I wrote above. I was going to test here and see if I can make it do it in sim.
[15:02:27] <cradek> skunkworks_: yes it also does it in sim
[15:02:43] <jepler> halcmd: unlinkp axis.0.motor-pos-fb
[15:02:43] <jepler> halcmd: setp axis.0.motor-pos-fb -1000
[15:02:48] <jepler> joint 0 following error
[15:02:48] <jepler> emc/task/taskintf.cc 611: Error on axis 0, command number 126
[15:02:48] <jepler> Exceeded soft limit
[15:02:48] <cradek> yes that
[15:02:55] <jepler> I get it only once, though
[15:03:16] <cradek> I get "Exceeded negative soft limit on joint 0" instead, and I get many of them
[15:03:26] <jepler> this is v2.4_branch
[15:03:37] <cradek> ok, master here.
[15:03:56] <cradek> I haven't yet found any reason for it to be worse than before.
[15:04:01] <skunkworks_> I am running master on the k&t
[15:04:11] <jepler> yes, it spews for me on master but not v2.4_branch
[15:04:14] <cradek> ok
[15:04:58] <cradek> oh ... those errors are new
[15:05:10] <cradek> 4bc762a2df3c
[15:05:22] <cradek> unrelated to the log message
[15:07:06] <cradek> ok I see what you were trying to do here...
[15:15:04] <CIA-2> EMC: 03cradek 07master * r3adcbcb5dc9b 10/src/emc/motion/control.c: print this message only once per soft-limit violation
[15:15:45] <skunkworks_> yay!
[15:21:26] <skunkworks_> * skunkworks_ cheers from the cheap seats
[15:57:34] <jepler> skunkworks_: if you paid for that seat, you got ripped off
[15:58:28] <jepler> psha: which branch should I be looking at now?
[15:58:34] <jepler> pyhal-pin2 ?
[15:58:40] <psha> pin2
[15:58:53] <psha> i've cherry picked patches there
[15:59:34] <psha> it has pyhal-test branch merged
[16:00:44] <psha> cgit is not that fast since i have only 0.5Gb of memory there :) hope there will be 2gb in couple of days
[16:01:24] <psha> caches are too small now...
[16:06:25] <skunkworks> * skunkworks cheers from the free seats!
[16:07:14] <Jymmm> * Jymmm hands skunkworks tissues for the nose bleed.
[16:22:52] <jepler> hm -- there's a problem for upgrading users (like me): if hal.so is not removed (manually) it's apparently used in preference to hal.py, which leads to an error in the test
[16:26:09] <jepler> I'll fix up the pythonclean rule so that at least 'make clean' will solve it.
[16:31:44] <CIA-2> EMC: 03jepler 07master * raac2e7965813 10/tests/halmodule.0/test.sh: tests: Added except clause in try block for halmodule
[16:31:44] <CIA-2> EMC: 03jepler 07master * rb9a6a90eda77 10/src/hal/halmodule.cc: pyhal: Added hal.item object
[16:31:47] <CIA-2> EMC: 03jepler 07master * ra7c08f633c20 10/tests/halmodule.0/ (expected test.sh): pyhal: Added tests for item object
[16:31:50] <CIA-2> EMC: 03jepler 07master * r81f8f84b1ec1 10/ (lib/python/hal.py src/hal/Submakefile src/hal/halmodule.cc): pyhal: Add python module over C-module
[16:31:51] <CIA-2> EMC: 03jepler 07master * r34074e07fadd 10/ (docs/rtfaults.txt src/rtapi/rtai_rtapi.c): rtai_rtapi: give more information when tasks fault
[16:31:57] <CIA-2> EMC: 03jepler 07master * r8a9a9d9af095 10/src/Makefile: build: clean target should remove python .so mods
[16:31:58] <CIA-2> EMC: 03jepler 07master * r53a8cb2d9d02 10/ (5 files in 3 dirs): Merge remote branch 'psha/pyhal-pin2'
[16:32:16] <jepler> psha: thanks!
[16:56:05] <psha> jepler: great, i'll move gladevcp on top of this now
[18:42:37] <psha> cradek: some time ago cmorley sent mail to the list about gladevcp in touchy
[18:42:52] <psha> at that point he suggested to modify basic glade files
[18:43:25] <psha> as i understand with GtkBuilder it's possible to build interface from several files
[18:44:09] <psha> so maybe same goal may be achieved with additional user-defined ui files with some predefined locations across interface
[18:44:42] <psha> a bit like xembed but less hacky
[18:46:33] <psha> during gladevcp rewrite i've added full support for gtkbuilder so it's possible now
[19:21:15] <psha> is it possible to find when issued jog command is done?
[19:22:48] <jepler> I don't think so.
[19:23:20] <psha> maybe create local instance of emc.command() and wait_complete() on it?
[19:23:30] <psha> or many emc.commands() are bad design?
[19:24:51] <jepler> having multiple emc.commands causes problems, because of the design of wait_received/wait_complete
[19:28:35] <jepler> but without anything else sending commands, and as long as the jog is not so long it hits the wait_complete timeout, it seems to work..
[19:29:00] <jepler> >>> c.jog(emc.JOG_INCREMENT, 0, .5, 1); t0 = time.time(); c.wait_complete(); t1 = time.time()
[19:29:03] <jepler> >>> t1-t0
[19:29:06] <jepler> 2.0063021183013916
[19:29:27] <psha> wait_complete on timeout returns -1, subsequent calls returns 1 when it's done
[19:29:32] <psha> even if it's aborted
[19:29:53] <psha> so besides any interference with other emc.command()'s everything seems correct
[19:41:35] <psha> jepler: what is wrong with wait_received/wait_complete?
[19:41:54] <psha> each emc.command() holds it's own RCS_STAT_CHANNEL
[19:41:57] <psha> and waits on it
[19:42:05] <psha> no global vars
[20:12:01] <psha> jepler: what was final descision about halui-rewrite? it's abandoned?
[20:12:44] <jepler> psha: umm I guess I'd forgotten about it
[20:13:06] <jepler> the problem with wait_received/wait_complete is that while you can have multiple stat buffers, they're really all views onto the same shared memory
[20:13:24] <jepler> so if task receives your command, then another command, and you look for whether your command is received, you see the number of the other command
[20:20:50] <psha> got it...
[20:26:15] <jepler> can you remind me where the halui refactor stands?
[20:26:26] <jepler> was the question whether to use the version that had the templates?
[20:26:49] <psha> yes
[20:27:11] <psha> there was brief discussion about usefullness of templates with macros
[20:27:21] <psha> as macros are already solution
[20:28:12] <jepler> the one advantage that the templates had was that the type in the second structure could have the volatile qualifier remove
[20:28:15] <jepler> d
[20:28:23] <jepler> I found several "used without being initialized"-type problems when I did that..
[20:28:27] <jepler> of course, testing should turn those up as well
[20:30:22] <jepler> do you have the version which didn't use templates but used the macros to declare both structures and write the "update" function or whatever it was called?
[20:30:28] <psha> i'm a bit indifferent about templates - they are translated on compile time and don't harm
[20:30:49] <psha> yes
[20:32:45] <jepler> which branch?
[20:33:02] <psha> halui-jepler3 :)
[20:33:08] <psha> but it has volatiile
[20:33:18] <psha> http://psha.org.ru/cgit/psha/emc2.git/tree/src/emc/usr_intf/halui.cc?h=halui-jepler3
[20:33:27] <psha> it's file without templates
[20:33:43] <psha> http://psha.org.ru/cgit/psha/emc2.git/commit/?h=halui-jepler3
[20:33:45] <psha> patch
[20:34:18] <psha> volatile may be removed with ##ing prefix to hal_bit_t
[20:34:26] <psha> but this is a bit dirty...
[20:41:55] <jepler> I'd be happier doing it with templates
[20:44:31] <psha> so let it be templates
[20:44:39] <jepler> OK
[20:45:08] <jepler> I'm going to steal one part from your commit on top of mine -- put the copy right in the macro and get rid of copy_items
[20:51:18] <micges> uff
[20:51:27] <micges> whole day of ja3 testing
[20:54:33] <skunkworks> how did it go?
[20:55:46] <micges> very well
[20:56:07] <micges> but about 6 bugs in emctask / emcmot
[20:57:44] <micges> machine have 45000mm/min with ferror < 0.5 mm
[21:00:18] <skunkworks> wow - 1771 inches per minute?
[21:01:05] <jepler> or in terms you might be more familiar with, 3.7 earthradius/year
[21:01:06] <micges> and I've hit machine with gantry axis with 26000mm/min, it was very noise :|
[21:01:54] <micges> skunkworks: yes it is fast grab and drop machine
[21:02:56] <skunkworks> heh
[21:03:23] <micges> there will be videos
[21:04:18] <skunkworks> can't wait!
[21:05:01] <micges> skunkworks: and how is it your machine
[21:05:02] <micges> ?
[21:09:35] <skunkworks> coming along. getting the b axis straitened out.
[21:09:45] <skunkworks> might make some chips this weekend.
[21:10:52] <cradek> how big a machine is this?
[21:11:40] <micges> mine?
[21:13:39] <cradek> yes
[21:14:20] <micges> 2.5m/2m/0.09m
[21:14:46] <jepler> "numbers should not be confused with centered hexagonal numbers, which model the standard packaging of Vienna sausages"
[21:14:55] <jepler> er, "hexagonal numbers should not be confused ..."
[21:15:09] <micges> XYZU but will be XYZUW soon
[21:16:16] <jepler> you mean it's programmed XYZU or are you saying that X has two motors?
[21:16:50] <micges> Y has two motors
[21:16:55] <micges> rest is 1:1
[21:18:20] <jepler> I see.
[21:19:13] <jepler> if you think any of the emctask/emcmot bugs will affect emc2.4 users and are important, please file them on sourceforge.
[21:20:17] <jepler> btw I will probably do an emc2.4 release nov 20/21, presumably the fest will find and fix some bugs.
[21:20:37] <micges> sure, I've just collected them today, I'll check them tomorrow/day after tomorrow
[21:21:01] <jepler> thank you
[21:21:31] <micges> np
[21:22:39] <micges> it should be mentioned to seb to fix bad state after wrong pin file path in hostmot2
[21:24:41] <jepler> hmmm .. I had a fix for that -- where did I put it?
[21:24:55] <jepler> 09:09:26 <jepler> micges: let me know if this patch fixes the problem ..
[21:24:55] <jepler> http://emergent.unpy.net/files/sandbox/0001-hm2_pci-fix-unload-after-failed-registration.patch
[21:25:05] <jepler> I dunno if you saw that at the time ^^
[21:25:11] <jepler> it was days ago now, I think
[21:25:21] <micges> oh
[21:25:53] <micges> I've missed it
[21:25:55] <micges> thanks
[21:25:59] <jepler> that's OK
[21:45:40] <CIA-2> EMC: 03jepler 07master * r34922c1161d3 10/src/emc/usr_intf/halui.cc: halui: quiet warnings
[21:45:43] <CIA-2> EMC: 03jepler 07master * r449daf1eb687 10/src/emc/usr_intf/halui.cc: halui: reduce duplicated structure definitions
[21:45:54] <CIA-2> EMC: 03jepler 07master * r7908caf54d71 10/src/emc/usr_intf/halui.cc: halui: cope better when multiple inputs are active
[22:39:18] <ries_> ries_ is now known as ries