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

Back
[00:07:28] <jmkasunich> cradek: you here?
[00:18:57] <jmkasunich> was curious about skunkworks results, just talked to him on #emc
[00:19:04] <jmkasunich> going out tonight, won't be online
[00:19:30] <jmkasunich> btw, today I used hal's freqgen and encoder modules to run a small DC servo _without_ external PWM generation
[00:19:35] <jmkasunich> just an H bridge ;-)
[00:19:52] <skunkworks> neet :)
[00:19:54] <jmkasunich> goodnight all
[01:38:57] <rayh> evening john
[01:39:51] <jmkasunich> hi ray
[01:41:13] <jmkasunich> how's things in the north woods?
[01:41:22] <rayh> You know what apt command I use to get the sources for emc2 and all the dev dependencies.
[01:41:45] <rayh> Cold -15 right now but not a lot of snow in the last batch.
[01:42:24] <rayh> Trying to get a ubuntu ready to compile here. Got the installed version going.
[01:42:38] <jmkasunich> not sure about that.
[01:43:05] <jmkasunich> I did an Xubuntu install on an old laptop last night, cradek was asleep, and I ended up trial-and-erroring it
[01:43:15] <SWPadnos> rayh, I think you need something like apt-get source emc2-axis
[01:43:25] <SWPadnos> you may need to add in an option like --build-dep
[01:43:29] <jmkasunich> unfortunately I wasn't taking notes
[01:43:40] <jmkasunich> (I wasn't doing much, it was 4am when I finished)
[01:44:10] <jmkasunich> I _thought_ that cradek had an easy way, I could swear he explained it when I did my original ubuntu install
[01:44:16] <jmkasunich> I do remember that was pretty painless
[01:44:50] <alex_joni> jmkasunich: yup, he had
[01:45:04] <alex_joni> but I can't recall right now ;)
[01:45:06] <rayh> Right I did it in Milwaukee on Thursday but forgot the command also.
[01:45:45] <alex_joni> I think it's apt-get build-dep emc2
[01:45:57] <jmkasunich> that sounds familiar
[01:52:05] <rayh> Thanks john. Got that stuff downloading. Couple of hours.
[01:52:23] <jmkasunich> such fun
[01:52:49] <jmkasunich> I had some fun today...
[01:52:49] <alex_joni> so, what's new?
[01:52:59] <alex_joni> * alex_joni had fun yesterday
[01:53:10] <jmkasunich> we're working on small vehicle for an engineering week contest
[01:53:19] <jmkasunich> two motors and two drive wheels, plus a caster
[01:53:33] <alex_joni> was in germany, and got a call from home that our main server crashed:(
[01:53:38] <jmkasunich> our control is by joystick, with analog PWM generation
[01:53:48] <alex_joni> jmkasunich: that sounds nice ;)
[01:53:58] <alex_joni> how small?
[01:54:00] <jmkasunich> but today I used HAL freqgen and encoder drivers, closed a servo loop with no external PWM generation
[01:54:07] <jmkasunich> motors are 12V about 1A
[01:54:22] <jmkasunich> about 3.5-4 cm dia, 7 cm long
[01:54:28] <jmkasunich> with 64 count/rev encoders
[01:54:45] <jmkasunich> we have a 45:1 worm reduction driving wheels about 10cm dia
[01:55:09] <rayh> Got the developer download on the way. Can sleep for a few hours while it arrives. Thanks all.
[01:56:28] <alex_joni> rayh: np
[01:56:36] <alex_joni> jmkasunich: here's a thought
[01:57:09] <alex_joni> it seems (from what I've read so far) that memory over 1G needs to be mapped temporarely into the kernel address space
[01:57:15] <jmkasunich> yeah
[01:57:30] <jmkasunich> and theres a HIGHMEM kernel config that gets involved too
[01:57:33] <alex_joni> to be accessible, that might be a problem for the RT stuff, which goes over the kernel
[01:58:40] <jmkasunich> the thing that is interesting is that cradek was able to produce faults using only linux stuff
[01:58:43] <jmkasunich> (gcc)
[01:59:19] <alex_joni> yes, but using the same rtai patched kernel
[01:59:24] <jmkasunich> right
[01:59:38] <alex_joni> and you might have had something in the background doing it's own stuff
[02:00:22] <jmkasunich> I believe that anything accessing memory over 1G on that box will result in memory corruption
[02:00:28] <jmkasunich> no hard proof of that
[02:01:09] <alex_joni> probably so
[02:01:13] <rayh> am I right to assume that there is not current "testing" wiki page.
[02:01:25] <jmkasunich> ?
[02:01:28] <rayh> though it is referenced from the release status page.
[02:01:41] <alex_joni> I know cradek tried hard to make it use >1G with the stock ubuntu kernel
[02:02:11] <rayh> ah sorry found it.
[02:02:15] <alex_joni> 22:59 < cradek> I'm having real trouble using >1G of ram
[02:02:15] <alex_joni> 22:59 < cradek> yeah I'm trying to stress it
[02:02:43] <jmkasunich> ray: I don't know what you mean - the page referenced from the release status page is a reasonablely accurate description of "testing" as it stands right now
[02:02:44] <alex_joni> 23:16 < cradek> skunkworks: I think we might have a rtai bug
[02:02:59] <alex_joni> 23:16 < cradek> skunkworks: when I load realtime, the compile craps out badly
[02:03:34] <jmkasunich> ok, thats new information for me
[02:03:42] <alex_joni> from tonight
[02:04:07] <rayh> Damn. The organization of "wiki" is impossible.
[02:04:22] <jmkasunich> it desperately needs cleaning
[02:04:25] <alex_joni> indeed
[02:04:40] <alex_joni> btw, john wanted to ask you how you like that layout I sent you?
[02:04:45] <alex_joni> if you got it that is..
[02:05:11] <jmkasunich> linuxcnc layout?
[02:05:45] <alex_joni> yes
[02:06:05] <jmkasunich> its pretty, but we have so many other things to spend time on
[02:06:20] <jmkasunich> I have no problem with the style of linuxcnc and the wiki
[02:06:27] <jmkasunich> the problem is with the organization
[02:06:40] <rayh> Does that layout expect a database?
[02:06:50] <alex_joni> it's not my time I was spending ;)
[02:07:17] <alex_joni> rayh: yes, I imagined a CMS (Content Management System), where you can administer it online
[02:07:31] <alex_joni> it allows for better organisation
[02:07:31] <jmkasunich> way over my head
[02:07:43] <jmkasunich> I write html with a text editor
[02:07:51] <jmkasunich> (which is why I don't build many webpages)
[02:07:52] <alex_joni> jmkasunich: let me worry, you'll only have to publish articles once in a while
[02:08:06] <alex_joni> the beauty of this is that you won't have to in the future
[02:08:29] <alex_joni> just log in, and you can write like in kate (which I know you like), you have nice buttons for font, sizes, etc
[02:08:46] <jmkasunich> IOW, a lot like the wiki
[02:08:51] <alex_joni> * alex_joni looks for an example if you got 2 mins
[02:09:02] <alex_joni> yes, but a bit more configurable
[02:09:11] <alex_joni> but you can say it's just a big wiki
[02:09:23] <alex_joni> although you won't have public access for changing pages
[02:09:35] <rayh> alex_joni: LAMP I hope.
[02:09:44] <jmkasunich> that can be good or bad
[02:09:48] <alex_joni> LAMP ?
[02:10:14] <jmkasunich> bad in that you don't benefit from the writing of others, good in that you don't wind up with a disorganized mess
[02:10:15] <rayh> Linux, Apache, MySQL, Perl
[02:10:16] <alex_joni> jmkasunich: you can set up unlimited accounts, and have them either trusted (and publish directly), or have them to be approved by someone
[02:10:23] <alex_joni> rayh: sure
[02:10:39] <alex_joni> it's joomla (www.joomla.org) I found very fitting
[02:10:43] <alex_joni> jmkasunich: try http://demo.joomla.org/administrator/
[02:11:00] <alex_joni> just to get a feeling (don't be scared of the complexity)
[02:12:28] <jmkasunich> how do I log in
[02:12:34] <alex_joni> hmm.. someone might have fumbled with their demo, not working for me right now
[02:12:45] <alex_joni> you should use Admin/Admin for user/pass
[02:13:10] <alex_joni> but I think someone might have changed the pass (it will be refreshed to a default install soon)
[02:15:29] <jmkasunich> tried admin and Admin, neither works
[02:15:32] <jmkasunich> must be busted
[02:15:45] <alex_joni> yes, probably so (it has public access to do anything)
[02:15:55] <alex_joni> but they have a cron to reset it every hour
[02:23:01] <alex_joni> jmkasunich: try http://demo.gigcalendar.net/administrator
[02:23:04] <alex_joni> demo/demo
[02:24:18] <jmkasunich> * jmkasunich is too tired to get involved in that tonight
[02:24:29] <jmkasunich> stayed up to 4am last night
[02:24:31] <alex_joni> just 2 clicks around ;)
[02:24:36] <alex_joni> but I know how you feel
[02:24:43] <alex_joni> 04:24 < alex_joni> but I know how you feel
[02:24:50] <alex_joni> ;-)
[02:24:51] <jmkasunich> lol
[02:25:12] <jmkasunich> I was up till midnight working with cradek on the skunkworks problem
[02:25:14] <alex_joni> I had some crazy days lately
[02:25:23] <alex_joni> yeah, seen the logs
[02:25:47] <alex_joni> I was up on wednesday on skunkworks's machine
[02:25:49] <jmkasunich> shut down the box, was getting ready to go upstairs, then I realized "shit, I meant to install Linux on that laptop, and I need it tomorrow"
[02:25:51] <alex_joni> till about 2am
[02:26:05] <jmkasunich> so I started the install after midnight
[02:26:15] <alex_joni> best time.. it's quiet
[02:26:50] <alex_joni> did you log in on that site? or do we do this some other time?
[02:27:15] <jmkasunich> I logged in, clicked a couple times, determined it needed more brain cells than I can muster up this evening
[02:27:21] <alex_joni> ok ;)
[02:27:59] <jmkasunich> about all I'm good for tonight is bullshitting
[02:28:15] <alex_joni> that's good too ;)
[02:28:27] <jmkasunich> on that note: http://yarchive.net/metal/empirical_feed_rates.html
[02:28:31] <alex_joni> same state around here
[02:28:32] <jmkasunich> a good read
[02:28:53] <jmkasunich> from rec.crafts.metalworking some years ago
[02:32:08] <alex_joni> yeah
[02:33:18] <alex_joni> ok, I'll hit the bed
[02:33:55] <jmkasunich> goodnight
[02:42:34] <alex_joni> goodnight
[04:12:14] <rayh> It's alive
[04:12:28] <cradek> hi all
[04:12:39] <cradek> hi ray
[04:12:42] <cradek> what's alive?
[04:12:53] <rayh> My compile of emc2
[04:13:02] <rayh> under ubuntu
[04:13:11] <rayh> small problem with rip
[04:13:19] <rayh> emcTaskInit: user-defined function /usr/share/emc/ncfiles/M101 found, but not executable, so ignoring
[04:13:20] <rayh> e
[04:14:00] <cradek> rip says that?
[04:14:27] <rayh> yes. It does show that it's set executable when I look at the permissions.
[04:15:25] <cradek> strange, I don't think rip knows that path at all
[04:15:41] <cradek> did you configure --enable-run-in-place?
[04:15:51] <rayh> Here's the set of commands I used.
[04:16:18] <rayh> ./configure --enable-run-in-place
[04:16:26] <rayh> make
[04:16:33] <rayh> sudo make setuid
[04:17:10] <cradek> let me try it here too then
[04:17:23] <jmkasunich> ray's at it again (he can break anything, its his specialty!)
[04:17:29] <cradek> hi john
[04:17:30] <rayh> and to run -- rayh@rayu:~/emc2-2.0.0$ scripts/emc
[04:17:58] <rayh> Hi guys. I must warn. This box has both installed and rip.
[04:18:06] <cradek> ok, that should be fine
[04:18:07] <jmkasunich> that should be ok
[04:18:16] <jmkasunich> I believe I have the same here
[04:18:45] <rayh> Testing the picker shows that it does what it says it will.
[04:19:14] <cradek> now wait a second
[04:19:15] <rayh> I have not tried /usr/local/etc/emc2/configs but in home they work great.
[04:19:23] <cradek> are you picking the ini from /etc/emc2/sample-configs?
[04:19:33] <cradek> emcTaskInit: adding user-defined function ../../nc_files/M101
[04:19:38] <cradek> this is what I get with rip
[04:20:08] <rayh> No. That one was a copy from sample into ~/emc2/configs/m5i20
[04:20:24] <cradek> ok, that nc_files path is hardcoded then
[04:20:35] <rayh> Let me try copying from rip to home.
[04:20:36] <cradek> it's in your ini
[04:21:10] <rayh> You mean hard coded in by the installer.
[04:21:26] <jmkasunich> the installer doesn't mess with the ini files
[04:21:29] <cradek> well yes and no, I edited those pathis in the inis that are in the deb
[04:21:34] <cradek> paths
[04:21:42] <jmkasunich> ok, so I'm wrong
[04:21:50] <jmkasunich> happens all the time ;-)
[04:21:51] <cradek> make install doesn't do it right now
[04:22:23] <cradek> the original reported problem is that M101 is not installed executable, and that is a bug
[04:22:51] <cradek> the hardcoded paths in the inis aren't a bug, but they may be bad design that should be fixed, I'm not sure
[04:23:47] <cradek> I wonder why M101 is in the nc_files directory in the first place
[04:24:48] <rayh> I see that the only place rip can handle configs is emc2xx/configs.
[04:25:27] <jmkasunich> right
[04:25:40] <jmkasunich> anywhere else, and they're not "in place"
[04:25:57] <cradek> I agree
[04:25:59] <jmkasunich> don't want to risk stomping on somebody's real config
[04:26:24] <rayh> This means that if we set up a system using rip, we will need to do a bit of editing if we move it to installed.
[04:26:47] <cradek> yes currently you have to edit pretty much anytime you move a config.
[04:27:00] <cradek> it's unfortunate
[04:27:09] <jmkasunich> if all files associated with a config are in the config dir, then there should be no hardcoded paths
[04:27:11] <rayh> I wonder if we can edit the picker to show only the one location for rip?
[04:27:34] <jmkasunich> the picker is passed a list of locations
[04:27:35] <cradek> yes, that would go in emc.in
[04:27:45] <jmkasunich> for rip, it should get only one
[04:27:55] <cradek> I'll fix it right now
[04:28:13] <jmkasunich> what are you talking about
[04:28:22] <jmkasunich> on mine, rip _does_ show only one place
[04:28:25] <cradek> pickconfig's selection path
[04:28:34] <jmkasunich> /home/john/emcdev/emc2testing/configs
[04:28:38] <cradek> oh...
[04:29:51] <cradek> no I think if you have ~/emc2/configs/xxx or /usr/local/etc/emc2/configs/xxx you'll see them
[04:30:07] <cradek> maybe you don't have either
[04:30:15] <jmkasunich> have as in if they exist?
[04:30:18] <cradek> yes
[04:30:36] <cradek> I mean copy a config into one of those dirs like ray did
[04:30:45] <cradek> I think it'll show up
[04:30:50] <jmkasunich> ok, I suppose I can see how the usr/local one might get used by mistake, but why ~/emc2?
[04:31:03] <cradek> it's a feature
[04:31:10] <rayh> I can see the need for a proper config copier.
[04:31:11] <cradek> it's hardcoded in emc.in
[04:31:20] <cradek> that's what I was going to fix for rip
[04:31:24] <jmkasunich> ok
[04:31:36] <jmkasunich> it should be hardcoded to only one dir for rip
[04:33:12] <cradek> ok fixed
[04:34:46] <cradek> jmkasunich: the problem with skunkworks's machine seems to be: if you have more than 1G of ram AND realtime is loaded, apps (nonrealtime) crash right and left
[04:35:19] <cradek> jmkasunich: I borrowed some ram and hope I can put >1G in one of my trusted machines this weekend to test for that same pattern here
[04:35:32] <jmkasunich> alex pointed me at a long thread somewhere explaining stuff I never new about linux and ram
[04:35:43] <cradek> I'm sure I don't know it either
[04:35:47] <jmkasunich> in particular, linux handles ram over 1G differently
[04:35:51] <cradek> I know there are limits at 1G, 4G, 64G
[04:35:51] <rayh> IMO the easy solution is save money on RAM.
[04:35:58] <cradek> rayh: no kidding!
[04:36:09] <jmkasunich> yea, no reason to have that much in a machine controller
[04:36:12] <rayh> put the extra in a winders box.
[04:36:29] <jmkasunich> obtw cradek, I did a Xubuntu install on a laptop last night
[04:36:33] <cradek> I'd like to fix it if I can, but I won't worry too much if I can't
[04:36:39] <rayh> Gotta get going here. Great job on this stuff you guys.
[04:36:51] <cradek> goodnight ray
[04:36:56] <jmkasunich> goodnight ray
[04:37:12] <rayh> I find a few things in gnome that are awkward compared to kde but ...
[04:37:30] <jmkasunich> yeah, I'm having a hard time getting used to gnome
[04:37:34] <cradek> you could always try the kde version - not sure what kind of shape it's in
[04:37:34] <rayh> I think that we have a really good thing coming together.
[04:37:44] <jmkasunich> this is still a trial install, I might look into kubuntu
[04:37:44] <cradek> I'm glad to hear him say that
[04:38:01] <jmkasunich> I used the xubuntu on the laptop because it is 366MHz, 128M ram
[04:38:22] <cradek> emc should still install fine I would guess
[04:38:29] <cradek> no gnome dependencies
[04:38:34] <cradek> well there's gtk1.2, hmm
[04:38:42] <jmkasunich> the emc2-install.sh wants gksudo or something like that
[04:38:51] <jmkasunich> gsudo?
[04:38:57] <cradek> oh yeah, just comment that out
[04:39:10] <cradek> it just gets the password cached for the subsequent sudo calls
[04:39:11] <jmkasunich> well, my real interest was compiling
[04:39:54] <cradek> did you get it going?
[04:39:58] <jmkasunich> at some point (I think during emc2-install.sh) the X got weird, I exited X and restart it and it was ok
[04:40:13] <jmkasunich> then I spent a lot of time figuring out what packages are needed to do a build
[04:40:22] <cradek> apt-get build-dep emc2
[04:40:24] <jmkasunich> I know theres an easier way, but I couldn't remember it
[04:40:28] <jmkasunich> now you tell me
[04:40:31] <cradek> or man apt-get :-)
[04:40:36] <jmkasunich> where were you at 3am
[04:40:45] <cradek> blissfully asleep
[04:41:19] <jmkasunich> (I forgot that I needed to get that laptop working - I shut down my main box at midnight after we finished with skunkworks, ready for bed, then said oh shit
[04:41:25] <jmkasunich> and was up till 4
[04:41:33] <cradek> why did you need the laptop right then?
[04:41:42] <jmkasunich> I wanted to take it to work today
[04:41:55] <cradek> ah
[04:42:11] <jmkasunich> we're building a small vehicle for an engineering week contest, and I used hal/freqgen/encoder/pid for motor control
[04:42:27] <cradek> neat
[04:42:29] <jmkasunich> kinda cool actually, brush servos with no hardware except an H bridge
[04:42:42] <jmkasunich> no univpwm or anything
[04:42:54] <cradek> software pwm?
[04:42:57] <jmkasunich> yes
[04:43:03] <jmkasunich> mode 1 of freqgen
[04:43:07] <cradek> how do you read the encoder?
[04:43:16] <jmkasunich> software encoder HAL component
[04:43:26] <jmkasunich> these are little motors from a tape library
[04:43:38] <jmkasunich> 1.5" dia, 2.5" long, with a 64 cpr encoder
[04:43:48] <cradek> I mean what's the hardware interface to the encoder? just parport?
[04:43:54] <jmkasunich> yeah
[04:44:00] <cradek> slick
[04:44:17] <jmkasunich> 64 cpr means less than 10K counts/sec even at 7000 or so RPM (the motor speed at 12V)
[04:44:23] <cradek> and you're lucky enough to have a laptop that doesn't have realtime problems?
[04:44:39] <cradek> I'm not so lucky, mine is terrible
[04:44:40] <jmkasunich> no problems bad enough to hurt this application
[04:45:00] <jmkasunich> I'm not machining gold, I'm driving a little thing around the building lobby
[04:45:05] <cradek> haha
[04:45:13] <cradek> sounds really fun
[04:45:30] <jmkasunich> I wanted to run latency, but at 4am, when it didn't work the first time I quit
[04:45:42] <cradek> yeah you have to mknod
[04:45:52] <cradek> cursed udev
[04:46:03] <cradek> I only fixed it for /dev/rtai_shm
[04:46:12] <jmkasunich> no problem
[04:46:32] <jmkasunich> one reason I wanted to take it in was to show it off
[04:46:45] <jmkasunich> work uses windows exclusively
[04:46:50] <cradek> ah
[04:47:09] <jmkasunich> we have programmers who do realtime firmware for motor drives (embedded, not doze ;-)
[04:47:20] <jmkasunich> and they appreciate interesting stuff
[04:47:37] <cradek> I bet this was exciting to see then, knowing what's involved
[04:47:50] <jmkasunich> we have an app something like halscope (but less flexible) for looking at what goes on inside a drive
[04:48:01] <jmkasunich> but compared to halscope it sucks
[04:48:15] <jmkasunich> you need a map file, and enter the address of the thing you want to monitor
[04:48:23] <cradek> ugh
[04:48:41] <jmkasunich> 1000 samples total, split between 2 channels (halscope has 16K, and 1/2/4/8/16 channels)
[04:49:02] <jmkasunich> and the data goes over a serial link, so it takes 10 secs or more after a capture to view the results
[04:49:17] <jmkasunich> halscope can capture/display several times a second
[04:49:42] <cradek> yeah it's definitely cool.
[04:50:03] <jmkasunich> the one in the drive sucks, but its better than nothing
[04:50:18] <jmkasunich> it has helped find several problems that would have been impossible otherwise
[04:50:55] <jmkasunich> I don't know if I'll use the laptop/hal for the engineering week project, maybe just to play with
[04:51:13] <cradek> now you can hack emc at the coffee shop too.
[04:51:16] <jmkasunich> the actual event involves a human controlling the vehicle, using wired or RC control
[04:51:35] <jmkasunich> if I had a joystick that would fit the laptop, and a HAL driver for it, that would work
[04:51:48] <jmkasunich> but as it stands, we'll probably use analog PWM and a couple pots
[04:52:02] <cradek> don't think I've ever seen a laptop with joystick port
[04:52:14] <jmkasunich> usb joysticks
[04:52:29] <jmkasunich> the driver wouldn't have to be hard RT
[04:52:31] <cradek> ah of course
[04:52:43] <jmkasunich> user space that polls the stick 10 times a second and updates hal vars would be fine
[04:53:31] <jmkasunich> anyway, after the event is over, I'm gonna unplug the analog PWM and wired controls and try to run the course autonomously
[04:53:52] <jmkasunich> (blind, just doing dead reckoning)
[04:53:54] <cradek> yeah that's a much more interesting challenge
[04:54:07] <jmkasunich> I expect that tire slippage will make it impractical
[04:54:11] <cradek> yeah
[04:54:14] <cradek> carpet?
[04:54:21] <jmkasunich> shiny terrazzo
[04:54:29] <cradek> that's good
[04:54:53] <jmkasunich> except the wheels we used (because we had them) are spiky off-road looking things
[04:54:57] <cradek> you should make a two-wheeler with a tilt sensor and pid loop that keeps it standing
[04:54:59] <jmkasunich> 4" dia, over an inch wide
[04:55:15] <cradek> oh yeah, that's not going to be very good I bet
[04:55:57] <jmkasunich> there is a 45:1 worm between motors and wheels, so it works out to 288 encoder counts per inch (approx, I'll calibrate it by actual measurements)
[04:56:11] <jmkasunich> wheels are about 12 inches apart
[04:56:36] <jmkasunich> so without slip I could control heading to a moderate fraction of a degree
[04:57:00] <cradek> sounds like you need rubber, not spikes
[04:57:08] <jmkasunich> but slip and ambiguity about wheel spacing (because they're wide) will make it much worse
[04:57:33] <jmkasunich> yeah
[04:57:41] <jmkasunich> I want a big honking O-ring
[04:57:56] <jmkasunich> 1/4" thick, 4" diameter
[04:58:10] <jmkasunich> would probably fit nice and tight on the wheels
[04:58:13] <cradek> yeah
[04:58:21] <jmkasunich> low slip, and narrow contact patch
[04:58:23] <cradek> you could stretch it around the wheels you have?
[04:58:29] <jmkasunich> probably
[04:58:47] <jmkasunich> they are rubber tires, with spiky and blocky rubber treads
[04:58:51] <cradek> I just went to the hardware store to buy an o-ring tonight
[04:58:54] <jmkasunich> (from some RC toy truck)
[04:58:58] <cradek> they have some pretty large ones.
[04:59:18] <cradek> not 1/4" thick though, I think 1/8 & 3/16
[04:59:37] <jmkasunich> 3/16 _might_ be big enough to get out of the spikes
[04:59:57] <jmkasunich> if I was serious though, I'd want to replace the rubber tires with metal with a v-groove for the o-ring
[05:00:19] <jmkasunich> the tires compress a little, another source of error
[05:00:23] <cradek> ah
[05:00:46] <jmkasunich> (this thing has to carry a 12lb bowling ball, and we're using a motorcycle battery for power - total weight will top 20 lbs)
[05:01:02] <cradek> motorcycle batteries are great for little robot projects
[05:01:37] <cradek> crap, I should have brought in my motorcycle battery
[05:01:38] <jmkasunich> this one is borrowed, from a real motorcycle ;-)
[05:01:44] <cradek> oh well, too late now
[05:01:51] <jmkasunich> ?
[05:02:04] <cradek> I mean it's february, too late to save the battery
[05:02:25] <jmkasunich> bummer
[05:02:27] <cradek> I meant to bring it inside "before it got cold"
[05:02:36] <cradek> oh well they're not expensive
[05:02:49] <cradek> I just hate wasting things by being lazy
[05:02:51] <jmkasunich> yeah, another team just went out and bought one
[05:03:04] <jmkasunich> I like to see how cheap we can do these projects
[05:03:15] <cradek> yeah that can be part of the fun
[05:03:17] <jmkasunich> (this is our 4th or 5th year doing eng week stuff)
[05:03:33] <jmkasunich> we're recycling the H-bridges from last year
[05:03:36] <cradek> are you related to a college somehow, or is it just for fun at work?
[05:03:45] <jmkasunich> which were made from scrap parts from the lab
[05:03:48] <jmkasunich> just work
[05:03:51] <cradek> whenI think of e-week I think of the university
[05:03:54] <cradek> cool
[05:04:10] <jmkasunich> we have something like 1000 people in this building, with a large percentage of engineers and other nerd types
[05:04:20] <cradek> I bet that's nice
[05:04:36] <cradek> I have 40 programmers and support people with a large percentage of ... well forget it
[05:04:37] <jmkasunich> probably get 10-12 teams, ranging from those who start the night before and use popsicle sticks and duct tape, to serious competitors
[05:05:04] <jmkasunich> usually 3-4 teams are seriously in the running
[05:05:07] <jmkasunich> (us included)
[05:06:22] <jmkasunich> * jmkasunich wonders about re-making the wheels......
[05:06:26] <cradek> what exactly is the goal this time? pilot a robot carrying a bowling ball through a maze?
[05:06:34] <jmkasunich> no
[05:06:35] <jmkasunich> bowling
[05:06:43] <jmkasunich> (knock down pins for points)
[05:06:49] <cradek> ah, cool
[05:06:55] <cradek> the pins are in a preset location?
[05:06:58] <jmkasunich> you don't have to use the ball, but you must carry it around with you
[05:06:59] <jmkasunich> yes
[05:07:07] <jmkasunich> different pins are worth different points
[05:07:25] <cradek> get to work on the lathe, it's only midnight...
[05:07:29] <jmkasunich> the 10 that are 4ft in front of the balls initial position (traditional triangle layout) are only one point each
[05:08:06] <jmkasunich> the one that is thru a 18" wide x 15" high tunnel and on a 16" high pedestal (8 cinderblocks) is worth 30 points
[05:08:29] <cradek> haha
[05:08:32] <jmkasunich> 10 more on a 4" high, 4' square platform with a ramp, 2 pts each
[05:08:37] <cradek> you have to throw the bowling ball at it?
[05:08:45] <jmkasunich> and 8 more scattered around individually are 3 pts each
[05:09:01] <jmkasunich> no, you can hit it with part of the vehicle, as long as the vehicle is carrying the ball
[05:09:24] <cradek> wanna trade jobs? you know unix right?
[05:09:26] <jmkasunich> we have a contraption using springs from rat traps that will grab the ball and lift it 1/2"
[05:09:40] <jmkasunich> not well enough
[05:09:50] <jmkasunich> you don't want my job
[05:09:50] <cradek> you'd catch on
[05:10:05] <jmkasunich> (e-week is the highlight, the other 51 aren't so nice)
[05:10:14] <cradek> well you don't want mine either so we're even
[05:10:29] <jmkasunich> your bugs rarely result in loud noise and smoke
[05:10:57] <cradek> no, just dirty looks
[05:11:10] <jmkasunich> easier (faster anyway) to fix those
[05:11:26] <jmkasunich> if we blow up a drive, it takes hours at best, sometimes days to rebuild
[05:11:27] <cradek> yeah, I just close and lock the door to the machine room
[05:11:50] <jmkasunich> if it blows up in the field, they get really unhappy
[05:11:55] <cradek> I bet
[05:12:22] <jmkasunich> I got to go to a cement mill not once, but twice, because some moron sold a drive that was wrong for the application
[05:13:30] <jmkasunich> some of those trips would be interesting, if it wasn't for the angry customers threatening to hold me hostage
[05:13:42] <cradek> yikes
[05:13:57] <jmkasunich> paper mills are like that too
[05:14:11] <jmkasunich> machine down, they get very unhappy
[05:14:33] <jmkasunich> at the cement plant, our drive was responsible for rotating the kiln
[05:14:44] <jmkasunich> there's only one, its the central machine in the whole plant
[05:14:51] <cradek> eeek
[05:15:23] <jmkasunich> 300 feet long, 18 feet in diameter, lined with a foot of firebrick, and rotating a couple hundred revs per hour
[05:15:30] <jmkasunich> like a really long clothes drier drum
[05:15:55] <jmkasunich> (If you dried your clothes at 2000 degrees)
[05:16:14] <cradek> yeah I bet they're not happy when that stops working.
[05:16:18] <jmkasunich> no
[05:16:43] <jmkasunich> the problem was a lack of starting torque
[05:16:48] <cradek> hey my screen's blurring so I better get to bed
[05:16:54] <cradek> it does that late at night for some reason
[05:16:57] <jmkasunich> I should too
[05:17:00] <cradek> it's always better by morning
[05:17:10] <jmkasunich> dammit, I was going to go to bed early tonight
[05:17:20] <jmkasunich> best intentions, road to hell, etc
[05:17:22] <jmkasunich> goodnight
[05:17:23] <cradek> that never works out
[05:17:26] <cradek> goodnight
[05:20:03] <jmkasunich> jmkasunich is now known as jmk-sleep
[08:41:31] <alex_joni> morning all
[08:41:45] <alex_joni> but I guess you're all safe asleep now ;)
[15:00:19] <cradek> morning alex
[15:40:11] <alex_joni> morning
[15:40:31] <alex_joni> * alex_joni just came back.. was out for a while, beautifull day today
[15:40:43] <alex_joni> cradek: say when around
[20:08:10] <rayh> Hi Steven.
[20:09:17] <rayh> btw cradek The change you made to picker works to limit the search for configs.
[20:09:26] <cradek> great
[20:10:19] <rayh> I've got two rip versions beside each other. The new doesn't see the old. The old sees the new.
[20:11:27] <SWPadnos> hi there
[20:12:43] <SWPadnos> cradek - do you think there would be any problems using your debs with kubuntu?
[20:12:58] <cradek> SWPadnos: it's untested so far, but I can't imagine any problem
[20:13:03] <SWPadnos> me either
[20:13:14] <cradek> SWPadnos: halscope depends on gtk-1.2 but I doubt that will be a problem
[20:13:24] <SWPadnos> I'm going to install ubuntu on my laptop, and may just try kubuntu instead
[20:13:35] <SWPadnos> perhaps that should be a dependency?
[20:13:46] <SWPadnos> or is it already?
[20:14:06] <cradek> it is
[20:14:20] <cradek> looks like it won't suck in all of gnome as deps, that's good
[20:14:22] <SWPadnos> in that case, it should be fine
[20:14:24] <cradek> I think it'll be fine
[20:14:40] <cradek> yeah I knew it would work - I was worried about unwittingly getting all of gnome
[20:14:46] <cradek> but I don't think you will
[20:14:58] <SWPadnos> nope - gtk is separate, AFAIK
[20:15:48] <SWPadnos> well, I'll just download kubuntu then, and we'll see what happens
[20:15:54] <cradek> ok, let us know
[20:16:00] <cradek> I bet it'll work fine
[20:16:05] <SWPadnos> I will, if it speeds up a little :)
[20:16:22] <cradek> it's possible I'll have to do something extra in the emc2 deb in order to get emc on kde's applications menu
[20:16:26] <cradek> let me know if that's the case
[20:16:35] <SWPadnos> will do
[20:17:18] <SWPadnos> I was reading the O'Reilley Shell Scripting book while on the plane earlier this week - makes the scripts a whole lot easier to understand ;)
[20:17:30] <cradek> interesting
[20:17:38] <cradek> I didn't know there was an o'reilley shell book
[20:17:45] <SWPadnos> "Classic Shell Scripting"
[20:17:48] <SWPadnos> I think
[20:18:06] <cradek> what's your favorite trick you learned?
[20:18:15] <SWPadnos> goes over much of coreutils, plus shell syntax and portability stuff
[20:18:17] <SWPadnos> hmmm...
[20:18:47] <SWPadnos> not sure, but at least it's nice to know that [ ] is shorthand for 'test'
[20:19:09] <cradek> yeah "man test" when you want to figure out syntax for [] is not obvious at all
[20:19:23] <jepler> "man [" works for me
[20:19:32] <SWPadnos> actually, one interesting thing is how you can pipe something into a while loop, and have it iterate wihile reading from the pipe (or writing to a pipe)
[20:19:37] <cradek> huh, it does
[20:19:48] <SWPadnos> what about man ]
[20:19:58] <jepler> SWPadnos: there is no ']' command
[20:20:10] <SWPadnos> well, it's required with '['
[20:20:11] <cradek> on very old systems you will find a symlink /bin/[ -> test
[20:21:01] <SWPadnos> there's some interesting history in the book as well, like the origin of the name "grep"
[20:21:10] <jepler> $ which [
[20:21:10] <jepler> /usr/bin/[
[20:21:32] <jepler> cradek: it's still there, but debian didn't make it a symlink or a hard lin
[20:21:32] <jepler> k
[20:21:35] <SWPadnos> it's a requirement that all internal shell commands are also available to external programs
[20:21:54] <SWPadnos> so there has to be /bin/echo, /bin/ls, etc. even if they're built in
[20:22:23] <jepler> "all"? What about "cd" and "trap"?
[20:22:49] <SWPadnos> cd may be the exception. Not sure about trap, since it makes no sense externally (like alias)
[20:24:17] <cradek> jepler: did you see this? https://mail.rtai.org/pipermail/rtai/2006-February/014119.html
[20:24:19] <SWPadnos> hmmm. now where did I put that spare 40G laptop drive?
[20:26:08] <jepler> cradek: that message seems to say the problem is with exactly 1GB, and is fixed with more or less. Isn't that different than what you saw?
[20:26:31] <cradek> yes, but I didn't test exhaustively
[20:26:33] <cradek> - hopefully no more confusion on RTAI schedulers, there are still two in
[20:26:34] <cradek> fact but they are the same
[20:26:44] <cradek> ... from the ever-clear rtai release notes
[20:27:35] <SWPadnos> oh yeah - that reminds me, you had said that the latest suggestion is to use the ADEOS that comes with RTAI, not the IPipe stuff from gna.org, right?
[20:27:44] <cradek> yes
[20:27:54] <cradek> I think you're supposed to use the patches that come in the rtai tar.
[20:28:00] <SWPadnos> ok. that may make the Gentoo install a bit easier
[20:28:08] <jepler> last time I looked in an rtai tar there were not recent patches
[20:28:10] <jepler> has that changed?
[20:28:28] <jepler> I mean, patches for recent kernels
[20:28:42] <cradek> yes there are recent patches.
[20:30:31] <cradek> darn, rtai-3.3 release doesn't fix skunkworks's machine.
[20:31:13] <cradek> that was a lot of work for no gain.
[20:31:33] <SWPadnos> the machines known to have a problem are using different Linux distributions, correct?
[20:31:54] <cradek> no, it is a P4 running ubuntu
[20:32:10] <SWPadnos> yours and both of his?
[20:32:13] <cradek> yes
[20:32:24] <cradek> no, mine is not a p4
[20:32:34] <cradek> I've only worked on one of his, which is a p4
[20:32:37] <SWPadnos> ok, and they're all with your debs?
[20:32:44] <cradek> he says his other has the same problem, but I haven't touched it
[20:32:45] <cradek> yes
[20:32:51] <cradek> all exactly the same code running
[20:33:17] <SWPadnos> OK then. I've got one machine with 1.5G, and another one that I can put 1.5 or 2G into for testing
[20:33:37] <SWPadnos> one has Windows on it, so I can install something else to a separate drive, the other is my Gentoo machine
[20:33:51] <cradek> are they p4?
[20:33:58] <SWPadnos> I should be able to do some testing next weekend or later
[20:34:02] <SWPadnos> no, both are Athlons
[20:34:13] <cradek> it would be a nice data point
[20:34:21] <cradek> unfortuntaely I don't have any hardware I can put >1G in
[20:34:30] <SWPadnos> I can install the ubuntu EMC onto one of them, and see what happens
[20:34:32] <cradek> well without buying a 1G module, which I don't want to do
[20:34:37] <SWPadnos> I'd be surprised if it's a P4 problem
[20:34:45] <SWPadnos> heh - what kind of RAM?
[20:34:46] <cradek> well I think it's an rtai bug.
[20:34:52] <cradek> PC3200
[20:35:09] <SWPadnos> how many slots?
[20:35:21] <cradek> I only have two
[20:35:33] <SWPadnos> ok, that is a problem
[20:35:48] <cradek> yeah. I have some 512 modules but no 1G.
[20:36:03] <SWPadnos> they're pretty cheap these days, but still
[20:36:31] <cradek> but I would be buying it only to fix this bug - I certainly don't need the ram.
[20:36:41] <cradek> so it's hard to justify spending anything on it.
[20:36:43] <SWPadnos> heh
[20:37:02] <SWPadnos> well, if you buy registered ECC DIMMs, then you can transfer them to your Opteron system
[20:37:05] <SWPadnos> (once you buy it)
[20:37:06] <jmk-sleep> is rayh around?
[20:37:13] <jmk-sleep> jmk-sleep is now known as jmkasunich
[20:37:23] <SWPadnos> hi jmk
[20:37:28] <jmkasunich> hi
[20:37:28] <cradek> jmkasunich: he was here 20 mins ago
[20:37:41] <jmkasunich> I have a teeny gripe with his change to the halcmd man page
[20:37:51] <jmkasunich> hal doesn't depend on emc, and can be used alone
[20:38:12] <cradek> jmkasunich: I made updated rtai-3.3-release packages but it does not fix the problem.
[20:38:26] <jmkasunich> he changed from "manipulate HAL from cmd line" to "manipulate EMC HAL from cmd line"
[20:38:43] <cradek> hmm
[20:38:43] <SWPadnos> hmmm - any interest in seeing what happens if I try installing the emc debs on a different debian-based system?
[20:38:44] <jmkasunich> stranger and stranger
[20:39:25] <cradek> SWPadnos: I'm somewhat interested but I don't want you to risk breaking your system.
[20:40:08] <SWPadnos> I haven't even seen this hard drive for about 6 months, so I don't think there's much danger ;)
[20:40:12] <cradek> SWPadnos: installing a ubuntu kernel package on non-ubuntu seems a little risky.
[20:40:25] <cradek> jmkasunich: https://mail.rtai.org/pipermail/rtai/2006-February/014119.html
[20:40:34] <cradek> jmkasunich: that's why I tried it
[20:40:44] <cradek> jmkasunich: (the 3.3 release came a week after this post)
[20:40:55] <SWPadnos> are there any ubuntu-specific dependencies?
[20:41:14] <jmkasunich> yeah, saw that post when I was reading back
[20:41:22] <cradek> SWPadnos: I don't think so. no version numbers are specified on dependencies
[20:41:37] <cradek> SWPadnos: of course the kernel might have special ubuntu things in it, I'm not sure.
[20:41:38] <SWPadnos> ok. we'll see how a mepis install works then
[20:41:56] <SWPadnos> I'm still waiting for the kubuntu ISO to download anyway
[20:45:46] <jmkasunich> SWP: I'm interested to hear how your kubuntu install goes
[20:46:06] <jmkasunich> this ubuntu install is temporary (a spare partition in my main box)
[20:46:08] <SWPadnos> I'll let you know. I know there's been some grumbling about Gnome
[20:46:21] <SWPadnos> what version is Synaptic up to?
[20:46:28] <jmkasunich> I'm finding I prefer KDE, when I make the transition for real I might use kubuntu
[20:46:52] <SWPadnos> soem stuff works really well in gnome, other stuff not so well
[20:47:04] <cradek> ii synaptic 0.57.4ubuntu10 Graphical package manager
[20:47:13] <jmkasunich> SWP: the synaptic on my box is 0.57.4
[20:47:20] <SWPadnos> ok. the version on this laptop install is 0.47
[20:47:29] <SWPadnos> oops, 0.46
[20:47:54] <jmkasunich> speaking of laptops, I installed Xubuntu on one (it was old, slow, and only had 128M ram, so I wanted lightweight)
[20:48:23] <SWPadnos> how'd it go?
[20:48:30] <jmkasunich> not bad
[20:48:45] <jmkasunich> took a while, partly because it was late and I kept forgetting things
[20:48:47] <SWPadnos> hmmm. that may be good for an emc distribution
[20:49:05] <jmkasunich> do a server install from the ubuntu cd, then apt-get xubuntu-desktop
[20:49:16] <cradek> sometime maybe we'll figure out how to make a live cd with the realtime kernel + emc
[20:49:39] <SWPadnos> I would have bet on morphix, but that was a while ago
[20:49:48] <cradek> jepler looked into it and said adding packages to the ubuntu live cd is easy, but replacing the kernel isn't so easy
[20:50:18] <jmkasunich> the assumption with a live CD is that it is "tryout only"?
[20:50:21] <SWPadnos> can you use the stock kernel, then have a new kernel in the emc deps (on the CD still)?
[20:50:24] <cradek> yeah
[20:50:31] <SWPadnos> ah - right
[20:50:33] <jmkasunich> yeah to which?
[20:59:29] <cradek> yeah to jmk (tryout)
[20:59:45] <cradek> no you can't install a new kernel and reboot, since there's nothing to install to (it's a CD)
[21:00:42] <cradek> bbl
[21:01:13] <SWPadnos> see you
[21:06:54] <rayh> Hi John.
[21:07:16] <SWPadnos> heh. this reminds me of a Devo song
[21:07:23] <SWPadnos> "Out Of Sync"
[21:07:51] <rayh> Okay.
[21:08:16] <SWPadnos> he's probably still around, if you use his full name, 'jmkasunich'
[21:08:25] <SWPadnos> beep beep beep :)
[21:11:55] <jmkasunich> hi
[21:12:01] <jmkasunich> stepped away for a bit
[21:12:08] <jmkasunich> (brownies came out of the oven ;-)
[21:12:17] <rayh> ah be right over.
[21:12:32] <SWPadnos> well, I guess we won't see how the debs work on Mepis - synaptic isn't working, and the apt db is somewhat trashed, so apt doesn't work either
[21:12:36] <SWPadnos> yeah - that makes two of us
[21:12:54] <SWPadnos> maybe I'll break open that package of Oreos
[21:13:57] <jmkasunich> so, what is on the agenda for this weekend (IOW, what obstacles to release are left?)
[21:14:10] <rayh> Played a bit with the Yelp help system
[21:15:01] <rayh> made a gz of halcmd.1 and put it in /usr/share/man/man1
[21:15:08] <rayh> Shows very nicely.
[21:15:24] <SWPadnos> if only they had an editor ;)
[21:15:33] <rayh> troff?
[21:15:38] <jmkasunich> putting it in that dir means that normal man will work too, right?
[21:15:46] <rayh> Yep.
[21:15:48] <jmkasunich> so that should be part of make install
[21:16:07] <rayh> The yelp can use docbook which we can get from LyX.
[21:16:25] <jmkasunich> that man page was created with an ordinary editor, reference to other manpages, and some profanity
[21:16:37] <rayh> I figured.
[21:16:44] <SWPadnos> I know - I reused those profanities when editing it :)
[21:17:21] <rayh> That is about as awkward as any markup I've seen.
[21:18:20] <SWPadnos> yes
[21:19:27] <jmkasunich> btw ray, I dunno if you read back
[21:19:43] <rayh> You would think someone would have built a simple troff editor.
[21:20:14] <jmkasunich> your last commit changed the man page :
[21:20:15] <jmkasunich> -halcmd \- manipulate the HAL from the command line
[21:20:16] <jmkasunich> +halcmd \- manipulate the Enhanced Machine Controller HAL from the command line
[21:20:51] <jmkasunich> HAL and the associated tools can be used for other things, and I've been keeping direct references to EMC out of them
[21:20:56] <rayh> The HAL is a feature of linux these days -- I found the two sitting next to each other to be confusing.
[21:21:15] <jmkasunich> yeah, HAL is a bad name
[21:21:39] <rayh> Your halcmd will certainly not make changes to the Linux Hardware Abstraction stuff.
[21:21:46] <jmkasunich> someday I'll do HAL 2, and it will be called something else
[21:21:58] <jmkasunich> in the meantime, I guess the clarification does no harm
[21:22:06] <rayh> HML
[21:22:14] <jmkasunich> BLOCS
[21:22:23] <rayh> It's easy to revert if you like.
[21:22:28] <jmkasunich> (BLock Oriented Control System)
[21:22:37] <jmkasunich> no need to revert - you have a good point about the Linux HAL
[21:24:09] <jmkasunich> uh-oh
[21:24:20] <jmkasunich> just tried a make on emc2 head, got errors
[21:24:22] <jepler> eventually you'll get all the way up to HAL 9000
[21:24:33] <jmkasunich> Compiling module_helper/module_helper.c -Wall -Werror
[21:24:34] <jmkasunich> module_helper/module_helper.c:49: error: `MODULE_EXT' undeclared here (not in a function)
[21:24:34] <jmkasunich> module_helper/module_helper.c:49: error: initializer element is not constant
[21:24:36] <jmkasunich> module_helper/module_helper.c:49: error: (near initialization for `ext_whitelist[0]')
[21:25:09] <SWPadnos> ./configure, anyone?
[21:25:15] <jmkasunich> did it
[21:25:19] <SWPadnos> hmmm then
[21:25:49] <jmkasunich> cvs up -dP; cd src; ./configure --with-make-quiet; make
[21:26:24] <SWPadnos> hmm. that reminds me, thre should be an option for configure to display available options
[21:26:42] <SWPadnos> so people like me can find out if it's --enable-run-in-place or --with-run-in-place
[21:26:51] <jmkasunich> yeah
[21:26:57] <cradek> it's configure --help
[21:27:01] <cradek> it's always there
[21:27:13] <SWPadnos> all available options are listed?
[21:27:24] <cradek> not sure, at least the important ones are
[21:27:25] <SWPadnos> I coukld swear that I had tried that
[21:27:32] <cradek> try again and quit swearing
[21:27:44] <SWPadnos> can't help it - I was brought up taht way
[21:27:47] <SWPadnos> that
[21:27:59] <jmkasunich> did a make clean; cd .. ; cvs up -dP ; cd src ; ./configure --with-make-quiet ; make
[21:28:02] <jmkasunich> same error
[21:28:57] <rayh> I made it about 2 hours ago and it seemed fine.
[21:29:22] <rayh> rip and head.
[21:31:52] <rayh> I'm seeing a failure to read TkEmc properly when tkemc starts.
[21:31:52] <cradek> jmkasunich: I just made head rip with no problem.
[21:32:07] <SWPadnos> what about non-RIP?
[21:32:14] <rayh> the position letters are small
[21:32:49] <cradek> rayh: is it blue?
[21:33:26] <rayh> and menu -> settings -> font doesn't work either.
[21:33:30] <rayh> Yep blue.
[21:33:36] <cradek> rayh: it's the font problem, not a resource problem then. I had to hack in a different (truetype) font for ubuntu
[21:33:44] <jmkasunich> ok, make rip works
[21:33:47] <cradek> rayh: I didn't check in those changes for obvious reasons...
[21:33:52] <jmkasunich> I'll investigate
[21:34:16] <cradek> rayh: should I? I don't know what it'll do to the big font on bdi.
[21:35:17] <cradek> rayh: (the big truetype font looks really nice)
[21:36:17] <rayh> It's only a size problem not a font style right now.
[21:37:07] <cradek> yeah ubuntu has scaling turned off for bitmap fonts. I suppose they decided it looks bad and people should use truetype.
[21:37:13] <cradek> let me check in my change and you can look at it
[21:38:02] <cradek> done
[21:38:08] <jmkasunich> * jmkasunich looks at the new makefiles: "gee toto, I don't think we're in kansas anymore"
[21:38:23] <cradek> jmkasunich: just yell if you need help
[21:38:45] <jmkasunich> yell
[21:38:49] <SWPadnos> or click your heels together 3 times
[21:38:54] <jmkasunich> in the submakefile:
[21:39:02] <jmkasunich> ifneq ($(rip_moduledir),)
[21:39:02] <jmkasunich> $(call TOOBJSDEPS, $(MODULE_HELPERSRCS)) : EXTRAFLAGS += -DRIP_MODULEDIR="\"$(rip_moduledir)\"" -DMODULE_EXT=\"$(MODULE_EXT)\"
[21:39:02] <jmkasunich> endif
[21:39:24] <jmkasunich> but what sets -DMODULE_EXT if not run in place?
[21:39:54] <cradek> nothing, it's not set (on purpose)
[21:40:10] <jmkasunich> well thats what is causing the compile error
[21:40:19] <jmkasunich> module_helper/module_helper.c:49: error: `MODULE_EXT' undeclared here (not in a function)
[21:40:20] <cradek> oh wait
[21:40:33] <cradek> I need to cvs up... I'm looking at the old version
[21:40:36] <alex_joni> hello
[21:40:38] <cradek> yes you found the problem
[21:40:39] <jmkasunich> hi alex
[21:40:41] <alex_joni> hi john
[21:41:17] <jmkasunich> lemme guess, the -DMODULE_EXT should be outside the conditional
[21:41:22] <cradek> yes
[21:41:42] <cradek> I think jepler didn't see that ifneq
[21:41:45] <jmkasunich> should I fix it?
[21:41:52] <cradek> why not?
[21:42:04] <jmkasunich> cause I'm not entirely sure what I'm doing
[21:42:06] <jmkasunich> ;-)
[21:42:10] <alex_joni> jmkasunich: who is?
[21:42:10] <jmkasunich> I'll try, and test
[21:42:11] <alex_joni> ;)
[21:42:18] <rayh> wierd had to move away all the configs
[21:42:23] <cradek> I suggest putting it in the above EXTRAFLAGS line
[21:42:46] <jmkasunich> just noticed that
[21:43:03] <jmkasunich> what is the call(foo) about anyway?
[21:43:19] <cradek> call is like a subroutine in make
[21:43:30] <cradek> those are explained in the main Makefile
[21:43:42] <cradek> TOOBJSDEPS takes a list of sources and generates the corresponding list of deps and objects
[21:44:16] <cradek> so this line says: when we're building the objects or deps corresponding to module_helper/module_helper.c, turn on some extra warnings and define some things.
[21:46:45] <jepler> MODULE_EXT isn't always set? Why not?
[21:47:00] <jepler> oh, forget it
[21:47:11] <jepler> I understand the problem now
[21:47:18] <jmkasunich> fix committed
[21:47:23] <cradek> thanks
[21:47:32] <jmkasunich> hey, now I can say I did something with the new build system! ;-)
[21:47:59] <alex_joni> even something good
[21:49:32] <jmkasunich> strange, emc2testing doesn't have that problem
[21:50:14] <cradek> it's a recent change in head
[21:50:18] <jmkasunich> ok
[21:50:36] <jmkasunich> I got another warning?/error? doing an install build of test:
[21:50:48] <jmkasunich> Generate ../scripts/rtapi.conf
[21:50:48] <jmkasunich> /bin/sh: /usr/realtime-2.6.12-magma/modules/emc2/.runinfo: Permission denied
[21:50:48] <jmkasunich> C
[21:51:18] <alex_joni> oh right, you might need sudo on that :(
[21:51:28] <jmkasunich> for "make"?
[21:51:36] <cradek> that .runinfo is not used
[21:51:41] <cradek> just take it out
[21:51:55] <jmkasunich> this is testing, I didn't get the warning on head
[21:52:01] <jmkasunich> does that mean its already fixed?
[21:52:11] <cradek> I don't understand what it's doing
[21:52:18] <alex_joni> head also doing install build?
[21:52:23] <rayh> I see that we left out TkEmcL and TkEmcS. Would you prefer I do this setup of the X11 option file some other way?
[21:52:38] <alex_joni> no, but L&S were never part of emc2
[21:52:47] <cradek> what are L and S?
[21:52:48] <alex_joni> rayh: you are welcomed to migrate them
[21:52:53] <alex_joni> large & small
[21:52:55] <alex_joni> iirc
[21:52:58] <jmkasunich> yeah, I did rip and install builds in head, found and fixed the MODULE_EXT thing, then went to testing to see if it had the problem
[21:53:37] <cradek> so this is during what make invocation?
[21:53:50] <rayh> They are largely redundant. Let me see if I can handle the font configuration some other way.
[21:53:51] <jmkasunich> testing/install
[21:54:01] <cradek> did you do sudo make install?
[21:54:06] <jmkasunich> didn't get that far
[21:54:06] <alex_joni> rayh: I think cradek added some font related stuff to tkemc
[21:54:20] <cradek> I checked in that font change
[21:54:22] <alex_joni> rayh: now you can select font from the ini (if I read the commit ok)
[21:54:25] <jmkasunich> (I guess I wasn't clear - testing checkout, configed for install, regular make)
[21:54:36] <cradek> ok
[21:54:41] <rayh> Yes I got the cradek font change.
[21:54:55] <rayh> Doesn't affect mini.
[21:55:04] <cradek> I have never touched mini
[21:55:15] <alex_joni> that calls for a minitouch ;)
[21:55:46] <cradek> /usr/realtime-2.6.12-magma/modules/emc2/.runinfo does not even exist on my system
[21:56:13] <cradek> * cradek points at alex
[21:56:20] <cradek> I think alex has to figure this one out
[21:56:42] <alex_joni> you said we don't need that anymore..
[21:56:47] <alex_joni> just take out the line:
[21:56:48] <cradek> we don't
[21:56:52] <alex_joni> echo "$(RTAI3_RUN)" > $(RTLIB_DIR)/.runinfo ; \
[21:56:58] <alex_joni> from rtapi/Submakefile
[21:57:18] <cradek> that's not in mine
[21:57:31] <alex_joni> * alex_joni up's
[21:57:41] <cradek> oh let me get testing
[21:58:19] <cradek> ok that was all moved into configure?
[21:58:36] <cradek> I get the feeling we're going to want to move TESTING again
[21:58:38] <alex_joni> yeah, I think jeff did it
[21:58:47] <alex_joni> jmkasunich: YAY
[21:58:56] <jmkasunich> ?
[21:58:56] <alex_joni> finally someone adding stuff to news ;)
[21:59:08] <alex_joni> don't forget debian/changelog
[21:59:18] <cradek> no, don't touch that
[21:59:20] <jmkasunich> alex: its something I wrote a week ago, and forgot to commit until now ;-)
[21:59:26] <alex_joni> oh, ok
[21:59:36] <alex_joni> cradek: any particular reason?
[21:59:58] <cradek> because I have a dozen versions in my local copy that aren't in cvs, I add one whenever I make a deb
[22:00:14] <jmkasunich> all these little details, we're gonna need checklists to do things
[22:00:24] <jmkasunich> especially things like making debs
[22:00:36] <cradek> we'll have to figure out how to handle that...
[22:00:40] <jmkasunich> set VERSION, move CVS tag, make deb, clear VERSION
[22:01:00] <alex_joni> btw, we should have VERSION read Testing on the TESTING
[22:01:07] <cradek> it does
[22:01:17] <alex_joni> oh, ok ;)
[22:01:26] <cradek> chris@buster2:~/emc2.cvs$ cat VERSION
[22:01:27] <cradek> TESTING-2006-02-14
[22:01:29] <alex_joni> * alex_joni shuts up and reads first
[22:01:30] <alex_joni> ;)
[22:01:34] <cradek> haha
[22:01:50] <alex_joni> notmuch CVS lately ;)
[22:02:17] <cradek> ok let's settle down, test, I'll make a deb and move TESTING and try to get everything in sync
[22:03:39] <jmkasunich> is pickconfig working the way we expect?
[22:03:59] <cradek> yes, I fixed it to only give the rip configs when rip
[22:04:03] <jmkasunich> good
[22:04:09] <jmkasunich> another reason to move testing
[22:04:45] <jmkasunich> since we don't have a working setupconfig right now, should we put "how to copy a config" instructions on the Testing wiki page?
[22:05:20] <cradek> what will it take to fix setupconfig?
[22:05:37] <cradek> first of all, an entry on the applications menu to run it?
[22:05:40] <jmkasunich> we need to decide how we're gonna handle the common stuff
[22:05:48] <cradek> ok
[22:06:04] <alex_joni> does anyone object if I make an alias for --enable-run-in-place ?
[22:06:08] <alex_joni> something like --rip
[22:06:18] <alex_joni> * alex_joni hates typing that over and over again ;)
[22:06:20] <jmkasunich> it has the code to do the creation of a new config - copy all files from template, open ini(s), copy anything they reference from common, and change the references
[22:06:38] <cradek> alex_joni: not if you can do it without breaking anything
[22:06:57] <alex_joni> no, it won't be seen from outside
[22:07:11] <alex_joni> I don't think I even want to document it in the configure help function
[22:07:21] <cradek> jmkasunich: so we don't necessarily have to fix/change common
[22:07:53] <jmkasunich> not right now
[22:08:12] <jmkasunich> but we should change the template picker to use the tree
[22:08:27] <jmkasunich> and we should change the copy code to only copy _one_ ini, not all of them
[22:08:41] <cradek> I agree
[22:08:51] <jmkasunich> also, need to understand privliges
[22:08:54] <cradek> so should I wait to move testing?
[22:09:05] <jmkasunich> make new configs only in dirs that the user can write
[22:09:06] <cradek> jmkasunich: it could/should just write to the home directory location.
[22:09:20] <alex_joni> that sounds sane
[22:09:25] <jmkasunich> move testing now - I think the setupconfig changes will take a couple days
[22:09:33] <cradek> now as in now?
[22:09:41] <jmkasunich> yeah, I think so
[22:09:50] <cradek> rayh: any last minute fixes for tkemc and mini fonts?
[22:09:55] <jmkasunich> assuming the last couple commits test ok
[22:10:00] <jmkasunich> (fonts and such)
[22:10:35] <jmkasunich> hmm, should I modify the compile farm build files to build for both rip and install?
[22:10:45] <jmkasunich> right now they build for install (but don't actually install)
[22:11:09] <cradek> I don't think it's necessary. the builds are going to rarely be different.
[22:11:19] <cradek> (of course we just saw an unusual case where they were)
[22:12:02] <jmkasunich> and guess what - the farm noticed the problem 3 days ago
[22:12:08] <jmkasunich> but nobody reads the farm results
[22:12:13] <alex_joni> btw, I am about to add vti stuff to emc2
[22:12:20] <alex_joni> I got the files from eric
[22:12:29] <alex_joni> and I'd rather do that after the TESTING has been moved
[22:12:30] <jmkasunich> shame there's no mail on those boxes, I'd make it mail to the dev list on a failure
[22:12:53] <alex_joni> jmkasunich: want me to set up a cron and mail the dev list when failed is on the page?
[22:13:16] <jmkasunich> maybe
[22:13:21] <alex_joni> but mail should be on any box..
[22:13:30] <alex_joni> you don't need to be able to receive email, just send
[22:13:52] <jmkasunich> my ISP has strange complications for sending mail
[22:14:06] <jmkasunich> because the actual DSP connectivity is from a third party
[22:14:21] <jmkasunich> I need to connect to their mailserver using special protocols
[22:14:27] <jmkasunich> which I've never been able to get working
[22:14:43] <jmkasunich> doesn't matter, I use webmail 99.9% of the time so I can read/send from work, hotels, etc
[22:14:58] <alex_joni> right...
[22:15:02] <jmkasunich> but none of my boxes here have working tradtional mail
[22:16:45] <jmkasunich> if it did compared the last line of that file to a saved copy, and sent only when they don't match (new results) and the new line contains FAILED, that would be great
[22:17:13] <alex_joni> probably I would have to bug cradek on bash specifics, but I can set that up
[22:17:19] <alex_joni> ;-)
[22:17:27] <alex_joni> not right now chris, don't run away
[22:17:36] <jmkasunich> the message could include this URL http://linuxcnc.org/compile_farm/emc2head_slot5.txt
[22:17:37] <alex_joni> jmkasunich: btw, emc2 is getting better every day
[22:18:06] <alex_joni> I am running on my desktop with 0.000012 now, no sluggish feeling at all
[22:18:49] <jmkasunich> wow
[22:18:52] <jmkasunich> steppers?
[22:19:06] <alex_joni> stepper_mm
[22:19:11] <alex_joni> but no hardware connected
[22:19:16] <alex_joni> will go for 10 in a minute
[22:19:30] <cradek> what's your latency? Mine's way over 12
[22:19:37] <cradek> seems unlikely that can work well
[22:19:46] <jmkasunich> I bet he's getting occasional overruns
[22:19:49] <cradek> yeah
[22:20:02] <jmkasunich> alex: open a shell, do halcmd show param | grep tmax
[22:20:31] <jmkasunich> you'll have to translate the values from clocks to seconds, but I bet the sum of the functions in the base thread is over 12uS
[22:20:49] <jmkasunich> do grep time to get the most recent samples (probably much lower)
[22:21:16] <cradek> does anyone have the same bdi as gene? he had a sudo-related problem building
[22:21:21] <alex_joni> hmm.. parport read & write are 18-19000
[22:21:22] <cradek> I think his is 4.38 but I'm not sure
[22:21:31] <jmkasunich> I have 4.27, nothing newer
[22:21:37] <alex_joni> stepgen update-freq is 31624
[22:21:53] <alex_joni> motion-* is not base thread, right?
[22:22:57] <jmkasunich> right
[22:23:05] <jmkasunich> (do halcmd show thread )
[22:23:38] <jmkasunich> update-freq is in the servo thread too
[22:23:39] <alex_joni> hrmm..halcmd seems hung
[22:23:44] <jmkasunich> ?
[22:23:47] <alex_joni> doesn't return anymore
[22:23:52] <alex_joni> doesn't print anything
[22:23:55] <alex_joni> emc is still useable
[22:24:16] <cradek> I would appreciate anyone with bdi testing that HEAD change, especially the sudo make setuid step of the rip build
[22:24:17] <jmkasunich> hang on a sec
[22:25:14] <jmkasunich> alex: open another shell, try halcmd -R
[22:25:28] <jmkasunich> if that gets it unstuck, it means that something was holding the hal mutex
[22:25:37] <alex_joni> yup, that was it
[22:25:44] <jmkasunich> thats bad
[22:25:47] <alex_joni> I might have killed a halcmd at an unproper time
[22:25:56] <jmkasunich> it should be protected against that
[22:26:16] <jmkasunich> you should only need -R if you are hacking on halcmd or other hal programs and screw something up
[22:26:28] <jmkasunich> like a segfault while holding the mutex
[22:27:28] <alex_joni> ok, I got max 53626 cpu clocks / period
[22:27:41] <alex_joni> I'm running a 1400 MHz processor
[22:27:58] <alex_joni> 1400.266 actually
[22:28:03] <jmkasunich> heh
[22:28:32] <jmkasunich> so about 38uS max
[22:28:39] <alex_joni> yup, seems like it
[22:28:52] <alex_joni> from the math, so probably at 12 uS it misses some ;)
[22:29:03] <jmkasunich> repeat looking at time instead of tmax
[22:29:37] <alex_joni> time is normal?
[22:29:48] <jmkasunich> time is updated every execution
[22:29:48] <alex_joni> ok, lots less
[22:30:02] <jmkasunich> tmax is the highest seen
[22:30:13] <jmkasunich> (tmax is writable, so you can force to zero to reset)
[22:30:20] <alex_joni> 5387 is time (all three added)
[22:30:31] <alex_joni> that's 3.8uS
[22:30:36] <jmkasunich> zoomy
[22:30:41] <alex_joni> zoomy?
[22:30:46] <jmkasunich> fast
[22:30:52] <jmkasunich> zoom zoom zoom
[22:30:55] <alex_joni> it's a good box
[22:31:03] <alex_joni> a bit old... but I really love it
[22:31:09] <jmkasunich> try reseting the tmax params
[22:31:17] <jmkasunich> halcmd setp <foo>.tmax 0
[22:31:35] <jmkasunich> the max probably comes from the first time executed, when none of it at all was in cache
[22:32:04] <jmkasunich> its also interesting to point scope at <foo>.time
[22:32:20] <rayh> cradek, I'm making changes to mini but they will take a bit.
[22:32:29] <alex_joni> it's about 30k ticks now
[22:32:36] <alex_joni> so about 18 uS
[22:32:59] <cradek> rayh: ok, are you changing it to use that courier truetype font too?
[22:34:20] <alex_joni> jmkasunich: this is fun ;)
[22:36:18] <alex_joni> jmkasunich: stressing it I mean ;)
[22:36:25] <alex_joni> wonder if I can lock it up
[22:37:39] <jmkasunich> I want to have <thread>.time params too
[22:37:49] <alex_joni> well.. in time ;)
[22:37:59] <jmkasunich> but the way things are architected, params need to belong to a specific module
[22:38:02] <alex_joni> btw, I would rather have tab completion for halcmd :D
[22:38:19] <jmkasunich> does getline give that?
[22:38:23] <alex_joni> it's a bit sluggish at 10uS
[22:38:28] <jmkasunich> I want history for halcmd
[22:38:34] <alex_joni> yeah, that too
[22:38:45] <jmkasunich> adding getline is on my list
[22:39:14] <alex_joni> OK, at 5 usec it locked up ;)
[22:39:24] <alex_joni> no wonder :D
[22:39:56] <jmkasunich> computer abuser
[22:40:10] <alex_joni> probably I can get a tick lower than 10, but I'll settle for that ;)
[22:40:15] <alex_joni> that's a LOT
[22:40:48] <alex_joni> that's 50kHz pulses if my math is ok
[22:41:53] <alex_joni> oh wait, I have a PCI parport card, I might get faster using that..
[22:42:12] <alex_joni> anyone ever tried a Netmos card?
[22:42:30] <alex_joni> this is Nm9715CV (2 port)
[22:43:27] <rayh> As far as I know it did use the courier
[22:43:55] <rayh> Without the extra X11 option files though it did not work properly.
[22:44:54] <rayh> Mini was intended to autosize to 80% of display area.
[22:45:15] <rayh> so needed different font sizes for large and small.
[22:45:45] <jmkasunich> feature request for mini: pass desired size on command line (to override the autosize)
[22:46:13] <jmkasunich> that way those with large screens can spec the size in the ini file and not have it explode onto the screen
[22:46:56] <cradek> with my dual monitor 3200x1200 it starts pretty darn big
[22:47:08] <alex_joni> oh, that might be big ;)
[22:47:25] <cradek> it's like the monolith from 2001 but gray
[22:47:49] <alex_joni> cradek: at least it's not a display like blinkenlights
[22:48:38] <rayh> I wouldn't know how to setup command line options to mini.
[22:48:50] <jmkasunich> ok, back to setupconfig
[22:48:55] <rayh> I can't even seem to get the option add to work
[22:49:11] <LawrenceG> \
[22:49:35] <jmkasunich> rayh: I will look at that part
[22:49:45] <cradek> rayh: I had to change something about option add in tkemc - let me look for it
[22:49:46] <rayh> k
[22:50:28] <alex_joni> cradek: can I start adding the hal_vti stuff?
[22:50:33] <cradek> sure
[22:50:44] <alex_joni> ok, doing it now
[22:50:51] <jmkasunich> what is "option add" anyway?
[22:51:23] <cradek> jmkasunich: it adds stuff the the Xresources database
[22:51:30] <jmkasunich> maybe I misunderstood ray, are you working on font stuff, or were you talking about my "add an option to specify the window size"?
[22:52:28] <jmkasunich> command line options would involve parsing argv I think (at least thats how I did it)
[22:52:39] <alex_joni> cradek: we need another package for build-dep emc2
[22:52:49] <cradek> what is it?
[22:52:53] <alex_joni> the vti stuff is PCI, and we need a pci-devel package
[22:53:00] <cradek> ok
[22:53:17] <alex_joni> pciutils-dev
[22:53:26] <alex_joni> that's what apt-cache says
[22:53:29] <cradek> ok
[22:54:15] <rayh> I was working or at least thinking of both.
[22:54:15] <alex_joni> ok, I can confirm that (the pci/pci.h not found errors are gone)
[22:54:26] <cradek> alex_joni: done
[22:54:32] <alex_joni> this is fun ;)
[22:55:25] <jmkasunich> ray - I'll look into the size on command line thing
[22:55:29] <jmkasunich> you do fonts ;-)
[22:55:49] <cradek> jmkasunich: instead of that, let the user set an initial size in the X resources
[22:56:09] <cradek> jmkasunich: there's no good way to get it onto the commandline, and X resources are for preferences like that.
[22:56:20] <alex_joni> anyone know where dos2unix is found?
[22:56:32] <alex_joni> as in what package?
[22:56:38] <jmkasunich> how the heck does a user set X resources?
[22:56:55] <cradek> alex_joni: sysutils: usr/bin/dos2unix
[22:57:09] <cradek> jmkasunich: xrdb
[22:57:19] <alex_joni> cradek: how did you get that?
[22:57:24] <cradek> alex_joni: apt-file
[22:57:34] <cradek> jmkasunich: or in general, put them in ~/.Xresources, and X loads them when you log in
[22:58:06] <jmkasunich> putting "DISPLAY = mini --width 500 --height 400" in the ini file seems easier
[22:58:24] <rayh> option add is supposed to do it from tk
[22:58:58] <rayh> a bit of mini history.
[22:59:02] <cradek> jmkasunich: you'll have to dink with all the scripts if you do that.
[22:59:07] <rayh> it was written for Sherline
[22:59:23] <rayh> they did not intend to ship monitors with their systems
[22:59:34] <jmkasunich> cradek: you mean to pass command line params?
[22:59:40] <cradek> jmkasunich: yes
[22:59:44] <jmkasunich> that seems like a usefull bit of dinking tho
[22:59:45] <cradek> case $EMCDISPLAY in
[22:59:45] <cradek> tkemc|mini)
[22:59:46] <rayh> but we wanted to make certain that the mini interface covered most of the available screen.
[23:00:07] <jmkasunich> rayh: understand the reasoning for the default behavior, and don't want to change it
[23:00:18] <jmkasunich> just would like to be able to override the default
[23:00:37] <rayh> problem is I don't seem to be able to recreate the default behavior now.
[23:00:51] <jmkasunich> its not big?
[23:01:31] <rayh> It is 80% of what x reports as screen size.
[23:01:40] <rayh> but the fonts are very wrong.
[23:02:01] <cradek> rayh: did you change it to use the truetype font?
[23:02:03] <jmkasunich> fonts are foreign territory for me
[23:02:25] <cradek> rayh: like I said earlier, ubuntu by default won't scale bitmap fonts, you have to use a truetype font
[23:02:40] <rayh> No I have not changed anything in mini.
[23:02:59] <rayh> The stuff that located the option file was changed but ...
[23:03:12] <cradek> that's why I changed tkemc to use that {courier 10 pitch}
[23:03:26] <cradek> ok there sure may be two problems
[23:03:30] <alex_joni> oh my.. about 100 compile errors ;)
[23:03:34] <rayh> The option file TkEmc is supposed to do that.
[23:03:35] <alex_joni> on the vti stuff
[23:03:39] <cradek> but just because your fonts are small does NOT mean the option file is not being read
[23:03:41] <alex_joni> * alex_joni cleans up for a while
[23:04:18] <rayh> In emc mini used two other option files.
[23:04:30] <rayh> these were never moved to emc2
[23:04:35] <cradek> ok I understand
[23:04:41] <rayh> but mini was changed to permit it to start
[23:04:53] <cradek> so there are probably two problems then
[23:05:27] <cradek> 1) files missing or paths wrong 2) font specs need to be updated
[23:14:02] <jmkasunich> bash-fu question: how do you split a string? for example: FOO="bar baz" I want to extract "bar"
[23:14:12] <alex_joni> split, iirc
[23:14:15] <cradek> set -- $FOO; A=$1
[23:14:22] <cradek> B=$2
[23:14:35] <cradek> echo $#
[23:14:41] <cradek> -> 2 (the number of splits)
[23:17:37] <jmkasunich> seems like set permanently overrites the original cmd line args ($1, $2, etc)
[23:17:46] <cradek> yes it does
[23:17:46] <SWPadnos> yes
[23:17:47] <jmkasunich> nasty side effect
[23:17:52] <SWPadnos> intended effect
[23:18:01] <SWPadnos> * SWPadnos has been reading ;)
[23:18:03] <cradek> you should save them off if you need them later: CMDLINE="$@"
[23:18:37] <cradek> or better, parse them with getopt at the beginning of the script so you don't need them later.
[23:19:05] <alex_joni> * alex_joni misses make indent
[23:19:45] <jmkasunich> what about ( set -- $FOO; CMD=$1; shift; ARGS=$*)
[23:20:03] <jmkasunich> to split FOO into CMD and ARGS
[23:20:16] <jmkasunich> () gets a private subshell, right?
[23:20:28] <rayh> bbl
[23:20:28] <jmkasunich> might have to export CMD and ARGS?
[23:21:11] <alex_joni> jmkasunich: do you remember how to run indent manually?
[23:21:19] <jmkasunich> no
[23:21:24] <alex_joni> ok :(
[23:21:28] <jmkasunich> there were about 20 options passed to indend
[23:21:31] <jmkasunich> intent
[23:21:33] <jmkasunich> indent
[23:21:47] <jmkasunich> and it needs to be run on C only, it fscks up C++
[23:22:12] <jmkasunich> checkout an old copy of emc2 into a temp dir
[23:22:21] <alex_joni> I only want to run it on hal_vti.c
[23:22:26] <alex_joni> ok, that's a good idea
[23:22:29] <jmkasunich> stuff your files in there, run make indent, pull em out and delete the rest
[23:23:57] <cradek> why not just run indent on your file before you check it in?
[23:24:17] <alex_joni> cradek: because there are about 20 parameters used, and I don't know them
[23:24:26] <cradek> (I think indent usually makes matters worse anyway)
[23:24:30] <alex_joni> make indent made it easy
[23:24:32] <jmkasunich> he wants to use the same indent style as our code
[23:24:37] <cradek> ok
[23:24:52] <alex_joni> Make.rules still has the rules, but applying them manually is hard
[23:25:37] <jmkasunich> hmmm
[23:26:01] <jmkasunich> suppose make indent created scripts/indent, which expects the name of a source file and indents it
[23:26:13] <jmkasunich> scripts/indent would never be installed, just a programmers aid
[23:26:52] <cradek> I don't want anyone to ever run indent after a file is in cvs
[23:27:02] <alex_joni> cradek: indent --braces-on-if-line \
[23:27:03] <alex_joni> --braces-on-struct-decl-line \
[23:27:04] <alex_joni> --comment-line-length78 \
[23:27:04] <alex_joni> --continuation-indentation4 \
[23:27:04] <alex_joni> --cuddle-do-while \
[23:27:07] <alex_joni> --cuddle-else \
[23:27:09] <alex_joni> --declaration-indentation2 \
[23:27:12] <alex_joni> --dont-break-procedure-type \
[23:27:14] <alex_joni> --dont-line-up-parentheses \
[23:27:15] <cradek> yikes
[23:27:16] <alex_joni> --format-all-comments \
[23:27:19] <alex_joni> --ignore-profile \
[23:27:22] <alex_joni> --indent-level4 \
[23:27:24] <alex_joni> --line-length78 \
[23:27:27] <alex_joni> --no-space-after-function-call-names \
[23:27:29] <alex_joni> --no-space-after-parentheses \
[23:27:32] <alex_joni> --space-after-cast \
[23:27:34] <alex_joni> --swallow-optional-blank-lines \
[23:27:37] <alex_joni> guess now you know ;)
[23:27:51] <jmkasunich> cradek: its bad if run at random, but good if run before you first commit some code
[23:28:02] <cradek> alex_joni: thanks for that
[23:28:06] <jmkasunich> keeps style consistent
[23:28:32] <cradek> jmkasunich: that's fine, as long as nobody ever runs it once the file is in cvs. That is a nightmare.
[23:28:45] <cradek> jmkasunich: that's why I oppose putting it in makefiles.
[23:29:39] <jmkasunich> but the particular rules we use should be preserved somewhere
[23:29:50] <cradek> sure
[23:31:05] <alex_joni> argh.. it's failing brilliantly ;)
[23:32:16] <jmkasunich> I dunno about your, but I'd actually favor running indent on the CVS files every once in a while
[23:32:23] <jmkasunich> to fix "format rot"
[23:32:40] <cradek> I will fight you (nearly) to the end of the world to avoid that
[23:32:41] <jmkasunich> checkout, indent, commit -m "ran indent, no functional change"
[23:33:10] <cradek> it makes the cvs diff, annotate useless.
[23:33:18] <cradek> it's not worth it for fixing some whitespace.
[23:34:27] <cradek> jmkasunich: on another note, reading X resources seems to have something to do with [option get], but I don't have the incantation right yet
[23:34:56] <jmkasunich> still don't see how X resources are relevant
[23:35:12] <jmkasunich> what does X resources know about mini?
[23:35:36] <cradek> in your X resources you would put: Mini.tcl*geometry: 800x600+0+0
[23:35:42] <cradek> then when mini starts, you get that geometry.
[23:35:56] <jmkasunich> ok, and what percentage of our users would know that little tidbit
[23:35:59] <cradek> that's how traditional X programs handle that kind of thing.
[23:36:23] <cradek> well, it's a standard X thing, so experienced X users will, everyone else would have to be told.
[23:36:46] <jmkasunich> how do you actually do that? edit a file?
[23:36:51] <cradek> for any other (nonstandard) way, everyone would have to be told
[23:36:52] <cradek> yes
[23:36:56] <cradek> ~/.Xresources
[23:37:09] <jmkasunich> aunt tillie runs away
[23:37:25] <cradek> aunt tillie will be happy with the default.
[23:37:42] <cradek> she doesn't worry about things like this. only developers with big monitors do.
[23:37:42] <jmkasunich> for this particular issue, I'm aunt tillie
[23:38:00] <jmkasunich> I've been using linux with KDE and other window managers for three years now
[23:38:09] <jmkasunich> this is the first I _ever_ heard of X resources
[23:39:09] <cradek> well I don't know what to say
[23:39:26] <cradek> I'm just saying it's the standard way of doing something like this, it's the old way, as old as tk
[23:39:34] <cradek> like tk, it predates things like kde
[23:40:17] <jmkasunich> granted, --height 400 --width 600 doesn't exactly pass the "discoverability" test, but it seems easier than getting into a file that contains system- (or at least user-) wide stuff and trying to understand it
[23:41:08] <cradek> jmkasunich: at least accept an X-style geometry widthxheight+xoffset+yoffset
[23:41:18] <cradek> so you can size and position the window
[23:42:04] <jmkasunich> this resources thing would work for any program? tkemc, halscope, etc?
[23:42:07] <cradek> I'll leave you alone about this, sorry if I seemed like I was being difficult.
[23:42:29] <cradek> it depends on the toolkit, I don't know if gtk uses resources or not.
[23:42:45] <cradek> (gtk is from this decade, tk is not)
[23:42:58] <cradek> but let me try it.
[23:43:02] <jmkasunich> gotta admit, it would be nice if everything could be positioned and sized without adding code to each program
[23:43:14] <cradek> yeah, and colors chosen, and fonts, etc
[23:43:17] <jmkasunich> maybe the answer is better education about X resources
[23:43:19] <cradek> that's the point of the resources
[23:44:34] <jmkasunich> I always have to make scope bigger (and mini smaller)
[23:44:41] <cradek> me too
[23:44:57] <cradek> well I don't use mini, but if I did, I'd have to resize it every time
[23:45:15] <jmkasunich> I don't use it either, except for testing
[23:45:27] <jmkasunich> but scope I use a lot, and the resize sucks
[23:46:04] <jmkasunich> scope saves its config (selected channels, etc) and I was thinking about saving the current window position and size too
[23:46:22] <jmkasunich> but that is probalby reinventing a wheel
[23:47:31] <jepler> According to its documentation, my window manager lets you specify the initial geometry of applications
[23:47:45] <jepler> I've never used it, but it makes sense that this would be the job of the window mananger
[23:48:23] <jmkasunich> everything except mini is probably doing that now - the manager decides the initial size and position, the program accepts it
[23:48:35] <jmkasunich> but mini says "no, I wanna be big"
[23:48:48] <cradek> yeah mini's operation is contrary to typical accepted practice.
[23:49:05] <jmkasunich> but required by a customer
[23:49:13] <jepler> "a customer"? We have customers?
[23:49:14] <cradek> I understand that was the spec, but that's orthogonal to what I just said.
[23:49:43] <cradek> jepler: the author of mini had customers when he wrote it
[23:49:51] <jepler> 21532 jepler 15 0 574m 544m 1956 S 38.3 27.1 165:07.91 qemu
[23:49:55] <jmkasunich> so, either change mini to conform to standard practice, then provide a hook for the customer (preferred) or keep the customer specific behavior as default and provide a way to override that
[23:49:56] <jepler> and it's still not done installing qemu
[23:50:11] <cradek> jmkasunich: well unfortunately gtk doesn't read the Xresources.
[23:50:28] <jmkasunich> so much for "typical accepted practice"
[23:50:34] <cradek> as time goes on, people are forgetting how X works.
[23:51:00] <jmkasunich> I made similar moans when windows replaced dos
[23:51:04] <cradek> **sigh**
[23:51:35] <jmkasunich> things keep getting complicated, and inconsitently complicated to boot
[23:51:39] <cradek> I've noticed now if you try to run firefox 1.5 on two different displays, it suggests you need to reboot your computer.
[23:51:56] <cradek> people are forgetting how unix works too.
[23:52:03] <jmkasunich> ?!? what?? was it written in redmond or something?
[23:52:11] <cradek> don't ask me.
[23:52:43] <cradek> it used to make you pick a "profile" (which was also contrary to standard unix)
[23:53:31] <jmkasunich> I think that part of the problem is that the X client server model (and the mainframe/terminal model it works with) are now an extremely tiny minority
[23:53:48] <cradek> yep
[23:54:02] <jmkasunich> 99.<buncha9's>% of computer users sit in front of a screen that is directly connected to the box they are running
[23:54:22] <jmkasunich> and 0.<buncha-zeros>% of programs are tested any other way
[23:54:25] <jepler> unless mini does something very strange, it should accept the commandline '-geometry' switch. I don't know if DISPLAY can take parameters, but fixing that, then having this "customer" write 'DISPLAY = mini -geometry 9999x9999+0+0' would fix that problem.
[23:55:27] <cradek> what was I doing???
[23:55:40] <cradek> I don't care what mini does.
[23:56:00] <jepler> ./configure --disable-mini --disable-tkemc
[23:56:08] <cradek> troll
[23:56:36] <jmkasunich> DISPLAY= axis -geometry <foo> would be handy too
[23:56:56] <jepler> maybe I'll look at that now
[23:57:14] <jmkasunich> at present, the main script doesn't deal with parameters, but I was working on that
[23:57:16] <jepler> (though I am afraid that axis might not properly pass -geometry on to Tk)
[23:57:55] <jepler> jmkasunich: oh really? The other thing I've wanted was to be able to run ./scripts/emc foo.ini bar.ngc .. which would pass bar.ngc to display, and display would presumably load bar.ngc on startup.
[23:58:27] <cradek> I just tested it and axis already reads Xresources properly.
[23:58:40] <jmkasunich> jepler: that would be tricky
[23:58:41] <cradek> mini would probably work correctly too, if it didn't do that crazy thing.
[23:59:24] <jmkasunich> maybe have a cmd line parameter --do-crazy-thing, set it in the Sherline ini file (and nowhere else)
[23:59:25] <jepler> jmkasunich: but if we did that, then we could let users double-click g-code files in their file browser
[23:59:51] <jmkasunich> jepler: what happens if emc is already running and they double click?
[23:59:52] <cradek> jmkasunich: that sounds reasonable to me.