alex_joni, how do you get the loggers running? I haven't managed is sincethe day I created your login
I simply run them from my login
cd to ~emcboard/logger/
and run the logger.sh script
I didn't manage to do that as emcboard or as su emcboard rfom my login :/
hmm. I wonder if ownsership of the logs somehow changed or something stupid like that
well, the .pid files are certainly owned by you, and can't be written by anyone else
-rw-r--r-- 1 juve pg167418 6 2007-08-17 01:26 logger-emc-devel.pid
-rw-r--r-- 1 cncman pg167418 6 2006-04-16 14:15 logger-emc-mazak.pid
-rw-r--r-- 1 juve pg167418 5 2007-08-17 01:26 logger-emc.pid
can you just make the script rm them?
also, put a set -x at the top of the script and see where it fails
ufortunately, the script just runs the two loggers - it's two lines long
the logger itself is a perl script
I'm assuming the set -x doesn't carry into the perl part ...
so the mystery is in the perl
you could still have the sh check for the pid files being stale and rm them
it should do that already. I think they're there so the perl script can clean up after an unexpected exit
they may not be the problem at all (but I'm still suspicious)
Just this once .. here's the log: http://www.linuxcnc.org/irc/irc.freenode.net:6667/emcdevel/2007-08-17.txt
the way the boss prompts for mdi is interesting - it only requires a numeric keypad. you press MDI, and it prompts with G. Then you enter the gcode number, and it prompts for the appropriate words (x,y,z,etc). If you don't want one of them in the MDI command, you just press enter for that one. At the end you can review them (cycle through) and then press Execute.
I think you can enter and store a program that way - but I haven't figured out how (and who would want to?)
think of all the typing you save
by not typinmg in the letters :)
it has a couple other interesting features
a "quill up" button that does like G0 G53 Z0
a few options for test run, like run with max feed rate for everything, and run without moving Z
our fanuc has a numeric keypad - you have to press a function key to get the letter - then you type the numbers.
the max feed run is neat.
it would be interesting to be able to mask axes
I think those are the only things that have made me think "hmm, that's cool" - the rest of it is pretty awful
for instance the only incremental jog you have is .0001"
the only thing the jog wheel can do is .002"/click
the wiki seems to be working - I wonder if it would make sense to add some of these observations to either the wish list page or some "expensive controls do this" page
when you switch to metric mode, the display changes to mm, but the jog wheel still moves .002" at a time
somebody mentioned that axis seems to do the same thing ...
but I don't know what version that was - it could be one that has the settings in the ini (with units)
in AXIS you can have metric or inch (or both) jog increments no matter how it's currently displaying
right - I don't know if that was the case
I suspect it was
I don't follow
well, I don't remember if this was on IRC or in a user email, but he mentioned the axis "still jogged in inches even though the machine is metric"
I don't know whether he has a version of AXIS with the jog increments set in the ini, or if it was a bug, or if it was user error
when axis displays ".01" in the jog increment box, it jogs .01 machine native units, regardless of whether G20/G21 is in effect or whether mm/in is currently used for the DRO
so no worries until it's brought up again :)
if it displays ".01 mm" then it jogs .01mm, regardless of ...
if it displays ".01 in" then it jogs .01in, regardless of ...
(the latter two features may be new in 2.2, I'm not entirely sure)
that first case may be what he saw, and I can see that it could be surprising
^ correct behavior IMO
but blindly switching the units of the increment is wrong - .01 .001 .0001 are totally inappropriate in mm
I don't know if the behavior when no units is displayed is different from tkemc, but at least in 2.2 it's possible to explicitly get exactly what you want
I'm sure it was case 1, since I don't think the person had compiled their own
yeah, I like how it is now
I can definitely see that using a machine in mm (regardless of the native units), I'd expect the jog to also be in mm
though it also makes sense that G90/91 shouldn't change the jog scaling ...
you mean g20/g21?
err - yeah :)
it's a simple off-by-70 error
happens all the time
plumbers digging up the DSL lines?
seems to be having internet problems..
bizarre -- this e-mail I just got was cc'd to: Cc: emc group <firstname.lastname@example.org>
is there any such thing?
there was long ago
er, I shouldn't say Cc'd
From: "email@example.com" <firstname.lastname@example.org>
To: Jeff Epler <email@example.com>, emc group <firstname.lastname@example.org>
www.sherline.com/emc/Integrator_Handbook.pdf still has that address in it
it looks to me like the error is on his line N900 - that's the 49th non-blank line
maybe it should be this: N0900 G0 A[0-[#45]/3]
 removed from around [#45]/3
but I can't test that
jepler: was it this email?
Subject: Re: [Emc-users] Problem with EMC script - understanding error message
From: "email@example.com" <firstname.lastname@example.org>
Date: Fri, August 17, 2007 11:55 am
To: "Jeff Epler" <email@example.com> (less)
"EMC users list" <firstname.lastname@example.org>
I was thinking about something
you have a very nice python sript called mdi
would it be possible to make a similar script that is called by a custom M-code?
it could :
1. remember current linenumber
2. switch from AUTO to mdi, manual, whatever is needed
3. do some funky IO or motion commands
4. set next-run line
5. switch back to auto
you could sure try that -- all those individual operations are possible in a python script
6. resume the program
but my faith in set-next-line is nonexistent
I think that would really address the "macro" needs
for instance, I know it won't work if you're in the middle of an O- construct
right, I agree
the alternative is to have support in emc to switch to mdi or manual while paused
but that's another can of worms
on another topic.. I put the stuff you said about IO on a wiki page
[20:17:41] <alex_joni> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?IOCapabilities
* alex_joni plans to follow that plan
let me know when you've implemented it
wanna test something?
it's when you try something before releasing it
cradek: that joke is something I never get any more or less tired of
jepler: it sounded like you have a plan for that after I implement it
like you have some app in mind where this would help
cradek: any thoughts about g-codes I should use?
alex_joni: not really .. it was brought up again by this discussion of "macros"
on the list
"do something based on the current state of the world" is one of the things missing between "O-words" and the things our users want to do with "macros"
like wait for something, then do anything
or check a value and branch
I ordered the "xenbot" 3-axis router and a xylotex 3-axis board .. so in a week or two I'll have a CNC machine
* skunkworks can't wait to read about it on your website
does any of you get a popup window from this page? http://www.mhsware.com/
no but I have a bunch of stuff installed on my firefox so I'm not likely to anyway
I am running ie7 so I probably have a virus.. ;)
or it is a virus or..
mozzila doesn't either
I got it once on FF.. no idea what was happening
seems to be gone now
I'd like to see motion.analog-out-*
cradek: canon code is there .. I think
cradek: can you add some specs to that page? I'll implement it..
this stuff (inputs queried..) should be RT.. right?
I haven't been keeping up, sorry
no problems, I'm adding a couple of input-related functions
so you can have your program wait on an input
or check the value of a certain something, and do some funky o100 if-branching
that should only need to be as RT as the interp, since canon doesn't "branch"
SWPadnos: how about wait?
one could do external feedhold + CL
that should probably be RT, on the task timescale
but this should be similar
alex_joni: I think the pins should be *named* with the same prefix as the existing digital output pins
alex_joni: the "read"s will be fundamentally non-rt, because the result of reading an external input is to modify future gcode execution
it would be nice if the architecture lets the "write"s be done in RT and not prevent blending
write's beeing output from emc?
yes, I'm talking the view from the interpreter
there are 2 to set and 2 to reset
jepler: that's sure possible
I think one pair works with blending too
not today it doesn't
(the ones that happen imediately)
not waiting on motion to start first
I tried them earlier and the one that said it was "synched with motion" did nothing as far as I could tell
cradek: I'm just guessing on how blending interacts
jepler: it's supposed to get set once the motion actually starts
I don't see why there should be more than one type of output
but maybe chris took them out of TP
cradek: I think some plasma/laser weirdness
I don't know how the one that *does* do something interacts with motion -- I didn't scope it, I just ran 'halcmd show' and entered MDIs
well.. it worked right at one point, I think
eek.. I knew this was going to be hard
* jepler wanders off
jepler: the canon call for WAIT you proposed
it can't be blocking and return a value
OK -- it should "work like probing", then
however exactly that works
drive safe :P
if you end up working on the interp part, probably best to do it on a branch .. I'm not convinced this can be finished in short order, and I wouldn't want it to hold 2.2 back.
I'll try to finish canon & task & motion for tomorrow
then we'll see about interp
jepler: I just remembered why inputs are bad.. because of lookahead in the interp
hi alex how you doing
was wondering if other controls have a g-code to wait for an input
say I write some g-code to wait for an input to activate
but if it doesn't (and there's a timeout), I can write an if-branch to alert the operator
are we talking about m codes
m-codes or g-codes .. whatever
* alex_joni is interested in the mechanism
m codes will turn on relays or machine end lights
the issue I see here is that the interpreter (parsing the g/m-codes) can't know in advance what the input will be
roltek: yeah, those are outputs, and easy to handle
but say you want to write a program which checks a barcode, and based on that runs a certain subroutine
we use m codes for turning on air instead of coolant and for rotary indexer for my machines
roltek: still.. those are all outputs, going from the machine to the outside world
and maybe you have some feedback from them (a light turns on, etc), but not what I'm asking
i would think an input would be handled like a macro we use them on turning center for counting parts that way we program in thebar to stop pulling after so many parts or sub program
roltek: got the ballot?
yes i did
thank you guy's very much
ok, no problem
if we expect to make decisions (e.g. o-word branches) based on read inputs, I think the interpreter needs to stop interpreting until the get_input command executed
it needs to get status back before issuing any more canon calls, but it can still interpret more code
(ie, it could make an internal queue of canon /NML commands for each branch target, and send the appropriate one when it gets the read back)
yeah, but that requires majour restructuring
as it is now interp is run by task
and when it gets a command it knows, it simply calls the CANON call
which puts the stuff on the 'interp_list'
sure - I'm only pointing out that the interp need not stop interpreting, it just needs to stop sending commands to canon
which is actually the canon_list
SWPadnos: as it is now, the two are too tightly coupled together
well - it *can* stop interpreting :)
yes, that's what I'm starting to think..
* alex_joni heads for bed
[23:28:32] <alex_joni> http://pastebin.ca/661694
<- what I did so far
will read comments/ideas in the morning ;)