#emc-devel | Logs for 2006-06-02

[00:00:02] <jmkasunich> PDM has the lowest output ripple if you are making a DAC, but if switching power, the switching frequency can get pretty high
[00:00:11] <jmkasunich> (switching loss issue)
[00:00:38] <jmkasunich> worst case is 50% duty cycle
[00:00:40] <cradek> ah ok
[00:00:45] <jmkasunich> it spends one period high, one low
[00:00:48] <cradek> yeah
[00:01:02] <cradek> I think everyone so far has used it as a pseudodac
[00:01:11] <cradek> well no that's not true
[00:01:19] <cradek> for instance me
[00:01:26] <jmkasunich> no, you're switching power with it
[00:01:27] <cradek> must be ok at low power
[00:01:36] <jmkasunich> not much power, but...
[00:16:25] <jmkasunich> hmm, it turns out that dithered PWM is really just a special case of PDM
[00:16:45] <jmkasunich> so, instead of an int param to select the type of modulation, its gonne be a bit
[00:16:57] <jmkasunich> should it default to PWM or PDM
[00:18:14] <cradek> I think pdm
[00:18:43] <jmkasunich> so the bit param would be something like "pwm.0.pure-pwm"
[00:18:47] <jmkasunich> default value 0
[00:18:48] <jmkasunich> ?
[00:18:56] <cradek> sure
[00:21:33] <jmkasunich> it looks like there will also be a insmod param
[00:21:36] <jmkasunich> "output type"
[00:21:49] <jmkasunich> 0 = a single output, duty cycle ranges from 0 to 1
[00:22:08] <jmkasunich> 1 = two outputs, duty cycle ranges from -1 to 1, output is PWM and DIR
[00:22:26] <jmkasunich> 2 = two outputs, duty cycle ranges from -1 to 1, output is UP and DOWN
[00:49:41] <jepler> that sounds good to me. I think I'd use type 1 for etch servo
[00:49:54] <jepler> I'm not sure which type cradek will be using, because he doesn't use "enable"
[00:50:09] <jepler> type 2, I suppose
[00:50:14] <jmkasunich> dat's why we have choices
[00:50:23] <jmkasunich> 2 is what freqgen makes today
[00:50:44] <jmkasunich> that reminds me, the component should have an enable pin
[00:50:53] <jepler> except I hacked in "count" which is like PWM without DIR
[00:51:01] <jepler> maybe it should be hacked back out, I dunno
[00:52:47] <jmkasunich> I'm inclined to say yes, hack it back out (at least once the pwmgen component is done
[00:53:14] <jmkasunich> I wonder, should I call it pwmgen, or just plain pwm?
[00:53:24] <jmkasunich> decisions, decisions
[00:57:37] <jepler> "pwmgen" -> consistent with existing "generator" components
[00:57:47] <jmkasunich> yeah, I'm leaning that way too
[00:57:56] <jmkasunich> I started to call it pwm, but its not too late to change
[01:15:12] <skunkworks> sounds great
[01:23:34] <skunkworks> would single out be 50% duty cycle for no movement?
[01:24:06] <jmkasunich> depends on how you hook it up
[01:24:47] <jmkasunich> I personally would _not_ use single out for an axis control that wants to move both ways (H-bridge)
[01:25:01] <jmkasunich> its more appropriate for some single ended function
[01:25:12] <skunkworks> ah - was only thinking axis movement. Single minded
[01:25:14] <jmkasunich> non-reversing spindle speed or something like that
[08:35:06] <EvertL> Hi there
[08:35:21] <alex_joni> hello
[08:35:31] <EvertL> a quick question
[08:35:41] <EvertL> EMC2 uses nmllib
[08:35:45] <alex_joni> we'll see how quick the answer is ;)
[08:35:47] <alex_joni> libnml
[08:35:52] <alex_joni> right
[08:35:54] <EvertL> what is the difference with rcslib
[08:35:59] <alex_joni> not much
[08:36:07] <alex_joni> RCSLIB is multiplatform, PD, etc
[08:36:15] <alex_joni> works on doze, solaris, linux, etc
[08:36:20] <EvertL> but libnml is not?
[08:36:27] <alex_joni> libnml is basicly RCSLIB stripped to work only on linux
[08:36:28] <alex_joni> right
[08:36:36] <alex_joni> libnml is LGPL
[08:36:45] <EvertL> is it developed by NIST?
[08:36:56] <alex_joni> RCSLIB was developed by NIST
[08:37:04] <EvertL> and libnml?
[08:37:15] <alex_joni> libnml is the clean'n'mean implementation of RCSLIB by Paul Corner
[08:37:24] <alex_joni> that was to quote him
[08:37:36] <EvertL> alright, thanks a lot again!
[08:37:44] <alex_joni> it's basicly the same stuff reorganized a bit, and beautified to be able to read better, etc
[08:37:53] <alex_joni> losing all the #ifdef hell in there
[08:37:57] <alex_joni> EvertL: no problem ;)
[16:03:32] <alex_joni> hi guys
[16:08:10] <jepler> hi alex
[16:08:20] <alex_joni> hi jeff.. what's up?
[16:09:20] <jepler> oh not much
[16:09:29] <alex_joni> * alex_joni ponders about trying 6.06
[16:09:39] <jepler> I tried the "live" 6.06 for a short time
[16:09:53] <alex_joni> I think it's the same.. isn't it?
[16:09:59] <jepler> I didn't see anything that made me too exciting
[16:10:00] <alex_joni> CD I mean..
[16:10:15] <jepler> yeah, the primary CD is "live"
[16:10:30] <alex_joni> I looked at it a bit .. can't find the udebs anymore..
[16:10:39] <alex_joni> means more trouble to figure it out :/
[16:10:49] <jepler> yeah I'm sure
[16:11:03] <alex_joni> although I noticed there's a new 'alternate CD'
[16:11:57] <alex_joni> which is something for OEM installs, and other custom deployments
[16:12:11] <alex_joni> yet.. no documentation on it afaik
[16:12:28] <jepler> I was a bit disappointed by the "live" CD. There's not a clear shortcut for "put some persistent data on my USB key" (or hard drive or whatever)
[16:12:54] <jepler> instead you have to follow some instructions from the wiki which involve things like creating partitions and filesystems, and give a boot parameter each time you start the live CD
[16:13:04] <jepler> so it's just a gimmick, really
[16:13:08] <alex_joni> aiee
[16:13:13] <alex_joni> that sounds bad
[16:13:45] <alex_joni> but then again.. people probably only want to look at it once..
[16:14:03] <alex_joni> not to actually keep running it as a Live CD
[16:15:04] <alex_joni> booting it on the laptop right now..
[16:24:50] <alex_joni> jepler: what do you usually use to see available WLAN's ?
[16:33:18] <alex_joni> hi ray
[16:38:30] <jepler> alex_joni: umm, I thought it was "iwlist ap" but that doesn't actually seem to work
[16:42:54] <jepler> "iwlist scanning"?
[16:44:47] <cradek_> cradek_ is now known as cradek
[16:50:06] <rayh> Hi guys.
[16:58:21] <alex_joni> jepler: I tried a few combinations.. but it doesn't seem to be working :/
[16:58:27] <alex_joni> what's up ray?
[17:11:34] <rayh> Bought a business with a couple partners.
[17:11:47] <rayh> specialized wood products.
[17:12:05] <rayh> My contributions will be automation of some of the production lines.
[17:53:23] <alex_joni> hmm.. seems it might even work:
[17:53:34] <alex_joni> changed breezy with dapper in my sources.list
[17:53:42] <alex_joni> sudo apt-get update
[17:53:48] <alex_joni> sudo apt-get dist-upgrade
[17:53:51] <alex_joni> 1042 upgraded, 195 newly installed, 46 to remove and 0 not upgraded.
[17:53:52] <alex_joni> Need to get 569MB of archives.
[17:54:15] <rayh> wah that's a bit much for my phone line.
[17:55:30] <alex_joni> wonder how much is already on the 6.06 CD
[17:56:06] <rayh> I saw they were giving out disks. I'll have to order some.\
[17:56:24] <rayh> How soon do you think EMC2 will be ready for it.
[17:56:50] <alex_joni> we need to see how appropiate it is first
[17:57:35] <rayh> ??
[17:57:47] <alex_joni> it's a new kernel on it
[17:57:51] <jepler> rayh: someone has to compile, package, and test a new realtime kernel
[17:57:56] <rayh> Oh Okay.
[17:58:11] <alex_joni> rayh: I think you can use the breezy emc2 packages & kernel on dapper
[17:59:12] <rayh> Ah yes. The kernel build thing. I promised myself about a year ago i wouldn't do that again.
[18:02:39] <alex_joni> I can understand why
[18:15:13] <alex_joni> it doesn't really want to take the stuff from the CD
[18:42:26] <alex_joni> up to package #750 downloaded
[19:55:18] <alex_joni> morning samco
[19:57:23] <skunkworks> I alex - how is the dapper live?
[19:58:05] <skunkworks> Hi alex - how is the dapper drake live
[19:58:43] <alex_joni> pretty ok, nothing breathtaking though
[19:58:49] <alex_joni> I see little difference from 5.10
[19:59:02] <alex_joni> they mostly worked on the server cd
[19:59:32] <skunkworks> I have the iso burned - but I doubt I will do any thing with it for a while.
[19:59:46] <alex_joni> but, as we speak I am running sudo apt-get dist-upgrade
[19:59:53] <alex_joni> to see if it works :)
[20:05:53] <skunkworks> good luck :)\
[20:06:37] <alex_joni> seems it finished..
[20:06:47] <alex_joni> back in a reboot :D (if it still works)
[20:11:27] <alex_joni> back..
[20:11:29] <alex_joni> dapper is here :)
[20:13:14] <skunkworks> so you upgraded your 5.__?
[20:13:22] <alex_joni> yeap, it's 6.06 now
[20:13:27] <cradek> does emc work?
[20:13:29] <alex_joni> but emc2 won't run :)
[20:13:36] <alex_joni> cradek: some issue with rtai
[20:13:38] <cradek> it put in a new kernel I'm sure
[20:13:45] <alex_joni> no, same kernel
[20:13:51] <cradek> hmm
[20:13:58] <alex_joni> juve@ubuntu:~$ uname -a
[20:13:58] <alex_joni> Linux ubuntu 2.6.12-magma #1 Sun Feb 19 12:23:11 CST 2006 i686 GNU/Linux
[20:14:00] <cradek> what error? I bet it's udev
[20:14:08] <alex_joni> can't wite to /dev/rtai_shm
[20:14:11] <cradek> yeah
[20:14:19] <alex_joni> yup, I plan to reinstall emc2
[20:14:20] <cradek> check for /etc/udev.something/emc2
[20:14:32] <alex_joni> might be easier for users
[20:14:41] <alex_joni> sudo apt-get install --reinstall emc2
[20:15:24] <cradek> yeah if that fixes it
[20:18:51] <alex_joni> hmm.. there is no /dev/rtai_shm
[20:19:21] <alex_joni> the /etc/udev/rules.d/emc2.rules is there
[20:19:38] <alex_joni> but I see that all other rules are using numbers before
[20:20:33] <cradek> /dev/rtai_shm is only created when rtai is loaded
[20:20:39] <cradek> actually it's /dev/RTAI_SHM
[20:20:47] <cradek> the udev rule causes a symlink
[20:21:26] <alex_joni> I see..
[20:24:08] <alex_joni> it's not beeing created
[20:24:47] <cradek> which the RTAI_SHM or the symlink?
[20:24:49] <alex_joni> I see the modules get inserted, but in the end scripts/realtime start complains that it can't write to /dev/rtai_shm
[20:24:52] <alex_joni> both
[20:25:09] <cradek> yuck
[20:25:13] <alex_joni> juve@ubuntu:~/emc2$ lsmod
[20:25:13] <alex_joni> Module Size Used by
[20:25:13] <alex_joni> hal_lib 28172 0
[20:25:13] <alex_joni> rtapi 25792 1 hal_lib
[20:25:13] <alex_joni> rtai_math 25860 0
[20:25:15] <alex_joni> rtai_sem 14976 1 rtapi
[20:25:18] <alex_joni> rtai_shm 8192 1 rtapi
[20:25:23] <alex_joni> I see rtai_shm is loaded
[20:27:52] <alex_joni> hmm.. the testsuit is failing aswell
[20:28:04] <alex_joni> juve@ubuntu:/usr/realtime-2.6.12-magma/testsuite/kern/latency$ sudo ./run
[20:28:15] <alex_joni> Error opening /dev/rtf/3
[20:28:30] <cradek> well that has always failed
[20:28:35] <alex_joni> it has?
[20:28:37] <cradek> rtai has very crappy support for udev
[20:28:41] <alex_joni> ok then :)
[20:28:47] <cradek> yes you have to mknod yourself to run the test
[20:29:25] <jepler> didn't you figure out a way to make the /dev/rtf/N at boot time?
[20:30:04] <cradek> yes but it sucked so I took it out when I found enough udev to make emc run
[20:33:21] <alex_joni> who wants to see a screenshot of AXIS & emc2 running on dapper ? :-) ( http://dsplabs.cs.utt.ro/~juve/emc2-dapper1.png )
[20:33:47] <cradek> what's the fix?
[20:33:57] <alex_joni> hang on.. that isn't working
[20:34:53] <alex_joni> ok, now
[20:35:12] <cradek> cool
[20:35:29] <alex_joni> I just did : sudo mknod -m 666 /dev/rtai_shm c 10 254
[20:35:37] <cradek> uh
[20:35:38] <alex_joni> easy to remember
[20:35:41] <cradek> that's great until you reboot
[20:35:58] <alex_joni> I wanted to see if it works at all..
[20:36:03] <alex_joni> looking at the udev stuff now
[20:36:07] <cradek> ah I see
[20:36:08] <cradek> sorry
[20:36:25] <alex_joni> do you have your stick?
[20:36:32] <alex_joni> the one you poked udev with..
[20:36:42] <cradek> sorry I lost it
[20:37:13] <alex_joni> I see an links.conf.dpkg-bak
[20:37:20] <alex_joni> with the RTAI stuff in it..
[20:37:26] <cradek> what is links.conf?
[20:37:36] <alex_joni> thought you'll know..
[20:37:51] <cradek> oh maybe that's the way I did the first time, but quit using
[20:38:03] <cradek> that's not the right fix
[20:38:14] <cradek> is that the one that chides you at the top of the file for even looking at it?
[20:38:30] <alex_joni> yeah :)
[20:38:35] <alex_joni> this file does not exist..
[20:38:49] <alex_joni> ok, what's the proper fix then ?
[20:39:04] <cradek> something to do with udev...
[20:39:08] <alex_joni> lol
[20:39:17] <cradek> sorry I really don't know
[20:39:25] <cradek> wonder what they changed to break it
[20:39:38] <alex_joni> no, I meant what was your fix?
[20:39:53] <cradek> on breezy rtai creates /dev/RTAI_SHM
[20:40:00] <cradek> now it sounds like it doesn't
[20:40:20] <cradek> all i did was tell udev to make a symlink rtai_shm -> RTAI_SHM so emc was happy
[20:40:33] <cradek> that's what the magic in /etc/udev/whatever/emc2.rules does
[20:40:38] <alex_joni> oh, right.. the emc2.rules
[20:40:59] <alex_joni> is the RTAI_SHM always there?
[20:41:16] <alex_joni> or only when the stai_shm module gets inserted?
[20:41:24] <alex_joni> s/stai/rtai/
[20:42:10] <cradek> udev creates it when it gets inserted
[20:50:13] <alex_joni> root@ubuntu:/etc/udev/rules.d# insmod /usr/realtime-2.6.12-magma/modules/rtai_shm.ko
[20:50:17] <alex_joni> root@ubuntu:/etc/udev/rules.d# ll /dev/rtai_shm
[20:50:19] <alex_joni> crw-rw-rw- 1 root root 10, 254 2006-06-02 23:33 /dev/rtai_shm
[20:50:24] <alex_joni> ok, got the fix.. :)
[20:50:30] <cradek> yay
[20:50:38] <alex_joni> can you put it into the rtai package?
[20:50:39] <cradek> is it easy?
[20:50:46] <alex_joni> one-liner
[20:50:52] <cradek> to what?
[20:51:01] <alex_joni> root@ubuntu:/etc/udev/rules.d# cat rtai.rules
[20:51:01] <alex_joni> SYSFS{dev}=="10:254", NAME="rtai_shm"
[20:51:15] <cradek> cool
[20:51:23] <alex_joni> might be emc.rules or whatever :)
[20:51:32] <cradek> I wonder if that harms breezy
[20:51:48] <alex_joni> don't think so.. but you probably will try before :D
[20:52:03] <cradek> can you send the fix to me in email please
[20:52:29] <alex_joni> sure
[20:54:18] <alex_joni> oh, duh.. I haven't deleted the node
[20:55:07] <alex_joni> it was still there from the mknod I did earlier ..
[21:12:18] <EvertL> hi there
[21:12:24] <EvertL> is anybody here?
[21:13:10] <EvertL> I adjusted Jon's picture on EMC's modularity, made it al little simpler and put HAL in there
[21:13:52] <EvertL> By simpler I basically mean I only use the parts I think I understand
[21:14:04] <EvertL> I would appreciate it if somebody could take a look at it?
[21:16:41] <EvertL> URL is http://evertlammerts.nl/emc2structure.bmp
[21:19:10] <alex_joni> only one thing..
[21:19:27] <alex_joni> the TASK doesn't talk NML to the motion controller
[21:19:49] <alex_joni> it's exchange of NML-like messages through a shared memeory
[21:20:46] <EvertL> I noticed that. That is staically defined in the code isn't it?
[21:21:34] <EvertL> Basically they use the same headers and make pointers to the structs in shared memory, if I understood well
[21:22:04] <EvertL> staically = statically
[21:23:18] <EvertL> Is there any plan to use NML for it?
[21:23:21] <alex_joni> something like that
[21:23:42] <alex_joni> no, NML presumes some c++ code, which isn't likely to be happy in the kernel
[21:23:53] <alex_joni> and this is faster
[21:24:19] <EvertL> Alright, I see. thanks again!
[22:12:03] <alex_joni> hmm.. it seems the move from 5.10 to 6.06 wasn't that successfull after all
[22:12:13] <alex_joni> early in the boot phase I get an oops
[22:12:24] <alex_joni> which results in some parts to not be loaded
[22:12:35] <alex_joni> like the sound subsystem..
[22:13:46] <alex_joni> I'm surprised it did run ..
[22:30:23] <jepler> oops!
[22:30:38] <alex_joni> yeah.. one of those ;)
[22:30:40] <jepler> * jepler wonders how long he should "seed" ubuntu 6 in his bittorrent client
[22:30:54] <jepler> "2.0GiB up"
[22:31:12] <alex_joni> it did strike me as odd that it booted in about 10 seconds
[22:31:18] <alex_joni> * alex_joni wonders how it worked
[22:31:34] <jepler> is that only when you use the rtai kernel from breezy, or all the time?
[22:31:42] <alex_joni> I think all the time..
[22:31:54] <alex_joni> but I'm about finished with the 6.06 installer
[22:31:59] <alex_joni> btw.. ircing form it :)
[22:32:07] <jepler> while it installs? that's cool.
[22:32:12] <alex_joni> it is :)
[22:32:19] <alex_joni> it starts as a live cd
[22:32:32] <jepler> yeah I booted it for a short time to look at it
[22:32:33] <alex_joni> and you have a shortcut on the desktop to install
[22:32:40] <jepler> but I didn't realize that meant you could keep using it while it installed
[22:32:46] <alex_joni> you can..
[22:32:50] <alex_joni> I ran firefox & other stuff
[22:33:09] <alex_joni> you can even continue using the live cd after the install is finished :D
[22:33:20] <alex_joni> or restart.. like I'm about to ..
[22:36:44] <alex_joni> seems that worked rather well
[22:37:38] <alex_joni> now the emc2 install :)
[22:39:05] <jepler> * jepler burns his second dapper cd, the first one having become unreadable despite booting fine a few times before.
[22:40:27] <alex_joni> cradek: I wonder why lilo gets suggested during the emc2 install
[22:52:24] <alex_joni> dang.. finished installing emc2 & chris's kernel
[22:52:30] <alex_joni> but it doesn't work :(
[22:52:57] <alex_joni> it simply stops during boot ..
[22:53:37] <skunkworks> started out promicing :)
[22:53:57] <alex_joni> skunkworks: guess we'll need a new kernel based on 2.6.15 afterall
[22:54:06] <skunkworks> darn
[22:54:29] <alex_joni> g'night all
[22:54:32] <skunkworks> night alex