* Lerneaen_Hydra pokes logger_aj
* Lerneaen_Hydra would not be surprised if that made logger_aj disconnect
* alex_joni yawns
* anonimasu yawns
im tired :/
and there's chaos around my desk.
anonimasu: I read that as "there's cho around my desk"
which was a bit unexpected
(cho is a relatively unknown character in a game called Riven, based on the myst series)
cradek: what problem did the 'glob' cause?
anything interesting happening?
jepler: it stopped working :)
jepler: you're up early today
alex_joni: am I?
what time is it there?
at least for me
far too early
* Lerneaen_Hydra does not like thursdays, when he has to get up at 6:20
oh -- it's $(wildcard) not $(glob)
but make isn't kind enough to tell you that
and I was working with a fully-made tree so I didn't notice
03jepler 07HEAD * 10emc2/src/Makefile: second try to reduce warnings in --debug about nonexistent Submakefiles
[12:59:16] <jepler> http://www.popsci.com/popsci/how20/3a9a75733cf0e010vgnvcm1000004eecbccdrcrd.html
I love this quote - 'In the periodic table, as in politics, the unstable elements tend to hang out at the far left and the far right.'
my simple rs232 thing turned out with a queue handler :/
jepler: neat. do you think the salt was gaseous or just as small particles?
iirc nacl boils at ridiculously high temperatures
so probably just small particles
hmm, apparently it boils at only 1500°C, which isn't all that high
Lerneaen_Hydra: no idea
* alex_joni can't wait to get home :)
jepler: what was that about wiki.linuxcnc.org ?
alex_joni: the redirect from / should be to /cgi-bin/emcinfo.pl (no trailing slash)
with the trailing slash, the links end up being to /cgi-bin/emcinfo.pl/emcinfo.pl?PageName
looks good to me
thanks for spotting it
I must not understand how "block dlete" works
alex says it deletes at interp time so you pretty much have to choose before you start running
I wrote this program: http://pastebin.ca/229179
when the block delete switch is enabled, it moves to X0Y0Z0 and that's it
well that doesn't seem right to me either.
but I expect it to go to Y1
how fast can you spin a stepper?
how fast can you drive a car?
if you do have enough torque for your load at a specified rpm..
depends on the motor I'm sure
well the graphs go to 7000
ah steps per sec..
are you asking how many steps per second emc can generate without special hardware?
I'm using a usc so I have no real limitation..
with usc, the next limit is either the decreasing torque curve, or in some cases the max step rate of the stepper driver. e.g., if STEP must be asserted for 4us and deasserted for 1us, then your max step rate is 1/5us = 200kHz
im trying to find a stepper with enough spec to move my Z axis to 2m/min..
(and if the driver can only generate symmetric step waveforms, 1/8us = 125kHz)
it's looking quite dark..
because of the required torque?
do you guys think 25000 cycles for a throttle control is enough for a device used relatively often?
$ units '25000/(100/day)' year
it's that value of 100 that I'm uncertain of
throttle on what?
that electric bike I'm doing
are we talking - chopping freqency?
on a car the throttle is continuously moving - don't know about your bike
ah - usage
[14:37:12] <Lerneaen_Hydra> http://www.vishay.com/docs/51037/pe30.pdf
is the part (found it in a bag O.o )
cradek: yeah that's what I was thinking
why not just use it until it wears out, then replace it?
jepler: try setting block delete before loading the program
I've only got a few
and if it wears out after a week...
25k doesn't sound like very much IMO
03jepler 07HEAD * 10emc2/src/emc/usr_intf/axis/extensions/emcmodule.cc: support block delete and optional stop messages and stat buffer items
03jepler 07HEAD * 10emc2/src/emc/usr_intf/axis/scripts/axis.py: expose block delete and optional stop to the GUI layer
03jepler 07HEAD * 10emc2/share/axis/tcl/axis.tcl: block delete and optional stop menu items
does "delta RT/RT 10%" mean that at 25000 cycles the resistance is less than 10% different than when the part was new? If so, you might get many more cycles than that before the throttle is unusable
jepler: sounds plausible
I'll just use it and hope for the best
the interesting thing is that it's military grade, must have been from some surplus place
so - what do you do when a woodpecker decides that your house is a nice place to do his pecking?
on the corner near your head, when you're sleeping
ok, that's one option
though that's illegal.
I suspect I'd have to discharge a firearm within 300 feet of a house, so yes, it's illegal
oh, not that, I think they are almost "extinct" or something like that
Unless there are bugs under the siding this thing is probably sounding for a mate.
although it is probably a protected species
well, there could be bugs under there - we have some carpenter ants we can't find any more
SWPadnos: go fsck it
oh great - it probably is one of the protected species
I think it's a Red Cockaded Woodpecker (it has a red tuft on top of its head)
Somone suggested to me that one way to get rid of woodpeckers is to hang a helium balloon so that it is next to the area in which it is pecking. Supposedly, the motion of the balloon will scare it away.
hmmm - that's a good one to try
I wonder how long a helium balloon would last outside in the Vermont fall/winter :)
I suspect that once it leaves, it will find other hunting grounds after a while.
definatly go with mylar
maybe the mirrored surface will make it think there's some competition ;)
03cradek 07HEAD * 10emc2/src/hal/components/counter.c: fix contradictory license notices
I had one that banged on a tin plate out on the power pole for several years.
I'm sure that was restful for you :)
at least they seem to operate mostly in the daytime
they're cool but they sure are loud
especially when they're about 4 feet from your head
That close suggests that this is a behavior that needs modification.
I agree :)
if he was pecking on a tree I wouldn't mind, but the fact that he's decided to put holes in our house has me annoyed
are there any config issues that'll cause my circles to become jagged?
that all depends on how you mill them, I guess
ok, doing large parts of a circle, or many small arclets?
one large part..
and what do you mean by "jagged" (can you post a photo or drawing?)
my phone & camera died last week
so I cant take pictures
ofcourse it could be a backslash issue, but I'm not certain
if there's "stuttering" around the whole circle, I'd suspect incorrect feed/speed
if it's just at direction reversals, then backlash could be a culprit
hm, it's all over
backlash in the machine can also cause stuttering around the circle, I think
since it's kind of an error bar around the expected position
it's really odd..
I made some parts and they were 0.00 from what I drew..
and that was with contouring a square..
if there was backslash it should have shown up
that's why im a bit perplexed
hmmm - me, too. you're running serrvos with geckos on the XY axes, right?
is it 0.001mm jaggies, or 1mm jaggies ... ?
brutal ones :)
hm, no.. using the default USC pid tuning
that could be a wildly wrong oscillation around the ideal point
the diff between the emc1 config is I = 100
though the Ferror calc should pick up anything that bad
I've got my ferror very high
I=100 - that's way out there
let me double check..
maybe 0.100 is more appropriate
I didnt do pid tuning for trying out "HEAD"
so yeah.. might be it
* anonimasu feels stupid
the PID tuning shouldn't be different between HEAD and released EMC2
P = 150
I = 100
D = 0.1
it'll also be different between EMC1 and EMC2 (for the USC), since the units that you're tuning have changed
you're using a software pid to run a hardware step generator to run servo drives that have another pid built in?
that sounds ... challenging
the geckos are quite nice to tune..
the Gecko PID won't go beyond ~4 steps error, in practice
im going to run feedback from the geckos later..
to the usc
and since there's no real feedback to the EMC2 PID, that error has no effect on its output
it's a shame to buy all that hardware and still not have closed loop operation
sorry, not what you want to hear right now
cradek: I'll fun the usc with feedback later on so..
the only thing the EMC2 PID does is correct for minor errors in the actual step frequency that the USC generates
there's a gain in step rate vs. CPU speed
do you run the emc pid as P-only?
oh I see above, sorry
I used the default.. :)
assumed it were reasonable..
I used P=150 in my emc1 config..
I thought I was 0 by fdefault
I saw it but I thought well, maybe somone's found out that it works better
cradek: it'll be real closed loop once I hook up everything though..
just that I still end up having to tune the PID loops separately
you could bypass the USC and use software step generation to test that part
the usc should work I've made parts with it before :)
I dont think my pc generates good steps..
it always came up short/long when using tcnc before
I ran it a week or two to test
I'm going to go outside in a bit and try it
are you using emc 2.0.4?
have you had the "unexpected realtime delay" error?
I were running 2.0.4 but once I were doing contouring it went stuttering
even with delays, it shouldn't be that bad - there should only be a 1ms thread rate
ok just checking
yeah better to be sure :)
I'm going to run outside and try it out..
I think I have a piece of alu in the mill since I did that spiral test
the arc or strait line?
[16:02:49] <skunkworks> http://www.electronicsam.com/images/KandT/cncworkshop/spiralarc.JPG
[16:03:02] <skunkworks> http://www.electronicsam.com/images/KandT/cncworkshop/spiralline.JPG
that was on the mazak
it would be nice if we could get that backlash out of it this coming fest
I wonder if that's backlash or if it needs more P (or ff1)
or was that D? more stiffness in the PID ;)
it's only in one axis - the other is perfect
true, but the axes are tuned separately
or they should be
iirc ray and roland were both pretty sure it's backlash (roland even said he can hear it, which surprised me)
I couldn't hear much with that fan running
I think the cooling on that thing takes more power than my mill
I see all three axes are tuned the same
so who knows, maybe you're right
I wouldn't bet on me vs. both Ray *and* Roland
I'm not :-)
I think I broke something
there are changes to the USC driver from last night - let us know if they affect you :)
if my machine rampages and I machine a clamp I'll come and visit somone :D
what's so funny?
let us know if they affect you :)
ah well that's life when you run stuff off cvs
im not too worried..
there really should be no difference for you
* anonimasu nods
SWPadnos_: I've come to the conclusion I need a servo for the Z axis..
been thinking long and hard and checked about steppers.
now it's just the matter of finding one..
one that has size and rpm.. suitable..
and that wont make me eat pasta for 4 weeks
yeah, reminds me of being a student
we had food coupons, but we used to save them up, and we ate pasta at times like that
I really hate the fact that all automation stuff is so expensive..
I could build a quill with linear slides for about the same as a servo for z..
but I think that would give me issues with rigidity
new stuff is expensive as hell
* anonimasu hopes to find a nice motor off ebay
I dont really get how they can make small dc motors cost several 100$
they sell, people buy
Lerneaen_Hydra: you dont really have much option if you need what they sell
but it's weird..
I'll be back in just a bit..
going to try this out
alex_joni is there a way to have logger NOT log anything *I* say ?
on a perm basis?
Jymmm: you can start your lines with [OFF]
but I guess that's tiring
Jymmm: I accept a patch to the logger if you know enough perl to do that
* alex_joni doesn't
Jymmm: or maybe if you find a smarter logger
I'm feeling lazy .. but here's the log anyways: http://188.8.131.52/irc/irc.freenode.net:6667/emc/2006-10-30#T22-25-11
access control list?
doubt it.. it's a very stupid logger
anyways.. if you find a decent logger that can be run from a terminal .. I'll investigate and replace
Jymmm: the only way to prevent people logging what you say is to say nothing.
Jymmm: even if logger_aj obeys some ACL or an [off] directive, that's no guarantee that somebody else isn't saving the logs as well
I'm sure that "jymmm" is one of google's more popular searches
SWPadnos: you'd be surprised :D
googles searches on jymmm just went up 300% after that statement
good night gents
see you alex
Jymmm[OFF]: use logger_aj: bookmark
either : or ,
I'm feeling lazy .. but here's the log anyways: http://184.108.40.206/irc/irc.freenode.net:6667/emc/2006-10-30#T22-51-01
nope, that didn't work =)
Jymmm[OFF] is now known as Jymmmm
strange - the logger logs the name of the person who asked for the bookmark, not its own name
or whoever last spoke, I'm not sure
SWPadnos: have you done any SMP coding by chance?
I've done some examination of multi-threaded apps, but not on any modern systems (<5 years old)
SWPadnos PITA ?
I don't think I've ever written one (that was meant to run on a single system)
somewhat of a PITA, there are libraries / systems to help for certain types of applications
MPI is one, I think
SWPadnos Someone told me about make -j2 but nfc.
that's not multithreaded, it's a way of having make run more than one process (compiles, for example) at a time
only during compile, or the app itself?
duting the make only
someone a while ago proposed using make to boot linux.
yep. it's great when you have multiple cores
I read about it a year ago or so.
the idea was to allow a multithreaded startup.
why make the display wait for networking for example
ah - there's a new startup/init manager in Edgy - that may be the result of that discussion
I'm impressed with start and stop speed in 6.06
you should see it on a dual dual-core system
I can imagine.
it's holy crap fast
As I see it, dual cpu or dual core are pretty much worthless for doing any real work.
at least for the second login. the first still takes nearly a second
it depends on the kind of work you do ;)
many ciphers are applied multiple times. what happens if you pipe something from one CPU to another CPU, with each one doing one step of the work?
Instead of being able to utilize 200% (dual cpu), I have to run two iterations.
that's because you have non-multithreaded crypto apps
If the os supports SMP, the app shouldn't have to (imo)
at least, there's only one thread doing the bulk of the work
there's no way the OS can know how to break apart the operations in an arbitrary app
the way you tell it as a programmer is by splitting the program into separate threads
(or other process types)
nyah nyah - not bullshit :)
the app and the os are seperate entities... to the app should have to know what's going on inside the cpu(s)
ok - you're the OS, and I'm the program. what parts of my work can be run in parallel?
the os should handle all that "behind the scenes"
I've just told you about as much as a program tells the OS - now how can my work be parallelized?
if you can't tell me, then there's no way that a computer can figure it out either
As example... If I have dual 500Mhz, to the app it should perform like 1000Mhz cpu
that would be great, but it's not possible with today's hardware
well, take your crypto application, let's say triple DES
I seem to remember an IBM demo of beowolf clusters working on a single rendering app.
sure, but the app was writetn with that in mind
it was a clustering app
yep - Digital Domain
they use hundreds of CPUs though
ok - so here we go with triple DES
and selectively killed off one or more and the system went back and filled in the errors.
yep - not a problem with good clustering software.
in those apps, there's usually a master computer that hands out blocks of data for the processing nodes to work on
they return their results and get more data (kind of like Seti@home)
and they are just a bunch of computers connected together
so wth couldn't an os do that
usually with a very high speed interconnect, but it depends on the application
it can, but you missed the part where I said that the apps were written to take advantage of the parallel architecture of the cluster
ray said it wasn't
no, he didn't
I musta confused this --> single rendering app.
he said that if they turned off a processing node or two, the system noticed that and re-assigned the work to other still functioning processors
it was a "single app", in that the control node would take a single "job" and run it on the cluster
you goto a reatraunt and the waiter takes your order then delivers food, we could care less that's theres a 20 ppl in the kitechen making the food "behind the scenese"
but in that analogy, you'd be asking the chef to have 20 people (or 3, or however many are present) to divide up the labor without seeing the recipe
he can only see the result, but not how it's made
why cares HOW, just as long as the results are good
heh - I can agree with that (but the how is the hard part ;) )
I mean we have shitloads of FS's, why could one of those algo's be used.
RAID5 type thingy
maybe becase they have nothing to do with parallelism
it's data in several places, not distributed processing
It's a bunch of read/writes, just like cpus
just REALLY REALLY shorter =)
[23:18:47] <SWPadnos> http://en.wikipedia.org/wiki/Automatic_parallelization
See a mutli threaded app take sthe roll of conductor, why not hand that off to the kernel instead?
note that that page describes compile-time parallelization, *not* run=time
instead of having the app open all the threads and deal with putting the pieces back together, let the OS do it
the app just passes the req to the OS
maybe a small bottleneck, but the processing has gotta be faster
any app that is not explicitly written to have multiple threads has exactly one thread, so how can the OS know where to cut it into different pieces?
why does it need to? Just FIFO
one thread in = one thread out
whoever is doing the least amount of work gets assigned the job
you seem to be confusing data flow with program flow
that's what happens, but the unit of measure for the OS to move a piece of work from CPU to CPU (or core to core) is the thread
if the app sends 3 command to be processed, does it matter if CPUa or CPUb does it?
read, process, write - those are my 3 commands
what orders are valid?
is write, process, read valid?
is read, write, process valid?
OSRx:0001:Read > CPUa
Just like tcp/ip and all the packets
they have to come in order ro make sense
writing is dependent on processing having finished, processing is dependent on the read having finished
ok, to cahce the shit in sequencial order then return to the app
what do you mean "return to the app"?
just like the way a car is built.
I thought we were talking about running an app
you dont care who is building the engine or chassis, as long as the engine is under the hood and not on top of the car
that kind of dependency isn't encoded in executables, only in the source code (sort of)
more info: http://users.actcom.co.il/~choo/lupg/tutorials/parallel-programming-theory/parallel-programming-theory.html
If a string of commeads are going to the cpu, it has to return the results (basically) in the same order, correct?
for each given CPU, yes
but they operate on different sets of commands
Now, what if you number those commands, then distribute them to multiple cpus, put them back in order, then return to the app
that's what multithreaded apps do
Teh OS doing the distribution
No app gets direct to the cpu(s) without dealing with the OS
of course they do
if I write a C program and compile it, the result is machine code that runs directly on the CPU
try running it w/o an os
there are protections in place so I don't use certain instructions, or access parts of memory
and some of the instructions are library or OS function calls
but it still has to be passedthru the OS at some point
but any time my app is running *my* code, it's directly on the CPU, no middleman
only when I call library / OS functions
I will lose the CPU from time to time, because the OS manages the timeslicing / multitasking (and that's at a higher level than my user code)
higher privilege level, that is
so your app has to pass trhu the OS
I don't know what you mean by that. of course it's loaded by the OS, and to access any peripherals it has to use OS calls
so in that higher level multitasking you distribute the instructions
is what I'm saying
but that kind of thing is only a small part of some programs (like crypto, which generally spend most of their time doing the actual data manipulation)
hold on. let's look at psdeudocode for a C program that isn't multithreaded
err - a program, not C since it's pseudocode ;)
1: read a file
2: run my own algorithms on the file data
3: read another file (dependent on the outcome of step 2)
4: run my own algorithms on the new data
5: ask the user for input
6: do more data manipulation
7: write the result (to a file or the terminal, it doesn't matter)
any questions about what's going to happen?
(ie, does that make sense?)
hello - I don't recall dismissing class early
was checking my 12Mpps dual POS =(
so - the steps 1-7 above - do they look reasonable to you?
ok, now the mechanics of all the odd numbers (reading/writing files, user interaction ...) are that the OS has control when those operations are executing - as you mentioned, you have to ask the OS for some stuff
so my program calls the OS "read" function, and then doesn't get control of the CPU back until the read completes
now, say the OS is smart and looks at my program, and sees that it makes OS calls in steps 1,3,5, and 7
it can't split 1+2 to one CPU, 3+4 to another, and 5+6 to another, even though it might look like it can
where is the READ function, in the OS ?
Ok, and the READ function couldn't be "enhanced"?
actually, all the odd numbered steps are OS read and/or write functions (at least on Linuz)
not really, remember that the read function spends most of its time waiting for the disk
like like HW RAID5
ie, letting other applications run, since Linux is smart that way
but it can read across multiple devices and reassemble the content properly
so what, my step 2 still needs to wait for the data to arrive
so it'll arrive faster
the OS functions may be split across CPUs automatically, but my own application functions can't be (automatically)
that's hardware dependent, as well as OS dependent
lets take a break at this point,
I smeel foodage =)