right that's why we need to start with an ini read and emc.run
I suppose an emc2 guru could figure out how to do all that through halcmd.
I suppose ;)
I get a type mismatch message.
let me switch machines on irc
I gues sI could just try loading it myself too ;)
type mismatch 'ppmc.0.encoder.00.index' <- 'Xindex'
hm - that looks like it's trying to go the wrong firection
oops - I'll have a fixed driver in a few minutes
I was about to add the spindle stuff, and I noticed that some of the utility functions I want aren't there :(
03swpadnos * 10emc2/src/hal/drivers/hal_ppmc.c: Fixed type for index pins (was u8, now changed to bit)
yeah - the spindle output is an 8-bit port on P8
I wanted to just export the u8, and use external components for scaling
but there aren't any
so I'm writing a conversions.c, similar to blocks.c, but with type conversions and scaling stuff
I need to talk to jmk first, just to be sure my plan fits with his
I see. Thanks for the fix. I'll up and test again.
ok - I see that the estop stuff isn't connected correctly
It runs and I can see the ppmc pins with show.
yeah - but turning the machine on doesn't do anything with SSR8
which it should, IMO :)
If this was a traditional stepper setup, ie no encoder feedback
we would loopback the stepgen to the encoder?
ok - I just haven't attached any motion-related pins / signals
motion.0.enable isn't connected to anything
I was admiring the easy ability to run steppers with encoder feedback.
actually, with the USC, you just flip dipswtiches 1-4, and the encoder feeback will count step pulses
Okay. could it be done the other way as well?
should be - you don't need to use the encoder inputs for positioning
you could attach an MPG to one
or a spindle speed encoder
If you set the dip switches for feedback then you could use the feedback for something else?
no - the switches change what the encoder counts
encoder inputs count, I should say
with the switches set for counting step outputs, the encoder inputs are dead
okay. I think I see
hmmm - actually, software loopback as you described may not work so well
there would be round-off errors
oops. Wouldn't that also affect real encoder feedback.
well - yes. it means that the encoder feedback can't be decoupled from axis output for any axis that's in use
so you could use encoder input 4 as a spindle speed input, as long as you're only using 3 axes of step output
the count mode is set indivicdually by the dipswitches
(separate switch for each channel)
ok - so you need some portions of core-servo in there as well, like the PID setups
Is it possible to use all of core-servo
it looks as though it is
I just had it load core_servo, then ppmc_io, and saw no erros
Then I can just start core_servo from the ini file before I start ppmc_io
Got it and it works fine.
I did uncomment and fix the line in ppmc_io that actually loads the module
I saw that stg was still there.
and in the top comments.
yep - my bad ;)
I'll correct that when I commit the changes I'm about to describe
you need to make a couple of other links - the [XYZ]pos-fb signals should be connected to ppmc.-.encoder.0.position
also, scaling parameters for the feedback channels need to be there
do you know if setting HAL stuff from the ini file is still working?
'bin/halcmd setp ppmc.0.encoder.00.scale [AXIS_0]INPUT_SCALE' didn't work for me
calims that inifind is deprecated, and tells me that the ini file variable wasn't found
it is cool to watch the AXIS plot follow as I crank the motor around by hand ;)
it's the most complex DRO in the world?
The inifind dep report is something that paul_c a bit ago for BDI
it is when I'm looking at it on a dual Opteron with 4G RAM, dual 1920x1200 LCDs, and sing remote X over a 100mbut ethernet link ;)
I shows up on a BDI start but does not stop the reading of ini variables.
nope, but I still get the error message about "ini parameter not found"
I did this from a different terminal than I ran emc from - maybe there's an environment var
I see that petev coded by hand in m5i20_motion.hal
setp scale.0.gain [SPINDLE]HIGH_GEAR_RATIO
I what Jmk used in mazak
doin' spindle stuff?
yeah - I'm thinking there's some environment thing that is there in the emc.run context, but not in other terminals
yep - got a couple of questions though
setp motenc.3.enc-00-scale [AXIS_0]INPUT_SCALE
right now, we're working out core ppmc hal files
ok (just looking at commit msgs now)
actually - is there an environment var or something that tells halcmd where to get ini file variables from?
I tried to use halcmd in "interactive" mode, and it can't find the ini vars
'bin/halcmd setp ppmc.0.encoder.00.scale [AXIS_0]INPUT_SCALE' didn't work for me
I think you have to pass it the name of the ini on the cmd line
ok - I'll add the commands to ppmc_motion.hal, then commit that
bin/halcmd with no args tells you that ;-)
so it does ;)
doesn't matter, since I need the inverse of the value anyway
reciprocal, that is
what are you doing?
yep - position = counts / (counts/unit)
(because we changed the original definition of encoder scaling to deal with just that situation)
oh - well I didn't ;)
an encoder block should take a scale number that is counts/unit
ok - then invert internally
so it divides, not multiplies internally
ok - I can do that as well
that way you don't have scale numbers like 0.0000013325223135534123
you mean like 0.03937007874016?
my initial encoder component did that, I soon saw the error of my ways
sometimes I'd like to be able to do expressions in halcmd
both mathematical and regexp
I was thinking of math, to generate values for setp and sets commands
regular expressions, like halcmd show pin *motion*0*
regexp would be for filtering lists?
in a big way
different application, of course, but still expressions
both of those seem like a lot of re-inventing though
no - use the regexp library
you can use bc (the command-line calculator) to do calculations
how would halcmd invoke it? fork or something?
there's an arbitrary-precision math library as well - I don't remember the name
it isn't the mathematical evaluation that is tricky, it's parsing expressions
we don't need arb precision
bc does the expression stuff as well, though not ini var replacement
but we might need to parse [FOO]BAR*10.0+[BAX]BLAT
or even sqrt(2)*[FOO]BAR
I'm sure there's an expression library around. if there isn't, I'll find the source to my old expression plotter
btw, halcmd also excepts env vars
$name = env var
[sect]name = ini var
anything else is expected to be a valid constant
would be nice to be able to refer to hal stuff too
actually - bc also supports named variables, so it may be possible to do a piped version of bc for any calculation needs
use the existing value of a param (or pin) in an expression
[01:08:36] <SWPadnos_> http://lists.boost.org/Archives/boost/2001/08/16088.php
just search for "infix expression parser" or the like
and get a thousand hits?
funny - one [ackage is called LARD
you could include SIOD
nice thing about bc is that it is pretty ubiquitous.... I hate dependencies
scheme = bad
(since nobody here knows it)
(or almost nobody)
any expressions should look "normal" to users
sorry, no RPN
that's why you use "infix" in your searches
SWPadnos_: IMO halcmd should not parse regexps. What's wrong with using grep?
RPM is "postfix"
grep doesn't work in an interactive halcmd "shell"
and with grep, you have to be clever if you want the regexp to apply only to the name, not to the entire line
also, if used externally, it can't tell where the text is, without using more advanced regexps
(although I regularly use halcmd show | grep myself)
I fear this kind of bloat guys
there should be two halcmds soon (hold off a sec, jmk)
one should be the library or bindings
the other the actual shell
the library will interface to any old program you cant to throw at it
and the shell will be as bloated as necessary to make it user-friendly, since that's what shells are for - users
the library, of course, being as lean as possible
(ok jmk - go ahead ;) )
will you use readline while you're at it?
halcmd was originally concieved as a thin wrapper over the HAL API
I would in the shell
maybe we want it to return to those roots, and invent another tool called halsh
readline, getopt, anything else that makes it "normal" and / or "easy"
sure - that may make sense
what bugs me about some of these shellish enhancements
it's like we're trying to turn halcmd into bash
might be more efficient to somehow let bash do hal
my thoughts exactly
(efficient in the "not reinventing the wheel" sense)
or hal-mc :)
so how does one extend bash
then you get stuff like $(($FOOBAR*10)) for free
I get tired of typeing bin/halcmd all the time, I just wanna type setp <name> <value>
alias setp='bin/halcmd setp'
alias setp='bin/halcmd setp'
we already have inivar
gotta cross check hal commands against bash and general unix commands, look for overlap
alias lp='bin/halcmd show pin'
you could do some preliminary setup in bash and then source your hal file
ls would be an issue though ;)
I'd make my aliases match the original hal commands, no lp or ls
At the mazak, I wrote a small tk script that did a lot of that stuff.
enter the command and press go
sounds like "halsh" could be a script full of "alias" commands
I think bash sounds like a great fit for something that you want to act like a shell
I don't quite understand why we need to do that in c
run it, and you have a hal shell
rayh-emc2: do what in C?
jmk - do the ppmc stepgens also need the output scale in steps/user unit?
ray: I know C... when all you have is a hammer (you fill in the rest)
they are that way already
set scale to 1000 (steps/in)
ok - I was asking because I'm editing a hal file :)
Jacky^ is now known as Jacky^afk
command 1.45, and get 1450 hz
* rayh-emc2 shuts up about shell scripts
What about subdirectories in configs?
rayh-emc2: shell scripts or tk scripts work great when you already have a utility to actually do the work
also, what about changing directories?
I thought that is what halcmd was
it is, btu that's why the tk scripts worked - there was a C program to do the heavy lifting, and a tk program to provide an interface to it
these guys have just convinced me that code for math expressions doesn't need to be in halcmd (I think)
that is harder
but back to math
if I want to set a param to 90% of an env var, bash can do that (using bc if needed)
but if I want to set a param to 90% of an ini var, it gets messier
that's what inivar is for
we already have that ability
you can do `inifile -ini <file> -sect <section. -var <varname>`, but that just sucks
compared to [sect]var * 0.90
you could do something silly like read in the entire ini file, and set environment vars to all section.var values
you could wrap it in something nicer
then it's all section.var
or as SWP says, parse the whole ini with bash
face it, I wasnt to turn hal into a full blown scripting language
with variables and flow control and the lot ;-)
yes, but do you want it to be bash scripting language?
dunno, this is all wild speculation
that'll be great for unix-y people, but not for most integrators
I sat down to begin writing the PWM section of the ppmc driver
"'bc `inifile -ini <file> -sect <section. -var <varname>` 8 0.90 " isn't exactly "normal people friendly" either
oh no - it sucks also
"bc `inifile -ini <file> -sect <section> -var <varname>` * 0.90 "
[sect]var * 0.90 is much nicer
or sect.var * 0.90
I used  to say "get this from ini file"
foo.bar would mean "get this from HAL param foo.bar"
either way - the  is usually used to denote array subsets though, and that could be useful
(I'm not sure how yet, but it could be)
they could coexist
a string starting with [ is a ini reference
a string followed by [ is an array member
it makes the parser somewhat more complex
actually, sect[var] would fit nicely
since the var is essentially an array element in the section
with bash you would have the easiest time with $SECTION_VAR or $SECTION.VAR
for expressions, ini(sect,var) would also be fine
the [sect]var is because the syntax of the inifile puts the section name in 
square brackets are special
I kinda like ini(sect,var)
oh, this reminds me...
betcha didn't know the other acceptable format for setp commands ;-)
bin/halcmd ppmc.0.someparam = value
no setp needed
man - you're a prick ;)
(now he tells me)
bin/halcmd help setp
actually, it says "don't use = on the command line"
thats because bash might interpret it, depends on the situation
I figured it would be more usefull in files
or hte "shell"
do bin/halcmd help linksp
well - only if RT is started ;)
yeah, that is an annoyance
incidentally, there is a way around that
is shmem management was better, I'd be tempted to put realtime start in my etc/initrd tree
new navigation changes in AXIS - get your cvs snapshot hot off the presses
oooh - I will.
man do we need testers
me lobbies cradek to put axis in emc2 cvs
we're getting close to wanting to do a major release
so I only have to do one cvs up and make
is there a tarball, or do I need cvs access?
[01:39:46] <cradek> http://axis.unpy.net/index.cgi-files/downloads/nightly/axis-latest.tar.bz2
ok - is that actually the most recent (autogenerated after each cvs commit or something)?
jmkasunich: we may talk about that soon
or is it from last night?
ok - that worked! I now get 0.1 inch on my $5000 DRO when I turh the motor shaft one revolution by hand ;)
SWPadnos_: I think you're missing the point of cnc here...
what do you mean?
typically ... the computer controls the machine
not that there's anything wrong with your way of doing it...
well - I control the computer - I'm just eliminating the middleman
baby steps, first turn it by hand, then turn it by motor, then mill Michealanglo's David
03swpadnos * 10emc2/configs/ (ppmc_motion.hal ppmc_io.hal): Fixed ppmc_io.hal file, added ppmc_motion.hal. These get information from the ini file where possible.
03swpadnos * 10emc2/src/hal/drivers/hal_ppmc.c: Changed encoder scaling to directly use INPUT_SCALE units from ini files.
ok - rayh-emc2 try cvs up now
on the way
you'll need to load core_servo, ppmc_motion, and ppmc_io from the emc.ini file
I got m5i20 running in a subdirectory of configs.
there's another place where bash would be useful - globbing
anyone online ?
plenty of us
Am I Interupting?
Hi Dave long time no hear.
Can I ask a question about compiling emc1
Thanks... I compiled it many years ag... I have the BDI 4.30 install up and I have a few errors when I try to comopile rcslib is rcslib needed still?
03jmkasunich * 10emc2/src/hal/drivers/hal_ppmc.c: cleaned up some unused I/O functions
The bdi's emc is a mixture of emc and emc2.
I don't think a plain emc will compile for the 2.6 kernel.
no, emc1 will not compile for kernel 2.6
there are some deb src's out there somewhere.
OK I kind of got that from the confi warning message on the rcslib... So just ignore rcslib?
you have to ignore emc1 completely if you are running kernel 2.6
there is a BDI-4 specific build that is mostly emc1, that does run on 2.6
but I don't know much about it
it should already be on your BDI disk
why do you want to recompile?
ok.. So is BDI 4.30 on kernel 18.104.22.168-magma a emc1 or emc2 deived tree?
did you need to change something?
mostly emc1 derived
with libnml from emc2
daveland: it is a combination of emc1 and emc2. nobody but paul_c really knows how it is put together
and part of emc2 build system
I am compling a new driver for some custom hardware. quad encoder bd + dacs
several of us have tried but failed to follow these wiki instructions for rebuilding the version of emc that is on bdi 4.30: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl/emcinfo.pl?BDI-4_Install
* jmkasunich encourages daveland to try emc2
it is friendlier to custom hardware, IMHO
I tried the wiki as well and itt seems to be incomplete
I am not adverse to rying EMC2 I was just starting to read the docs... I was just familliar with EMC1 from the good old days!!
If you want to use emc1 as the basis for your work, you might be better off using bdi-live rc46.
IMO the last tag I saw on sf for bdi is 4.27
bdi-4.anything needs 2.6
bdi-4.anything higher than 27 uses magma, which might entail some additional changes
I don't remember the details but I was able to rebuild the version of emc that was on the disc, as well as build the emc1 HEAD of that time, without much trouble. The source for everything was in several "tar" files. I did have to do a hard-drive install, however.
daveland: I agree that you shouldn't put any new work into the bdi4-emc branch. it's dead.
emc1 HEAD still builds on BDI-Live rc 46
and on BDI-TNG and -2.18, if you are so inclined
(sez the compile farm)
I did the hard drive install and loded the sources using apt-get ... but I think they were on the disk already since I did a custom install
I'll look over EMC2 as I don't really want to get left behind when emc1 is dead
if you need help writing a HAL driver for your hardware, just ask
(we're finishing the one for the Pico Systems boards as we speak)
ok.. Thanks. I still have a lot of hardware debugging to do.
daveland: I set up emc2 on my stepper machine last night. It works great.
cradek is generous... there were a few hiccups along the way ;-)
cradek: you should put that on the AXIS blog; the lat word on emc2 was that neither of us runs it, with the implication that support is bad for it.
I have a ycm mill that I am retrofitting. servos and encoders.
now I'd better go tidy up the kitchen ...
jepler: I'm on it
I really don't want the 300lb table jumping around with bugs....
anyone used emc2 with dc servos and an stg card or the like
check out the mazak stuff on the wiki
will do. thanks ray
daveland: stg driver for emc2 is pretty new, don't know if anyones used it on a real machine yet
03swpadnos * 10emc2/src/hal/drivers/hal_ppmc.c: Added checks for near-zero scale to encoder read routine. Changed "near zero" to a define EPSILON.
Ok, Well I have custome hardware, but I was wondering if anyone got EMC2 working with Real Velocity controled servo amps
ha, I thought your encoder code was too short compared to my stepgen code
daveland: yes, definitely
we used a motenc card to run roland's Mazak
ok then it must be somewhat stable for me to try my stuff out on.
I changed your 1e-20's to EPSILONs, I hope you don't mind
not at all
well emc2 make is running now.... we will se how it goes
actually, that may want to be a HAL-global parameter of some sort
toss it in hal.h?
nah, leave it where it is for now
maybe - I'm thinking it may want to be settable - it is related to step resolution and the like
well, a little true ;-)
it can be related, and may want to be settable
but epsilon should be so much smaller than a step....
that a few orders of magnitude more or less don't matter
actually, 1e-20 is pretty small - that should probably be closer to 1e-12
yeah, I was just thinking that floats as opposed to doubles only have 2^24 range
one or two orders of magnitude over a 32-bit number
sonce at some point, everything turns into a 10-16 bit number anyway
the shutdown / cleanup thing has to be figured out sometime
bah. you should be doing everything as 32.32-bit fixed-point numbers. floating-point is for NaNs.
the shutdown thing...
we chould just write out zeros to the entire bus
it's funny - I bet that a lot of people don't realize that you still only get ~4 billion possible numbers from a float
only take a couple hundred uS
well I said "EMC2 works great" on the ever-popular AXIS website so you guys are really on the spot now
I think I'll implement the brute force shutdown
soon our thousands of readers will flock to EMC2
each driver should do its own thing
for ( n = 0 ; n < 256 ; n++ ) write zero
you should also crow that your election to the EMC board of dictators is a mandate to make AXIS the official gui of emc2.
SWP: I'm talking strictly about the ppmc driver
I don't think most machine users would agree with that.
I don't want the shutdown code to have to figure out what is in each slot
jepler: just wait until I get cvs access .... oh, forget it
well - maybe register_sd_funct is in order
ray: what comment were you commenting on?
AXIS the official gui of emc2.
jepler and ray: let's stop any gui pissing contest before it starts please
yeah - me three
I think jepler's comment was in jest
(though EMCAS is better)
re shutdown: on power up, all SSRs are off, and stepgens are outputing zero freq, PWMs are at zero, and DACs are at zero
during driver load, that is re-inforced
at shutdown, I believe all should be returned to that state
yes, it was a joke
that sounds entirely reasonable to me
heck, who can't snicker at the word "mandate"?
that makes sense for the PPMC, but only because the SSR8 being off disables everything else
I'm only talking about the ppmc right now
a parport can't be so easily shut down - that's why I said each driver has to do its own thing
the ppmc can just shut off SSR8, but setting everything to 0 shouldn['t be detrimental either
Hey guys I'm sold !!! EMC2 compiled and ran no problems!!! Great job!! now on to the HAL documents!!
remember, the shutdown code doesn't even know what is in each slot without parsing thru the bus struct
so I'm gonna brute force it
daveland: good to hear
for now, that's good
I gota go now... Too much progress for one night!!! Perhaps I'll stop back in a few days tnx again!!!
see you dave
heh - if only axis showed the material being cut, looking up from the bottom would be useful ;)
did you get the snapshot with the new navigation?
yup - just got it and built it
I think it's much better
the old navigation was bad
03jmkasunich * 10emc2/src/hal/drivers/hal_ppmc.c: added code to shut everything off when the driver is unloaded
the only thing I find odd (which hasn't changed), is that the mouse wheel seems to operate backwards
I should know better than to commit without a compile check
I expect an upward scroll to zoom in, but it zooms out
SWPadnos_: yeah we were just wondering today whether we could fix that without confusing everyone
SWPadnos_: (the mouse wheel)
I'll fix it
I complain about it too
03jmkasunich * 10emc2/src/hal/drivers/hal_ppmc.c: dammit, should know better than to commit without compiling first
hmmm - the perspective "pop" is still there.
how can you tell if g-code is offset-independent? I think AXIS could notice that the loaded file doesn't change just because offsets change, which would mean it didn't need to reload when you offset an axis
but I'm not sure how to check whether this is true of a particular file
heh, revision numbers are free, might as well use them
jepler: that way lies madness?
cradek: I'd like to hear back from Chatchai again to know if the reload time is tolerable for him now...
the scroll wheel is fixed
insmod: error inserting '/home/rayh/emcdevelop/emc2/rtlib/hal_ppmc.ko': -1 File exists
HAL:6: ERROR: insmod failed, returned 1
cradek: for everyone else, I think it is only a minor annoyance, and I'm pretty sure he was hitting the Tk "delete" problem..
jepler: me too
hmmm - that commit assumes that the ppmc driver owns everything on the epp bus
ray: means the driver is already loaded
try sudo bin/halcmd unloadrt hal_ppmc (or unloadrt all)
I'm working from swp's hal file.
does he load it twice? (maybe once in the io config and once in the motion one?)
did you update the ppmc_io file as well - that needs the loadrt hal_ppmc commented out
it should be sane in CVS, but if the file was open during the cvs update, it may not have changed
SWP: do you mind if I edit your comment placement
asm style comments at the end of the line need a very wide window
nope - have at it
I try to keep lines under 80 cols
(don't like aligned comments, eh? :) )
usually put comments before the C line
in asm I do
asm lines are shorter
yesh - that;s a bit shorter
natural columns there
or we could use 1 space indents ;-)
wow -4000 on all axis displays
hm - what's your input_scale?
you know - in this case, if the input_scale is < 1, it's probably invalid
INPUT_SCALE = 4000 0
did you recompile the ppmc driver?
I should have committed the change to the driver at the same time as the change to the .hal file, but there was a several minute gap in there
Yes i did. What we seem to have is an EstopWrite that will not change.
I'll cvs up again.
odd - it works here
hold off a sec- let me make sure that CVS is up to date
now I've got -0.0003 for each axis display.
ok - that sounds better - one count off, at 0.00025 per count
(rounds up to .0003)
are you using the stepper -> encoder loopback on the board?
I do see the gui trying to issue the emc_estop off message and the nml working on it.
no change in state.
do you have input 15 grounded?
Not gotten that far yet.
you need to - the board won't work without it
Yes both 14 and 15 are grounded.
14 says true but 15 says false.
so the green light is on
green light is on
yep I got the green
commanding out 7 on?
SSR8 led on?
what's connected to ppmc.0.dout.07.out?
not yet. I had presumed that swp had connected that. EstopWrite
it is connected
from ppmc to iocontrol yes.
but to iocontrol.0.user-enable-out
atr you loading all three hal files from emc.ini? (core_stepper, ppmc_motion, ppmc_io)
core_servo, I mean
ok - out of curiosity, which GUI are you using?
The system is alive. I'll break the estop connections and loopback.
hold on a sec - you're running with some changes Alex made in the last day or two - I'm not
quick Igor, get the electrodes...
zap -- that did it.
I spent a full moon evening at frankenstein's castle.
I *don't* want to see the photos ;)
I looked right at home.
Let me test the estop stuff with step_cl
Yep it works there.
Alex made some changes to the way that emcTrajDisable and emcTrajHalt work, then some others, then reverted some
this was yesterday
Right I saw that. That is why I tested with step_cl cause I know that it used to work there.
It probably makes a difference - I was only updating the configs and drivers directories (on purpose)
that's step_cl.ini / hal / clp?
# create a signal for the estop loopback
linkpp iocontrol.0.user-enable-out iocontrol.0.emc-enable-in
is what we are doing for estop in standard_pinout
SWP: I have a question about the encoders
OK - and that's connected to ppmc.0.din.15.in in ppmc_io.hal
That is the same as the first row in step_cl.clp
ENCCTRL is 03
yeah - that's the misplaced register I mentioned last night
but jon's webpage says the USC has the encoder control reg at 12
You have the *real* docs - that's why I asked you :)
that is good news tho, it means the older PPMC encoder board has the same map as the USC
yeah - they're the same
except for the pulse width / pulse rate differneces
I'm not talking about USC vs UPC
I mean the ones that go in the cardcage
that card has encoders only
it seems all three are the saem
actually - other than the two control registers (which can be done "manually"), the entire USC can be read and written in a single address sweep of 32 bytes
so I'm gonna rename your code to encoder instead of UxC encoder, and invoke it for all three
ok by me
you may want to feed it a base name then
I'm also changing it to use the master/slave latching
actually, we may want to do that anyway - USC / PPMC / etc
only the first slot with encoders will generate a latch
function being encoder, stepgen, din, dout, or pwm
no need to talk about what board implemnts it
ok - works for me
that should have been:
I did have a question for you - about another component I'm about to write
OK - I was about to implement the spindle controls for the USC
I wanted to export it as a u8, and have an external component scale a float if necessary
the P8 dac?
so you see my problem - there isn't any float + scale = u8 block ;)
yes - P8
I'd rather see that a float
sure, unless you want to use it as 8 extra DOUTs
either in volts, or with a scale number
ah, I see
so I'm thinking abour writing something like blocks, but "conversions" or the like
so it wouldn't be ppmc.0.dac.01, it would be ppmc.0.auxout.01
probably - I was thinking of calling it spindle, but the signal(s) that connect to it would be different
in the driver call it aux
if you want to use it as auxout, you need to know what you're doing
if it might be a dac, or might be 8 outs, etc
the simple case is to use it as spindle
no, thats the complicated case
either way, the more important thing is "conversions" (or converters, as I have it now)
involves float to u8 conversion and all that
yes, lets focus on that
I think converter components are a good idea
also, some of the functions in blocks would be more appropriate in a conversion / scaling component
convf2u8, convf2u16, etc
yep - bitstou8, etc
I have the option of adding it to blocks, but I think it's better in a separate component - blocks is pretty crowded already
that module would be a natural for some more efficient export code
I can also move some things (like the limiter, comparator) out of blocks, if you think it's a better grouping
heh - yes it would
I like those in there
might eventually split blocks into analog and digital blocks
and, or, etc, would be digital
yeah -they're already there anyway, so changing moving them now doesn't really buy anything
limit, sum, etc analog
yes - there should be a "logic" component
but mux, comp, and others have both
and there's where you need the "anytype" pin
something that can take a connection from anything, and then "polymorphs" into a component that only accepts more pins of the same type
(for the specified inputs)
to me, analog = float, digital = bit, and the integral types are bastards
so you can have a "mux3" that can mux bits, bytes, floats, etc
but only one type at a time - no automatic conversions
I was seriously considering dumping all all the integral types and just having one, 32 bit signed
you may be able to do that, but there are three ways of converting between types
an anytype pin would be messy
I don't think it's so bad
when to you change the associated code? it could be disconnected and reconnected at any time
you can have a separate input that you connect for setting the type
all HAL types take 32 bits, regardless of what they are
or at least, they can
is that a suggestion or a statement?
bits are only 8
the following lines give the loopback and allow emc to come out of estop.
linkps iocontrol.0.user-enable-out EstopWrite
linksp EstopWrite iocontrol.0.emc-enable-in
linksp EstopWrite <= ppmc.0.dout.07.out
the anytype would be the same as the largest allowed type
they do pull pin 07
but the board does not come out of estop.
and pin 15 still shows false.
and the board passes the pico diagonistics program?
dio_cont I think it is, that scrolls red lights
SWP: lets resume this anytype thing later
rayh-emc2: here's wehat I have - only one real changefrom what you just posted:
linksp EstopSense <= ppmc.0.din.15.in
linksp EstopSense => iocontrol.0.emc-enable-in
I'm not able to make either board run that part of the diagnostics.
linksp EstopWrite <= ppmc.0.dout.07.out
linksp EstopWrite => iocontrol.0.user-enable-out
if the board won;t run Jon's diagnositics, you are pissing up a tree trying to get it to run emc
does your board come out of estop?
These are both brand new from jon.
I don't know why they don't work, just that they dont
his diag is totally independent of our code
I'm just guessing here but the diags were compiled for 2.4
so it neither one works, it aint the code
they work fine on 2.6
I ran them on a fresh BDI 4.3 install
I don't recall if I downloaded the binary, or compiled here
but the diag works here
I didn't find a source file for these.
hm - actually, I had downloaded this a long time ago
I think he sent it to me separately
there is no source on his website
I'll download again and se eif it works
k I'll bail and work on it tomorrow
thanks for all the help guys.
if I can find the source jon mailed me, I'll send to you guys
heck, I should be able to send the binary
SWP: you are on 4.30, same as ray?
can you send him the binary?
sometimes he makes me nuts
we can check that later
don't try to run the whole thing until you know the pieces work
well - that is ideal
you can try the whole thing if you want, but as soon as you find problems, then troubleshoot by breaking it up
if dout.07 is on and the led isnt, then either the driver or the board is busted, forget about emc and the hal file
use jon's diag to see whether it is the driver or the board
seems obvious to me
yeah -though I;m now seeing an odd problem here as well
I loaded up 3d_chips, and tried to run it
I see a zillion emcTaskPlanCommand(blah) calls
up to line 1005, where it stops, and does nothing
don't ask me about that, I don't do Task
I've flipped the switches so the encoders should count step pulses
and I see no motion
does it jog?
but the SSR8 LED is on, green light lit, and brake on
again with the running before walking.... you guys, I swear ;-)
no - it doesn't jog
ok, halmeter on axis.0.enable
see if its enabling
then put it on axis.0.position-cmd (or whatever thats called)
see if the command changes
are you getting following errors?
if so, cmd is changing, feedback not
if not, either both are changing, or neither
meter tells you which case you have
yes - Xenable goes true when I turn the machine on
and yes - I got joint following errors, and I could see that the position wasn't changing
fb pos wasn't changing, I assume cmd was
maybe you can't change the encoder mode while the unit is on
Xenabme goes to the PID enable input?
jeez, I can't type
one sec - pulling up a halcmd shell ;)
sudo bin/halcmd loadrt scope_rt
(bring out the big guns)
there is a param axis.0.something that goes true when there is a following error
ok - got it. I suppose I could get rid of the base_period
put a scope probe on that for trigger
run scope on the servo thread
that's what I did
now put probes on position cmd and feedback from encoder and output to stepgen
axis.0.error, or axis.0.f-err?
error is the analog error
hmm... those dialogs should display type
you are looking for a bit
error is the bit, f-error is the float
i'm rusty on this, should start an emc myself and follow along
it's ok - I get what you're saying
except I'm in the middle of editing ppmc.c
are your hal files committed?
ok, I'm gonna try it here
is there an ini too, or do I edit my default one?
I didn't commit an ini
ok, I'll copy emc.ini to ppmctest.ini and edit
just need to add the two hal files, right?
load core_servo.hal, ppmc_motion.hal, and ppmc_io.hal
so - apparently the ferror limit is 0.01 (10m in halscope)
you see it tripping?
the xpos-cmd ramps up smoothly, but both Xoutput and feedback remain at 0
I see the trigger
and it's just as the ferror gets to 1 div at 10m/div
are you using the loop gains from core_servo.hal?
yes - defaults
because they are way too low for anything real
all zero except for P, which is 0.01
this is using looped stepgens, so P should be at least 1, I guess
make FF1 = 1.0
that means an input position ramp of 1 inch/sec will command an output velocity of 1 inch/sec
which barring errors, roundoff, etc, is exactly what you want
yep - only it didn't work ;)
scope the PID output
or disconnect the stepgen from the PID loop and force a velocity command, see if A) you get pulses with a scope, B) the encoders count
goes to a constant at the satart of the move
your jog rate is the default 1 ipm
can you read actual values from halscope?
= 0.0167 inches/sec
yeah, halscope reads values
jeez, what good would it be?
no - do I get cursors like a nice digital scope?
no cursors yet, that is rev 2 ;-)
maybe I should revive my oscilloscope analysis code from way back ;)
but you can change scale after acquiring, so make it about 1.5 divs, and see what a div is
yeah - that's how I estimated around .015
but you're right - if I look at the subdiv dots, it's closer to a little below .017
I guess different color traces for the different channels is planned for rev2 as well?
this is the output of pid
the active channel is green
yes -it's the PID output
click on chan button to change it
yep - I see that (I experiment from time to time ;) )
sorry, don't mean to insult your intelligence
Can I ask a question?
I have a sense of humor to match
um - I mean - sure :)
Is everyone just working on "whatever" in respect to emc development?
or whatever they feel like?
some peple work on "whatever" someone pays them for
(though I'm not one of them)
Jymmmm is now known as Jymmm
sounds a lil counter productive.
well - there's work, and there's play.
emc is play for a lot of people
and playtime doesn't have to be productive
ok, then the purpose of a board?
to guide the players ;)
who aren't all playing the same game?
there are a few of us who just like to work on it, and want to see it progress
but it's hard to do anything when you don't know what will be accepted, and there are no rules or guidelines for what should be done
SWP: I see ppmc.0.stepgen.00.vel-scale = 1
seems a bit low
so a few rules, goals, guidelines, etc are the responsibility of the board (in my view)
more emphasis on guidlines than rules, because everyone is a volunteer
hm - that should be set from [ASIS_N]INPUT_SCALE
yes - rules and directions
Well, I beeter shut up now. don't want to start anything.
ppmc.0.encoder.00.scale = 4000, so that worked
it's just a question so far...
just wanted confirmation on the anarche.
sure - the board of dictators will guide the anarchy
unless people want to fork off
ok, changed the vel-scale to 4000 manually and jogs work
they can fork themselves if they want
pah - output scale sucks
but I suppose it is the right thing to use
output scale in the default ini was 1.0 ;-)
ah - that's not helpful
that should be equal to input scale by default, I'd imagine
if I was doing it, I'd write the HAL file to use input scale for both
but for some folks that would be wrong...
hmmm - someone suggested that last night
you can never win
one thing to note about that
when we talked about it last night, you suggested that people may want to use the encoder inputs for something other than position feedback (on stepper systems)
they can't, unless the axis isn't being used
I was thinking of the fourth axis mostly
or if they have more than one board
though you may be able to use one axis as a spindle out, and still use the input
you might even use it for a spindle encoder
since you only care about velocity (or the most part)
for the mazak, we used a dac to send an analog speed ref to the spindle drive
it's a bummer - you can't see how many steps were generated unless you loopback with the dipswitches
and an encoder channel to measure spindle position
which prevents you from using the encoder input
ignored the encoder except when doing spindle orient for toolchange
with the zillion-count encoder-with-index
which I got working today - index pulses are functional
emc is a prick!
I hate it that it writes the ini file
I edited, then exited EMC to restart
if only it were XML
* SWPadnos_ ducks
yeah, then I couldn;t edit it without going insane, so this would never happen
no - you'd have some advanced editor that would notice the changes on disk, and have an archived copy in a registry somewhere (unknown to you), so it could auto-restore whenever you think the file is screwed up.
ok, changed OUTPUT_SCALE to 4000 and pid.<all>.FF1 to 1, and I can jog now
fsck advanced editors
jmk: did you ever use nroff?
actually kate did notice the change
but I had to restore it myself
well not that much of a dinosaur then
that is dinosaurus-unixus
you may want to try kdevelop - it's bigger, but has some nice features for just that kind of situation
I am dinosaurus-z-80us
when there's a change on disk, it changes the tab icon, and you can diff to disk version easily
yeah, I did multi-processor cpm, it was ugly
anyway, SWP and I can both get out of estop
I did my first robotics project on a PDP-11
he has a hw or config problem
that was fun
yeah, I remember toggling in the octal boot coade
shouldn't the PID values be in emc.ini?
SWP: did you wire up SSR3 (dout 2) to do something?
but that machine code was nice and orthagonal
I see a pretty LED
oh, you wired them all
I see 8 LEDS, and 2 of them are pretty
ohh, now only 1 is pretty
the settings mirror the univstep.ini on Jon's site
(brake off button works)
yep, and so do spindle speed + and -
speed up and speed down buttons make pretty
haven't tried mist / flood
if only this !@$%^&#% board could take standard opto-22 modules
yeah, I tol jon about that
they don't fit right
not with the fuse holders they don't
I jammed the modules in, no fuses in the holders, marginal module contact
and I have a box of 20 modules here
I'll probably unsolder the fuse sockets, jumper, and fuse externally (or not at all, live dangerousely)
it depends on which part of a socket the fuse holders are made of ;)
and how well they're trimmed
spell dangerously too
if u cud spel, ud b dangrus
most of mine don't even come close to fitting
6 Grayhill modules, 2 Gordos
the LEDs are also perilously close
and I hate that stupid heatsink on the regulator
just waiting to get busted off
yeah, no board locks
breaks off easy
stupid place for it period, locks or not
I've got modules from some unknown manufacturer - 12 AC and 8 DC (OAC5 and ODC5)
I also replaced those damned IDC terminal blocks
with something that has screws?
got real removable screw terminals now
yeah, the 2 peice phoenix are much nicer
yep - just like on his Gecko Servo Interface
I told jon all this stuff over a year ago
interesting how everyone has the same opinion
I mentioned it to him at Fest - the price of the connectors is prohibitive
I haven't measured the pin center spacing, do you recall what it is?
whats that in real units? .156 inches?
the Phoenix Contact or OnShore connectors from DigiKey
no - wait - you may be right
I might just have to raid the phoenix drawer at work...
I think most of our pheonix are larger spacing
these would be marginal at best at 120V AC I would think
hmm, gonna need more than just FF1 to get good performance
(expected as much)
ok - it is 0.150
60IPM jog got a following error
after about 1 inch
03paul_c * 10emc2-auto/wiki/ (13 files in 10 dirs): "Auto update wiki from a cron job. Tue Nov 29 05:30:02 GMT 2005 "
one thing to note - there are two types of terminal block - one with the key on the side of the wire entry, and one with the key on the opposite side
key? these don't have screws?
oh, I think I understand
there's a ridge on one side of the plug, so you can't plug it in backwards
doesn't matter which one you have, unless you already soldered the PC board part on
the ones I got have the screw on top, and I want the wires to point off the board
(or does it?)
just get the same kind :)
no - they work, they're rotationally symmetric to each other
oh, you got some of both?
no - just a reminder ;)
hmmm, well past midnight again
so - you set FF1 to 1, and P to ?
didn't try tuning it yet
OK - I'll play a little bit, but the change to the default FF1 should probably be in cvs
and the deafult INPUT_SCALE = OUTPUT_SCALE
I put the FF1 in the hal file
there should probably be a servo ini file, that has the gains
the core_servo, or ppmc_motion?
I don't want gains in a stepper ini file, why confuse people
they're in core_servo
I did in in ppmc-motion
core_servo sets them to zero
and P to 0.01
using FF1 = 1 is specific to ppmc and similar loopback arrangements
hm - you can turn the brake on while the spindle is on
what should really happen is that the values should be in the ini, and core_servo should pull them and set the params
I dunno why that is a separate button
yeah - I thought they were supposed to be there
I don't want them in there for a stepper machine
well - you may need to release the brake for manual toolchange
we need more than one set of sample inis
any brake/spindle logic should probably be done in CL anyway
yes - and the config drectories Ray mentioned are a great way to do that
yes - it's machine specific
should be a board thing - solicit input about directory layout, then come up with and post a set of guidelines
also naming conventions to use for pins/params, etc
03jmkasunich * 10emc2/ (configs/ppmc_motion.hal src/hal/drivers/hal_ppmc.c):
Added encoder support for the original PPMC encoder board (can't test). Also
modified encoders to use a single latch pulse for all boards (if there are more
than one). Needs tested by someone who can put more than one board on an EPP
and for components in general
damn... I didn't mean to commit my change to ppmc.hal, just ppmc.c
I got used to doing separate updates in each directory
me too, I just forgot this time
should I leave it, or fix it.... it has "setp pid.<all>.FF1 1"
that's fine - it's only the PPMC that is affected
tempted to leave it until we address PID gains properly
hah - it wasn't a mistake, I meant to do that ;-)
ok - so jogging still works, but not auto mode
ppmc.c is up to something like version 17 now ;-)
gotta get the tuning right first
yeah -I've been trying to commit often, so it looks more important than the others
(you getting following errors?)
no - it just doesn't run
estop light comes on?
does taskplanexec\ute up until line 1005, and then nothing
yep - not in estop
sorry - OK by me
congrats on your reelection :)
seems you are very suitable for president (having the most votes :D)
congrats on your election
I'll drop an email to the list soon ;)
SWPadnos__ is now known as SWPadnos
anyone awake? How do I change the ip address in linux. I want to go dhcp -> static ip. The bdi install lets you change it but how do I do it after the install? Is there a gui interface for that? thanks.
darned good question
Jacky^af1 is now known as Jacky^
Good Morning Planet Earth!
hold on a sec
good morning Jymmm
Damn - I thought I was on Saturn!
skunkworks_wrk: the file /etc/network/interfaces controls that stuff. I'm not sure if there's a GUI
ah - thanks. I will take a look
"man 5 interfaces" documents the format
skunkworks_wrk: use some editor like vim
even easier - use the cKDE Control Center
[14:57:45] <Jacky^> http://documents.made-it.com/Debian_Internet_Server/Debian_Internet_Server-5.html
may you want to set the gateway too
Control Center -> Internet & Network -> Network Settings
click Administrator mode, enter the root password
adding a line like gateway 192.168.1.1
click on the interface you want to configure (probably eth0)
click the Configure Interface button
then enter all the informatio Jacky^ mentioned in the appropriate boxes ;)
how do I get to admistrator mode? what do I "click on"?
there's an "Administrator Mode" button at the bottom of the Netwrok Settings page
when I go into the control center there is not a "network settings" under internet & network
this is BDI 4.30?
I must be doing something stupid
ok - and when you click on "Internet & Network", what happens?
Note that I ran kcontrol from a terminal, since I'm not logged in locally - you may be running a different program, or looking at a differnet menu
I get "local network browsing", "preference", "proxy", and "web browser"
Ya know, it's a whole lot easier to walk someone thru via command line than it is GUI
especially when I run kcontrol from the correct terminal - oops :)
skunkworks_wrk: id spent a few minuts to learn Vim editor, its very simple
open a console and become root
I was running it on the "local" com[uter, not the "remote" emc machine
nano -w is also quite workable
install mc mcedit - EXTREMELY easy to use
apt-get install Vim
vi isn't easy to learn
press i to start insert text
mcedit there is no learning
you can move using arrows
and backspace to delete
at the end, esc :wq to save and exit
Jacky^: He doesn't know nix, much less shell, and you want him to learn Vi ?!
vi is a bitch to learn!
then /etc/init.d/networking restart
Jymmm: nah.. its simple and useful
nano is trivial to use, except for the fact that it uses some non-standard keystrokes
it's also installed by default
mcedit is easy to use becasue it mimicks the same as notepad in M$ world
as is mcedit
or MS Edit I mean
yeah - anyway, back to skunkworks_wrk's problem
skunkworks_wrk: vi filename to start edit, i to start insert text, esc :wq to save and exit, 3 commands to use, its hard ?
the idea that you have to enter a command to start adding text is ridiculous
I like vi, because is the common editor you can find also in a minimal system
how about kate - lets you pick files with a dialog box and stuff
Jacky^ That may be true, but he's not a SysAdmin
for advanced use i like emacs
Jacky^ dont make me hurt you!
Jymmm: no need to be sysadmin for that ;)
give me a few (I tried to load kcontrol from root termial and it didn't work either) I will try and see what kind of trouble I will get into ;)
skunkworks_wrk: is a couragios man :P
Jacky^ and you're a sadistic one.
yeah - sorry about that - I was using the kcontrol from KDE 3.4.3, not 3.3.2 like the BDI
note that there's no documentation in /etc/network/interfaces - it just lists interfaces and when to bring them up
right - I just looked in there.
iface eth0 inet static
Jymmm: you cannot look at Linux as windows .. are two different worlds
oh sure, pull out the man-ual
what about dns and gateway - thanks cradek
just learn to use an editor if you want to take complete control
skunkworks_wrk: dns are in another file
try to cat /etc/resolv.conf
the gatewy is in /etc/network/interfaces
look here: http://documents.made-it.com/Debian_Internet_Server/Debian_Internet_Server-5.html
add the gateway line after netmask
its a simple text file
how do you delete a line in vi?
skunkworks_wrk: to delete a line cu can press 2 time d
or use i to 'insert' then backspace to delete
skunkworks_wrk: just use kate - from the menu (or from a terminal)
It's a lot easier to use, and supports cut/paste, hilighting, etc (there's even a g-code hilighting mode)
Or.... if you were using mcedit.... hit the DEL key (what an amazing concept)
or backspace, even
kat won't alow me to save
hey guys, take this to #editors please
maybe #editor-wars would be better
cradek you first
Jymmm: I'm not involved
skunkworks_wrk: are you running your editor as root? You need to be root to save those system config files
skunkworks_wrk: if you really cant get it working tell me your params, i will write the files for you then upload to my website
so you can just overwrite the old
if so, query me
I tried sudo kate /etc/network/interfaces but it just crashed
and now kate won't run
kate: ERROR: Communication problem with kate, it probably crashed.
I think openoffice should be used too, but its dangerours if it change the file format when save
or kedit maybe..
ah, that does work
sudo kedit /etc/network/interfaces
cradek: yeah, kde software + su(do) seems to always work out badly. It writes lots of files in ~, and then they end up owned by root...
* cradek is not a kde user
jepler: you're right, it porked itself up
it's an X problem - you can't connect to the X server as any user other than the login user (unless you use xhost)
I don't recommend sudo kanything
use host +
no, it's a kde problem
no - general X issue, it happens with gnome as well
$ xhost +
access control disabled, clients can connect from any host
that's only advisable behind a nice tight firewall
after edit xhost -
SWPadnos_: no, you don't understand. Root crapped on emc's kde configuration in emc's home directory, and now emc can't run kde apps
ah - that can be a problem ;)
SWPadnos_: it's a problem of the kde writers not understanding unix
heh - that could be as well - thy're trying to mimic Windows, after all
kedit - KDialog
Will not save configuration.
Configuration file /home/emc/.kde/...../keditrc not writable
Please contact your system administrator.
(after I ran sudo kedit)
Well I added the address netmask and gateway to the interfaces file and it isn't working - yet Boy vi reminds me of the old dos line editer
vi == edlin
did you figure out how to restart networking so the changes take effect?
edlin - that was it
* jepler chews his tongue
skunkworks_wrk: are you using an ethernet modem ?
SWPadnos_: fwiw, 'sudo vi' always works
I rebooted - doesn't that work?
yeah, that'll do it
run ifconfig eth0
as does sudo nano, or sudo joe, or sudo pico, ...
you no need to rebbot, just restart the net with /etc/init.d/networking restart
does ifconfig eth0 show your new IP address?
would he be able to answer if it did?
cradek: (depending how it's configured, vim may write ~/.viminfo on exit)
skunkworks_wrk: you need to do all as ROOT
it must work
that is what I did - as root. edited the interfaces file and saved it.
to check the gateway use route -n
well.. youre at good point then
did you then run '/etc/init.d/networking restart' ?
what about ifconfig eth0 ?
ifconfig doesn't show the ip adrress
no I just rebooted
mmhh you missed something
skunkworks_wrk: it shows the old address still?
can you paste your interfaces file here?
skunkworks_wrk: are you able to paste your lines here: http://www.rafb.net/paste/
select all lines then use the center button of mouse to paste in the box
paste the url at the end
I can't find a gui network configurator on my bdi
I can't believe there isn't one
nope - that was on my Ubuntu box with KDE 3.4.3
it's quite nice actually, but not worth the pain of a BDI upgrade
im happy with an old p133 and linux coyote to share my dsl
all in a floppy, all in memory.. its cool :)
a complete distro as Debian, could be better, but i dont need printer,webserver, etc.. so its enough
[16:17:56] <skunkworks_wrk> http://www.rafb.net/paste/results/aWwjmE11.html
skunkworks_wrk: the problem may be the capital A
skunkworks_wrk: seems ok
Crap - didn't see that
skunkworks_wrk: just a guess
* cradek is not a kde OR debian user
if you cat /etc/resolv.conf you should see your dns servers too
but fix the static part first - dhcp overwrites resolv.conf
vi has a weird habit of capitalising letters
you may be hitting ~
skunkworks_wrk: you should alway take care of capital letters in linux
~ changes the case of a letter
I prefer do not use space too, in the file name
hey - I can ping it now
I always prefer underscore
woo hoo - I can surf - thanks everyone. I wanted to try to download the latest axis and maybe even the updated interpreter.
skunkworks_wrk: are you using emc2?
skunkworks_wrk: I just built emc2+latest axis and it works great
playing with it - I would say
cradek: question for you about Axis (which may actually be a HAL / emc task question)
in testing the new ppmc driver and default .hal files, I tried to run the 3d_chips file
I would see a zillion emcTaskPlan messages go by - up to line 1005 (every time), but there would be no motion and no following errors
you are seeing the interpreter read ahead in the file
no motion is not normal...
I wonder if I haven't connected some motion-enable pin somewhere
something is wrong with the ppmc driver or hal config, I guess
yeah, maybe something like that
or, maybe it's working but you're not getting encoder feedback
but you would get an immediate following error then
nope - I looped back the step generators to the encoder inputs on the board, and I saw no motion
that was another failure mode though - in jogging
sorry, I don't know how to help
ok - it's probably something to do with the motion enable pins in the iocontroller or motion
I agree that sounds likely
the other thing I noticed was tool table and part file editing - I think it would be really convenient to have buttons in Axis to edit those files (by spawning an external editor)
I know what the tool table is
what is the part file?
separate reload buttons would be fine - all the stuff we discussed earlier wrt detecting changes can be ignored
the file loaded with file -> open
oh, I see what you mean
is there a config file for axis (to save options like showing part extents and the like)?
heh - where's the feature request tracker ;)
I'll add saving prefs to the list - seems reasonable
ok - thanks
some things come from the emc ini
maybe I'll find that python book of mine and do some light reading
units, abs/rel, commanded/actual etc
sure - also startup G-codes (hint hint)
but I don't think "show extents" belongs in the emc ini
it's display related - could be in the DISPLAY section though
or even an AXIS section - no reason you can't create one
I have mixed feelings about that though
yep - how do you transfer settings separately
I think user should be able to set them in the gui and save them there (or have them magically saved)
or set ddefaults
though you may want separate configs for different ini files
but that probably means writing ~/.axisrc
so specifying the config file in the ini might make sense
until we have more (and more complex) prefs, I don't think this is a big issue
nope, but I was thinking the external editor should be a pref ;)
yes, that would need to be
any thoughts on including Axis in the emc2 tree?
still up in the air
the SF feature / bug trackers could be useful
it is not necessary to use sf's cvs in order to use sf's bugtracker
true - we can always add axis requests to the emc trackers
I think a sf bugtracker category would be fine today
but I don't have the ability to add a category
I'm sure that any of the admins would do that for you :)
(bnut don't ask Ray - he may delete the repository ;) )
I'll ask alex to do it later if I remember
I'm guessing he should be around soon
cool - thanks
Screw the machine, I want the cabinet! lol ---> http://cgi.ebay.com/Moore-Jig-Borer-Model-1-1-2-with-bench-and-tooling_W0QQitemZ7567098788QQcategoryZ92083QQrdZ1QQcmdZViewItem
damn - I'll say
and the bricks ;)
the blocks under the wood under the machine
ah. I just like the cabinet is all - you don't see that kind of stuff anymore, just like roll top desks and such
Ok, I must be missing something here, $11 for a stick of wood and a slot? http://cgi.ebay.com/CARLISLE-SLOT-CAR-CHASSIS-BUILDING-JIG-A-MUST-HAVE_W0QQitemZ6016746986QQcategoryZ2617QQrdZ1QQcmdZViewItem
yeah - but it's got a couple of pins in it or something
tat's gott abe worth something
and the very precise slot down the middle
thanks again guys - Up and running on my linux machine.
that would easily take 17 seconds to make on a table saw
and it has 3 bids, plus $10 shipping
heh - there may be some silly regulation thing going on - you know, exactly 3.421278 inches from front to rear wheels
anyone know of any CHEAP (and plentiful) 110VAC motors that do around 18 RPM or so? No need for toque.
18rpm is very slow - would a gearmotor do?
have you searched ebay for gearmotors?
SWPadnos: No, due to the plentiful necessaity
ah - so you need a source for production
* Jymmm not that familure with 110VAC motors
SWPadnos: yeah, or even something I could rip apart... say can openers or whatnot
though I've never cracked open a can opener before
how about 20 RPM? or would you prefer to go lower instead of higher?
something in that general speed
[17:37:32] <SWPadnos_> http://www.surpluscenter.com/sort.asp?UID=2005112912273943&catname=electric&keyword=GIAD
the 20RPM for $13.99, or 25 RPM for $19.99
or this guy http://www.surpluscenter.com/item.asp?UID=2005112912273943&item=5-1089&catname=electric
or forgot... needs contonous duty.
but rotissery/mixer gives me ideas
Guess I should hit the $0.99 store for ideas.
the rotisserie would be a good idea, but a mixer or any other consumer appliance wouldn't be
It's ironic.... it be cheaper to rip apart a brand new battery charger for the xfmr than it would be to buy the xfmr itself.
I guess I'm goin for the same thign here.
unless you count the cost of the time
what? to remove 4 screws and cut some wires? It take longer to pull it out of the box =)
you still have to pull it out of the box ;)
then there's the shell disposal cost ;)
who says? =)
and I get a free enclosure to boot
glass half full kind of guy, huh
usually no, just was in the market for some xfmr, and the cost of of the car chargers at home depto were much cheaper.
hm - those are pretty low power though
well - not necessarily I guess
yeah, the shipping weight was the killer mostly
30A * 12V = 360W - not too big
My univstep is alive.
cool -I just noticed your email
Can you believe a bit of a charge pump that is supposed to work during handshake.
I was having some trouble excecuting g-code files - there is probably an error in the hal files regarding iocontrol-enable and / or motion.enable pins
Might be. It was working a while back but...
did you have a non-pico (or non-epp) device attached to the port?
no. with the athalon the handshake happens fast enough that
the cmos charge never gets to where it allows it to come out of estop.
It holds ppmc.0.dout-15 false.
Jon built it in deliberately.
right I was guessing.
that's supposed to be false any time that dout.7 is off
05 bit -W TRUE ppmc.0.din.15.in ==> EstopSense
that's why Jon zires input 15 to input 14 - so you can read the estop state even when the card is disabled
he said even high capacitance in the cable can cause it to fail.
the inputs all work even with the card disabled, it's just the outputs / step generators that don't
Break the connection to pin 13 on the parport and that speeds the
except for estop
charge up of the pump
Now on to CL and a demo.
ok - that's the "select" pin - defined as usable by the specific application
and his whatever was this pump during handshake.
there are some annoying "features" on these cards
Right. I think that each emc hardware maker and code writer tries to get around "issues"
I know I did ;)
by building in overkill rather than solving the real problem where it lives.
Well I've got to run to town and pick up a few things.
Thanks again for all the good work.
sure - see you later
Another stupid question. Is there a way to have emc2 start up with the axis posision that it was shut down with?
funny you should mention that - there were recent discussions on that very topic.
I believe the answer is no, however
that's right, I think the answer is no
funny - guess I need to get my home switches working. ;)
it does preserve offsets though
skunkworks_wrk: just jog to 0,0,0 before exiting emc
I had thought that the axis positions were written to the parameter file at startup/shutdown, but they're not
skunkworks_wrk: I do that all the time (I also home "by eye")
well - read at startup - but you get the idea ;)
sometimes 0,0,0 is outside the machine envelope - (granted there are ways around that also)
no, just the offsets
you can jog to 0,0,0 in your relative coord system then
no, wait, that won't work, you need to go to absolute 0,0,0
message printed by building the BOOST C++ library
and it was printed twice
in a row, or after an appropriately long pause?
skunkworks_wrk: I can't see any reason to have absolute 0,0,0 where you can't jog to it
skunkworks_wrk: the abs machine coords are arbitrary - you can set 0 to be the center of travel for instance
if you're working on a part that's larger than your work envelope, it could be useful
though you'd have other issues
that's what part offsets are for
sorry - I am still in the turbocnc state of mind. g92 would reset the master coardiance system - not being able to go back to "master"
oh, never used turbocnc
So yes - I could go back to the original 0,0,0
it's Tom Hubin's favorite (and the reason he posts stuf on CCED about emc not being usable)
are you subscribed to CAD_CAM_EDM_DRO?
ah - then you wouldn't have seen
anyone know apx pricing on 24" x 24" x 0.375" 6061 ?
or even .250"
$20? $40? $80 ?
boiullion price is around $1.50/pound, I think, and you get ~9 cubic inches per pound
$193.25 for 24x24x3/8 sheet at MSC
Hmmmm ouch. is that mostly due to size or specs?
how's the cold?
that's for plates, so they're probably more precisely made
the cost for .25 sheet (24x24) is $114.85
SWPadnos_: very bad :(
$130.79 for the equivalent plate
so not too much difference
SWPadnos_: fever & all
okey dockey, thanks.
there are better places to get metals though
Yeash, just needed a rought idea is all.
there's a lot of stuff in boost
Jymmm: this terrible, complicated C++ library
jepler ah, ok.
Jymmm: imagine something like the C++ STL but written by 100 people who each feel they need to prove they're as clever as Bjarne Stroustrup.
jepler: Oh, you mean microsoft developers?
I am here http://axis.unpy.net/index.cgi/installing
for emc2 - I says to unpack axis in tthe axis directory - where is the axis directory at? Where should it be? in the emc2 directory?
no, you untar it wherever you want
that creates the axis directory, and you enter it to build and install
how are you guys?
alex_joni: hi! didn't see you there
I'm small..in a corner
alex_joni: would you make an axis bug tracker category? or make me an admin so I can do it?
sure, one thing before that :)
I think jeff and I agreed to do that a while back, but then forgot
move it in CVS :)
kidding.. doing that now
did you talk to jeff about AXIS & SF.CVS?
I'm not even ready yet
after this release cycle I think we might want to talk about it.
- don't know how I did it but axis is running the penguin. Thanks - that interface looks nice.
nice to hear that
any particular problems during installing it?
I was using the wiki instruction and the instruction on axis's website.
cradek: still around?
God - I don't know exactly what I did but the direction on axis's site didn't work - I had to install python first with the direction on wiki's site. Then the command on wikis site to install axis (python2.3 setup.py install) didn't work - but the command on axises site did. It could be all me though ;)
skunkworks_wrk: glad you got it working though
I'm back now
the wiki instructions are sometimes out of date
please update them if they are wrong and you know better!
Jymmm is now known as Red70sShow
Red70sShow is now known as Jymmm
I would have to do it a few more times to figure out what I did ;)
the hard part is done - making sure you have all the necessary software installed in the first place
very nice job - I like it. I was running the penguin with it.
from now on, it'll be as easy as `env EMCROOT=/path/to/emc python setup.py install`
That is what I figured
I think there was a few commands that needed to be run sudo - but like I said - I would have to do it again to figure out what I did.
* not a linux person
you're working on it - that's what count
skunkworks_wrk: you're getting there
quiet this evening
anyone here that worked on the mazak conversion?
Alex and I are about 8000km away form that mazak machine :-)
I think a bit more ;)
;) - I was wondering if you guys scrapped using the fanuc amps and servos because of the tach issue
thats no problem
but i read that the machine has no normal amps
skunkworks_wrk: you need to open your eyes for rayh or jmkasunich
the tachs are conected to the controller and not to the amp
or even fenn, or maybe SWPadnos_ (playing dead right now)
there is some good documentation on wiki and on the mailing list
I am dead
even though I'm only about 500 miles from the Mazak, I had nothing to do with the conversion (other than some discussions on IRC)
Ok - from what I read the fanuc servo amps needed velocity feedback in way of tach signal - while the fanuc servos had only encoders.
I think the problem was that the controller had to get the feedback, then synthesize something that the driver could use - or something like that
and the control didn't work, and had no documentation, so they couldn't use those amps
maybe frequency to voltage conversation (tacho simulation)
yeah - something like that, but without documentation or a working unit ;)
makes it a little harder
djb_rh_ is now known as djb
we where looking for some cheap servos and drives for our big mill - there sure is a lot of ge fanuc stuff on ebay
cheap is a relative term though ;)
I know - I know
I guess we are used to making junk work. ;)
SWPadnos_: cheap ;)
no - just my relatives ;)
not you swampy :P, the servos skunkworks_wrk's looking for
heh - I just know the prices for feanuc motors on ebay, and I wouldn't call most of them cheap
though I only search for the DC brush motors, not AC or BLDC
we want to replace the hydrolic servos - Now there is some torque ;)
indeed - hydraulics are pretty amazing (but big and messy)
I'll say - I am trying to think - I think when we where looking before they had 75ft-lbs of stall torque
that'll be a big servo
We figure we will have to put up with less. Not a big deal.
Xlib: extension "XFree86-DRI" missing on display ":0.0". I this normal for axis install
I didn't get that error
either installing or running axis
I get that error in the terminal window when starting axis
it is right after the emcTaskInit: adding user-defined function ../nc_files/M101
does axis display, or does it bomb out?
what video card do you have in that machine?
Cirrus Logic 5419
seems to start - first time it bombed out.. I think with axis I can't run as fast a period. I ran it back to .00005 and it came up and seems to work
axis is a bit more CPU hungry - I think it does more checking for status changes
I don't know what video is in the machine - will check
yah - something is not right. The cylinder is not a visable
well - DRI is an acceleration feature of X-windows, and you probably don't have it installed correctly
hey I had a hercules card a long time ago
or configured? (sorry - I can't be of much help there)
I guess I can go through it again - how can you tell the video card? it doesnt seem to be in "info center"
actually - try this first:
grep DRI /var/log/XFree86.0.log
tell me what that does
no such file or directory - do I have to be in a root terminal?
you may need to be
it tells you if X tried to load DRI when it was last started
says (II) loading extenion xfree86-dri
ok - it thinks DRI is loading - that's probably a good sign
jees - it won't remember your last exited axis posision but it does remember the g92 offset ;)
skunkworks: that "DRI" error is harmless. It simply means that AXIS will fall back to slower "indirect" OpenGL rendering.
it seems to be running other than the taperd cylinder (tool) is not colored. black hole ;)
huh, I'm not familiar with that (mis)behavior
going to have to find a better video card? something that supports opengl? the machine at work that I was playing with worked just fine displaying the cutter
no, even if your card doesn't do accelerated OpenGL, it should still work just the same. Modern X servers all have software OpenGL. Though there may be some kind of bug, if the cone is black...
can you change the color some how?
just for sh$ts and Giggles ?
in scripts/axis.py, search for "def make_cone()". The line "glColor3f(.75,.75,.75)" is supposed to set the color to 75% grey. You might also try commenting out the line that says "glEnable(GL_LIGHTING)". After you edit that file, you need to "setup.py install" again.