#emc-devel | Logs for 2008-05-22

[02:47:05] <tomp2> jepler: jmkasunich: could you give me an example how to color a collection in vismach?
[02:52:12] <SWPadnos> http://jmkasunich.com/cgi-bin/blosxom/software/simulated-machine-02-04-07.html
[02:52:19] <SWPadnos> no color references there
[02:52:58] <SWPadnos> though there does seem to be a color change :)
[02:55:45] <tomp2> http://imagebin.org/18582
[02:56:15] <SWPadnos> cool
[02:56:31] <tomp2> class Color(Collection):
[02:56:31] <tomp2> def __init__(self, color, parts):
[02:56:31] <tomp2> self.color = color
[02:56:31] <tomp2> Collection.__init__(self, parts)
[02:56:44] <SWPadnos> I saw that, but have no idea how to use it
[02:57:06] <SWPadnos> there's some lighting thing going on as well
[02:57:28] <tomp2> looks possible but i have had no luck.
[02:57:53] <tomp2> well the B axis moves wrong, i'll work on that ( it doesnt stay ctrd )
[02:57:59] <tomp2> thx
[02:58:04] <SWPadnos> it looks like there's a bad tool crash in that image :)
[02:58:20] <tomp2> red line?
[02:58:47] <SWPadnos> no, the two long rectangles thatlook like they could be poking through the rotary :)
[02:59:54] <tomp2> they are 2 parallel slide attached to a BC unit, the larger slide is the drill guide, the smaller slide is the drill spindle.
[03:00:15] <tomp2> the guide is moved close to the work, then the drill axis lides along the guide axis
[03:00:24] <jepler> just looking at the source code, I believe 'color' should be a list of three numbers in the range 0.0 to 1.0. 'parts' is a list of geometry to be colored.
[03:00:26] <SWPadnos> ah, ok
[03:01:56] <jepler> er, I guess 4 items -- the last is "alpha"
[03:02:21] <tomp2> thx i tried mycollection = Color( (1.0,0,0), [mycollection]) and had no joy, is there no lvalue? like its just Color((0.1, 0.4,.8),[mycollection]) ?
[03:02:37] <tomp2> 4...
[03:02:57] <jepler> -link6 = Collection([
[03:02:58] <jepler> +link6 = Color([1.0,0.5,0.5,0.0], [
[03:03:05] <jepler> this changed the color of one thing in pumagui
[03:03:16] <tomp2> thx, thats great
[03:08:37] <tomp2> backslide now purple :) thank you!
[03:08:53] <tomp2> Wslide = Color((0.5,0.1,0.8,0.5),[Wslide])
[05:08:55] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[17:53:50] <SWPadnos> regarding threading, the spindle-position should continually increase before a synchronized move, then have a triangle shape from 0-1 while waiting for synch, then it just goes up again, right?
[17:54:18] <SWPadnos> or does it have the triangle until a synch move, then the monotonic increase?
[17:54:48] <alex_joni> I think it's saw-tooth
[17:56:11] <SWPadnos> ok, saw-tooth during threading?
[17:56:56] <alex_joni> yeah, I think so
[17:57:10] <SWPadnos> damn. I need to find a threading G-code to try :)
[17:57:27] <jepler> no, I am pretty sure that index-enable is only driven TRUE at the start of homing, so that's the only time the spindle position will reset to 0
[17:57:42] <jepler> I think there's a sample program g76.ngc
[18:02:37] <SWPadnos> I'm running threading.ngc - that demonstrates it well. thanks
[18:02:56] <SWPadnos> this guy who had the problem with stepconf can't seem to get threading working correctly
[18:03:19] <jepler> he may be the first trying to use stepconf to set up a lathe. I'm sure there are bugs.
[18:03:21] <SWPadnos> I suggested that he use stepconf, then override the encoder.0.position-scale value in custom.hal
[18:03:42] <SWPadnos> I think he may have the spindle index polarity wrong
[18:04:49] <SWPadnos> the probelm he had before was first no motion at the start of a threading pass, then jerky motion, then it worked kind of correctly with a HAL file I sent him, now he's back to no motion after using stepconf and the custom.hal override
[18:15:45] <CIA-32> EMC: 03alex_joni 07TRUNK * 10emc2/tcl/tkemc.tcl:
[18:15:45] <CIA-32> EMC: Provide means for user runtime customisations for tkemc (patch by Dewey
[18:15:45] <CIA-32> EMC: Garrett).
[18:15:45] <CIA-32> EMC: Implementation:
[18:15:45] <CIA-32> EMC: a) add an ini file parameter named USER_COMMAND_FILE to the [DISPLAY]
[18:15:46] <CIA-32> EMC: section
[18:15:48] <CIA-32> EMC: b) test for existence of this parameter and source the file if it exists
[18:17:51] <alex_joni> jepler: think we can extend AXIS to use the same mechanism (together with the old ~/.axisrc of course)
[18:18:45] <jepler> alex_joni: fine with me
[18:19:20] <alex_joni> ok, I'll do that in a bit
[18:21:43] <rayh> Looking at directory.map in the emc2 cvs and it is so obsolete.
[18:21:57] <cradek> I recommend deleting it
[18:22:20] <rayh> Or replace it with the product of tree -I CVS -d
[18:29:33] <SWPadnos> hmmm. that line set temp [emc_ini ...] - what is temp if the key isn't found?
[18:31:13] <alex_joni> SWPadnos: I don't know.. but I noticed that way it's done a couple times throughout tkemc
[18:31:43] <SWPadnos> ok. it just seemed dangerous to look for the existence of a file if you don't necessarily know that the name is valid
[18:32:09] <alex_joni> why would it?
[18:32:19] <SWPadnos> ?
[18:32:25] <SWPadnos> be dangerous?
[18:32:28] <alex_joni> be dangerous to look for a filename..
[18:32:31] <cradek> [file exists ...]
[18:32:53] <SWPadnos> since the user can change the name in the ini anyway, it probably doesn't matter
[18:32:54] <alex_joni> if [file exists $temp] {
[18:32:55] <alex_joni> source $temp
[18:33:03] <alex_joni> cradek: that's how it's done..
[18:33:14] <SWPadnos> just thinking of spoofing attacks :)
[18:33:17] <alex_joni> * alex_joni kicks CIA-32
[18:33:24] <CIA-32> ow
[18:33:36] <SWPadnos> get temp to be something that's not from the ini file, but still is a file that exists ...
[18:33:47] <SWPadnos> I'll try to shut off that paranoid brain function now :)
[18:33:56] <alex_joni> you'd better :)
[18:34:30] <cradek> that removed all actual information from directory.map and made a file that does nothing and can only become obsolete again
[18:35:31] <cradek> if you don't want to update it (with the informative comments), and I can sure understand not wanting to, I think you should just delete it
[18:37:45] <alex_joni> cradek: I'm mostly interested in the second part of the file
[18:37:51] <alex_joni> which I think still is mostly valid
[18:38:12] <cradek> oh, I only saw (beginning of) the diff, sorry
[18:38:29] <alex_joni> I didn't touch the second part of the file..
[18:38:52] <alex_joni> so it might be outdated too (I updated it last when I did the make install part, and not after jeff redid it..)
[18:38:55] <cradek> forget I said anything
[18:56:21] <CIA-32> EMC: 03alex_joni 07TRUNK * 10emc2/docs/man/man9/.cvsignore: more silencing
[19:00:12] <alex_joni> cradek: better now?
[19:09:35] <skunkworks> you all should be committed ;)
[19:09:40] <CIA-32> EMC: 03alex_joni 07TRUNK * 10emc2/directory.map: generate new tree for directory.map (as per ray's suggestion)
[19:10:59] <CIA-32> EMC: 03alex_joni 07TRUNK * 10emc2/directory.map: add information for some of the folders
[19:12:13] <rayh> I thought we were all committed.
[19:15:41] <skunkworks> heh
[19:20:43] <skunkworks> Did sturt start out using mach?
[19:20:51] <skunkworks> stuart
[19:21:00] <SWPadnos> I don't think so
[19:21:10] <skunkworks> ok
[19:21:27] <SWPadnos> he has a lot of CNCs that have "real" controls, like OpenCNC or the standards (Fanuc, AB, etc)
[19:23:30] <skunkworks> I was trying to remember a conversation you guys where having with him at the cncfest. I thought he was explining how he did something with mach.. maybe that was someone else.
[19:24:36] <SWPadnos> must be
[19:24:50] <SWPadnos> or he was explaining how he did something with a real control :)
[19:25:07] <SWPadnos> he did a lot of explaining of 5-axis offsets and such
[19:26:13] <skunkworks> that could be. Or I am confused who stuart was. (I thought he was the one at the end of the table jonE was setup on. had the touch pannel computers that fenn got one of.
[19:26:38] <SWPadnos> yep, that's probably him
[19:26:49] <skunkworks> Ok - then I am confused all around ;)
[19:27:03] <SWPadnos> he might have looked at Mach, I don't know
[19:27:17] <SWPadnos> I didn't see any of his machines with Mach though
[19:27:41] <skunkworks> There is a thread on cnczone that askes "what can't mach do" but I don't want to post in it with no mach experience. (it is in the mach forum)
[19:28:32] <SWPadnos> there's not a lot that it can't do (on paper). you can define equations for the motor positions, so you can even do some rudimantary nontrivkins
[19:28:44] <SWPadnos> one biggie is closed loop servo control though :)
[19:29:25] <skunkworks> most dispute that saying that geckos are closed loop.
[19:29:38] <skunkworks> mach people ;)
[19:29:55] <SWPadnos> they are, but the control doesn't know the position, so it can't compensate for position errors
[19:29:57] <SWPadnos> of course :)
[19:30:18] <skunkworks> and it will do closed loop with galil hardware and such.
[19:30:30] <skunkworks> where I assume mach is just a fancy gui then,
[19:30:32] <skunkworks> .
[19:30:53] <SWPadnos> right - the Mach part only knows how to output positions at timed intervals
[19:31:06] <jepler> that's all emc does either
[19:31:07] <SWPadnos> if there's a Galil card making the motors move there, great
[19:31:18] <SWPadnos> no, emc knows how to modify its output based on feedback
[19:31:18] <jepler> oh, plus some
[19:31:25] <jepler> range checks to issue following errors
[19:31:57] <jepler> anyway -- I wouldn't bother participating in that thread
[19:32:01] <SWPadnos> EMC also supports a lot more hardware, and with EMC2, multiple types of hardware simultaneously
[19:32:05] <SWPadnos> no, I'd say stay out of it
[19:32:16] <skunkworks> Yes :)
[19:32:18] <jepler> emc supports different hardware, I dunno if it supports more.
[19:32:37] <skunkworks> I was hoping someone that used both could post. but I don't know any. ;)
[19:32:49] <jepler> unless to notice that someone says 'you can't do X with mach' and you care to reply 'here's how you can do it with emc'
[19:32:49] <SWPadnos> I think so - Mach only seems to support parallel port, Galil, and (somewhat) the G-Rex
[19:32:56] <SWPadnos> oh, and the smoothstepper, at some point
[19:33:15] <jepler> or if you want to bring up really basic distinctions that nobody there cares about: you're free to modify emc in any way you like, free to give those modifications to others, and so on
[19:33:21] <jepler> SWPadnos: I hear there's an API for mach though
[19:33:32] <SWPadnos> there is
[19:33:42] <jepler> so just like emc it supports all hardware that fits its model well enough
[19:33:59] <jepler> .. in the future
[19:34:00] <SWPadnos> sure, there are just more drivers already written for EMC2
[19:34:19] <SWPadnos> and the mix-n-match thing - you can't do that with Mach AFAIK
[19:34:30] <SWPadnos> so you can't havea Galil controlling 4 motors, then 2 more on the parport
[19:34:44] <skunkworks> I wanted to add points like - rigid tapping, integrated ladder, real closed loop... but I think it would come off wrong.
[19:34:56] <SWPadnos> it would :)
[19:35:18] <skunkworks> I know :)
[19:35:19] <jepler> seldom does anything good come from fanboy behavior
[19:35:24] <skunkworks> exactly
[19:36:13] <skunkworks> if interested. (Know the enemy - is that harsh?) http://www.cnczone.com/forums/showthread.php?t=54155
[19:37:51] <skunkworks> mach supposidly has 200 block read-ahead. whatever that means.
[19:38:46] <SWPadnos> that means that since it will never modify the motion path in realtime, it does trajectory planning for up to 200 G-code blocks
[19:39:15] <SWPadnos> which in some cases will need to execute fully before e.g. feed override will take effect