jmk_sleep is now known as jmkasunich
I am now...
how's it going?
I got your message, sorry to hear you didn't win, but I bet it was fun anyway
yeah, but nerve racking
this morning I plugged the cable from PC to H-bridges in one position off (stupid me, didn't key it)
the parport in the laptop refused to work, we were sh*ting bricks
fortunately a power cycle brought it back
dunno what happened, some kind of CMOS latchup or something
wow I would have expected to find it toasted
the Apple II had an unkeyed ribbon cable header that connected the floppy drive to the controller
the connector had gnd, +5, and ins/outs on it
if you hooked it up one pin off, the whole works would die.
and we were always moving the drives around - needed two to copy floppies, but every machine only had one
in this case, the laptop's gnd was connected to the +5 of our board
anyway... showing my age!
the laptop is ungrounded tho, so that wasn't fatal
well glad it didn't expire... you can't replace parts on a laptop board.
the inputs on our board (outputs from laptop) were pulled up to +5, so to the laptop they were at ground, no harm
ha, just remembered I toasted the parport on my PC Jr that way too. Similarly hard to replace.
we experimenters are hard on stuff
the outputs from our board (encoder) that were low at the time were -5 to the laptop, it didn't like that
I have a gutted laptop here that I want to put in a small package
alum box, 12x6x1"
no keybd or display
and stuff one of those wavelans in it
did you get them working finally?
not yet, but I know I can (one way or another)
yeah probably, given enough effort :-)
the data is getting sent and received, I can see it
did you hear about the latest TP problem ray found?
but the RX_RCV_OK bit isn't set, so the driver ignores it - I can fix that, by force if needed
I saw something when reading back in the board channel, but not enough to know what it was
on blended colinear segments g0->g1 it overshoots, stops, backs up, and then does the next segment
other than "yet another TP/blending problem"
yeah that's pretty much it.
btw, speaking of laptops running RT code
I think I saw something when reading back about apt-get emc2 and make install emc2 being incompatible?
of course, I've already done both on this box :-/
depends what you mean by incompatible
configure/make install will use /usr/local as the prefix
anyway, I'm trying to set up this laptop to compile and run emc2 (or other HAL stuff)
so they may not be as incompatible as we think
I did apt-get build-essentials, and also got the 2.6.12-magma kernel headers and image
I always thought you would use make install OR a deb package - it's odd to do both
what else is needed to compile
apt-get build-dep emc2
i.e. "get everything needed to build emc2"
well, this is a developement box, I installed the package to see if it would work, I do make install to see if that works
sure, no problem, as long as you understand what you're doing
I knew it was something simple, but that little tidbit (build-dep) isn't anywhere I could find
you'll want cvs too, which is not a build-dep (it's not strictly needed to rebuild the emc2 deb)
man apt-get does have build-dep
you're set then
doing the build-dep right now
I can see the joystick being a very handy source of test stimulus for HAL stuff
buttons and analog inputs right there
yeah, sounds handy
not realtime right?
no, but pretty darned quick anyway
as long as you're not surfing the web or compiling a kernel, I bet there is no perceptible lag
which is really the criteria for a human input device
humans aren't realtime
I have to do more basement cleaning this weekend
brought home some new junk, gotta get rid of old junk
that's a funny rule
you gradually improve the quality of your junk stock that way
got a HP 1653B logic analyzer this time
needs a manual and a system disk
boot from floppy?
it has a broken pin on one of the cable connectors, but a 0.100" center header is almost childs play these days
yes, it runs some self tests, then says gimme a system disk
that may be a challenge to find if it's old...
crap, I don't see ray's overshoot bug here
alex said he saw it though. same ini, same program
you aren't running your simple TP are you?
the TESTING deb
with FO=300% it does it bad
ha, it's pretty funny
FO does evil things to trajectory planners
[03:09:50] <cradek> http://timeguy.com/cradek-files/emc/reversal.png
the two moves in +x are colinear
the first one is a rapid, the second a feedrate move?
what config are you running?
hmm, on the laptop, I did a cvs checkout, already have build-deps, rebooted so I'm running the magma kernel
but when I try ./configure, it can't find the RT
I have the linux-image-2.6.12-magma and linux-headers-2.6.12-magma packages
found it, I needed rtai-modules-2.6.12-magma
you still here?
just got back
cradek: anyway... showing my age!
my net connection is bad lately.
I'm curious, how old are you?
heh, a child
it's funny though
it's still my habit to not mention my age in technical forums like the emc channel
since I'm used to being too young to be taken seriously in complex matters
the funny part is I'm not that young anymore
I think there are very few tech places where even late 20's is considered "too young"
except possibly industial control ;-)
hell, for SW folks, 40 is getting old
I guess I don't even feel as old as late 20s
I don't know how old I feel, I guess I don't spend much time worrying about it
the one thing I'm sure about is that I'm older than I've ever been
and now I'm even older
not usually very important
(that's from a great song "Older" by They Might Be Giants)
I wonder what the odds are of successfully "washing" a PCB
I have a nice, dual output bench supply here
it was scrapped because one output drifts
sounds like a great find
the board has white stains on it, perhaps salt of something
a watchmaker's trick is to was normally in soap and water, rinse well, then dunk in alcohol to displace the water (the alcohol dries quickly and completely)
is to wasH
need a lot of alcohol to dunk a 8x4" board
yeah, not a problem with watches
but maybe I'll take it to work and wash it with Flux Off
thats mostly alcohol anyway
worth a try
I've never understood where the flux goes when you use that spray-on stuff
does it drip off?
if you use enough Flux Off, the flux and cleaner drip off together
we have it in a squeeze bottle, and let it drip into a tray/pan sort of thing
theres a lid on the pan to avoid any embarassing flash fires, but the lid leaks enough that the alcohol evaporates slowly
there's a lot of flux residue in the pan
I'm not feeling ambitious enough to pull the board tonight, there are about 8-10 little connectors
1,2,3 pins each
you could maybe spray it in place...
one side of the board is up against the front panel
get your devel laptop working?
yeah, I was just missing the rtai-modules-2.6.12-magma package
just finished a make
I guess its not in build-deps because it is distro specific
unfortunately that's probably a build dep, but it seems wrong to depend on kernel modules to build a deb (and therefore on a particular kernel image)
emc is an odd one
yeah, most apps don't have kernel modules, let alone require kernel patches
some of the usual things don't quite fit
one of these days I'm gonna brave the kernel compile
it's not hard.
making correct debs is hard.
bordering on ridiculous
I brought a whole load of crap home today (the power supply, the logic analyzer, several KVM swtiches, etc)
one item is a dual CPU computer
I want to make an SMP kernel with RTAI
yeah I wonder about that too
seems there's occasionally talk on the rtai list about it.
this box was a high end development machine
rambus memory (remember that?)
yeah, it's sure expensive today
two 667MHz Pentium3's
my mill is a (uni) PIII-666
there are 2x 128M sticks in the box, and I have one more here
but it also has a socket for another processor
it's also server grade
(sounds like a jet)
thats kinda what these are
dunno about sound, haven't powered it yet
I'm sure it'll be plenty loud
I like using used stuff
in "cheap, fast, good: pick two" old server hardware is definitely cheap/good
when they bought it, they picked fast and good
the fast changed with time
I recently bought a cheap/fast motherboard and processor too, that's also nice to have
but when it winds up in the dumpster, cheap is very high, and good lasts
I guess good is the only permanent one
server grade stuff is definitely good
dual power supplies
everything easy to swap out
thats why I was looking for a home for that disk array
I wish I had space for the cabinets
three 19" racks, 6ft tall, very high end stuff
each one probably had $100K of server stuff in it
nice full extension ball bearing slides...
you're connection died again didn't it? ;-/
you don't lose anything, it just pauses for a long time?
I have to restart my ssh
I think it's because of the NAT table filling
I use one of those stupid wireless router things to connect to my broadband
how many boxes do you have on your net?
not sure, a handful
I have one of those stupid router things, not wireless tho
no probs to date
I have my wife's win XP box, this one, the compile farm (one node on the house network, it has its own router and subnet) and occasionally something else (like the laptop)
a high number of simultanous connections is what kills nat
I think because it has to keep a table of all of them for "a while"
oh, and my win95 box, on the rare occasion I run it
yeah, if they don't chose a good value for "a while" they have problems
if I had a nice, quiet, fanless linux box I'd be tempted to use that for a router
yeah, I'm tempted to use a pc for nat again
I was happy to stop doing that when these boxes became cheap
I set up one slot of the compile farm to do that just for the farm
when we had the emcfest at Smithy the farm also routed for all the folks who were there
I had an old high-powered development machine (a 486 (!) with 32 meg (!) of ram) doing nat at home for years
remember those wavelan PCMCIA cards?
they were installed in wireless access points
a box about 9x6x1"
with a 486 inside
and what appears to be (from the sticker on it) an Award BIOS
no video or keyboard connector tho
that would still be fine for nat (if it had enough ram)
two pcmcia slots and an ethernet
dunno if there was any other I/O, they're still out in the truck
I'll know tomorrow when I unload
no disk either
a wireless access point isn't too different from a router in terms of HW requirements I don't think
you should take your remaining stuff to fest
I bet you could unload it at the ending auction/swap
yeah, I will try to unload some of the junk ^h^h^h^h stuff there
need a KVM switch?
the access point probably has just enough ram for a normal home user's nat. I need a lot more.
you mean your access point?
yeah, its probably strictly consumer grade
hmm, googling seems to indicate that the contraptions I have were simple bridges
well well well.... 16 port KVM switches seem to bring pretty good bucks on ebay
I bet they do
those are not cheap
do you have the cables?
I got two
and 16 cables
also have three 4-way ones and some cables for those too
I could sure use one of those 16s at work, I'll get one someday
(the 16-way ones use proprietary cables, DB-25 on the switch end, the 4-ways have normal connectors
I'll make you such a deal ;-)
no, that was NOT a hint
you should sell them
seriously, selling is a bit of a pain, if someone I know can use it, I'll either give it away or sell it cheap
I didn't pay anything for it
they're probably worth actual money though.
tomorrow when I unpack I'll get model info, etc
I'm pretty sure they're Black Box brand
I bet they weren't cheap then
one is really a black box, it must be remotely managed. nothing at all on the front panel
the other one has lights and buttons
some have magic key combinations I think
could be, or it could be for a layered system
my office at work is next to the machine room - someday I'll knock a hole in the wall for a nice kvm
tree structure, slave boxes feeding a master box that feeds the keyboard and monitor
I'm forever climbing behind the racks to plug the monitor into the right thing
if the kvm works from key sequences, you don't even need a big hole - just big enough for one cable
that would be entirely slick
once I get part numbers we can google
one nice thing about black box, they don't care where you got it, their tech support will talk to you
my current 2-way is a black box, I had some problems with it (turned out to be a PC problem)
the guy spend 20 mins on the phone with me
sometimes companies have the right idea.
the old HP pc worked fine with a HP PS-2 mouse, but not when connected thru the KVM
then I found out that it also didn't work with a M$ PS-2 mouse
the KVM emulates a M$ moust
the HP mobo or something must not like MS mice
that's a bizarre feature
this was old stuff, that computer is long gone
ugh, trying to figure out the final direction (normal vector) on an arc/helix
anyway, I think I'm gonna use one of the 4-way switches at my bench. I have two computers, but sometimes I want to test another box, or run a laptop without the horrible keyboard, etc
yeah that sounds nice
if it was earlier and I wasn't tired I could maybe understand some of that
I like to have a two-input monitor for hooking up an extra
oh, I'll get it, I understood (fixed) helixes once
it's just finicky
once - that is the key word
I understood quaternions and 3-d transform matrices once too
wrote a whole bunch of 3d graphics stuff back in the day
sure wish I had all the education I briefly (serially) had in college
it's just not possible to keep it all
most of it lasted just long enough to pass the final
I hated the purely theoritical stuff
I understand the basic concepts, but withing a few months I forgot how to solve them analytically
yeah I wish I had the grasp on diff eq and statistics that I briefly had, for example
the fact that I've managed to work as an EE for 21 years now with a nearly non-existant knowledge of diff-e-queues tells me something tho... ;-)
don't give the secret away
well, I think its bedtime
have to catch up on my sleep
jmkasunich is now known as jmk-sleep
* alex_joni is busy making sushi ;)
that sounds interesting
yeah ;) waiting for rice to boil
I have our planned tp fix partly done
you did? nice.. I had a bit of problems with cncuser
seems our TESTING is broken for 2.4 builds
my testing showed the reversal problem only when I was using FO over about 1.6 - is that what you saw too?
alex_joni: I think there's a vti rule missing in TESTING
I wasn't sure how to solve this (I knew how to solve it for him.. but not sure if I should move TESTING or not)
it's fixed in HEAD
maybe we should move TESTING today especially if we're going to change tp.
ok, we should
ok, but a little later
I'm worrying about wasabi right now :)))
alex_joni: You around. I need a bit of help with halscope.
maybe I can help?
I'm guessing that accel is a rate of change thing.
in sim.ini there are some ddt blocks
so watch servo thread
link commanded to ddt and watch it's out?
you should stick those in your config
that'll give velocity, do it once more and you have accel
accel should look pretty much like a square wave +- maxaccel
so comand ->ddt->ddt->scope
err not sim.ini, core_sim.hal or something like that
I'm using stepper so that ought to be okay.
If I compare to command it's delayed by two?
not sure about that, probably right
linksp Xpos => ddt.0.in
linkps ddt.0.out => Xvel
linksp Xvel => ddt.1.in
linkps ddt.1.out => Xacc
something like this stuff from core_sim.hal is what you need
oh position rather than command
okay. Let me try and I'll get back.
makes it really easy to see what tp is doing
linksp Xpos <= axis.0.motor-pos-cmd
jmk-sleep is now known as jmkasunich
I'm seeing a hop to +10 and then after a bit a tiny tiny spike to +15 then back to 10
the minus does not show the extra, just a nice clean +10
This is the arc to line back.
looks like progress is being made
Looks like a lot of it.
rayh: even on line-line I still have a problem:
[19:54:26] <cradek> http://timeguy.com/cradek-files/emc/overshoot-fix3.png
anything I can do to help? (testing or such?)
same direction or reversal?
reversal looks like
Let me send you a gcode file to run. dcc?
yeah g1->g0 reversal
rayh: I have troubles with dcc (NAT I think)
Okay. Will do. Gotta sneakernet first.
I really should figure that out and fix it
jmkasunich: typically you can forward one incoming port and tell your irc client to use it
jmkasunich: depends somewhat on the client
I use several clients
you will have to configure each of them to use that port
X-chat here on ubuntu, ksirc on KDE
what are the security implications of forwarding a port?
depends what's listening there
well, I don't want to get into networking stuff right now - you guys are on a roll, lets stick with TP
I'm not sure we're on a roll though...
well any improvement to the TP at all is a big thing
on the way.
what config are you running?
I'm running a stepper. You could extract it from a tarball at www.linuxcnc.org/Dropbox/tp-testing.tgz
it's a fast-moving stepper config, that's for sure
But it's fast base_thread is 10, rapid 180, feed override 300%.
rayh: is this for a real machine?
what would be most beneficial? me duplicating Ray's testing, or running another config, say sim, and looking at the TP output with scope?
No Just for testing. It is very close to what Smithy is running with Rutex drives.
I'm pretty confident that my results are replicable.
cradek: helped with halscope setup.
ok I've verified that this is NOT a feed override problem
you can get the accel spike with FO 100% if you just set F90 in ray's program
found my smoking gun
[20:12:05] <cradek> http://timeguy.com/cradek-files/emc/overshoot-fix4.png
those are blends between colinear moves?
they're right except for the spike to 2*maxaccel
top trace is position right?
from top down: vel, accel, number of active TCs
That's about what I'm seeing except that the width of the +15 spike isn't as wide.
where is zero vel? 2 divs down from top?
rayh: increase your feed a bit, you'll see it
rayh: also I think it actually goes to 20
jmkasunich: I think I don't have it right on a div
jmkasunich: but it is in the middle somewhere
probably right in the middle of the too-fast ramp
yes very near there
on the arc to line it stayed the same but I see it now on the colinear as well.
You're right about the 20 on colinear. Must be a rapid to feed thing
the arc at feed to rapid reverse doesn't do it.
I don't think the motion type (rapid/feed) should matter
I think we've got a fundamental problem my simple fix isn't going to fix
It made blending a world better.
incremental improvements are worthwhile
You say it's not a scale issue
yeah but these accels are still a big problem
I think I can write a program where you'll see 3x 4x 5x accel
Think it's blending inside blending inside blending?
short segments need that (multiple blends)
G0 X0 Y0 Z0 ; G0 X0.999 ; G0 X 1.0 ; G0 Y 1.0
no I can't seem to get 3x - maybe it's not as bad as I thought
What are the possible ways it can violate accel.
assuming all my fixes are right (you don't have some of them yet) the remaining way is just what your program does, go one way fast, a tiny perpendicular move, then back the other way fast
It can't just start a blend and then during decel say oops I'm not going to overshoot so hit the brakes harder.
see how it's the same as a reversal, except the reversal isn't adjacent moves?
I only fixed reversals that are adjacent moves
the general case needs unlimited lookahead
I've got a 2 gig contouring program that was the final exam for sherline's setup.
I'm going to try it here and watch accel.
yeah maybe set trigger at 11
are there no arcs in it?
triggering at 11 will miss -11
also only sees one axis
yeah, but he'll get one anyway I bet
with some hal-fu you could run each accel signal into a wcomp (window comparator) that will switch if it exceeds -11 or +11
then run all three comparator outputs into an AND (comp is true when inside the window, so false is an error)
trigger on the and output going false
jmkasunich: how do I printf in kernelspace?
printk is the kernel api
rtapi_print is preferred tho
rtapi_print takes %d etc?
theres also rtapi_print_msg(<msg-level>, foo)
[insert standard whine about not having a debugger here]
I looked into the kernel gdb stuff
looks like it has a patch that hooks into all the same places rtai does
you already know you can export additional HAL pins if you want
some people in the past have made it work for certain versions of kernel/rtai but not recently
I'm not seeing any unexpected accel during contouring.
rayh: all g1?
thousands of z changes
I'll try increasing feedrate and see what happens.
I'm seeing some +15 and a few +20 at f600 mm/min
spikes to 15 or levels at 15?
I got a -15 spike with a very simple program
jmkasunich: you're running HEAD from the last couple hours?
using sim config, with accels and vels to match rays
and no FO
g0 x0 y0 z0 ; x0.999 ; x 1 ; y1
which axis has the accel spike?
For the most part on this heart program the accel is constrained. Very few exceed.
I just changed the y1 to y0, the spike is still there with no Y motion at all
the spike is at the beginning of the decel period,it goes to -15, then -10
I also get a spike as it turns around (when I re-run the prog, it goes from X1 back to X0 and then immedately heads for X0.999)
accel is +10 as the 1 -> 0 move finishes, spikes for one sample, then goes back to +10 as the 0->0.999 move begins
the spike looks like about +13
correction, it doesn't spike for one sample
well that's better than recently when you would have had +20 for the whole thing
I didn't zoom in enough
it ramps from +10 to +14 over about 10mS, then back to +10 over 20mS
the other spike (on decel) is even more complex
huh, so it actually is more than one wrong cycle
can you also plot active-depth
well it can't be more than 1, since you only have two moves in your program
was crusing at 0, then ramped to -3 over 10mS, then ramped to -13 over 10mS, held at -13 for 10mS, then ramped to -10 in 10mS
I changed the program a little, to ensure a non-zero cruise period
g0 x0 y0 z0 ; x 1.99 ; x2 ; m2
duh - the 10mS stuff is coming from the TP period
the TP only runs every 10mS, the 10mS long ramps are from the interpolator
I added some additional lines
instead of x1.99, I have x1.990 ; x1.991; x1.992 ; x1.993, etc
traj.active_tc now goes to 3
and I have a couple disturbances, one from -10 to -7, one from -10 to -15
the disturbances seem to coincide with times when active_tc is _decreasing_
jmkasunich: I'm looking for a tc removal bug, but not seeing anything right off
jmkasunich: you're not ever seeing velocity violations, right?
wasn't even looking for vel viols, lemme check
nope, +/- 3 inches/src
I'm about 1/2 way through the contouring program. My impression is that it will produce +20 on some odd longer z moves but for the most part seems well constrained. .
It should work fine running a Sherline.
unless that +20 stalls the steppers
I really doubt that it will. This is running about 40 ipm and the sherline will run about 20.
you have to set STEPGEN_MAXACCEL to 20 to prevent following errors, but you can only use 10 of that
basically, whatever the steppers actual accel capability is, you have to leave half of it unused because of this bug
Many of the blocks in this code are moves less than 0.0005 so blocks are getting blended fairly quickly.
Right I understand the overhead issue.
But if you compare your worst results with the image in tp-test.tgz you will see the improvement.
no doubt there has been improvement
yeah no question it's better
Just in terms of visual moves
Perhaps tomorrow I can set up the sherline and run this code.
"stop and turn around, then blend" is hard to beat for badness
I'm going to be that the motors will sing just as well as they do with old freqmod.
I'll also bet that I don't see any significant disturbances with univstep.
argh, starting halscope too soon makes it eat its config file
That's not very civil.
it needs work
I want to be able to save named configs too
jmkasunich: I just start in a different directory to do that
it would be nice to be able to change configs without even leaving the program
IOW, one config to look at all three axis accels, another to look at one axis in detail, or whatever
or a "some last used configs" menu
as far as starting it is concerned, add a loadusr halscope line at the end of your last hal file
argh, I hate these pm functions
they're so clumsy to use
instead of returning their result, you have to pass an address
so you need temporary variables for every single thing you do
if ( dot(unit(vector), unit(vector)) > 0 ) ...
returning structs is fairly new to C isn't it?
you can't write this without three variables
no, I think even k&r C did that (and had struct assignment)
K&R p. 209
there are only 2 things that can be done with structs or unions, name on of its members or take its address
operations such as assigning to or from it or passing it as a parameter draw an error message
is that the pre-ansi version?
copyright 1978 ;-) I bought it for a C class in college, circa 1983
ok then dot should at least return a double! :-)
agreed about dot
you guys need new books, I'm sure mine is post-ansi (wherever it is)
2nd edition probably
cradek: Hi Chris.... do I detect that another improvement in the tp has been made?
I'm not seeing the same limitation in 2
LawrenceG: you could call it that if you're generous...
waitaminnit - Rayh, the self proclaimed "not a programmer" has BOTH editions of K&R?
the truth comes out at last!
so maybe for only ... 20 years has this been possible
I'm old enough to have met both of them.
ok moving on...
They were at the u of o for a seminar
cradek: I never got used to returning anything bigger than a long (nor to passing anything bigger than a long directly)
too much copying
maybe I just hate C
"Structures bay be assigned, passed to functions, and returned by functions" second edition 260
* alex_joni reads back
rayh: what year is that one?
they left out the part that says "but doing so invokes the equivalent of 'memcpy(from, to, sizeof(struct))' "
It also notes that they got rid of 8 and 9 as octal numbers.
8 and 9 are some pretty funny octal numbers
octal is one of the abominations of C
25 is close enough to 10, isn't it?
more that half of the changes in accel are less than 5
less than 10 percent are greater than 10
ok, I've finished catching up
cradek: what's the plan?
alex_joni: no plan here
then we need to get us one ;)
I'm experimenting to see if I can stumble onto reasonable blending
well I know what various problems are, I sort of know things that might fix them, so I'm experimenting
say if you need me to do something...
but I'm not even sure what I need to do...
think we need a testing program (one that gets all cases of blending)
I think ray was working on that
I was until I started this contouring program.
ok I have some interesting results now I think
sharp turns are blended less, accel constraints are always honored (I think)
much better path following
darn, having connection problems.. :(
>70% packet loss.. fscked:/
I don't like the results anyway
I don't like this crappy connection :(
good thing I have backup connections
how come you don't like the results?
I think there's too little blending now
I've got halscope vertical scale set to 10. Should there be one division excursion for max accel?
yes +- 1 div
I saw quite a few 20 then.
yeah I know...
They all seem to be colinear blends.
I don't see any of the hop to 10 then hop to 20 back to 10 and then zero.
If it wants 20 it goes right to it.
gotta be away for a while.
rayh is now known as rayh-away