#emc-devel | Logs for 2007-09-25

[00:10:29] <jmkasunich_> G999.9 random arc centers
[00:10:34] <jmkasunich_> jmkasunich_ is now known as jmkasunich
[00:34:03] <jepler> G999.8 "always give invalid radius error"
[00:40:10] <SWPadnos> G999.7 "ignore arcs"
[00:41:37] <jepler> is G999.9 the same as 'undesired circular motion'? All real controllers use G999.6 for that...
[00:42:13] <jmkasunich> G999.5 sit-n-spin
[00:42:15] <SWPadnos> maybe there should also be something like G999.17 "non-euclidian geometry"
[00:47:12] <jmkasunich> SWPadnos: how goes the board?
[00:47:33] <SWPadnos> it's OK. I'm having the FPGA mental block problem though :(
[00:47:42] <jmkasunich> wecome to the club
[00:47:45] <SWPadnos> the analog section seems to work fine, and I can light the LEDs under PC control
[00:47:52] <jmkasunich> what kind of block are you having?
[00:47:58] <SWPadnos> though the AD8250 doesn't seem to be as accurate as the spec sheet would have you believe
[00:48:09] <SWPadnos> premature optimization, I think
[00:48:26] <jmkasunich> you have a million gates to work with
[00:48:28] <jmkasunich> you don't need to optimize
[00:48:35] <SWPadnos> I have the SPI block from Peter, but I want to have a single unit that has one clock and 3 SPI in (or 4 out for the DACs)
[00:48:39] <SWPadnos> I know :)
[00:49:24] <SWPadnos> I do need to minimize address space usage though - this needs to run at 10KHz minimum, and there is a lot of data, so I think it's a good idea to make the read data addresses contiguous
[00:49:32] <SWPadnos> similar for write addresses
[00:50:21] <SWPadnos> I had to find some of the syntax for arrays of vectors and all that stuff - not being very comffortable with the language seems like an overwhelming impldiment sometimes
[00:50:27] <SWPadnos> impediment
[00:50:33] <jmkasunich> ah
[00:50:56] <jmkasunich> I've found that too
[00:51:01] <SWPadnos> on the bright side, I did manage to get libmodbus working, so I have a short program that can read/write modbus endpoints
[00:51:17] <jmkasunich> I tend to think in schematics and then try to figure out the VHDL that will give me the desired result
[00:51:39] <SWPadnos> that can be turned into a userspace HAL modbus module easily, if some reasonable method of specifying the information you want can be found
[00:51:56] <SWPadnos> I tend to think in microcontroller code, which doesn't always translate as well to VHDL
[00:52:04] <jmkasunich> heh
[00:53:12] <SWPadnos> I did find out the array syntax though
[00:53:23] <SWPadnos> all the eamples seem to define a new type, like so:
[00:53:49] <SWPadnos> type somestuff is array(x downto 0) of std_logic_array(y downto 0)
[00:54:30] <SWPadnos> then signal something : somestuff
[00:55:11] <jmkasunich> std_logic_array is a predefined type?
[00:55:13] <SWPadnos> the only weird thing (that I've read about anyway) is that you need separate parentheses for subscripting: something(3)(5) is a std_logic element
[00:55:20] <SWPadnos> err - vector?
[00:55:27] <SWPadnos> std_logit_vector
[00:55:28] <SWPadnos> std_logic_vector
[00:56:01] <SWPadnos> and then you can do stuff like obus <= something(0)(buswidth-1 downto 0)
[00:56:41] <SWPadnos> std_logic_vector is just an array of std_logic, predefined for you in the IEEE1164 library
[00:57:40] <jmkasunich> interesting - jon elson just described the "touches the disk every couple seconds" thing that I've been seeing on this box
[00:57:43] <SWPadnos> hmmm
[00:57:56] <SWPadnos> could be like the kjournald thing I saw every 5 seconds
[00:58:52] <fenn> strace is good for that kind of stuff
[00:59:37] <fenn> er, i mean lm-profiler
[00:59:47] <SWPadnos> I used top ;)
[01:00:19] <SWPadnos> the only process I didn't know I had started which had nonzero total CPU was kjournald
[01:04:31] <jmkasunich> there are about a bazillion processes running on this bo
[01:04:32] <jmkasunich> x
[01:04:51] <SWPadnos> mine too. I did that test after setting up a real runlevel 2 - multiuser but no X
[01:05:06] <SWPadnos> without all the crap that normally gets started
[01:05:11] <jmkasunich> I see
[01:05:26] <jmkasunich> I suspect that my blinkin-light is one of the craps
[01:05:37] <SWPadnos> ?
[01:05:49] <jmkasunich> "the crap that normally gets started"
[01:05:58] <jmkasunich> blinkin-light is the disk access LED
[01:06:03] <SWPadnos> ah
[01:06:23] <SWPadnos> I thought you had done some modding with daemons to drive the uber-cool case LEDs or soemthing :)
[01:06:27] <jmkasunich> something touches the disk every couple seconds, 24/7
[01:06:41] <SWPadnos> is this the vmware box?
[01:06:45] <jmkasunich> yes
[03:14:22] <jmkasunich> echo 1 > /proc/sys/vm/block_dump (as root), and dmesg will tell you who is accessing the disk
[03:14:35] <jmkasunich> in my case, vmware, and kjournald
[03:14:53] <SWPadnos> cool
[03:15:31] <jmkasunich> you might want to do /etc/init.d/sysklogd stop first
[03:15:50] <SWPadnos> heh
[03:15:58] <jmkasunich> so the kernel log isn't being written to disk, which would make more transactions to log, which would be written to disk, which would....
[03:16:35] <SWPadnos> right
[03:16:59] <SWPadnos> that was like telling someone how to defuse a bomb. "cut the black wire .... but first, cut the blue wire" :)
[03:17:11] <jmkasunich> sorry
[03:17:21] <SWPadnos> I didn't do it, just thought it was funny
[04:51:10] <alex_joni> morning
[04:51:32] <SWPadnos> ugh
[04:51:38] <alex_joni> you're up late :P
[04:51:45] <alex_joni> and I'm up early
[04:51:44] <SWPadnos> yes
[04:51:48] <SWPadnos> yes
[04:52:41] <alex_joni> bbl..
[04:52:51] <SWPadnos> heh - that was fast :)
[14:20:41] <jepler> cradek: have you ever had time to look at the A-axis problem?
[14:21:34] <cradek> which problem?
[14:21:42] <jepler> the stepconf A-axis problem
[14:21:43] <cradek> oh stepconf? no sorry
[14:22:26] <jepler> I couldn't find a pin-9-specific bug looking at the driver or the outb()'d values in a running emc...
[14:22:49] <cradek> well crap
[14:23:13] <SWPadnos> yeah - I checked that a little too, and didn't see anything
[14:23:20] <SWPadnos> I probably wasn't as thorough as you though
[14:35:50] <cradek> I wonder if there's a maximum reasonable distance homing should search for index
[14:36:10] <SWPadnos> yes, there probably is
[14:36:11] <cradek> I read that if the BP doesn't see an index within 0.2 inches after the switch, it stops with an error
[14:36:41] <SWPadnos> index is mostly useful with rotary encoders, so one revolution is a reasonable amount
[14:36:57] <cradek> right, but who knows what a revolution is
[14:37:10] <SWPadnos> right
[14:37:10] <cradek> (in the general case I mean)
[14:38:29] <alex_joni> che might know
[14:39:02] <alex_joni> (in the general case :P)
[14:39:50] <SWPadnos> jepler, have you tried using a single outw for the two parport outs? (I think they're at adjacent addresses - ignore if not)
[14:47:35] <jepler> rtapi_outb(outdata, port->base_addr);
[14:47:35] <jepler> rtapi_outb(outdata, port->base_addr + 2);
[14:48:04] <SWPadnos> neverminf
[14:48:05] <jepler> but thanks for making me look it up; I would have missed this
[14:48:06] <SWPadnos> d
[14:48:10] <SWPadnos> heh
[16:36:45] <Roguish> SWPadnos: hey, got my jog wheel working shortly after your last help the other day. now gotta work on the proper switches for changing axes and increments. thanks again.
[18:00:16] <Guest576> Guest576 is now known as skunkworks_
[20:47:04] <jepler> speaking of inifiles do we want to make "convert existing sample configs to use 'net'" a goal before 2.2 releases?
[20:47:21] <jepler> I could sure do it for the sims and stepper, configurations I can at test
[20:48:00] <alex_joni> I think I changed all linkpp with net a while ago
[20:48:04] <SWPadnos> I think that's a good idea
[20:48:17] <SWPadnos> there are certainly others that aren't "fixed"
[20:48:32] <jepler> and anything else that leads to deprecation warnings, such as use of blocks (I think those were already fixed)
[20:48:45] <alex_joni> jepler: blocks have been fixed iirc
[20:48:46] <SWPadnos> counter ?
[20:49:34] <jepler> what about it?
[20:50:06] <SWPadnos> isn't it deprecated, moved into encoder?
[20:50:15] <SWPadnos> not that any configs use it
[20:50:21] <jepler> nist-lathe might?
[20:50:49] <SWPadnos> yep
[20:51:02] <SWPadnos> nist-lathe, max, sim/lathe, sim/servo_sim
[20:51:41] <SWPadnos> err - nevermind me. I can't read
[20:52:06] <jepler> I think nist-lathe is the only one
[20:52:14] <SWPadnos> yep, looks that way
[20:52:56] <SWPadnos> looking for loadrt.*counter is much more effective than just counter