* anonimasu yawns
ne 1 home?
anyone? ... Bueller?
...this thing on?
you're funnin' me.,..
how do you know?
hmmmm.... welll. *sometimes* the voices come from the box....
ok you caught me
looking for the pages that show what g&m codes are suported in emc
know anything about that?
let me try to find the link
or if you just know...
[03:28:39] <cradek> http://www.isd.mel.nist.gov/personnel/kramer/pubs/RS274NGC_3.web/RS274NGC_3TOC.html
this is the rs274 language spec
what's it supposed to do?
yeah, see that ...
I need to cut a spherical cavity
and am not sure just where to start or how to program onw
actually, just a portion of a sphere
you will have to generate the toolpath yourself (programatically I assume)
well... therein lies the rub...
not a programmer?
I don't have access to cam anymore
I write by hand
"math it out" as it were
if you know the math, writing the program is just one more step
well, I know the parameters of the spherical section
does it have to be exactly spherical (meaning you will have to account for the tool shape?)
yes, I would like it to be, but I suppose *some* error could be forgiven
I've been doing it on a lathe, but would like to put it in the mill and have it do it
well imagine cutting a hemisphere with a ball-nose mill. the depth will be less than the diameter of the hole
(if the tool path is along the hemisphere)
will you have to cut it in multiple passes?
sounds like a non-trivial program then.
hold on ... lemme get some info... brb
I'll brb too
k, am baq
stupid thing is, there are tools I can use to do this, but can't figure out the first step
for instance, if I could render it in solidworks, I could use freemill to code it
but I can't figure out how to do a hemishere in sw
subtract a sphere from a cube?
(I don't know anything about any solids modelers)
imaging that would work, but beyond my present knowledge
there's GOTTA be a somewhat simple way to math it
sure there is, you convert from spherical to rectangular coordinates and iterate through the sphere
x = r sin theta cos phi, y = r sin theta sin phi, z = r cos theta
or something like that
right. but that's a LOT of rewriting
how the FSCK did you just spit that out like that?
that's GOT to be a sign of illness
I wish I could say I remembered it from calculus class, but I just looked it up
all you have to remember from calculus class is *what to look for*
had an old teacher that oft said,
I don't expect you to remember every formula written
but I do expect you to know where to look it up
so I'm trying to "look up" my problem
I think I've written the skeleton program, let me see if the output looks right
brb, just got an offer to help me code it
okay, I'll be eright baw
what did you use to write the skeleton?
well, 360*180 G1s is probably not the optimal solution here
sometimes I envy you programmers
[04:05:49] <cradek> http://timeguy.com/cradek/hemisphere
going to go look
I'm looking at the screen, thinking it looks REALLY kewl...
but in my head, all I hear is Charlie Brown's teacher...
Wha wha... whawha wha whaa whaaa...
<insert muffled trombone sounds>
does that only workin axis?
or is it an outside program?
no, I just used axis to display it.
it= the gcode
the gcode is generated by the python program
see the line that says print "G01 ...
how can I test it?
no, I see a print m02
inside the loop
I'm a dumbshit
I need to work on getting opengl on my box so I can try axis again
see, it loops through theta, and inside that, it loops through phi. For every combination of theta,phi it calculates x,y,z and prints a G01 command.
that's very kewl, dude
dtor is a function that takes in degrees and puts out radians
just thinking out loud here...
would it be desireable to just do two axis arcs in the x,z planes (or y,z planes) and use a step over to rotate around the circle?
wondering if it might reduce things a bit
yes of course
what I couldn't figure out was how to do the step-over
this first program is the "simple stupid" way of doing it
no, no, no...
don't take that as criticism
I'm simply spit-balling
no of course not
thinking out loud as it were
you should definitely draw circles.
aside from the programming, do you understand the math involved here?
vaguely, I understand what you're proposing, but don't get the "how you did it"
if you understand the math, you are plenty smart enough to read the start of the python tutorial to learn to make these basic programs.
my biggest enemy
I also just bought a lathe today to convert for EMC
well, sometimes you can either spend time or money to get your results.
you will NOT regret spending the time to learn to write basic programs.
most often it's a combination of both for me
oh, I know
it's just finding the time to do it
it's not an aversion to it
I did some simple bash and perl scripting in a former life
it's my bedtime... lots of work to do tomorrow!
good night - good luck with your project
how can I test that
you can copy the program into a file "hemisphere.py". then run it with "python hemisphere.py"
kewl, THANK you
send the output to a file with "python hemisphere.py > hemisphere.ngc"
then run it in emc
you rock the casbah
then, change it around to do what you actually want
since it's all wrong (the hemisphere isn't in negative Z for instance)
kewl, thanks again
ValarQ, still there?
I took him out into the alley and mugged him. he'll be in the alleyway
fenn is now known as fenn_afk
fenn_afk: now i am
who is meep?
do you have any manuals or how-to - documents to install BDi with RT patches
robin_sz: meep meep!
* anonimasu yawns
hm, perhaps I should have a shower and go to work
is there anyone working to translate emc documantation in other languages ?
got things running?
Imperator_: you around?
how are you
yes, quite well, i'm in the part PID Tuning.. very hard ! i'm studing :)
jacky^: you running servos?
Imperator_: pretty ok, got a long sleep last night :)
no need ?
steppers don't need PID tuning
should be ok
i heard of steppermod, but seem not available on my installation, will try stepgen
Is emc2 now running on 2.6 with the original period time ???
jacky^: what installadtion do you use?
I thought you were using emc2
cool, what was the problem
Imperator_: there was a bug in rtapi
one paul_c spotted a while back ;)
but it didn't get fixed till now
alex_joni: i'm using BDI 4.20 on a cely 800 256 mb ram
then you're running emc1
lemme check a bit on the sources
have holidayy this month :-)
and I hope to finish the hardware of our emc servo card in that time
* jacky^ is going to connect irc from the other pc..
Martin: how's life for you?
didn't see you in a while
alex_joni: I was the last week at the Largo di Garda (Gardasee) with the mountainbike !!!
it was great, every day about 1500m up
in the north
that is nor or less germany :-)
thought it was austria ;)
it seams that the italian have divided the lake in different aereas for the tourists
the north (Riva and torbole) is for the german speeking, Lemone for the American, ...
on the BDI4 you definately need to use freqmod
jacky^: but I'm not sure you need to adjust PID very much...
alex_joni: aniway i would like to try the same
just to learn
you'll want to touch P, and maybe FF0
i printed about 80 pages of handbook pdf (the most rilevant sections, configuring emc, .ini , etc.))
i'm going to try to configure these sections
standard config should get you move the motors
but it's ok to tweak ;)
i tried generic.ini just changed IO variable to my isa card, it work
i also made my firts little penguin some day ago
you have a parport isa card?
jacky^: got a pic of that?
the card i will use will be pci
for now, i'm testing with an old isa card
because i've not optoisolators on IO board..
alex_joni: no pic, sorry..
i tried 3-4 time chips3d starting with different position
using a small drill tool about 1 mm
the result is a small penguin about 1 x 3 cm (i don't know in inches..)
i tried with poliester material
What PCI Card do you want to use ?
Imperator_: i already have a pci parallel card i bought some year ago
i'm a newbie, i don't know much about supported mode
aniway i'ts a recent model
i think should work fine
i'm a little confused about how to setup input_scale and output_scale in the axis sections.. i need to read more to understand
you set those based on what you're driving
you need to calculate how many pulses you need to travel a unit
say you use mm
and you have a stepper (with 400 steps / turning)
what does the stepper drive?
2 Amp motors
no I mean .. rack & pinion?
i have no idea..
* jacky^ take a dictionary..
how does your table look like?
I mean your machine
you have the motors
and those are connected to what?
i can give you an url..
the project i follow
for the meccanical parts look like these: http://www.roboitalia.com/modules.php?name=coppermine&file=thumbnails&album=75
very inexpensive cnc
for the circuit side
i build from myself a controllers
the schematic i used is in http://www.yty.net/cnc/Steppermotordriver.pdf
jacky^: look at http://www.roboitalia.com/modules.php?name=coppermine&file=displayimage&album=75&pos=0
yes, is this
those are screws
with the motors on them
so you need to know how far the table travels on one motor revolution
yes, i've read it on handbook.. but i don't kown how to calculate it
that depends on the pitch of the screw
or you can measure it.. not that precise as it datasheets
what screw did you use?
maybe just moving manually and reading the value on emc ?
screw are 6 mm
jacky^: that's diameter
ok.. do this
mark the position on the table
and manually rotate the screw 10 times
and measure the distance the table moved
manually you mean from emc software using a command ?
no..by hand ;)
but you can do it by emc too
enter input_scale and output_scale = 2000
and from emc issue G0X1Y1Z1
and measure the distance the table has moved on the axes
input_scale means that for 1 unit (X1) it'll output 2000 pulses
200 pulses will make the motor turn exactly one turn
hence 2000 will make it travel 10 turns
aha ! thanks a lot :-)
now it's more clear
alex_joni: i also get 3 of these: http://www.rs-components.it/cgi-bin/bv/browse/Module.jsp?BV_SessionID=@@@@0880983121.1117890987@@@@&BV_EngineID=ccckaddekjiehflcefeceefdffhdgmn.0&cacheID=itnetscape&3295343819=3295343819&catoid=-167976631
motors now are responding very well
next you need to figure out how much it traveled
and adjust that value (2000)
so that on G0X1 it will travel 1mm
i'm going to apply your directives :-)
will see soon..
alex_joni: got a min?
alex_joni: i changed the stepgen type as you told me but emc2 keep telling me that there is no pin named stepgen.0.phase-A
hang on a moment
alex_joni: do i have to unload hal to get it working?
* ValarQ is hanging on a moment
you're using stepping type 4 ?
hmmm for stepping type 2 you have:
did you shutdown emc?
or, i should have...
yes, i have restarted emc
lemme try it too
you can do it manually like this
sudo scripts/realtime start
should insmod neccessary RT modules
sudo su (enter as root)
insmod rtlib/stepgen.ko cfg="2 2 2"
should show you loaded components and pins
* ValarQ is testing
it seems to work here
I only changed core_stepper.hal
changed the config for stepgen from "0 0 0" to "2 2 2"
then I changed the link for Xstep and Xdir from stepgen.0.step and stepgen.0.dir to stepgen.0.phase-A and stepgen.0.phase-B
alex_joni: yeah, my problem seams to be that the module doesn't change the pins or it doesn't get unloaded correctly
alex_joni: i listed the pins with halcmd and step and dir is still there
seems like your module doesn't get loaded correctly
probably there's already a stepgen resident
try rrmod stepgen as root
i did, and then i listen the pins with halcmd like you wrote
same result, the module seems to ignore my cfg parameter
it really looks like it's unloaded correctly
paste me the command line you used to load the module
I assume you do that as root
dmesg might be your friend here :)
alex_joni: insmod rtlib/stepgen.ko cfg="2 2 2"
alex_joni: yeah, uid=0 :)
slightly - I have relatives visiting
was wondering about make fooconfig
unknown parameter "cfg
what the heck?!?
so it starts up using defaults
use modinfo rtlib/stepgen.ko
see - dmesg *is* your friend :)
see if cfg:config string appears
SWPadnos: yeah, so it would seem :)
SWPadnos: I like the way RTAI people did it
alex_joni: it does
they just took over the code from the 2.5 kernels (the kbuild menu stuff)
the qconf thing, then an automatic ./configure?
alex_joni: but i wonder why it interprets the name as "cfg
SWPadnos: ./configure, then an automatic make menu config
alex_joni: that works!
then an automatic make
maybe all of those
ValarQ: strange .. :(
alex_joni: now i got a type 2 stepgen
hmmm - was that it?
ValarQ: but you need 3 of those
I thought you still had to make again
but I could be wrong
anyways.. you can put all in a script
but the make menuconfig per se is pretty nice
ValarQ: try cfg='2 2 2'
alex_joni: same result
or maybe comment the " out
You'd want the user to select from oldconfig, menuconfig, config, etc.
cfg=\"2 2 2\"
was using menuconfig as a general name
SWPadnos: ./configure might figure that out
alex_joni: that last one worked
1. if GTK is not available .. strike gconfig
so a "make" should have a sane default (though sane probably means ugly, since it would probably need to be config or menuconfig)
ValarQ: seems your shell is eating it ;)
make by default makes all, as in everything
if you do a make menuconfig, you might be able to specify some drivers you won't need
or mysqlconfig for what I care ;)
it sort of does anyway, since all of the *configs use libkconfig (or whatever it was called)
well.. what I care of,
1. add the stuff to emc2 (maybe in a branch)
the interesting thing is that they included the entire kconfig source tree in their distribution
it's only around 150k or something
but it saves you a LOT of headaches
I was looking at that as well, since they managed to remove the kernel-specific checks (like for /boot/config-`uname -a`
I agree wholeheartedly
so I think it's a good thing
ValarQ: just say if you need further assistance
actually, a plain make should just use the current config, not make all
didn't quite get that
there is an "allyesconfig" target as well
it shouldn't make all modules
If I set up a config, and I'm working on one module, then a make shouldn't select things I chose not to build
alex_joni: can i invert the output from stepgen?
alex_joni: and output it on another parport pin
ValarQ: you don't have to
you simply need to connect it to the inverted parport pin
alex_joni: oh, thanks
look at standard_pinout.hal
* ValarQ checks all the pins
instead of parport.0.pin-02-out
you'll want parport.0.pin-02-out-invert
SWPadnos: sorry was away for a bit
* alex_joni grabbed some spear ribs
SWPadnos: I think a .config generated in the main dir, and included by kbuild Makefiles would be ok
SWPadnos: still there?
alex_joni: it shows up in the pinlist but emc complains that it doesn't exists when i start it
hmm.. try this
1. start realtime
2. use halcmd to load core_stepper.hal
and see if stepgen gets loaded ok
then bin/halcmd configs/standard_pinout.hal
presuming that the above hal files are the ones changed by you
i can't load the .hal file with that command
does it say anything?
sorry - was afk for a bit
gotta eat with the family now - I'll be back later
alex_joni: unknown command 'configs/blah.hal'
bin/halcmd < configs/blah.hal
hang on a mom
bin/halcmd -f configs/blah.hal
ERROR: function 'stepgen.capture_position' not found
that's supposed to be stepgen.0.
nah.. it's a function
I wonder why it's not there
6th line in core_stepper.hal
is it wrong in the cvs?
hmm.. it should work
* ValarQ inverts it in hardware instead
sounds like stepgen didn't get loaded
try using -f
i am curious thought
halcmd -v should make it verbose
not more verbose
but it really can wait, i'm walking around the problem as the wuss i am...
Hi Alex. How are you.
thx.. pretty ok
The weather is beautiful today.
nice.. same here
but I'm too lazy to get outside :)
Ah. I'm stuck for a bit working on some gui stuff.
Say the configure stuff works really well with emc2.
Nice addition to the code.
nice to hear that
It's for a snowplow project.
was thinking on doing some more stuff to the build rocess
ahh.. nice ;) (I'd like some snow now)
Guy is thinking of a 12 way snowplow and needs easy 2 button operation.
We just got rid of our snow.
we are heaving some cooler weather these days
about 28 C
was up to 35 at the beginning of the week :(
That's warm. Is it also humid?
a lot of moistue in the air?
it's too warm
I don't look forward to the summer
it usually gets about 40 here :(
that's .. yucky... can't really work when it's that hot
That is much to warm.
can't even sleep
I know the feeling.
and AC's give me a headache
But most times we get a nice breeze from the lake.
rayh: you have compiled kernels, didn't you?
what do you think of make menuconfig & co
Only when I am forced to.
I believe that it is the only way to go.
yeah.. but how about using it in emc2's build process?
maybe have a default config (that builds everything)
With a Kbuild system, we can make very specific sets of executables.
but a user could 'make manuconfig' or 'make qconfig' to select only some
I was thinking more about modules, but yes
You bet. And this get's around code blocks that do not build properly.
which isn't used
SWPadnos: and I were talking yesterday
seems there are 2 ways
It's this or a dll
1. complicate things to the outermost extent, and search for menuconfig & co in kernel sources
2. include fooconfig stuff in emc2 (only about 150 k)
I greatly favor making it specific to emc
well.. it wouldn't be very specific, but we can work from there
You did some prelim work on Kbuild, didn't you.
well.. depends on how you see it *g*
emc2 currently uses Kbuild for the modules
as that's the standard way of building modules on 2.
the stuff SWPadnos started, and I worked a bit on, was using the same process (Kbuild) for a emc-configurator
I believe that menuconfig, kbuild, and such would allow for a wide range
of types of ...
damn I don't even know what the word is.
so the user specifies what kind of machine he has, thus implicitely selecting SW that needs to get compiled
compiled and/or linked
also .. maybe create some custom config files based on predefined samples
I believe that the underlying rules associated with these programs
like jmk did for stepping and servo
Yes. I think it could be applied to tasks throughout the setup, make if necessary, and selection of personality can call be done with a single interface.
ok.. I'll start looking at it, see what I can do
maybe discuss it tomorrow on wider extent, before commiting the code
With kbuild, the help systems can use some elementary html
This would allow for images.
For me, this would really help with HAL and other modules.
alex_joni: Okay. Another thought
Want your opinion on task
a bit more specific?
Lot's more specific. First right now task simply "appends" NML
to the stream of commands (canonicals) from interpreter.
An example is the tool change moves that Fred added for me.
When the M6 command comes to task, it prepends a move if a position has been specified,
hmmm.. I haven't looked at it very much
but I feel that some kind of scripting support is needed
interpreter reads that a script is called
and maybe task parses the script
which can contain IO, motion, stuff
IMO task reads the script or sends stuff to a module
make that and
and task is in charge of the execution of the whole process.
task reads the script, interprets it and send stuff to modules
I'm thinking of modules way above SHMEM
modules = iocontroller, motion controller, gui, etc
modules that get plugged into task.
Something like that.
Task is always running.
It passes stuff through a module for things like gear change or tool change
or palet change
But it is still inside task.
so that task can coordinate motion and IO.
I think of it a bit like decks of cards.
Right now there is one deck made by the interpreter.
Task can stick stuff in as a card goes by.
and eventually the stack gets delt out to motion and IO
The way I imagine it is different.
interp free runs building it's stack of canonicals.
task grabs those and applies machine logic to them.
We would take stuff like how to react to an m02
out of the interp and put them in task.
bricolou: what's up?
I'm just realised the EMC setup n my CNC
got pics for that?
but i've not time to run it
ys i've pics wait
i put 4 pics on my web sever at http://www.serge.izoard.dyndns.org/cnc/
I take it during setup ;)
I have not ended the Z axe
sorry for my poor anglish ;)
not a native english speaker myself.. so I don't care ;)
Hey. You are doing great.
not realy, 400 x 500 x 100 mm
what did I do?
[16:54:28] <alex_joni> morning paul_c
[18:54] <alex_joni> morning paul_c
bricolou: Nice work on the machine.
rayh: now where were we?
or better said, you..
* rayh is on the phone
* paul_c has been crunching some memory usage numbers
the amount of memory used is excessive
and probably we might reduce it?
ok.. which areas?
for example - the tc queue uses 153720 bytes
I remember adding those manually
that needs to be in kernel space, not shm
In fact, much of what is in shm shouldn't be there.
How much shared memory does emc2 use ?
hang on a mo
sizeof(emcmot_struct_t) (total shmem): 606692
out of which 440020 is emcmot_log_t
and 157100 is emcmot_debug_t
ARRRGGG.... Those _t suffixes are getting on my tits.
ok.. strip them
emcmot_struct is 606692
log is 440k and debug is 157k
so how much shm does rtapi & HAL use ?
I see a RTAI[malloc]: size 131072
but I guess that's RTAI stuff
still looking for rtapi and hal
hal shm is 65500
and halscope ?
scope_rt I guess
720K in total.
but if you count out 440k log and 157k debug
it's way less
plus a page or two for rtapi
597k for debug & log is pretty much
now wtf... has JMK commented out axVscale for (assuming it is the same var as emc)
The debug struct isn't going to drop in size until the TC_STRUCT is removed.
I like the estop on your machine bricolou.
got some preliminary code that reduces the tp stack to around 32K
james is now known as jacky^
does it make any difference in the comm stuff?
If the data format was migrated up through to usr space, yes.
paul_c: that axVscale has been moved to a different place from what I can see
not sure where ;)
that #if 0 used to be #ifndef NEW_STRUCTS
I think it's double vel_scale; /* axis velocity scale factor */
inside the emcmot_joint
ahh right.. make that emcmot_joint_T *big grin*
wth is it doing there ??? ?
it's one per each joint
instead of beeing defined once for all axes
no ideea why jmk did this, all I know of it is what I try to understand from reading the sources
<rough calc> optimising the tc stack and moving out of shm would see a 96% increase in speed of reading the debug struct.
how does .buildconf-emc2 sound?
Not done any measurements, but there will be a significant improvement in the speed of the trajectory loop.
or maybe the plain old .config is better ?
* alex_joni is adding obj-$(CONFIG_FOO) support in the build process
now why would you want to mess up the build system ?
I want to add some config rule
like make menuconfig
it would do 2 things
1. let the user choose what he wants (stepper vs. servo), drivers, etc
it would choose stuff to get compiled
and it would produce a sane config for his situation (based on templates)
so the configs would be auto-generated from the config stage ?
more like snipped together during the config stage
over-writing any pre-existing configuration files.
say a user wants servo on a motenc card
over-writing a default config file
or maybe creating a new one
with a message for the user to work from there
One tool to compile the code, another to configure - Don't mix the two.
well.. it's not configuration per se
but selection of the stuff the user needs
(didn't quite come out right)... One tool to .config & compile, another tool to configure the system & produce the ini
ok, I can see that
but the second tool (the configure) would need to go based from available modules
If 2 then I see a strong link between them.
paul_c: some of the ideas that have been floated around have to do with "modularizing" the userspace code
No need to config stuff that aint there.
rayh: my point exactly
so there would be more of a need to select the items to be compiled
So the system configuration tool reads it's input from a .config
(especially if there are multiple source files that provide the same "service", but for different hardware
I'd even extend that thought to the HAL modules.
sorry.. misread that one
probably mis typed or mis thought.
thought you wanted to say to use HAL to extend that
To have the build system generate .ini based on what is compiled is lunacy.
not based on what is compiled
based on what the user says
you can have a config program that does the ini
but generates also the .config
for needed SW
it can't build the full .ini - the build has no knowledge (and should have no knowledge) of the steps per unit, for example
SWPadnos: I was thinking about a config utility
based on Kconfig
yep - that could work
Not all systems will have Qt
like the one we started 2 months ago
There would be several loops through the whole config process.
well.. menuconfig should run on all systems
anyways.. currently I am adding .config support
So you are going to rely on the kernel's menuconfig system to be compatable across all systems ?
IMO aunt tillie's version will have qt.
and only for modules, and only for 2.6 systems
now.. for menuconfig, I'd do it the way RTAI did it
include it in emc2
and based on ./configure build menuconfig, gconfig, or qconfig
but the functionality is pretty much the same, so it shouldn't matter if a user does qconfig or menuconfig
but that's still away
Oh woopie.... More code to support & fix when GTK or Qt changes.
well the alternative is worse
making ./configure figure out how to use menuconfig & such from the kernel source dir
or from rtai's source dir
The way I see it, if a kernel module doesn't compile, it doesn't get included in the make system
hmm.. supporting only menuconfig might be pretty easy
I've got to run to town but as I said at devFest, I really favor a way of making EMC that allow complete choice of the parts to be made.
Right - So how do I test my code within the emc2 framework ?
what did you touch?
tp, tc, ...?
didn't touch tp & tc
Replaced 'em both.
do the same in emc2 ;)
at the mo, could do.... But.
argh. It's so hard to carry on an interesting emc related conversation with relatives (including small children) visiting
get them in here ;)
wouldn't *that* be fun :)
(I looked at that and realized I should have said "while relatives ... are visiting"
Some of the real benefits would only be noticed once the data format has propogated up through to the usr space code.
paul_c: what would that involve?
on my part ?
small changes in a multitude of places where ever a position struct is addressed
one type, yes.
well.. if you feel me in on the necessary changes I might do them
thought you were looking at libnml & kbuild.
I am doing some kbuild stuff, but I'll finish soon ;)
or leave it aside
for now I think I'll add .config (written by hand)
and include it in the proper places
so in the future a way to generate .config has it easier
how does that sound?
You going to try and commit a file called .config to CVS ?
NO! it won't. First my ipod, and now this IEEE 1394a card won't work either!
stupid freak'n MS.
I blame MS.
A-L-P-H-A: blame as much as you can
I was just readign the adverts for "CNC Workshop" in 2.5 weeks time
> Come and meet the names you see on the internet - Art Fenerty, Jon
> Elson, Ray Henry, Fred Smith, Ron Worth, and lots of others who
> really know their stuff -
a .config is a temp file, and may well be filtered out by SF
well.. I'll try in the kbuild branch.. ok?
that should be fun ... do the event organisers provide the gum shields and the cut man?
still don't think it is a good idea to commit it
how about default.config ?
how about extending Makefile.inc ?
with those values?
I did extend Makefile.inc
but to include the file
not to have the files in there
but I guess that
that's a way too
only thing.. then it's harder to produce the file from a script/program
Put markers around the various sections
#### BEGIN CONFIG ####
#### END CONFIG ####
and parse it?
ugly hack ;)
why don't you like default.config ?
* alex_joni doesn't like grub
I'm the lilo fan :)
having yet another autogenerated build file smacks of....
I see the value in having less separate files
'spose we could have a hal.config, an rtapi.config, libnml.config, emc2.config, and then a top level .config to decide which ones get included.
and in hal/, .configs for each module
now that's way too much ;)
we don't have that much stuff
for now this only works for modules
I guess it could get extended
but scattered... not sure that would be ok
Look at how the kernel build works - One single .config for everything.
I sorta like the way apache does it... httpd.conf - A single file for everything, then a user can override certain aspects with .htaccess files.
Jymmm: that's runtime
not compile options
alex_joni Ah, nm
paul_c: right, I agree that one .config is enough
Don't let jmk's multitude of config/*.ini extend to the build system.
that's why I was talking about default.config
just one, placed in src/
as part of Makefile.inc
and btw, there's no multitude of *.ini ;)
What about a single .config with the ABILITY to have an inlcude. Like for when testing certain builds.
paul_c: I can do it as part of Makefile.inc, no problem
emc2.ini requires one or more foo.hal
only thing is that it makes automating changes a bit harder
there's a multitude of *.hal I agree :P
btw.. just had a talk with ValarQ
he very much liked the HAL stuff ;)
one of the first users using it... besides developers
Chatchai Neanudorn doesn't...
Chatchai Neanudorn doesn't like a few things
amongst those the motenc driver
I'm not aware that PID parameters (the number of them at least) have changed from emc1 to emc2
but I agree that he's frustrated.. not sure by what
changing the subject slightly....
back to tp stuff
I'll commit the config stuff to HEAD
If "we" propogated these changes up through to usr space
part of Makefile.inc.in
the need for posemath.c in kernel space would disappear.
I can then help you...
now that's a nice change ;)
using a branch?
probably till "we" finish it'll take a few days braking things
first stage would be to rename a few of the variables
stripping _t's ?
Does emc have the ability to control ENAble (idle power down after x number of seconds) if I wire up a spare I/O pin for it?
idle power down after x seconds means what?
alex_joni: more like carte_pos_fb & carte_pos_cmd (wth they are...)
alex_joni basic it means to shut off the current to the motors if no operation currently in effect.
Jymmm: not that easy to decide that
Jymmm: It wouldn't be too hard to add a counter to the stepper loop to provide an idle signal.
but then again.. who says it's idle?
it may be waiting for the operator to change the tool, or whatever
waiting on io
not sure if that enable could cause troubles..
you set a counter up that is reset each time there is a step or dir change.
depends on how fast the power supply comes back online
If none are sensed for x seconds
not power supply
you set an idle pin.
alex_joni the (xylotex) driver has a ENAble (per axis) that I can control from a SPST switch, but I was just thinking of making it idiot proof and left he controller have a little say it it as well instead of letting the motors idle at full current all day without realizing it.
I'm not sure you'll not run into troubles
if you have an long idle time, the drives will shutdown
then you have a move commanded
and the step signal comes..
how so? This would be after it hasn't rcvd a step signle in (lets say) 60 or 300 seconds.
say you had some moves
then you have 10 minutes pause
the drive shutsdown after 2 mins..
then.. (after 10 mins) you decide to move the machine
emc outputs a step signal�
along with the enable signal
I'm simply not sure the drive will be active fast enough to notice that step
hope you get my point...
Yeah I do, it's like hitting the gas before putting in gear
SWPadnos is now known as SWP_Away
it might not matter, but if you have an accurately homed machine it might
I'll ask and see wha the timing issue the chipset can deal with. MAYBE it'll be just be a EN and not a SLEEP function
i changed the value of LINEAR_UNITS in 1, also changed UNITS= 1 in axes sections to work in mm instead of in, but get an error running the program 3dchips.ngc: Error: linear move 11 out of range, i'm forgetting to edit some other variable ?
james is now known as jacky^
there is min_limit and max_limit
yes, ive seen
should i change it ?
well. if your machine only travels 20mm then no
it used to be defined 20 inches
20 mm.. ghghhg LOL
no, my machine travel about 20 cm
ok.. then do 200 as min_limit
see you again ++
thanks a lot alex_joni
-200 as min_limit
200 as max_limit
that way it shouldn't matter if you home anywhere
ok, tnx for the tips
one of our parrots died yesterday =(
She was exceptionally special too, never ever agressive in the slightest. just loved people.
did she talk?
a little bit, but gawd did she have a personality... I'd say "woof" to her and she'd start barking. I could carry her in my hand like I would grip a handle on a suitecase swinging my arm as one would usually do and she didn't care in the least
Jymmm: well, I have good news for you ..
robin_sz whats that?
you can still do that
carry her in your hand like the handle of a suitcase ...
The comment is a lil tacky for one. Two, no I can't. A necropsy is being performed as her death was so sudden we don't know the cause.
friend of min had a macaw ...
evil thing it was ... fell off his hand once and managed to cling on to his finger with its beak
robin_sz: ever heard of CNC_MASTER ?
yeah, found it
looks well advanced ...
so its a linuxy, or other hard realtime pulse engine ...
but it's not very advanced
and a windows client
[18:38:18] <alex_joni> http://www.jocomomola.de/CNC_Master/featurelist.html
no blending / circles yet
no more than 3 axes
well, just looking at what has been achieved so far by a guy on his own, its ompressive
looking at the sources
mostly autoconf & co
code is 120k
plain .c and .h
Nutzung moderner Technologien, wie XML und OOP
< 20 files
XML, OOP me ass
maybe on doze
in the GUI
the UI on Doze is a good plan
the driver code is 29k
that's the module that gets inserted
id be interested to kow what its max pulse rate was
I don't see any velocity limit, or accel limits
pretty crude code overall
wouldn't say it's a lot of progress in the last 2 years.. but a lot more work than I did ;)
i have some more of those interesting questions for you guys ;)
i'm trying to use mm instead of inches in emc2
but i can't get it to work everywhere
(some standard tkinterface)
ValarQ: there are a few things for mm / inch
first the ini
change every little place from inch to mm
i can't find any place
well... where's 0.039... change it to 1
LINEAR_UNITS = 0.03937007874016
UNITS = 0.03937007874016
then.. there is RS274NGC_STARTUP_CODE =G21
that you need to add in the [EMC] section
not sure why it's not there
not to 0.1 ?
I commited some stuff a while ago, but it seems that mailing to the commit list didn't get send
alex_joni: it works, thanks :)
I got some (452, 'Space shortage, please try later'.. ) errors
ValarQ: no problem
jmkasunich: ValarQ is one of the emc2 users ;)
dunno what is up with the commit liet
I added $(CONFIG_FOO) support for the modules
in future it might be possible to have a make menuconfig (or gconfig, qconfig) to select what the user wants to build
or any other script
OK (not sure I understnad that, but OK anyway ;-)
well.. basicly there's a CONFIG_FOO define for every module
if that is set CONFIG_FOO=m that means a module will get compiled
if CONFIG_FOO=n then it won't get compiled
and CONFIG_FOO=y is a mistake? (doesn't make sense to compile EMC modules into a kernel, does it?
but you might compile rtapi into the kernel ;)
not without some changes
well.. that's up to the config script
it can provide only m|n options
anyways.. got that mail on the dev list?
just looked at the emc-commit admin pages... can't see anything wrong there.
from the guy who says emc2 is full of bugs?
well he's just about the first person to try servo under emc2, he shouldn't be too surprized
I think others used motenc aswell
need to look into specific issues
in particular the shutdown sequencing... drive enable and zeroing DAC outputs on shutdown
[19:43:30] <alex_joni> http://mitglied.lycos.de/dieter096/
- a nice mill
fscking lycos webpage... all I got was cookies and adds
jmkasunich: isn't that part of hal_motenc.c ?
what, cookies and ads? ;-)
shutdown stuff needs to be coordinated between modules
no.. the shutdown
(although it probably would be a good idea to have the driver set DAC outputs to zero in cleanup_module
that would not result in unwanted results on rmmod hal_motenc
I need to talk to Pete V about a couple things on that driver
I want to change encoder scaling (on all encoder drivers) from units/step to steps/unit
that way the scale parameter will be something like 4000, not 0.00025
to make it like it was in emc1?
and then it can be pulled from the ini file instead of being coded in the hal file
core_servo.hal needs some work too
[19:49:05] <alex_joni> http://mitglied.lycos.de/dieter096/newpage0.html
jmkasunich: did you see the commits on iocontrol?
I moved the run of EMCIO a bit sooner in emc.run
so the pins exported by it were visible by hal scripts
ok, saw that one
last commit messages I have are from PeteV, adding motenc_io.hal and motenc_motion.hal
that's quite a mill
but I hate Lycos
but the mill makes it worthwhile
nice toolchanging too
it's very interesting they way he does Y and Z... most people stack Z on Y, he does it the other way around
yeah.. seen that
looks more rigid that way... and now that I think about it, that's how the big old planer, planer mills, and vertical boring machines did it
[19:58:20] <jmkasunich> http://www.marcdatabase.com/~lemur/lemur.com/gallery-of-antiquarian-technology/machine-tools/ics-planers-1914/ics-planer-1-300.jpg
its a .. planer?
ideal for cuttng dovetail slideways :)
wheres the DRO?
it's using linear encoders
I was observing that http://mitglied.lycos.de/dieter096/
stacks his Y on Z, like old planers, rather than stacking Z on Y like many newer machines
those .01 microns
jmkasunich: only thing I don't like.. he's using StepNC
jmkasunich: did you see http://mitglied.lycos.de/dieter096/newpage2.html
nope... what is that? (I can't read the german)
it's a revolving toolchanger
for 8 tools
now .. that guy is a skilled machinist
and a designer ...
pretty much ;)
that machine is up there with les's in terms of design and quality
Id say with skils like that, you could walk into any manufacutrer, be it cars, machine tools, whatever, and name your price
any small manufacturer
[20:10:28] <alex_joni> http://mitglied.lycos.de/dieter096/photoalbum.html
you can see it there
large companies don't want skilled folks, they want trained monkeys (easily replacable monkeys)
wow, of course .. for his home made, slant bed CNC lathe, I should have guessed :)
jmkasunich: it depends at what level ... for grunts, yes, they just want fodder for the process, but even so, most big companies can spot real talent, and grasp it when they see it.
hes probably done in his workshop in his psare tiem, what takes a team of 20 or more at Mori-Seiki
key factor - he's doing what he wants to do, at a pace he sets for himself
not what the boss tells him, with a deadline that forces compromise
I thought Les' efforts were pretty amazing, but this is another step beyond that even
ha, hey les ;)
got a challenger for nicest homebuilt mill
[20:17:50] <robin_sz> http://mitglied.lycos.de/dieter096/photoalbum.html
that's the lathe
aufbau 6 <lh menu>
Crap.. Babelfish barfs on the TC pages. :\
anyways.. what's new les?
his use of brass for the toolholders was probably a mistake
you mean the one that got damaged?
oh...I got the Dynomotion card!
it's because the tool got stuck in plastic, and the machine didn't stop
les: nice, any good?
I will mess with it when back to work monday
very curious with what they did to the TP
jmkasunich: if you hate lycos that much, try http://www.cnc-projects.de.vu/
Well just stopped by for a minute ...off to ...um...drink beer and cook Filet Mignon!!!
heh .. guess what
know what this guy's doing for a living?
working in a company that designs / manufactures machine gears
programming / using CNC machines
I cheated. I built machines like mine for a living.
off and on
Finally got to build one for ME!
that's even better ;)
I read a bit about lathes today
jmkasunich: what's still missing from emc to be useable with lathes?
threading, obviously... and 2D tool offsetting
lathe tools aren't usually round
how's threading done?
you need to synchronize Z to the spindle (like change gears on a regular lathe)
alex_joni: jmkasunich: Spindle speed is missing from what I've seen.
right - you need an encoder on the spindle
there is some limited spindle speed support, but not from G Code
An angular readout would be nice as well.
you could hack up a hal module for spindle speed
* alex_joni goes away for a while
probably I'll be back later
I'd settle for being able to swap the Z position readout for rotational speed or angle.
but threading sync needs to be part of the motion controller
[20:39:47] <robin_sz> http://mitglied.lycos.de/dieter096/hpbimg/spinne%20001.JPG
what I want to know is .. where did he get the dxfs for that?
here you can download the toolchanger plans from Dieter http://www.peters-cnc-ecke.de/Peter/Revolver/revolver.zip
but you must have a free Account at Peters-CNC-Ecke, or I can mail it
how do i alter the working offsets (G54) in emc2?
have it not running at the moment, but it must be somewhere in the menu of teh GUI
I'm still searching for the dxf's for that fly and spider ...
[21:07:24] <robin_sz> http://mitglied.lycos.de/dieter096/hpbimg/spinne%20001.JPG
he probably made them himself (or traced from a similar puzzle... you may have a long and fruitless search
or ask him !!!
ive seen that before though, at shows and things
and a dinosaur
I suspect they are distributed as a fun piece by one of the laser makers
alex_joni: it's working :D
alex_joni: must be some sort of magic :)
or miracle ;)
ValarQ: but as a good point
you can buy jmkasunich a beer now as promised ;)
we are celebrating with porter right now ;)
some kind of beer
some good kind...
dark beer ;-) mmmmmmmm
jmkasunich: ValarQ offered to spend a beer to the one who wrote the HAL
jmkasunich: if you come by you can have one :)
and one to the one that explained him how to use it ;)
* alex_joni just made that up ...
where are you ?
he's a fellow citizen of sweden, iirc
ahh... that's pretty far to go to get a beer
but if you do.. it's not far from here .. so you might drop by for another one
or two ;)
jmkasunich: depends pretty much on your present location
I'll keep that in mind
ValarQ: over the pond
alex_joni: russia? denmark?
nope, US (jmkasunich that is)
I'm in romania ;)
jmkasunich: any new thoughts on TP ?
(this afternoon I've been making a lid to keep the dog out of the trash can... very exciting project (not) ;-)
I think I'll crash soon myself, maybe tomorrow I'll get more done ;)
err.. today ;)
* alex_joni hangs around for a while
i wonder why emc2 keeps bugging me about some joint error
what's the exact error?
Error: "joint 0 following error"
you might have to tune max_vel and max_accel
now that you changed from inch to mm
i have changed max_vel, could that be it?
did you increase it?
that might be it
ValarQ: running a fast computer?
pentium III coppermine
hmm.. you might get a faster speed than the default value
there is a param in the ini
it's ending in 50 now
try decreasing it a bit
but if you decrease it too much, it will lock your system
so you'll know when it's too much ;)
* ValarQ will truly and surely destroy his system this time
it'll only lock it solid
but if you push reset it'll work again.. hopefully *g*
that was to much... :(
enough to lock the system
* ValarQ is trying again
try 40, not much lower
i tried 20, the machine survived but i got the same error
15 seems to work thought
that's pretty low
ok.. if you still get ferrors, you might want to decrease either max_val
BASE_PERIOD = 0.000015
I've always wondered why that cant be:
or well morning/night :)
BASE_PERIOD 15 ; in uS
robin_sz: why not?
ahh ;) heh
that would make it too easy
or 15000 in nsecs
heres the nightshift :)
as that's used in the module anyway
* ValarQ is soon going to bed
[02:14] * ValarQ is soon going to bed
much of that could be self-configuring
BASE_PERIOD = auto
let it run a little test and figure out a value for itself ...
you need a button
the system tests, and when it locks you need to push that button
it's called the reset button :P
a black one?
ona a balck panel?
I have one of those, but its worn out ...
I used to run Win95
* alex_joni goes to bed