#emc-devel | Logs for 2009-08-04

[01:56:33] <cradek> X homed on the Jr!
[02:01:35] <skunkworks> Nice job!
[02:01:47] <skunkworks> at 500ipm? ;)
[02:02:01] <cradek> no, it's untuned
[02:02:11] <cradek> 100 I think
[02:02:30] <cradek> the lights dim a bit when the servo power supply starts
[02:02:37] <skunkworks> heh
[02:02:49] <cradek> hope there's enough power for it - the main breaker on it is 75
[02:02:57] <cradek> I doubt that will ever trip... :-/
[02:05:58] <cradek> the X backlash seems to be about .0004
[02:06:04] <cradek> I sure hope they're all so good
[02:06:08] <skunkworks> nice
[02:07:54] <skunkworks> so you where able to just hook the tachs back to the servoamps?
[02:08:04] <cradek> yes (I only did X so far)
[02:08:24] <cradek> it sings - not sure which loop is oscillating (or maybe it's normal)
[02:09:21] <cradek> actually that's not true - I looked at the position and it was stable
[02:09:41] <cradek> so I might have to fiddle some knobs, but I'll wait a while and sleep on it first
[02:09:58] <skunkworks> heh
[02:10:08] <cradek> you know how it is
[02:10:51] <skunkworks> I usually need a vacation first.
[02:17:15] <jepler> cradek: cool
[02:20:32] <cradek> jepler: whee!
[02:37:01] <jepler> I've just been trying "ubuntu netbook remix" on my eee surf (first generation with 512 megs RAM)
[02:37:18] <jepler> It's not terrble, after fixing the broken-by-default X setup
[02:37:29] <cradek> not terrible sounds like a good start
[02:38:09] <jepler> before screwing around with X config, the thing they put on the desktop peformed so badly I thought it was broken
[02:40:49] <cradek> the X home switch isn't at the end of travel... grr
[11:10:44] <christel> [Global Notice] Hi all, we appear to be having some connectivity issues between our main US and EU hubs -- we're looking into this and hopefully they will be resolved soon. Further info will go to wallops, set yourself +w to see them. Apologies for inconvenience.
[11:20:30] <christel> [Global Notice] Hi all, I am going to be making some routing changes, this will be rather noisy for a few moments as I juggle stuff around -- apologies for the inconvenience and thank you for your patience and for using freenode.
[12:57:35] <alex_joni> short C question
[12:57:50] <alex_joni> on a function which expects a (double ** foo)
[12:58:09] <alex_joni> how can I call it with a param which is double bar[x][y]; ?
[13:00:24] <jepler> you can't
[13:01:02] <SWPadnos> well, in C you can, but it's not a good idea ;)
[13:01:14] <SWPadnos> (it's harder or impossible in C++)
[13:04:05] <alex_joni> I made a pointer
[13:04:10] <alex_joni> double **fooptr;
[13:04:19] <alex_joni> fooptr = (double **) bar;
[13:04:22] <alex_joni> and passed that
[13:05:08] <jepler> the pointer type that double bar[4][3] ("array 4 of array 3 of double") decays into is double (*bar)[3] ("pointer to array 3 of double") which is not compatible with double ** bar ("pointer to pointer to double")
[13:05:17] <jepler> that's unlikely to work
[13:06:47] <jepler> http://www.eskimo.com/~scs/c-faq.com/aryptr/pass2dary.html
[13:16:27] <jepler> http://emergent.unpy.net/files/sandbox/arrays-ptrs.png
[13:55:03] <jepler> alex: http://emergent.unpy.net/files/sandbox/arrays-ptrs.png
[14:58:48] <alex_joni> jepler: thanks for the link.. can't get to it now though
[15:03:36] <jepler> bounce bounce
[15:03:39] <skunkworks_> alex_joni: quick - it is there now..
[15:07:16] <alex_joni> jepler: yeah, the thing on the right is what I used
[15:07:29] <alex_joni> I passed the **, and the num_rows, num_cols
[15:09:39] <jepler> you could create 'double *b[4]', then for(i=0; i<4; i++) b[i] = bar[i], then pass b instead of bar.
[15:11:41] <alex_joni> I did this, and it seems to work:
[15:11:46] <alex_joni> I have bar[3][4]
[15:11:56] <alex_joni> double **foo = (double **) bar;
[15:12:03] <alex_joni> I pass foo to the function
[15:12:19] <alex_joni> then inside the function I have a *b[4]
[15:13:35] <alex_joni> b[i] = (double *) foo + 3 * i;
[15:13:50] <alex_joni> then I can use b[i][j] in the function
[15:14:08] <alex_joni> http://www.ibiblio.org/pub/languages/fortran/append-c.html <- method #4, close to the end
[15:14:40] <SWPadnos> err - 3*j+i
[15:18:41] <alex_joni> SWPadnos: yeah ;)
[15:18:55] <alex_joni> * sizeof (double) or something
[15:20:23] <SWPadnos> no, b[i+1] will point to the next double, not the next byte
[15:29:05] <alex_joni> err.. right
[15:29:16] <alex_joni> (I had a couple of versions ;).. one was using void * ..)
[15:29:23] <SWPadnos> ah
[15:29:37] <SWPadnos> they should have called it avoid :)