what kernel version are you using ?
did a make clean, make all
clean doesn't remove the .depend files...
* alex_joni can't figure out from where /usr/include gets included
hope it helps
alex_joni: /usr/include is included implicitly unless -nostdinc is specified
but linux/version.h should be in the kernel headers
it is running
jepler: with axis btw ;)
I removed the -D__KERNEL__, and got it to compile
paul_c: I just remembered
there is a small thing I adjustedin rcslib/etc/generic.def
it's a awk command, generating a warning ('\ ' treated as ' ')
alex_joni: axis must have too few users so far, I'm still thrilled to hear each time someone says they're using it
is there any reason '\ ' needs to be instead of ' ' ?
well.. I actually ran it 2 weeks ago (when you launched it)
now it's running on a autoconf-enabled emc1
that's right, chriw as able to get it running
er, chris / cradek
chris is ok ;)
why do I always end up with so many windows open?
28 windows on 5 desktops
it's worse when my computer has been up for weeks instead of days
paul_c : were you able to save that vim highlighter script I made a year or so ago?
turns out ive lost a lot more then I though I did
na, I find those under things from time to time,
robin_sz :) how you been?
just fine ...
I know robin has the file
nut bag past year
Probably have the highlighter stuff somewhere in the archives.
oh, the vimfile .. ?
if I can remember the filename ...
yeah, may be emc.vim
im trying to get back on track
neither of those ...
I wil have it though
that just seemed for fun to ask about other then can someone help me cvs the source. hahaha
more fun to ask about
my server is back up to oh about 70% of what it was now,
im doubting anyone uses vim
no, my mx records are borked
its not been an easy past year
I'm a long-time vim user
send me a copy too email@example.com
jepler then if robin finds it i may be able to hlep you ge tthe file installed
I also did one for mc but its not so good, mc has a very strange parser
oh yeah thats it :)
I'm not familiar with mc
jepler : let me know when you have the file, im gonna check on where to do the stuff with it
/usr/share/vim/vim61/syntax/ngc.vim is where you want that file located
thats where mine lives :)
then there is another file, Im having trouble finding it, that you add the line to tell vim to know that a *.ngc file has ngc.vim as the syntax file
ah, filetype.vim is in the vim61 directory
robin can you do a grep vim /usr/share/vim/vim61/filetype.vim
* paul_c is well shagged - Time for bed.
Paul_c : night
robin oops, not a grep vim but a grp ngc
I think I had you do ngc and maybe cnc
It was just 2 lines
looks like 'au BufNewFile,BufRead *.g setf ngc" and for any other suffix you use in additition to .g ...
I think I'll hit the pillows myself
jepler that may work
yes, it works here now
try it on a ngc file, let me know if I need to work on it still
n0010 in yellow, g1 in green, (comments) in blue, other stuff in magenta
hm, here's a line that displays unexpectedly: "n0410 x [2 ** 3.0] 1 = 2.0 (x should be 8.0)
from "3.0" to "2.0" it's white, not magenta
it may not be perfect, I was still working on it, but its better then nothing
same for other expressions
look at expr.ngc in the emc distribution
you may be able to tweek the file some, im not the best at things it seems :)
hm, no, expr.ngc is from some documentation. let me get you a url for this file
the vim syntax is really strange
gezr: you got the file now?
[00:39:42] <jepler> http://unpy.net/cgi-bin/viewcvs.cgi/rs274py/examples/expr.ngc?rev=1.1&content-type=text/vnd.viewcvs-markup
gezr: ^^^ the file at that URL has formatting issues for expressions with whitespace
yea, I think that is the main issue, where things are broken as far as white space goes
so an x3.0y3.0z3.0 would all apear the same
I'll leave it at http://www.quacky.co.uk/~robin/ngc.vim
if you need it
well I don't use expressions much in "real" ngc programs so it's not much of an issue
hey gezr, seen my new machine?
[00:42:01] <robin_sz> http://www.redpoint.org.uk/photos/machine2/
* jepler takes a look
jepler if you start a new .ngc will in vi with the highliter, it works much like any highlighter, say for a C program, it does allow alerts for propper syntax to form
robin_sz : that is sweet
* jepler heads off to have dinner
I reckon I have the build time down to under 2 days ...
gezr: if I ever have to edit g-code by hand I'll be happy to have this
most of my code is program-generated, however
robin_sz : thats insane :)
gezr: everything comes out of the CNC laser, through a CNC press and then through tthe powder coat ... then just bolt together
gezr: total welding is about 8 joints on the frame, time less than 30 minutes
oh you have progressed in the past year :)
whats your max plate cutting thickness
previously welding was HOURS ... and drilling ... guess how many holes I drill?
it looks really good
this machine is aimed at the 'ductowrk' guys, so maybe 12mm max thickness on the plasme
half inch ductwork hahahah
yeah its come on a LOT ... getting this: http://www.rapidcut.co.uk/images/LY2500.jpg
helped a lot
Trumpf laser :)
proper one too. one of the modern solidstate ones, not a CO2
how many kw ?
low. 700w of Nd:YAG laser .. equiv to 1.5kw of CO2
ok to 10mm though
thats super nice
for thick stuff I have this: http://www.redpoint.org.uk/photos/lasers/1600W_CO2_laser_head.jpg
and a 20KW RF supply to drive it ;)
* robin_sz nods
of course, now I have no money until the first machines get paid for ...
03alex_joni * 10rcslib/etc/realtime.def.in: added -DNO_STDIO_SUPPORT in order to make emc run. emc runs off this def file but with some hacking (-D__KERNEL__ needs to get removed), this has to be improved
robin: not considering selling an emc-control instead of the burny?
alex_joni: on a 4x4 machine yes .. for 'enthusiasts'
not on a commercial machine though
1.25 x 1.25m
4m sounds nice ;)
watch this space :)
I just want a hobber
we will do a bigger/higher spec machine before the end of the year. 2005 year that is
2 spindles on a few axis, thats it all slaved
ok guys... I'm outta here...
it's almost 3am here..
happy new years
* robin_sz waves
* alex_joni waves back
robin_sz I lost everything I had been working on last year
no programing or nothing since then
I lost the hard drive in my laptop
it stopped spinning
it came back off tape OK, there was a full dump from a month ago, and partials each week
so I lost just 2 days
oh thats not too bad
Ill need to get a fresh cvs get for any emc work
blessed are the paranoid, for they test there backups ;)
yeah, its chnaged a lot
emc2 is the place to be
forget emc1 ...
I was in a not to care state, so nothing really mattered :)
I know things still need documenting
easier to do a cvs or what do you figure would be best hit to go?
the machine ill be having things on for now, wont be an active control/rt box
I just need source
I'd just grab the CVS sources and spend a day or two looking through
jmk's HAL stuff is very interesting
I bet it is :)
everything still on sourceforge?
[01:03:57] <robin_sz> http://sourceforge.net/cvs/?group_id=6744
its 1am here .. I have to go ... you going to be back around then?
checked out emc2
yeah, I have a few projects back on the burner
life is much better now
not so depressed
ill do what I can, and try to be fun :)
catch you about then over the next few days .. I'll be here.
see if I cant learn some code after all
take care you guys,
got emc running last night... but there are some question marks in my head
what kind of questions ?
well about that -D__KERNEL__
seems that removing it did the trick
but I'm not sure if it's a legit move
to remove it
besides .. even it is, the CFLAGS returned by rtai-configure need to be hacked in order to remove the -D__KERNEL__
__KERNEL__ & MODULE are both defined for kernel modules.
and you certainly do NOT want to be hacking rtai-config to get round a problem in dro.c
but it's not only in dro.c
most driverfiles in emcmot complain too
can you send me the realtime.def ?
I think (although not knowing enough about these things to be sure) that dro.c and other .c files try to include /usr/include/sys files
and that the __KERNEL__ define prevents that (making sure you need to compile against the kernel source headers : /usr/src/linux/include...)
Does EMC compile using PLAT=rtai ?
but I'm not sure if it compiles right...
then the source code is correct...
I have the same stuff in /usr/include (kernel 2.4.21) as in /usr/src/...
rtai.def has no -D__KERNEL__
I'm not really sure if rtai.def cross-compiles right (compile against the kernel sources)
I need to boot a 2.4 box..
unfortunately mine is at home
I have a 2.4 here but not with rtai-3.x (only rtai-24.x)
* alex_joni fires up his devel box at work
you talked about a book writing modules some time ago
is there an online version?
not sure I follow...
linux device drivers or smthg like that
I want to read it over the holidays
Rubini's LDD book
* alex_joni googles
found a pdf version... downloading
[12:42:45] <paul_c> http://www.xml.com/ldd/chapter/book/index.html
yup .. thx
3rd edition should be out soon (I hope.)
* an0n yawns
how advanced is setting up, other then the default pin's in emc?
I am beginning to feel it's time to try it out soon
since I got the Z axis working
It's just a case of fiddling with PID & velocity/accel params
this box is so sloooow
tkemc has a calibration menu widget that allows you to adjust some params on the fly.
takes about 20 seconds to build ./configure using autoconf :(
paul: can I commit a change to generic.def to remove that annoying warning? (awk: '\ ' treated as ' ')
what line ?
well, I guess I'll have to start trunning emc
and writing a postproc for mastercam..
lines : 435
don't think there are systems where you need to escape the ' ' character
03alex_joni * 10rcslib/etc/realtime.def.in: added RTDIR/include to the CFLAGS, rtai-3.x sets this by default, on older rtai-systems it needs to be set explicitely
generic.def - What did you have in mind ?
that's the major problem right now
but it's only a matter of time..
changing (\ \=) to ( \=)
changing awk -F'[\ \"\t]' to awk -F'[ \"\t]'
to be more precise
Are you certain of what is being attempted in that expression ?
not really... but I get a warning saying that '\ ' is treated as plain ' '
so I removed the first '\' and it works here...
AFAIK -F sets the field separator
and ' ' can be set without the need to comment it out
The regex looks suspect...
what version of awk are you using ?
GNU Awk 3.1.1
gawk-3.1.1-200.rpm (SuSE 8.2)
Change awk -F'[\ \"\t]' to awk -F'"' - Note Single quote, double quote, single quote
and $$4 to $$2
03alex_joni * 10rcslib/etc/generic.def: changed a field separator to get rid of a warning; thanks to paul_c for providing the fix
swine - Blaming me if it wrong...
* paul_c slides off for lunch.
* alex_joni keeps messing with emc
should I commit changes to Makefiles in emc to make it work?
same kind of changes like for rcslib... not wanting to affect anyone...
space, tab, or double-quote seems like an odd record separator
well it's actually parsing a .h file
checking for a version number
jepler: any luck with that power supply?
alex_joni: oh, that was all hypothetical
jepler: one short question...
if you #include <asm/io.h>
what file should be included?
the one in /usr/include/asm/io.h ?
what if I have -I/usr/src/linux/include in the CFLAGS?
-I directories are checked before the normal include directories
I see.. don't see why /usr/include/asm/io.h still gets included... :(
and thus redefining functions defined in /usr/src/linux/include/asm/io.h
Can you tell if /usr/include/asm/io.h is included directly from your file, or indirectly? There are rules that "the directory of the current file" is searched, but that may only be for ""-includes, not <>-includes.
hm, no, the "info" page for cpp, node "search path" says that's only for ""-includes
it's a <>-include
let me finish the current compile (nonrealtime), and I'll get back to that issue
I'll post you some outputs from the process
echo "#include <asm/io.h>" | gcc -I/usr/src/linux-126.96.36.199/include -E - | grep asm/io.h | head -1
# 1 "/usr/src/linux-188.8.131.52/include/asm/io.h" 1
I get the expected results from my compiler
there must be something more going on...
ok.. I'll try to see what happens
I also get a very strange error:
can you look at emcstepmot.c ?
line 392: smTask gets defined
at line 1182 it doesn't get found
emcstepmot.c:1182: error: `smTask' undeclared (first use in this function)
and you're sure STEPPER_MOTORS is defined?
hm, that line 1182 is inside #ifdef STEPPER_MOTORS anyway
no idea, it all looks perfectly straightforward.
* alex_joni agrees
that whole definition in the beginning is inside a #ifdef rtlinux
that seems to do the trick
I added the #ifdef rtlinux around that #ifdef USE_RTL2
hm, a good C editor should have a "what has to be defined to get here?" button
is ther anything that'll do that?
now I still get:
In file included from dro.c:47:
/usr/include/sys/io.h: At top level:
/usr/include/sys/io.h:45: error: redefinition of `inb'
/usr/src/linux/include/asm/io.h:409: error: `inb' previously defined here
add "-save-temps" to CFLAGS, look at the created .i file, and figure out where /usr/include/sys/io.h is included from
or just fake out the compiler by defining _SYS_IO_H (the header guard for <sys/io.h> in my copy of that file)
the LINUX_VERSION_CODE macro must have a value you didn't expect .. so that <sys/io.h> is being included when it shouldn't
yup.. that's it
I commented it out and it works now
I put the code from parport.c in...
I have now : #include <sys/io.h> unconditionally
and /usr/include/sys/io.h gets included
even with -I/usr/src/linux/include
is that normal?
03paul_c * 10emc/src/ (4 files in 4 dirs): Add support for the 'new' realtime plat.
umm, is there a /usr/src/linux/include/sys? I don't have one
Compiles cleanly for me.
sorry... wrong paste
I gotta run
I'll get online later
I think you want <asm/io.h> unconditionally
bye... (thanks jepler)
paul: thanks for the commit
* alex_joni is gone
03paul_c * 10rcslib/etc/ (configure configure.in generic.def): Commit remainder of autoconfigure for PLAT definitions - Thanks to both Alex Joni and Jonathan Stark for their work on the original.
03paul_c * 10rcslib/etc/ (configure configure.in): Tweak configure to conditionally display make foo for the realtime definition.
03paul_c * 10rcslib/etc/ (configure configure.in): Restore checks for g++
Autoconfigure ported to rcslib/emc - Needs testing.
paul_c: you around?
1st. great work on the autoconf stuff ;-)
just cvs up'ed and it worked
2nd. the dro.c is still messy (I found the problem to be the kernel version... there is a test agains 2.4.24, if the kernel version is newer then it works)
but I'll leave that be for now
anyways.. great work (like always)
I'll be heading for the mountains tomorrow, so I'll only be online ocasionally
* paul_c isn't going anywhere just yet.
quick question since I catched you ;)
does emcstepmot.c still get compiled?
dunno - Not checked...
rightnow from CVS I didn't see it getting compiled
the version I had (this morning) did compile it, and it failed at 2 or 3 places (missing some #ifdef rtlinux)
when will you be heading for warmer regions?
btw, we had 17+ today ... :-( (no chance for snow)
* paul_c tests a cross-plat build for 2.4.25-adeos
segmentqueue modules compiled...
how about steppermod ?
not steppersegmod ?
no steppermod - That will only compile for rtlinux plats
I see... ok
then I had some problems inside the Makefile, it was trying to compile, but beeing rtlinux oriented it failed somehow...
mind you... steppersegmod shouldn't be built as far as I'm aware..
* alex_joni didn't know that about steppermod
as far as I'm concearned I use freqmod, and my own mod (based on dro.c)
There is much to learn/know about rcslib & emc
* alex_joni agrees
I find it pretty strange that there isn't someone involved who really knows it all...
The guys over at NIST would be the ones to know more than anyone
but I also like it beeing a challange
yeah, but they probably are involved with other projects...
Political reasons why they have to take a back seat with EMC
didn't know about that...
But they still provide quite a bit of support n the background
and they can be more open about rcslib.
Now for the question...
Does autoconf produce a working EMC on your box ?
without manual tweaking
2.4.21 + rtai-24.1.12 ?
here (at home)
and 2.4.21 + rtai-24.1.12 at work
but I didn't get a chance to run the one at work
it compiled cleanly (not from CVS, but same changes in the Makefiles)
how about you? got a working EMC?
Not from the SF sources (on this box)
there are some things that still need adressing
2.6.9-adeos #1 Sun Dec 19 15:52:35 GMT 2004 i686 GNU/Linux
like the -DLINUX_KERNEL_2_4 -Dlinux_2_4
-DLINUX_KERNEL_2_4 can be dropped
it gets defined in rcs_defs.hh anyway
* alex_joni is grepping to see where they are used
c -Dlinux_2_4 gets used in a couple of spots
in stg_v2_axis8 and in usrmotintf.c
You really don't want to look
I did.. couldn't find anything else
for rcslib ...
I was talking about emc
_shm.c is the only one I see for rcslib
and the 2 ones from above for emc
butt ugly way of doing kernel versioned includes
and in _shm.c it's used for the posix_types.h
especially the rcs_defs.hh
btw, I liked the color stuff at the end ;)
at the end of configure.in
Wanted the 2.6 warning to stand out.
* alex_joni is cleaning out the .def.in
should I add anything?
which one ?
REALTIME.DEF LOOKS ok
nonrealtime.def doesn't need much, if anything..
* alex_joni thinks about takind the WARN stuff out
it is handled by the rtai CFLAGS actually
ditto for the OPTIMIZE foo
The second CFLAGS line can be dropped from realtime.def - The RT includes come from the RTFLAGS
not for all
I specifically added that one
* paul_c sees a circular reference...
rtai-24.1.x doesn't include it (at least mine didn't)
CFLAGS := @RTFLAGS# $(CFLAGS) ...
CFLAGS := @RTFLAGS@ $(CFLAGS) ...
I already cleared that
back in 20 mins.
* alex_joni finished the cleanup, now recompiling rcslib
* alex_joni misses CIA
* alex_joni prods cradek
* alex_joni unprods cradek
* alex_joni is reading about Haskell
CIA is back ;)
CFLAGS := ... $(CFLAGS) is *not* a circular reference. it redefines CFLAGS in terms of the prior value of CFLAGS. CFLAGS = ... $(CFLAGS) would be circular, however.
(and the latter gets a message from gmake: "Recursive variable `CFLAGS' references itself (eventually). Stop."
you must know ;)
I changed it to += and discarded the second $(CFLAGS)
it's more readeable
That works too
been thinking about machine motions late last night and today
I think its an important part of emc, and ive seen a lot of discussion lately on the lists about it
If i could code ide try some stuff with it, but its gonna have to take some time
well... it's not going anywhere ;)
do you ahve a running machine?
running EMC, machine .. no
only some DC motors driven
I was at that point, i dont even have a machine dedicated to emc
well what i was thinking about as far as motion is concerned, is instead of a complete dec/acc but a maching point that the machine can take a "corner" at without internital effects mattering
I only have a friend's machine ... maybe I'll buy a mill of my own in 2005.
just wanna mention that in case anybody wants to send me one
* alex_joni joins the club
im gonna build one myself
that sounds like quite a task. At most I'll retrofit.
just a 4x4x4
maybe 6^3 but I dont kow
I have mostly used a mill for circuit boards, so I want 6x4 which is a common PCB size in inchland.
I think one can be made very cheaply
I dont have much of a choice in sizes, and I want to be able to get near net casting done
but as far as motion, where a machine tool is concerned, is the ability to maintain the chip load on the tool
and also, in not trying to jerk the machine out of its base
so Ill be looking at the code to see if I can learn somethign about how stuff is done now, and toss math at it, and see whre its at
pretty much the stuff about machines I want to learn anyway
sorta like my shaper, if I run it to fast, It will walk across the floor sorta like a fish flopping on a boats deck
if you do anything with the motion planner, best of luck! I hear better men than myself have looked it and run screaming.
jepler: can you try the autoconf stuff on emc1 out?
alex_joni: Is it supposed to build the simulator-only/no realtime version of emc1? That's all I can run on this machine.
no rt installed?
the most simplistic motion planer could simply be, a numeric value, at which the machine can change its motion(newton 2nd law) with minimal issues,
nope, 2.6 kernel on fedora core 2, and no desire to screw with kernels when I can avoid it
jepler: I thought you also had a bdi machine
cradek: It's true, I have a bdi machine, but it's way downstairs
gezr: still there?
jepler: your network broken?
if the machine can run at 200ipm, and no jerk is noticed at 10ipm, then .050 from new point, decel from whatever speed is to 10ipm at a step/time rate, to negotiate the turn,
les : yeah im rambling on
I run at 100-200ipm for most cutting
and you dont have any sort of jerk if I read right, right?
care to test autoconf on emc1/rcslib ?
Gezer: yes I do...prettyu bad
emc does not blend arcs... so I have some bad jerkiness with a round production part I am making
les : on a straight cut, say from X0, to X20., when it reaches the destination point, does the machine want to keep moving?
no it stops quickly...depending on the accel setting
okay, so when making a cicular cut, you get a lot of quardrant missmatches cause of the jerkyness? I hope im not asking you things you have already talked about
or is what your talking about a point is calculated, the move is made, then the new point is calculated, and new move made, all the way around the programed path
no, things match up but I get some surface finish irregularities due to the suuden jer
from the transition from one G2 to another G2
I have to run at only 15 in/sec^2
something of an extreme would be say to trace the outline of a flowers pettals?
even though my machine can do 380 (1G)
well it can do that
les: does the program get too big if you just use G1 instead of arcs? (assuming it's not handwritten)
have you tried a G1 x0 y0 z0, then the second g2?
well, crap, a move that isnt a move
or even a dwell, of say half a second?
I routinely run multi megabye files with tens of thousands of G1 moves
I mean it works, but the jerkiness could wear the machine
see if you can add some sort of a pause or null move command in what your trying to do, in a few places, and see if the controler is able to properly run at that speed,
the higher speed, to see if one part is trying to outrun the other
well we know why this happens...it's the trajectory planner
it is a blended trapezoidal....not the best
that would be in the kenematics dir?
Scurve would be better right?
emc does have a cubic interpolator...but it is at the servo update rate, and is therefore too tight
tp.c, tc.c is the planner code
too tight meaning it just closely follows the trapezoidal plan
very little smoothing
help me learn for a second here
* alex_joni listens too
in a circle, the most simplistic motion for one is 4 points, each quadrant
we get a square for that
but not first prize
the motion planer, takes a "circle" and breaks it into definable points
each new point being sent to the motion planer
or to the drive its self
to the drive
example: on the production job I am doing...
in a way, every time a circle is pathed(point->motion)there is a setting that determines, at what rate to effectively, pi the path
there are about 12,000 polygons for a 4" circle
or a 12000 side polygon
and the control then, is basically, trying to calculate, acceleration and deceleration 12000 times in that single circle?
and sometimes an error results which causes a jerk?
error doesnt have to mean a computer error
no not at all... it calculates a ramp up, circular contant speed, and ramp dow
is that per point of the polygon, or for the entire path?
from one motion command to the next the ramp is supposed to be blended
for the entire path
what happens at 2000/sec is servo error checks
that's the control filter
so following error results, and is made up for in a jerk?
no...the jerk is actually commanded by the planner!
which is the problem
you mean the controls planner creates a move that shouldnt exist?
im learning here
well...an accel that shouldn't exist yes
an attempt was made to write a new planner
okay, so then what I need, is a way to work just with the motion planer, and feed it stuff, and have instead of it trying to move something, dump its values into a table
but it was never completely debugged
that was about the time I got all crazy with life
les: does the new planner work well except it bombs out sometimes?
right...totally smooth motion...but it sometimes just stops...without locking up or anything
ok, maybe I'll work on debugging it
Fred, Rogier, and I played with it a bit and did not find the cause
cradek you can code?
haha a little bit
it is something in segmentqueue.c
les: I figured that much out already :-)
les: maybe it needs a new set of eyes
I have to look at things on a very simplistic level, I can read code, but heck, I dont know where to even start most of the time
with full debug on it gives a message of negative segment length
can abort and start again...no lock up
could that also be what exists as the jerk command?
where you currently see a jerk, do you think that a negative segment length would occour?
this may be nothing to do with emc at all
well there is no jerkiness with segmentqueue works....when it works it works very well
hard to see how you could have a negative segment length
yes its the code...a math miscalculation
that sounds "pretty easy" to find
right, I remember that. but a full stoppage, in new, may not be a result of what is in emc its self, could be glibc or directly in the kernel
after all, it stops with an error, you have all the evidence
I won't say too much more until I try though
I wish I could code
but im not gonna let it get me down
well Rogier wrote it, and even Fred does not know what's going on in the code
Rogier has other commitments and can't participate very much
I looked at it briefly - there's some math (that's probably completely or almost correct) and then a whole ton of crap involved in keeping a circular queue in C
and it's not weird spooky kernel or realtime stuff, because the problem can be observed in segmotsim or whatever it's called
He actually did travel here from holland but had little time
who knows, the problem may be with the queue mess and it's getting a totally invalid segment
we messed alot with queue size
so maybe it's a "simple matter of debugging" and not some fundamental problem
debugging I can do - fundamental problems with the math are best left to someone else
you have the paper right? where is it on sourceforge
it's in cvs
but I fell asleep on page two
Oh I understand the math and can stay awake reading it
if I could do it, I would break or simplify the math,
it is a very sophisticated technique
cradek: while you're fixing it, add support for rotational axes
I think I have the education to be able to follow it, but I hope I don't have to
jepler: ugh, I forgot about that
im just a chatter box, let me know when to shut up, those were the rules before I had my sebatical
Well I can say the math is right....just something in the code
I've got to run
maybe we've drummed up enough interest that we'll all have a look at it
Gezr: have a look at the paper on sourceforge
see you chris
thats what Im good for :)
that would be great chris
hope you feel better soon
I'll probably go to work tomorrow
ha I had a sick day too
oh definately get well
yup... get well
I am looking for that link gezr
les : hey, does it always jerk in about the same place? or is that random?...cool thank you
* alex_joni is going to bed
good night alex :)
[23:10:50] <les> http://batman.mech.ubc.ca/~ial/publication/theses/sonja.pdf
good reading on the subject gezr
[23:11:29] <gezr> http://cvs.sourceforge.net/viewcvs.py/emc/emc/doc/segmentqueue.pdf?rev=1.1&view=markup.
oh okay, found htis one too
I think I am the only one running segmentqueue
thats not quite right, the page before that was what I needed
but I have to use the old one for production
I have 3000 cherry turkey calls to make here
speed would help a lot
yes...and minimum sanding...jerks make little wiggles
as far as speed I am horsepower limited
1/2 spiral router bit 1/2 deep 120 ipm is as fast as I can go
nothing like a v8 powered router bit right?
looking to go 7-10 hp
do you have 3phase service at your place?
lucky lucky lucky
oh...I roll my own...but I can run 10 hp or so
I am out in the woods basically
oh, look, there's the error
Panic: length negative in sqPlanSegment
plInitInc = 4.136575e-03 plFinalInc = 0.000000e+00
ID = 901, a=0, Startpt: x=-586323, y=1525315, l=4136, tl=4136, ic=4136, fi=0 nls=0 ltps=0
you know what, I may check to see what some motors at work are, they are dust farms right now
reproduced the error?
oh, I've always been able to get the error
never tried it in sim
what was the command in the program that caused that?
or the command for the motion that generated that
jepler: Re: circular references - Couldn't think of the right phrase earlier... The $(CFLAGS) was a pointless entity in the line..
sqplansegment() is where?
gezr: Just one 'g1' among many
Gezr: yeah it's a miscalculation somewhere
jepler : look at the points, they are huge
899 G01 X-0.527059 Y1.525315
900 G01 X-0.586323 Y1.525315
901 G01 X-0.589248 Y1.528240
I think they're scaled versions of the points in the file
in encoder ticks?
the "start" would be the same location that the mill reached in 900
does it always happen at that point in the gcode?
not sure. I'm restarting this file from the beginning again
it takes awhile to get to line 901
We thought this might happen at some minimum segment length
but testing disproved that
yeah see if it repeats at the same spot
902 G04 P.05
903 G00 Z0.040000
the following lines were a dwell and a Z move
but there were many such dwells and Z moves before this point in the file
the preceding points were a no move y
hopefully it will repeate
I have had it happen without dwell
4136.xxx is the length of (scaled) segment
the repeated points might be significant
(the l= tl= values)
happy_br1colli is now known as happy_brocolli
which is larger then 901 - 902 x values
yes, it repeated at the same line number
is the error the same?
I'm looking at sqplansegment() now
Here's a complete file that prompts the bug for me:
G01 F10 X-0.305768 Y1.371000
G01 X-0.527059 Y1.525315
G01 X-0.586323 Y1.525315
G01 X-0.589248 Y1.528240
okay, so it runs and runs and then at some point the error is generated right?
on id=4 in the 7-line file
les where you also using 6 significant digits?
yes think so
happens with less though
can't find that diagnostic in segmentqueue.c...wonder where it is
grep -r sqplansegment
may help find it
I'm on a doze box
I dont think I have the right stuff, I cvsed emc2, not sure if its in there
the diagnostic is not in emcsegmot.c
this could go negative...it's in sqplansegment()
/* the first two steps and the last step are already defined */
length = s->totLength - 2* s->plInitInc - s->plFinalInc;