Our lake froze over this morning.
So winter is good.
are you out ice fishing yet
Saw six otters running and sliding.
Not yet. Give it a day or two.
where some skis
And there I am standing with all four tips on ice at the edge of a big hole.
is the latest emc 2.2.1 live
Yes. I'm running it here.
On a Sherline 4 axis minimill.
i just down loaded it
Alex put together the CD.
well.. I didn't have much to do :D
we will see if i can get it running the 1st time
see you later
How does that path problem with 2.2.1 affect us.
hi ray you in
have I mentioned lately how nice GPL software is?
nope, not lately
the blog software I use was doing something I didn't like
now it doesn't ;-)
hello... anyone around?
heh.. I had a thought last night/this morning
I was thinking of something like (overload,Mxx,file.ngc)
or (overload, Gxy, file.ngc)
then with given enough hooks inside the interpreter (ability to read vars - OK, ability to read/command IO - OK, etc.) one could easily define custom toolchange commands, or whatever
this would probably match the M- or G- code number, read some vars and pass them on to the file (or maybe to an O-word function)
I imagine overloading Txx or M6 or the like
you also need to add the ability for gcode to find information about current gcode state (like "what is the T#" for tool load)
so lots of info should be in .var's
storing it on disk may or may not make sense
or the ability to read arbitrary HAL pins
but yes I think that access would naturally be through numbered parameters
well, I think that's more a implementation issue for later
so far I'm concearned about the sanity of the whole idea
I don't think it makes sense for every gcode file to have to specify where the implementation of toolchange is through an (overload) comment
I agree.. maybe we could also have some machine-specific stuff
similar to RS274NGC_STARTUP_FOO in the ini
instead I imagine having a convention, such as Mnn being mapped to O sub 10000 + nn, and Gnn.n being mapped to O sub 20000 + nnn. there's already support for invoking O subs that come from files
ok, so if O sub 10020 exists it will call that instead of M20 ?
O sub 10020 means either O sub 10020 in the current file, or 10020.ngc with O sub 10020 inside
hmm.. that's also a way to do it
saves some defining..
you have to figure out how to pass the "other words" along to the sub, including whether the word is used on that line at all
e.g., #1 gets the A word if it is present. Bit 1 in #27 is set if the A word is specified (except there aren't bitwise operators in ngc)
I see what you mean
that would also be valuable separately from this
on each line interpreted to have the A,B,C,etc words in #1..#27?
and the presence in #101..#127 (or whatever numbers)
well I chose #1 and so on because those are numbers reserved for subroutine parameters
maybe something that doesn't collide with existing stuff
also a facility like this might be used to implement tool change (which shouldn't be displayed or even executed for preview) or canned cycles (which should)
so you also have to have some way to know which is which
(or rather, the integrator should have a way to specify, and if he gets it wrong your preview will be useless)
hi alex what are you talking about
roltek: allowing integrators to "overload/redefine" G and M codes
if you want for your machine M6 to work completely different..
g and m codes should be standard should't they
but say you have a tool-change defined by T1M6
tool #1 change tool m6
the g-code T1 M6 is standard for change to tool #1 (actually prepare T1, then change current tool to 1)
right.. but what the machine actually does to perform that depends on the machine
(like move to TOOL_CHANGE_POSITION, wait 2 seconds for carusel to stop spinning, etc)
hooked to plc
still.. how about a machine with a rack-toolchanger?
where the machine puts the tools down in different XY locations?
pick and place still macro
right.. that's what we're talking about
when M6 comes, a certain procedure (call it macro if you like) will get called
and the integrator writes the operations in there
like G1 X.. Y.., G4 P.. etc
x,y,z location for each tool