#emc-devel | Logs for 2006-05-29

[00:57:43] <jmkasunich> * jmkasunich is back
[01:33:34] <jepler> jmkasunich: I'm back too
[01:40:32] <jmkasunich> did you read back?
[01:41:23] <jepler> yes.. I glanced, anyway
[01:41:32] <jepler> I'm working on making USE_STUBS and MATHLIB be obeyed
[01:50:43] <jepler> do you think that's the right thing to do?
[01:50:55] <jepler> (while still using rtapi_math.h and no rtapi_math_i386.h)
[01:51:10] <jmkasunich> to be honest I don't know
[01:51:35] <jmkasunich> take a look at configure.in, line 752
[01:51:45] <jmkasunich> for an explanation of what it used to do
[01:52:23] <jmkasunich> there is even more stuff in configure that tries to identify the rtos, and use <rtos>-config to find out the right things to do
[01:52:52] <jmkasunich> a lot of effort went into that, I don't know how much of it is still in use and how much is ignored
[01:54:14] <jmkasunich> cradek took a look eariler, and said:
[01:54:15] <jmkasunich> cradek I'm struggling to not be overcome by the complexity and messyness of this
[01:54:15] <jmkasunich> cradek it makes me really want to say let's drop support for anything but rtai
[01:54:50] <jmkasunich> that bugs me, because the whole reason for rtapi in the first place was to allow support for different rtos's
[01:55:50] <jmkasunich> alex, paul, and I all put a lot of effort into that config stuff, it seems a shame to just dump it
[01:59:14] <jepler> it's just an oversight that these math-related things weren't put in the new Makefiles
[02:31:56] <jepler> jmkasunich: is what I pasted on the other channel (fputs defined in siggen.o) what you'd expect to see if math stubs are being used?
[02:32:33] <jmkasunich> yeah
[02:33:13] <jmkasunich> the user space math lib wants to be able to print "divide by zero, program halted" to stderr
[02:33:25] <jmkasunich> mathstubs has a fputs that just returns
[02:34:09] <jmkasunich> likewise it defines things like errno and such
[02:34:12] <jmkasunich> it is a total hack
[02:34:31] <jmkasunich> you shouldn't be seeing that on your ubuntu box tho?
[02:37:21] <jepler> no, this is on my bdi2 chroot
[02:37:37] <jmkasunich> sounds promising
[02:37:58] <jepler> I think (one of the) libm hack(s) is about fixed
[02:38:04] <jepler> the error from the farm notwithstanding
[02:38:47] <jmkasunich> I assume thats because it started compiling after your first commit and missed the second
[02:38:52] <jmkasunich> its building again as we speak
[02:39:08] <jepler> the next one may work *crosses fingers*
[02:39:37] <jepler> oh, wait, I broke bdi-tng too
[02:39:40] <jepler> *sighs*
[02:40:09] <jmkasunich> bdi-tng uses the same hack as bdi2
[02:40:21] <jmkasunich> even tho its rtai, there is no rtai_math
[02:40:45] <jepler> oh
[02:59:45] <jmkasunich> siggen loads, thats where it failed before with undefined symbols
[02:59:54] <jmkasunich> (this is on bdi2)
[03:00:27] <jmkasunich> found a different problem, but one thing at a time
[03:00:37] <jmkasunich> [John@cubix2 emc2head]$ bin/halcmd loadrt motmod
[03:00:37] <jmkasunich> /home/John/farm/emc2head/rtlib/motmod.o: unresolved symbol vsnprintf
[03:00:37] <jmkasunich> HAL:0: ERROR: insmod failed, returned 1
[03:00:56] <jmkasunich> at one time I had my own inplementation of vsnprintf for exactly this case
[03:01:14] <jmkasunich> I think it might have been removed by someone who thought the kernel would always provide
[03:01:35] <jmkasunich> not important, I'll finish testing with siggen, then move on to bdi-tng
[03:02:09] <jepler> it's still there, vsn_printf in vsnprintf.h
[03:02:28] <jmkasunich> not if 0'ed out or anything?
[03:02:55] <jepler> #if LINUX_VERSION_CODE > KERNEL_VERSION(2,4,0)
[03:02:55] <jepler> /* Kernel is 2.4 or higher, use it's vsnprintf() implementation */
[03:02:55] <jepler> #define vsn_printf vsnprintf
[03:02:55] <jepler> #else
[03:02:55] <jepler> /* 2.2 and older kernels don't have vsnprintf() so we bring in
[03:02:57] <jepler> our own implementation (vsn_printf) of it here.*/
[03:02:59] <jepler> #include "vsnprintf.h"
[03:03:02] <jepler> #endif
[03:03:15] <jmkasunich> ok, I'm mystified
[03:03:23] <jepler> maybe the second arm needs '#define vsnprintf vsn_printf' ?
[03:03:58] <jmkasunich> maybe
[03:04:21] <jmkasunich> I need to look at it in context to answer intelligently
[03:04:25] <jmkasunich> right now you know more than me
[03:04:41] <jmkasunich> on the bright side, BDI-2 siggen is making a nice sine wave
[03:04:46] <jepler> yay
[03:04:46] <jmkasunich> moving on to TNB
[03:04:48] <jmkasunich> TNG
[03:06:14] <jepler> to derail the conversation, since so many pins and parameters are created with printf()-style formatting, how do you feel about adding new APIs that encapsulate this, e.g., hal_pin_TTT_newf(hal_dir_t, hal_XXX_t **, int, char *format, ...)
[03:07:04] <jmkasunich> yes
[03:07:09] <jmkasunich> excellent idea
[03:07:26] <jmkasunich> those massive repeated stanzas of copy/paste code make me nutz
[03:07:41] <jmkasunich> even better would be a clean way to handle error returns
[03:08:00] <jmkasunich> ideally each pin would only need a line of C, not 6 or 7
[03:08:47] <jmkasunich> might be a candidate for a goto, although we'd lose the ability to print the name that failed
[03:09:04] <jepler> I'll be around tomorrow afternoon/eve.
[03:09:19] <jmkasunich> I think I will
[03:09:42] <jmkasunich> my wife has a bunch of yard work with my name on it, but we'll probably be working in the morning before it gets hot
[03:09:49] <jmkasunich> in the afternoon I'll hide in the cool basmenet
[03:09:52] <jepler> sounds good
[03:09:54] <jepler> see you
[03:09:55] <jmkasunich> basement even
[03:09:59] <jmkasunich> goodnight
[03:10:02] <jmkasunich> and thanks!
[03:10:14] <jepler> even when I broke it, you tell me thanks when I unbreak it.
[03:10:19] <jepler> that's really kind of you.
[03:11:02] <jmkasunich> the new build system is incredibly better than the old... I don't mind a few hiccups
[03:47:33] <dan_falck> hi ray
[03:47:53] <rayh> Hi Dan. How you doing on this fine holiday weekend?
[03:48:01] <dan_falck> good. My dad is here this weekend
[03:48:10] <rayh> Nice.
[03:48:22] <dan_falck> how was cncworkshop?
[03:48:47] <rayh> Fantastic. Having developers and machines together makes for a great time.
[03:49:38] <dan_falck> so, threading is working. toolchanging is working. very cool
[03:50:01] <rayh> Awesome. All the things we talked about long years ago.
[03:50:25] <dan_falck> I guess I'll have to get the lathe set up here for testing
[03:50:35] <rayh> It is not a real easy system to set up but the abilities are fantastic.
[03:50:40] <rayh> You bet.
[03:51:13] <dan_falck> I will try to get emc2 set up here in the next couple weeks
[03:51:27] <dan_falck> I got a spare computer from a friend for free
[03:51:35] <rayh> Good. I'm anxious to hear your reactions.
[03:51:54] <rayh> At fest I mentioned that you were the only one of the early adopters not present.
[03:52:02] <dan_falck> I have the sherline lathe, encoders, steppers, drives, just need the time.
[03:52:20] <dan_falck> I wish I could have been there.
[03:52:27] <rayh> That is a scarce thing when you have a growing family.
[03:53:34] <dan_falck> I have been learning python lately and have written a polar coordinate/bolt circle calculator with a tk gui
[03:53:46] <dan_falck> and will be trying to copy you and cp1
[03:53:52] <rayh> Nice. Thanks
[03:54:01] <dan_falck> it's fun stuff
[03:54:29] <dan_falck> I realized that the editor is the key. Will start learning what it takes to program one
[03:54:31] <rayh> I see the note from you regarding python is still on the basement wall.
[03:54:44] <dan_falck> then add all the little routines
[03:54:45] <rayh> What was that 8 years ago.
[03:54:52] <dan_falck> wow!
[03:55:00] <dan_falck> that long...
[03:55:29] <dan_falck> cradek and jepler are python experts. I'll try and learn from their code
[03:56:27] <rayh> Good plan.
[03:57:51] <dan_falck> it's good chatting with you Ray.
[03:58:05] <rayh> and you, Dan.
[03:58:13] <rayh> Tell the family hello for me.
[03:58:15] <dan_falck> come out to Oregon some time
[03:58:17] <dan_falck> I will
[03:58:20] <dan_falck> thanks
[03:58:23] <rayh> You bet we will.
[09:19:22] <EvertL> EvertL is now known as Evertlammerts
[15:50:36] <alex_jon1> alex_jon1 is now known as alex_joni
[15:51:34] <alex_joni> morning all
[15:51:40] <Lerneaen_Hydra> morning
[21:35:55] <jepler> jmkasunich: I haven't looked back. how badly broken did my changes this morning leave the other platforms?
[21:36:20] <jmkasunich> minor problem (a typo really) on BDI-2, I fixed it already
[21:36:30] <jepler> great
[21:36:46] <jmkasunich> haven't actually tested since last night, but I have every reason to believe they still work fine
[21:36:53] <jmkasunich> (the typo caused a compile failure)
[21:37:11] <jepler> I only converted one driver to use the new APIs, because I only wanted to convert what I could test
[21:37:32] <jmkasunich> ok, we can do more later
[21:37:46] <jmkasunich> I'd really like to look at error handling
[21:37:58] <jmkasunich> the new API eliminates one or two lines, I want to get rid of more