#emc-devel | Logs for 2006-03-21

[00:01:02] <alex_joni> indeed :)
[00:01:43] <alex_joni> ok, fixed it :D
[00:04:55] <alex_joni> rayh: can you check if it's ok ?
[00:05:02] <alex_joni> * alex_joni would go to bed then
[00:08:22] <rayh> will do thanks a bunch.
[00:17:30] <alex_joni> cradek: still there?
[00:18:47] <alex_joni> cradek: want me to commit the new SYNCH NML stuff? or better wait till tomorrow?
[00:21:31] <alex_joni> ok, guess I'll wait
[00:21:34] <alex_joni> goodnight all
[00:21:50] <rayh> sleep quick alex
[00:26:45] <rayh> rayh is now known as rayh-away
[01:04:22] <rayh-away> rayh-away is now known as rayh
[01:27:10] <jmkasunich> anybody have use for a 150 disk CD-ROM library?
[01:29:58] <rayh> uh.
[01:30:09] <rayh> Evening John.
[01:30:21] <rayh> Get the machine work done?
[01:33:06] <jmkasunich> not yet
[01:33:22] <jmkasunich> getting ready to get started again
[01:37:11] <SWPadnos> hiya folks
[01:37:27] <jmkasunich> hi swp
[01:37:58] <rayh> Hi Steven.
[01:39:13] <SWPadnos> ray - did you catch the "better" example of var replacement?
[01:44:22] <rayh> I think so. I've got a good memory but it may be my shortest body part.
[01:44:31] <SWPadnos> heh
[01:44:40] <SWPadnos> loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD_NS servo_period_nsec=[EMCMOT]SERVO_PERIOD_NS traj_period_nsec=[EMCMOT]TRAJ_PERIOD_NS key=[EMCMOT]SHMEM_KEY
[01:45:09] <SWPadnos> that's in my univstep.ini right now, with all of the motion stuff commented out of the run script
[01:45:14] <rayh> loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD_NS servo_period_nsec=[EMCMOT]SERVO_PERIOD_NS traj_period_nsec=[EMCMOT]TRAJ_PERIOD_NS key=[EMCMOT]SHMEM_KEY
[01:45:26] <rayh> Is that the one you were thinking of.
[01:45:31] <SWPadnos> apparently ;)
[01:45:59] <SWPadnos> I had to switch the periods back to ns, since math still isn't allowed
[01:46:20] <rayh> That looks like it will be a good expansion of the system.
[01:46:31] <SWPadnos> expansion is a good word for it ;)
[01:46:55] <rayh> That should clean up the halcmd save output?
[01:47:13] <SWPadnos> it does nothing for save, it's only the command interface that I've changed
[01:47:26] <rayh> Okay.
[01:47:27] <SWPadnos> what it does do though is make it so that all modules can be loaded from hal files
[01:47:36] <rayh> Right.
[01:47:45] <rayh> kernel side modules.
[01:47:47] <SWPadnos> and reloaded, which is probably more important
[01:48:00] <SWPadnos> userspace can also be loaded by halcmd, so those should work as well
[01:48:19] <SWPadnos> I was thinking of making io and task load from a hal / ini file
[01:48:21] <rayh> oh. loadus
[01:48:25] <SWPadnos> r
[01:48:29] <SWPadnos> yep
[01:48:48] <rayh> I was joaking
[01:48:54] <SWPadnos> heh
[01:48:57] <rayh> jokeing
[01:49:04] <rayh> ha hell it's late.
[01:49:08] <SWPadnos> loadusupwerereadytorumble
[01:49:22] <rayh> that's a nice command.
[01:49:44] <rayh> Have you got a linux box up?
[01:49:48] <SWPadnos> yep
[01:49:57] <SWPadnos> logged in, even
[01:50:06] <rayh> I just put a couple of changes in tcl stuff.
[01:50:30] <SWPadnos> I can checkout and take a look
[01:50:34] <rayh> The calib screen isn't done but I'd like your comment.
[01:50:48] <rayh> start it from the tkemc calib menu.
[01:50:57] <SWPadnos> ok
[01:51:34] <SWPadnos> it'll take a couple of minutes, I want to compile the other changes
[01:54:04] <rayh> Right. I had to do that also. Forgot that I had to cvs up the whole thing cause there's a new config.
[01:54:23] <SWPadnos> there have been a bunch of changes today as well
[01:54:29] <SWPadnos> like that units thing
[01:54:57] <jmkasunich> and cradek's very preliminary spindle sync stuff
[01:55:05] <SWPadnos> yes - cool stuff
[01:55:32] <rayh> Awesome. A lot of commits since last I updated.'
[01:58:28] <SWPadnos> weird - I get two prints of "Version: 1.3 / Machine: EMC-HAL" with the m5i20 config, before the config chooser pops up
[01:58:45] <SWPadnos> so I guess it's not really with the m5i20 config ;)
[02:00:01] <SWPadnos> strangely, I get a "permission denied" error trying to run emccalib.tcl
[02:00:07] <SWPadnos> I'm even logged in as root
[02:00:40] <rayh> Right I saw that.\
[02:00:52] <rayh> probably need to make it executable.
[02:01:08] <rayh> I thought it was that in the directory here.
[02:01:27] <SWPadnos> how about emcdebug?
[02:02:29] <rayh> nope I guess I screwed it up
[02:02:36] <rayh> permisions are set wrong.
[02:02:41] <SWPadnos> ok - got it running. looks good to me, though I don't have any values
[02:03:16] <rayh> No I was confused whether to get the values from halcmd or the ini.
[02:03:59] <rayh> They sould ideally be the same. But if it can be screwed up I can do it.
[02:04:11] <SWPadnos> I think the values need to come from halcmd no matter what, so they're "current"
[02:04:38] <SWPadnos> they should only be written back to the ini/hal files if the user hits a save button
[02:05:25] <rayh> Okay. I was thinking that I'd write to ini first then re-issue the setp command that reads them in the first place.
[02:05:33] <rayh> But I can do it the other way round.
[02:05:38] <jmkasunich> I would use the ini file values
[02:05:52] <jmkasunich> or maybe not...
[02:05:54] <SWPadnos> if you're tuning a system, I think you should be looking at the current settings
[02:06:00] <rayh> Maybe I should set up a PLC type voting routine.
[02:06:11] <SWPadnos> tweak, move , check ferror, repeat
[02:06:12] <rayh> read em both.
[02:06:17] <jmkasunich> if you invoked the program, changed things, then exited without saving, they wouldn't match
[02:06:41] <SWPadnos> but if you screw something up, then you want to start from where you were before
[02:06:44] <rayh> You'd just get the old values from the ini on the next startup.
[02:06:53] <jmkasunich> right (to both of you)
[02:06:57] <SWPadnos> it's the normal paradigm with files - if you forget to save, you get to start over
[02:07:13] <rayh> been there and don't like it much.
[02:07:20] <jmkasunich> but if you invoke the tuner without restarting emc, you want to display the values you are running, even if they differ from the ones in the file
[02:07:56] <jmkasunich> actually, a "reload hal values from ini" button might be handy
[02:07:58] <SWPadnos> right, which "manual save and always use current values" accomplishes
[02:08:04] <SWPadnos> yes to that as well
[02:08:04] <rayh> oh tune but not save, kill tuner, restart tuner and get "real" values
[02:08:20] <SWPadnos> yes, because they're still in HAL, unless you've exited from emc
[02:08:22] <jmkasunich> rayh: yes
[02:08:37] <jmkasunich> if you exit and then restart emc, you get the ini file values
[02:08:49] <rayh> So read them from halcmd rather than from the ini.
[02:08:53] <rayh> Okay will do.
[02:08:57] <SWPadnos> that's my vote
[02:09:03] <jmkasunich> yep
[02:09:20] <SWPadnos> the complexity is in saving the values, not the actual tuning ;)
[02:10:11] <rayh> Right. The ini stuff is not so bad. I've got a listing of the section line numbers and the ini in an invisible text widget.
[02:10:45] <SWPadnos> cool
[02:11:08] <rayh> So I ought to be able to destroy a lot of ini files before I get it right.
[02:11:23] <SWPadnos> that's what cvs is for ;)
[02:11:37] <SWPadnos> or in your case, tar
[02:11:43] <jepler> I don't understand -- why use an invisible text widget to keep track of line numbers??
[02:11:57] <jepler> er, one "?" would have sufficed...
[02:11:57] <SWPadnos> it keeps the lines as well, I imagine
[02:12:33] <SWPadnos> two things on that line - a list of numbers, and "the ini in an invisible text widget" ...
[02:13:34] <rayh> Right.]
[02:14:02] <rayh> search between traj and axis_0 for xxx.
[02:15:06] <rayh> I also made tkemc source the emccalib each time so you can edit and run without shutting down emc.
[02:33:38] <SWPadnos> rayh, not sure if you've hit it, but there's a typo in teh save button code
[02:33:43] <SWPadnos> heh - oops
[02:33:48] <SWPadnos> *the* save button code ;)
[02:42:20] <rayh> didn't catch it. but I did the same for several of em on the first try.
[02:42:24] <rayh> Thanks
[02:42:31] <SWPadnos> sure
[02:42:32] <cradek> whee
[02:42:50] <cradek> we have lathe threading
[02:43:08] <SWPadnos> that's Ub3r kewl!
[02:43:12] <SWPadnos> err, excelelnt
[02:43:16] <SWPadnos> no, excellent
[02:43:21] <SWPadnos> yeah, that's it :)
[02:45:24] <skunkworks> again you guys are great!
[02:48:13] <rayh> HO WAH!
[02:48:35] <SWPadnos> I think you scared him ;)
[02:48:44] <cradek> hahaha
[02:48:45] <rayh> musta eh
[02:49:19] <SWPadnos> now this is weird. I can't see anywhere that the actual sunch code was added. was it already there, just waiting to be activated? :~
[02:49:35] <SWPadnos> ~:
[02:49:39] <SWPadnos> hmm
[02:49:41] <cradek> SWPadnos: ??
[02:49:56] <cradek> some of G33 was in the interp, yes
[02:50:03] <SWPadnos> looking at the commit messages, I see tons of stuff to get through NML
[02:50:10] <cradek> I just had to pipe the messages through the 37 layers of crap to get it to my TP code
[02:50:15] <SWPadnos> various messages going hither and non
[02:50:45] <SWPadnos> I just don't see the actual tp code
[02:50:52] <cradek> I committed that earlier today
[02:50:57] <SWPadnos> ok, no wonder ;)
[02:51:17] <SWPadnos> at least I'm not totally dense in that regard
[02:51:17] <jmkasunich> hoo-ray!
[02:51:32] <cradek> :-)
[02:51:44] <SWPadnos> well, cancel fest, threading is done ;)
[02:51:54] <cradek> I can get a lot done in a day when snowed in...
[02:52:00] <SWPadnos> snow?
[02:52:08] <jmkasunich> really, this is so.... anticlimactic
[02:52:08] <SWPadnos> I think we had some last year
[02:52:20] <cradek> jmkasunich: for you maybe!
[02:52:33] <SWPadnos> maybe we can add offsets at fest
[02:52:44] <cradek> yeah lots of work to be done with canned cycles, etc
[02:52:46] <SWPadnos> if there's anything left for fest ;)
[02:52:55] <cradek> but this is the basis
[02:52:57] <jmkasunich> you gotta admit, less than 24 hours to do something that we've been bemoaning the absence of for at least three years does look pretty bad
[02:53:05] <SWPadnos> that's really excellent
[02:53:07] <cradek> bad for who?
[02:53:16] <SWPadnos> Paul - it's his fault
[02:53:17] <cradek> :-P
[02:53:17] <jmkasunich> those of us who didn't do it
[02:53:18] <rayh> Question Did we have a way to get a single variable value from halcmd.
[02:53:35] <jmkasunich> halcmd show param <name>
[02:53:52] <SWPadnos> or halcmd show pin <name>
[02:54:16] <rayh> I thought that got me the whole "name and all"
[02:54:16] <jmkasunich> really crakek, I am most impressed
[02:54:27] <cradek> thank you
[02:54:31] <jmkasunich> hmm, how about getp, or gets
[02:54:33] <SWPadnos> ah - halcmd -s show param <name>
[02:54:40] <cradek> now all I need is an effing lathe!
[02:54:41] <SWPadnos> right, get
[02:55:07] <cradek> really I am quite anxious to try it on real hardware
[02:55:18] <jmkasunich> got that encoder on the way?
[02:55:20] <cradek> does anyone have a setup he can try it on?
[02:55:32] <cradek> jmkasunich: no, I didn't order it today, it got too late too fast
[02:55:44] <jmkasunich> thats ok, coding is good
[02:56:11] <jmkasunich> I wonder where the encoder equipped sherline lathe is right now?
[02:56:15] <jmkasunich> NIST?
[02:56:29] <cradek> matt shaver says he has it, but I don't knwo where he is
[02:56:30] <jmkasunich> but I have a feeling that ppr is too high
[02:56:39] <jmkasunich> he's in central maryland
[02:56:48] <SWPadnos> did he say he had it, or that he'd ask Fred about it?
[02:56:56] <cradek> I'm pretty sure he has it
[02:56:57] <SWPadnos> I thought he had the big Hardinge
[02:57:10] <jmkasunich> I know he has the big hardinge, he might have the sherline too
[02:57:16] <SWPadnos> could be
[02:57:28] <rayh> I figured I'd make up one for fest also.
[02:57:31] <SWPadnos> I rarely seem to remember details (correctly) these days
[02:57:40] <rayh> What count do we need for that?
[02:57:43] <SWPadnos> I'll help carry a Hardinge ;)
[02:57:58] <jmkasunich> rayh: about 100-150ppr (400-600 cpr)
[02:57:58] <rayh> You're coming by the place after, aren't you.
[02:58:16] <SWPadnos> I could, but I'd probably want to arrange some real transportation for that :)
[02:58:39] <SWPadnos> I don't think my 10 year old minivan can handle it
[02:58:56] <rayh> I might be able to get a car hauler for a road trip.
[02:59:32] <SWPadnos> I was thinking about just holding onto a truck for some extra time, but it probably gets expensive prett yfast
[02:59:49] <rayh> We don't need a count that works out to even?
[02:59:57] <jmkasunich> ?
[03:00:12] <SWPadnos> not in degrees
[03:00:15] <rayh> even multiples of 360
[03:00:16] <jmkasunich> has to be an integer number of counts per rev, thats all ;-)
[03:00:19] <jmkasunich> nope
[03:00:23] <rayh> k
[03:00:39] <cradek> rayh: you use hal to set up a float pin where 1.0 corresponds to one spindle rotation
[03:00:58] <rayh> okay
[03:01:53] <SWPadnos> there's an index bit that gets used for synch, right?
[03:02:14] <jmkasunich> yep
[03:02:20] <rayh> I'll make certain that there is an index channel.
[03:02:31] <jmkasunich> currently cradek is using the HAL software encoder counter
[03:02:40] <SWPadnos> ok, so some kind of comparator block can be used instead, for multi-start stuff
[03:02:47] <SWPadnos> (in effect)
[03:03:01] <jmkasunich> hopefully the hardware based encoder counters can also be used, might need some driver tweaks to handle the index pulses
[03:03:24] <jmkasunich> multi-start should probably be handled by an offset
[03:03:37] <SWPadnos> it should be, since it's G-code
[03:03:45] <jmkasunich> whether that is in degrees and applied to the rotation, or in inches and applied to Z
[03:03:59] <jmkasunich> Z would be more straightforward
[03:04:13] <rayh> We just need a parport breakout for that?
[03:04:22] <SWPadnos> Z can always work, but requires extra length for the other starts
[03:04:28] <jmkasunich> rayh: yes, three free inputs
[03:05:51] <rayh> np
[03:07:15] <rayh> How about a pmdx-130 with two 150 drives.
[03:08:06] <rayh> just in case steves_logging is listening
[03:09:40] <jmkasunich> offset in degrees would require another parameter for G33 probably
[03:09:48] <SWPadnos> yes
[03:11:04] <jmkasunich> implementation not to bad: while synced, do something like: if ( spindle_angle < offset ) { internal_spindle_angle = 0; } else { internal_spindle_angle = spindle_angle - offset }
[03:11:33] <jmkasunich> that would make internal_spindle_angle pause before it starts ramping
[03:11:40] <SWPadnos> just do { internal_spindle_angle = actual_angle - offset; if <0, add 360 }
[03:11:56] <jmkasunich> you want a clean start at zero tho
[03:12:00] <cradek> jmkasunich: that's easy except trying to get it from interp (and through canon)
[03:12:18] <jmkasunich> you mean the extra parameter? yeah, those suck
[03:12:29] <jmkasunich> I was only talking about the RT part of the implementation
[03:12:31] <SWPadnos> the internal angle gives a clean start at 0
[03:12:31] <cradek> we really need a spec now
[03:13:22] <jmkasunich> I'm curious, how does your code hold up if the spindle is spinning backwards?
[03:13:33] <SWPadnos> picky picky picky ;)
[03:13:34] <cradek> it'll break
[03:13:48] <cradek> SMOP
[03:13:59] <cradek> http://timeguy.com/cradek-files/emc/threading-ngc.png
[03:14:10] <cradek> here is the "max" sample config running the threading.ngc sample program
[03:15:36] <cradek> green is my wavy (on purpose) spindle signal, lower red is the axis position tracking it
[03:15:47] <cradek> upper red is the axis velocity
[03:16:17] <jmkasunich> G33 is non-modal I assume
[03:16:33] <cradek> umm
[03:16:42] <cradek> I'm not sure about all the details
[03:16:48] <cradek> it's handled a lot like g0/g1
[03:16:50] <jmkasunich> IOW, only a block containing G33 gets synced
[03:17:00] <jmkasunich> duh
[03:17:02] <cradek> yes currently that's the case
[03:17:15] <jmkasunich> its mutually exclusive with g0, g1, g2, g3
[03:17:19] <cradek> g33 does sync/straight feed/unsync
[03:17:40] <rayh> SWPadnos, What did we do to turn the scientific notation into decimal?
[03:17:47] <jmkasunich> we might want to do the unsync at the beginning of the next move
[03:18:00] <SWPadnos> I changed the ini vars to BASE_PERIOD_NS, like they used to be ;)
[03:18:05] <jmkasunich> a real threading pass might look like:
[03:18:07] <cradek> yeah multiple synced moves need some thought
[03:18:09] <jmkasunich> g0x0
[03:18:10] <SWPadnos> (and servo and traj)
[03:18:19] <jmkasunich> g33x1k0.050
[03:18:35] <jmkasunich> g33x1.1y0.1k0.0707
[03:18:52] <jmkasunich> that gives you a 0.1" long 45 degree pullout move at the end
[03:19:03] <cradek> yeah
[03:19:12] <cradek> I think currently that will pause waiting for another index pulse
[03:19:56] <SWPadnos> maybe look at the next move, and if it's also synced, don't do the end / start code in between
[03:20:21] <jmkasunich> hopefully it will also blend between the two moves
[03:20:31] <SWPadnos> the interp should probably leave out the intervening end/start spindle sync messages
[03:21:00] <jmkasunich> that would definitely be done at the interp level - the canon messages are "sync on" and "sync off"
[03:21:07] <cradek> right
[03:21:19] <jmkasunich> so the interp needs to be the one that says "this series of moves is all done synced"
[03:21:46] <SWPadnos> also consider variable pitch
[03:21:59] <cradek> also tp isn't going to handle that quite yet, I think
[03:22:42] <SWPadnos> so the interp should hold the stop_sync command until the series ends, but the tp still needs to be able to change pitch continuously, or as a result of changing moves
[03:22:50] <cradek> I wanted to get the simplest possible thing checked in so we'd finally have a start on this
[03:23:01] <jmkasunich> variable pitch is a whole nother ball of worms
[03:23:10] <SWPadnos> I think it's great, in case it sounds like I'm complaining ;)
[03:23:12] <jmkasunich> (and a couple new g-codes, G34 and 35
[03:23:27] <jmkasunich> if variable pitch never happens, I won't shed any tears
[03:24:23] <jmkasunich> consecutive synced moves will be important tho
[03:24:48] <jmkasunich> I wish I wasn't so buried, I'd love to dive in (although by the time I get up to speed cradek will probably have it done)
[03:24:51] <SWPadnos> yeah - I've never understood what good it would be to have a continuously varied pitch screw
[03:25:02] <rayh> BTW I have a set of the macro code for the multi-pass macro on the wiki page.
[03:25:17] <jmkasunich> the only application I'm aware of is injection molding machine feedscrews
[03:25:26] <jmkasunich> they don't actually mesh with anything, more like an auger
[03:25:27] <SWPadnos> hmm - OK.
[03:25:28] <rayh> They are used in air compressors and for fluid moving
[03:25:33] <cradek> jmkasunich: I'm about ready for a break - I'll let someone else tackle interp to the greatest possible extent
[03:25:57] <SWPadnos> got it. I'm sitting here thinking "how can you thread that into a variable pitch hole?" ;)
[03:26:13] <SWPadnos> I wasn't thinking of impellers
[03:26:14] <jmkasunich> when I saw the commits this morning, I thought "cradek must have a very understanding boss"
[03:26:21] <cradek> afaic there's no rush - if nothing else, we have a great starting point for fest
[03:26:34] <cradek> heh, quite the snowstorm here, glad I came home when I did
[03:30:49] <rayh> fantastic progress guys. thanks
[03:33:45] <jepler> cradek: yeah, I'm not sure whether I'll go to work tomorrow either
[03:34:03] <SWPadnos> I wonder if that's headed my way
[05:29:58] <SWPadnos> SWPadnos is now known as SWP_Away
[05:33:05] <SWPadnos> SWPadnos is now known as SWP_Away
[08:05:16] <alex_jon1> alex_jon1 is now known as alex_joni
[12:54:14] <rayh> mshaver, hi Matt. Dunno when you'll get round to this but darn it's good to see you here.
[13:15:31] <alex_joni> morning ray
[13:15:42] <alex_joni> matt was around the other day :)
[13:15:43] <rayh> Hi alex
[13:16:05] <rayh> He'll read it
[13:16:13] <rayh> At least I expect he will.
[13:16:18] <rayh> How you doing today.
[13:16:23] <alex_joni> so far so good
[13:16:35] <alex_joni> a bit tired, stayed up late again :)
[13:16:45] <alex_joni> btw, did you try the latest HEAD regarding G20/G21 ?
[13:16:51] <alex_joni> I hope that works ok now
[13:16:52] <rayh> Yes I saw that.
[13:17:03] <rayh> Now I've not had a chance.
[13:17:19] <alex_joni> rayh: no sweat, just let me know if anything is still fishy
[13:17:47] <rayh> Oh wait. g20-21 Yes I did and it works great. I was thinking of g33. So many changes!
[13:17:56] <alex_joni> ;-)
[13:18:08] <alex_joni> rayh: glad it does.. I was kinda responsible for the break :)
[13:18:18] <rayh> To early. Only 3 cups of coffee -- must need more.
[13:18:29] <rayh> Hey progress does that.
[13:18:47] <alex_joni> indeed, it was during fixing another bug (which was in emc forever)
[13:25:45] <rayh> Hey. emc2/tcl/bin/emccalib.tcl seems not to be executable in cvs. Speaking of breaking things!
[13:26:23] <rayh> Or do I just have to set it executable here and commit?
[13:30:47] <alex_joni> I think so
[13:30:57] <alex_joni> but there's some cvs foo to do that too
[13:30:59] <alex_joni> * alex_joni looks
[13:33:07] <alex_joni> rayh: bad news:
[13:33:08] <alex_joni> When you import or add an executable file, CVS preserves the executable bits, so if the permissions were correct from the start, you have nothing to worry about. However, if you accidentally add the file before making it executable, you must go into the repository and manually set the RCS file to be executable.
[13:34:44] <rayh> I guess we will have to go into the repository and set it.
[13:34:57] <rayh> I can try that if you send me a link to the info on how to.
[13:35:28] <alex_joni> the problem is that you cannot do that, sourceforge doesn't provide tools for that
[13:35:45] <alex_joni> we need to open a request tracker for that, and let SF staff take care of it :(
[13:36:49] <rayh> Okay. Can you do that?
[13:37:44] <alex_joni> I can
[13:38:11] <alex_joni> finally anon CVS is working, so I'm making a tarball for the latest TESTING first
[13:39:02] <rayh> Good. I'm hoping that we get a new testing deb soon. Several guys I know are anxious to get at breaking it.
[13:40:36] <alex_joni> the new deb will have some stunning improvements :D
[13:41:00] <rayh> Yes it will. Along with a lot of bug fixes.
[13:41:26] <alex_joni> http://solaris.cs.utt.ro/~emc/emc2-testing-2006-03-12.tar.gz
[13:41:30] <alex_joni> latest TESTING tgz
[13:43:06] <jepler> I think cradek's debs track TESTING, not HEAD.. so it'll be a wait before threading is in a deb.
[13:45:32] <alex_joni> jepler: yeah sure, that's what I meant
[13:45:41] <alex_joni> once testing will be moved, and a new deb is out
[13:45:50] <alex_joni> it will probably b a few days till then
[13:46:07] <rayh> Sure.
[13:46:40] <rayh> I think we are getting quite a few of the bugs worked out and essential stuff added.
[13:46:57] <rayh> I like the fact that we can now read parport location from the ini.
[13:48:17] <alex_joni> rayh: I'll try removing emccalib.tcl and adding it again.. ok?
[13:48:39] <rayh> Okay. That might work.
[13:48:57] <rayh> Sorry to cause extra work for you.
[13:49:13] <alex_joni> np, I'm glad if I can help :)
[13:49:47] <rayh> Ubuntu seems to be setup to remove executable status when I move files around.
[13:51:16] <alex_joni> darn, that didn't work :(
[13:51:25] <alex_joni> still not executable
[13:51:26] <jepler> rayh: Using the gui tools?
[13:51:45] <alex_joni> jepler: any idea how to make a file executable once it's in CVS ?
[13:51:58] <jepler> alex_joni: No; I looked around for a FAQ for a minute, but didn't find an answer.
[13:52:11] <jepler> alex_joni: I thought maybe it was a part of the 'cvs admin' command
[13:52:12] <rayh> jepler, Yes.
[13:52:46] <alex_joni> jepler: I found only info that says I need to chmod +x inside the RCS repository
[13:53:02] <jepler> alex_joni: I believe that would work, but I don't know how to do that on sourceforge
[13:53:24] <jepler> bbl
[14:10:04] <alex_joni> rayh: 1455396 :-)
[14:10:14] <alex_joni> http://sourceforge.net/tracker/index.php?func=detail&aid=1455396&group_id=1&atid=200001
[14:11:44] <rayh> looking
[14:11:53] <jepler> in just a few weeks I'm sure the sourceforge staff will correct the problem
[14:13:27] <rayh> oh yuck. Maybe we add a new file called calib.tcl with the proper permissions and change the menu in tkemc.
[14:14:02] <alex_joni> jepler: usually it's about 1-2 days response time
[14:14:13] <jepler> just judging from how long anon. cvs was broken
[14:14:29] <alex_joni> jepler: yeah, but this is a .05 minute problem
[14:15:03] <alex_joni> if they only would supply ssh access to CVS repos
[14:15:10] <alex_joni> their life would be a lot easier
[14:15:50] <alex_joni> most of the feature requests are CVS cleanup & the like
[14:15:52] <jepler> I've heard that there is a way for the crafty sf cvs user to do things like this himself
[14:16:01] <jepler> it involves the scripts which run when a commit is made
[14:16:06] <jepler> those have access to the CVS repos
[14:16:11] <alex_joni> oh yuck
[14:16:50] <alex_joni> that's borked imho, to need to use those tricks
[14:16:58] <jepler> agree, agree
[14:19:17] <alex_joni> jepler: http://sourceforge.net/tracker/index.php?func=detail&aid=1452302&group_id=1&atid=200001
[14:19:22] <alex_joni> WOW, that's worrysome
[14:29:17] <Roguish> rayh, or anyone? with my ubuntu installation of emc2testing, how the heck do i run halscope. when i give the command in a terminal window, i get a dialog that says i must preload scope_rt.o . i have done a total search for that file and cannot find it. what have i messed up?
[14:29:36] <jepler> $ dpkg -L emc2 | grep scope_rt
[14:29:36] <jepler> /usr/realtime-2.6.12-magma/modules/emc2/scope_rt.ko
[14:30:02] <jepler> You load it with 'halcmd loadrt scope_rt', or by putting 'loadrt scope_rt' in one of the hal files that your configuration uses.
[14:30:18] <alex_joni> Roguish: what configuration are you using?
[14:30:27] <rayh> Roguish, is this an install from deb?
[14:30:30] <alex_joni> sim & stepper have the scope_rt already loaded
[14:30:35] <Roguish> the m5i20
[14:30:40] <rayh> Ah.
[14:30:52] <jepler> Roguish: Does the message actually say "scope_rt.o"? If so, it should be fixed, because most modern systems use .ko instead of .o for realtime modules.
[14:31:48] <alex_joni> Roguish: add "loadrt scope_rt" to either m5i20/m5i20_io.hal or m5i20/m5i20_motion.hal
[14:32:10] <rayh> You could even add that line in the ini file.
[14:32:16] <Roguish> jepler, yes, it says .o not .ko, just checked.
[14:32:26] <alex_joni> the default place for those files is in /etc/emc2/sample-configs/m5i20/
[14:32:35] <jepler> Roguish: OK .. I'll commit a change so it just says "scope_rt", to help avoid further confusion.
[14:32:52] <alex_joni> but if you made a copy of that dir to your ~ dir, then you need to change that one
[14:33:29] <rayh> The error message comes out of halscope and it does say .o
[14:34:27] <rayh> I guess that should be a more general message because there are folk running with installed versions of bdi live.
[14:34:50] <jepler> heck, why doesn't it just call 'halcmd loadrt scope_rt' itself?
[14:35:13] <alex_joni> jepler: good question :)
[14:37:41] <rayh> Roguish, thanks for finding another issue. Are you able to get it going now?
[14:37:54] <Roguish> ok, added the loadrt to the io.hal. seems to work, now i gotta figure out how to run halscope.
[14:39:01] <Roguish> no problem. i have always broken just about every code i have ever used. don't know if that's or bad. but it sure is frustrating sometimes. thanks for all the hard work you guys are doing.
[14:39:43] <rayh> Need to write a wiki on servo tuning with halscope.
[14:41:06] <Roguish> might i recommend that the Hal_introduction document get added to the wiki. it does need a bit of updating.
[14:43:22] <jepler> Roguish: Unfortunately, that would be a big undertaking, and a lot of the formatting would be lost in the process.
[14:46:19] <alex_joni> jepler: I think there is an env(HALCMD)
[14:46:28] <alex_joni> at least some tcl scripts use it
[14:47:08] <alex_joni> it gets exported by the run-script
[14:48:29] <alex_joni> rayh: how do you like: http://www.cncgear.com/joomla/index.php?option=com_content&task=view&id=12&Itemid=10&lang=en ??
[14:49:25] <rayh> looking
[14:49:26] <jepler> alex_joni: PATH=$EMC2_BIN_DIR:$PATH
[14:49:40] <jepler> If running from scripts/emc, the PATH will have the directory with halcmd first
[14:49:46] <jepler> if not, $HALCMD won't be set either
[14:51:10] <Roguish> how about where you have 'hal configuration' in the emc gui, you add halscope and what ever else diagnostic tools there are?
[14:53:32] <rayh> alex_joni, Only thing I'd do is sort board members by alphabet. Elson, Henry, Joni, Kasunich, Radek. Makes the list name neutral for those that might care.
[14:53:48] <alex_joni> jepler: ok, just pointd $HALCMD out, I think I used that on some tcl scripts?
[14:54:10] <rayh> The system makes very good looking pages.
[14:54:13] <alex_joni> rayh: no problem, this order was based on election results, and I have no problem with it.. but I can easily change.. and so can you
[14:54:24] <alex_joni> rayh: the CSS & layout makes all the difference
[14:54:28] <rayh> Right.
[14:54:41] <rayh> I do like the editing tools.
[14:54:52] <rayh> being a point-and-click kinda guy.
[14:56:26] <alex_joni> yeah, did you try the admin or the login stuff?
[14:57:33] <alex_joni> you can either log-in to the admin interface
[14:57:47] <alex_joni> or you can go to Documentation (then you'll see a log-in interface on the left)
[14:58:02] <alex_joni> once logged in, you'll have the possibility to edit any page you see directly
[15:11:07] <rayh> Right. I should set up my own user account.
[15:11:19] <rayh> Will do that after a meeting this morning.
[15:11:24] <alex_joni> rayh: no problem ;)
[15:11:34] <alex_joni> I cleaned up 'Download' a bit
[15:27:13] <rayh> k
[15:29:08] <rayh> Looks good.
[15:29:11] <rayh> bbl
[16:25:28] <SWP_Away> SWP_Away is now known as SWPadnos
[19:08:12] <jepler> if using rtapi_shmem_getptr(), how can I know the size of the shared memory area?
[19:08:19] <jepler> do I have to know it "by agreement"?
[19:15:06] <alex_joni> how do you mean?
[19:17:20] <cradek> alex_joni: do you know how spindle speed control works? What I want to know is can I make an emulated spindle encoder in hal whose speed is controlled by Sxxx?
[19:23:03] <alex_joni> yes
[19:23:14] <alex_joni> there's spindle speed that goes out of iocontrol
[19:23:25] <alex_joni> iocontrol.0.spindle-speed or something like that
[19:23:32] <alex_joni> that's settable by Sxxx
[19:23:49] <cradek> wow, that's easy then
[19:23:53] <cradek> let me look
[19:24:26] <alex_joni> spindle-speed-out or somthing like that.. I described the pin names at the beginning of iocontrol.cc
[19:25:31] <cradek> iocontrol.0.spindle-speed-out
[19:25:41] <cradek> what does spindle-speed-in do?
[19:25:46] <alex_joni> nothing :)
[19:26:31] <alex_joni> I know that's not ideal.. but I had no idea what to do with it
[19:27:00] <cradek> heh
[19:27:00] <cradek> ok
[19:27:04] <cradek> I won't worry about it then
[19:27:08] <alex_joni> yup :)
[19:27:24] <cradek> putting it in stat so the guis can show it would be great
[19:27:41] <alex_joni> there's a problem with that ;)
[19:27:55] <alex_joni> stat only gets updated when a command is received (as a reply)
[19:28:05] <alex_joni> so you won't see it changing on the GUI
[19:28:10] <cradek> oh, too bad
[19:28:15] <alex_joni> unless..
[19:28:34] <alex_joni> unless we set up a periodic data exchange between task & io
[19:32:54] <cradek> is Sxxx usually specified in rps or rpm?
[19:33:30] <alex_joni> rpm afaik
[19:33:39] <cradek> arg
[19:33:55] <alex_joni> RPM is pretty standard, rps isn't
[19:33:57] <cradek> how do I divide by 60 in hal?
[19:36:38] <alex_joni> scale?
[19:36:47] <alex_joni> not really :(
[19:37:07] <cradek> maybe I am taking the wrong approach then
[19:37:22] <alex_joni> does your spindle hav rps input?
[19:39:23] <cradek> yes
[19:39:28] <cradek> maybe I should change that
[19:39:36] <cradek> (it's the new sim-encoder)
[19:40:35] <alex_joni> make it rpm .. that's common
[20:12:08] <alex_joni> cradek: does it work?
[20:34:14] <cradek> yes
[20:38:00] <alex_joni> nice ;-)
[23:38:06] <SWPadnos> SWPadnos is now known as SWP_Away